git clone --recurse-submodules https://github.com/taskmark/taskmark-python
cd taskmark-python
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install| Command | Action |
|---|---|
.venv/bin/python -m pytest tests/ -v --no-cov |
Run tests |
.venv/bin/python -m ruff check src/ tests/ |
Lint |
.venv/bin/python -m ruff format src/ tests/ |
Format |
.venv/bin/python -m mypy src/ |
Typecheck |
| Tool | Purpose |
|---|---|
| ruff | Linting and formatting |
| mypy | Type checking (strict) |
| bandit | Security scanning |
| pytest | Testing (80% coverage) |
- All checks MUST pass
- Tests MUST pass
- Coverage MUST be >= 80%
- Create
tests/golden/parse/<category>/<name>/input.md - Create
tests/golden/parse/<category>/<name>/expected.yaml - Run tests
- Create
tests/golden/mutate/<category>/<name>/input.md - Create
tests/golden/mutate/<category>/<name>/mutation.yaml - Create
tests/golden/mutate/<category>/<name>/expected.md - Run tests
- Follow AISD format
- Update
docs/for API changes - Update
CHANGELOG.mdfor user-facing changes