Skip to content

Latest commit

 

History

History
57 lines (42 loc) · 1.33 KB

File metadata and controls

57 lines (42 loc) · 1.33 KB

Contributing

Setup

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

Development

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

Code Standards

Tool Purpose
ruff Linting and formatting
mypy Type checking (strict)
bandit Security scanning
pytest Testing (80% coverage)

Pull Request Requirements

  • All checks MUST pass
  • Tests MUST pass
  • Coverage MUST be >= 80%

Adding Tests

Golden Tests (Parse)

  1. Create tests/golden/parse/<category>/<name>/input.md
  2. Create tests/golden/parse/<category>/<name>/expected.yaml
  3. Run tests

Golden Tests (Mutate)

  1. Create tests/golden/mutate/<category>/<name>/input.md
  2. Create tests/golden/mutate/<category>/<name>/mutation.yaml
  3. Create tests/golden/mutate/<category>/<name>/expected.md
  4. Run tests

Documentation

  • Follow AISD format
  • Update docs/ for API changes
  • Update CHANGELOG.md for user-facing changes