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

69 lines
1.6 KiB
Markdown

# Contributing to Duty Teller
## Development setup
1. **Clone the repository**
```bash
git clone <repository-url>
cd duty-teller
```
2. **Create a virtual environment**
```bash
python -m venv venv
source venv/bin/activate # Linux/macOS
# or: venv\Scripts\activate # Windows
```
3. **Install dependencies**
```bash
pip install -r requirements.txt
pip install -r requirements-dev.txt
```
4. **Configure**
```bash
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):
```bash
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/`):
```bash
pytest
```
Use `PYTHONPATH=.` if imports fail.
- **Lint** (ruff):
```bash
ruff check duty_teller tests
```
- **Security** (bandit):
```bash
bandit -r duty_teller -ll
```
## Commit messages
Use [Conventional Commits](https://www.conventionalcommits.org/), 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](CHANGELOG.md) with the new version and list changes under Added / Changed / Fixed / Security as appropriate (see [Keep a Changelog](https://keepachangelog.com/)).