Skip to content

Contributing

Development setup

Python

git clone --recurse-submodules https://github.com/exoma-ch/hyrr.git
cd hyrr
uv sync --all-extras

Frontend

cd frontend
npm ci
npm run dev

Running tests

Python

# Unit tests
uv run pytest tests/ -v --benchmark-disable

# With benchmarks
uv run pytest tests/ -v --benchmark-only

# Integration tests
uv run pytest tests/integration/ -v

Frontend

cd frontend
npm test             # vitest
npm run check        # svelte-check (TypeScript)

Code quality

# Python linting
uv run ruff check src/ tests/

# Build docs locally
uv run mkdocs serve

# Frontend type checking
cd frontend && npm run check

Commit format

type(scope): description

Examples: feat(frontend):, fix(worker):, docs:, chore:, build(ci):