Files
duty-teller/CONTRIBUTING.md
Nikolay Tatarinov 86f6d66865
All checks were successful
CI / lint-and-test (push) Successful in 17s
chore: add changelog and documentation updates
- 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.
2026-02-20 15:32:10 +03:00

1.6 KiB

Contributing to Duty Teller

Development setup

  1. Clone the repository

    git clone <repository-url>
    cd duty-teller
    
  2. Create a virtual environment

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    # or: venv\Scripts\activate  # Windows
    
  3. Install dependencies

    pip install -r requirements.txt
    pip install -r requirements-dev.txt
    
  4. Configure

    cp .env.example .env
    

    Set BOT_TOKEN and any other variables as needed (see README).

  5. 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, no src/):

    pytest
    

    Use 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 command
  • fix: correct timezone in pinned message
  • docs: 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).