Skip to content

Contributing

Prerequisites

  • Python 3.10+
  • uv
  • Git

Setup

git clone git@github.com:MaxandreOgeret/collider.git
cd collider
uv sync

uv sync installs the project and all development dependencies (including docs) into an isolated virtual environment.

Running Tests

uv run pytest

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

uv run zensical serve

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:

<type>(<scope>): <description>

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.