wlc-monitor/CONTRIBUTING.md
Johan Lundberg e7bde2b3f4
All checks were successful
publish-latest / docker (push) Successful in 9s
ci / test (3.10) (push) Successful in 19s
ci / test (3.12) (push) Successful in 19s
ci / test (3.13) (push) Successful in 19s
ci / container (push) Successful in 7s
publish-image / docker (push) Successful in 8s
Use Forgejo workflows and registry
2026-07-30 23:35:14 +02:00

54 lines
1.4 KiB
Markdown

# Contributing
Thanks for helping improve WLC Monitor.
## Before you start
Use this repository's Issues for reproducible bugs and focused feature
proposals. Search existing issues first. Use the private process in
[SECURITY.md](SECURITY.md) for vulnerabilities.
## Development setup
```bash
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txt
cp config.ini.example config.ini
chmod 600 config.ini
```
Never commit real credentials or infrastructure data. Use reserved example
addresses/domains and synthetic state fixtures.
## Making changes
- Create a focused branch.
- Add or update tests for behavior changes.
- Update the README and configuration examples for user-visible changes.
- Keep unrelated formatting out of the patch.
Run the local checks before opening a pull request:
```bash
python -m py_compile wlc_monitor.py
python -m unittest discover -v
python -m pip check
```
If Docker is available, also run:
```bash
cp .env.example .env
docker compose config --quiet
docker build -t wlc-monitor:test .
```
Remove the local `.env` afterward or keep it private; it is ignored by Git.
## Pull requests
Explain the problem and solution, link related issues, list the checks you ran,
and call out compatibility or operational impact. Confirm that the diff
contains no credentials, `.env`, `config.ini`, `state.json`, controller/AP
identifiers, or personal data.