Development¶
Contributing to chordgen, working on the codebase, or building the docs site locally.
Clone the repo¶
Environment¶
Nix¶
- Install Nix or use NixOS.
- Add
devenvto your packages. - Run
devenv shellor use the shell hook.
Non-nix¶
- Install Python 3.11.14.
- Install
uv:
Running¶
Tests¶
Docs¶
The site is built with MkDocs Material:
uv sync --extra docs
uv run mkdocs serve # live preview at http://localhost:8000
uv run mkdocs build # build to ./site
The site is published to GitHub Pages from the main branch via
.github/workflows/docs.yml.
Regenerating the config schema¶
docs/schema.md is auto-generated from the pydantic models in
src/chordgen/config.py. Whenever you add or change a config knob:
Commit the regenerated docs/schema.md alongside your code change.