# Contributing Thanks for helping improve WLC Monitor. ## Before you start Use GitHub 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.