Files
manage/CONTRIBUTING.md
T

63 lines
1.3 KiB
Markdown

# Contributing
Thanks for considering a contribution.
## Setup
```bash
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
```
Copy env template:
```bash
cp .env.example .env
```
Then set real values in `.env` and run:
```bash
streamlit run app.py
```
## Development guidelines
- Keep architecture boundaries clear:
- `clients/` for external integrations
- `domain/` for normalization/business logic
- `services/` for app services/indexing
- `ui/` for Streamlit rendering
- Avoid introducing optional fallback paths unless required.
- Prefer small, focused functions and explicit session-state keys.
- Preserve safe SSH behavior and path quoting.
## Validation
Before opening a merge request, run:
```bash
PYTHONPATH=src python -m py_compile app.py src/media_library_viewer/*.py src/media_library_viewer/clients/*.py src/media_library_viewer/domain/*.py src/media_library_viewer/services/*.py src/media_library_viewer/ui/*.py
```
## Security / secrets
Never commit:
- `.env`
- `.streamlit/secrets.toml`
- private keys or API tokens
Use `.env.example` for documented placeholders only.
## Pull requests
Please include:
- what changed
- why it changed
- how it was tested
If behavior/requirements changed, also update `docs/REQUIREMENTS.md`.