Contributing Guide
This guide covers setting up a development environment and contributing to QuickUp!.
Setting Up the Development Environment
Clone the repository:
git clone https://github.com/matagus/quickup.git
cd quickup
Install development dependencies:
hatch run dev:install
Or using pip:
pip install -e ".[dev]"
Running the Test Suite
Run all tests:
hatch run test:test
Run tests with coverage:
hatch run test:cov
This generates coverage reports in:
- coverage.json - JSON format
- Terminal output - Human-readable summary
Run tests on specific Python versions (3.10-3.14):
hatch run +py=3.11 test:test
hatch run +py=3.12 test:test
Run specific test files or add pytest arguments:
hatch run test:test tests/test_cli.py
hatch run test:test -k test_something
Using Pre-commit
Install pre-commit hooks:
pre-commit install
Run pre-commit on all files:
pre-commit run --all-files
Pre-commit hooks run automatically on commits.
Building Documentation
Build the HTML documentation:
hatch run docs:build
Documentation is output to docs/build/.
Serving Documentation Locally
Start a local web server to view documentation:
hatch run docs:serve
Open http://localhost:8000 in your browser.
Coverage Reports
Coverage reports show which lines of code are executed during tests.
Generate and view coverage:
hatch run test:cov
The coverage report command displays a summary table showing:
- Statement count per module
- Number of covered/missing statements
- Coverage percentage
Look for modules with low coverage and add tests for uncovered branches.
Development Scripts Reference
Command |
Description |
|---|---|
|
Run pytest test suite |
|
Run tests with coverage |
|
Generate coverage reports |
|
Build Sphinx documentation |
|
Serve docs on localhost:8000 |
|
Install development dependencies |
|
Run tests on Python 3.11 |