Development

Everything you need to contribute back to F1 StratLab: the docs pipeline that publishes this site, the CI/CD workflows that release the wheel, and the conventions the project follows on every commit and pull request.

Workflows

The three workflow guides below cover the entire development lifecycle:

Conventional Commits cheat sheet

The repo uses Conventional Commits so release-please can derive the next semver from the log. Stick to the table below and your PR title is enough to drive the changelog.

Prefix When to use Bumps
feat: Adds new user-facing capability minor
fix: Fixes a bug observable by users patch
docs: Documentation only none
style: Formatting, whitespace, no logic change none
refactor: Internal restructure with no behaviour change none
perf: Performance improvement patch
test: Tests only none
build: Build system or dependencies none
ci: CI configuration none
chore: Routine maintenance none
BREAKING CHANGE: Footer or ! suffix on the type major

Examples:

feat(arcade): add 2x2 telemetry window with delta chart
fix(agents): clamp tire-age input to non-negative integers
refactor(strategy)!: swap StrategyState schema to 14 frozen fields
docs(architecture): add sequence diagram for orchestrator loop

The release commit is generated by release-please and looks like chore(main): release 1.1.1. Do not hand-author those — let the bot do it.

Branch naming

Match the prefix you would use in the commit:

Pull requests target main; required checks must pass (lint, build, docs build) before a maintainer merges.

Two more references worth bookmarking. The repo root carries CONTRIBUTING.md with the canonical contribution flow. For a code-level map of every module, open the F1 StratLab DeepWiki. It auto-regenerates on every push.