All checks were successful
CI / lint-and-test (push) Successful in 16s
- Created a new `CONTRIBUTING.md` file outlining development setup, testing, and commit message conventions. - Updated `README.md` to clarify environment variable usage, including new variables for HTTP port, CORS origins, and duty display timezone. - Enhanced documentation for bot commands and API endpoints to improve user understanding and onboarding. - Added example configurations in `.env.example` for better clarity on optional settings.
1.1 KiB
1.1 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).
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.