62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# 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
|
|
|
|
1. 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:
|
|
|
|
```bash
|
|
poetry run pytest
|
|
``` |