Some checks failed
CI / lint-and-test (push) Failing after 23s
- Added *.egg-info/ to .gitignore to prevent egg metadata from being tracked. - Updated virtual environment instructions in CONTRIBUTING.md and README.md to use .venv for consistency. - Revised mkdocs.yml to include a placeholder for the repository URL when publishing. - Cleaned up pyproject.toml by removing unnecessary pylint configuration. - Enhanced import-format.md and runbook.md documentation for clarity on user roles and health check endpoints.
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).