All checks were successful
CI / lint-and-test (push) Successful in 17s
- Created a new `CHANGELOG.md` file to document all notable changes to the project, adhering to the Keep a Changelog format. - Updated `CONTRIBUTING.md` to include instructions for building and previewing documentation using MkDocs. - Added `mkdocs.yml` configuration for documentation generation, including navigation structure and theme settings. - Enhanced various documentation files, including API reference, architecture overview, configuration reference, and runbook, to provide comprehensive guidance for users and developers. - Included new sections in the README for changelog and documentation links, improving accessibility to project information.
1.6 KiB
1.6 KiB
Contributing to Duty Teller
Development setup
-
Clone the repository
git clone <repository-url> cd duty-teller -
Create a virtual environment
python -m venv venv source venv/bin/activate # Linux/macOS # or: venv\Scripts\activate # Windows -
Install dependencies
pip install -r requirements.txt pip install -r requirements-dev.txt -
Configure
cp .env.example .envSet
BOT_TOKENand any other variables as needed (see README). -
Documentation (optional)
To build and preview the docs (MkDocs + mkdocstrings):pip install -e ".[docs]" mkdocs build mkdocs serve # preview at http://127.0.0.1:8000
Running tests and linters
-
Tests (from repository root; package is
duty_teller, nosrc/):pytestUse
PYTHONPATH=.if imports fail. -
Lint (ruff):
ruff check duty_teller tests -
Security (bandit):
bandit -r duty_teller -ll
Commit messages
Use Conventional Commits, e.g.:
feat: add /pin_duty commandfix: correct timezone in pinned messagedocs: update README env section
Submit changes via pull requests (Gitea Flow); reviews consider functionality, code quality, and security.
Releases
When cutting a release, update CHANGELOG.md with the new version and list changes under Added / Changed / Fixed / Security as appropriate (see Keep a Changelog).