2.3 KiB
2.3 KiB
Contributing to Ren Browser
I welcome all contributions to the project.
Places to help out
- Styling/Design (I am bad at this)
- Documentation
- Micron Renderer/Parser
- Android and Flet (config/permissions/etc)
Project Structure
Last Updated: 2025-09-28
Ren-Browser/
├── ren_browser/ # Main Python application package
│ ├── announces/ # Reticulum network announce handling
│ │ ├── announces.py
│ ├── app.py # Main application entry point
│ ├── controls/ # UI controls and interactions
│ │ ├── shortcuts.py # Keyboard shortcuts handling
│ ├── logs.py # Centralized logging system
│ ├── pages/ # Page fetching and request handling
│ │ ├── page_request.py
│ ├── profiler/ # Performance profiling (placeholder)
│ ├── renderer/ # Content rendering system
│ │ ├── micron.py # Micron markup renderer (WIP)
│ │ └── plaintext.py # Plaintext fallback renderer
│ ├── storage/ # Cross-platform storage management
│ │ ├── storage.py
│ ├── tabs/ # Tab management system
│ │ ├── tabs.py
│ ├── ui/ # User interface components
│ │ ├── settings.py # Settings interface
│ │ └── ui.py # Main UI construction
├── tests/ # Test suite
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── conftest.py # Test configuration
Rules
- Be nice to each other.
Generative AI Usage
You are allowed to use generative AI tools to help learn and contribute. You do not need to disclose you used a AI tool, although that would help me scrutinize the PR more for bugs, errors or security flaws.
Linting, Security and Tests
You are not required to run the linting, security and tests before submitting the PR as those will be run by the CI/CD pipeline.
Testing
To run the tests, use the following command:
poetry run pytest