This project uses mise for task management. Use the following Mise tasks for all build, test, and lint operations:
mise build # Build application binary into dist/
mise dev # Run in development mode (go run .)mise test # Run tests with coverage using gotestsum
mise coverage # Check coverage meets thresholdIndividual tasks (mise lint, mise format, mise fix, hk check --all) are all wrapped by mise full-check / mise ci.
mise tidy # Tidy Go module (go mod tidy -v)
mise depup # Upgrade dependencies
mise clean # Clean build artifactsmise full-check # Run full pre-commit validation (format, fix, core CI including tests) during development
mise ci # Full CI pipeline (lint, tests, coverage, build) run in the pipeline
hk check # Run hooksWhen making changes to this codebase:
- Before editing: Run
mise full-checkto establish a clean baseline - After editing: Run
mise full-check— auto-formats, auto-fixes lint, runs tests+coverage+integration - Before completion: Run
mise cifor the full CI pipeline (fresh lint from scratch)
Always use mise tasks rather than calling tools directly
Test coverage threshold is configured in .testcoverage.yml.