Contributing¶
Prerequisites¶
- Python 3.10+
- uv
- Git
Setup¶
uv sync installs the project and all development dependencies (including docs)
into an isolated virtual environment.
Running Tests¶
Code Style¶
Collider uses ruff for formatting and linting, ty for type checking, and pylint for static analysis.
uv run ruff format # auto-format
uv run ruff check # lint
uv run ty check collider # type check
uv run pylint collider # static analysis (target: 10.00/10)
Running the Docs Locally¶
The site is served at http://127.0.0.1:8000 with live reload on file changes.
Pages are rebuilt automatically as you edit files under docs/.
Commit Convention¶
Collider uses Conventional Commits:
Types: feat, fix, refactor, chore, docs, test, style, perf, ci.
Examples:
feat(publish): add --dry-run flag
fix(serve): log warning on non-loopback push endpoint
docs(contributing): add local dev setup guide
Pull Requests¶
Open pull requests against main and fill in the pull request template, including the
checklist and the AI-use disclosure. CI runs pytest on Python 3.10 through 3.13; ruff,
ty, and pylint on Python 3.13; the Conventional Commit check; and the template
checklist. All checks must pass before merge.
If you used AI tools for any part of a change, you must disclose it and confirm that a human (not the AI) reviewed every line and takes full responsibility. See the full contribution guidelines and AI policy.