Files
Browser/CONTRIBUTING.md
2025-09-28 15:45:39 -05:00

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
```