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:
- Documentation maintenance — how this MkDocs site is built and published. Covers
mkdocs serve,mikeversioning, thedocs/_hooks/image-copy hook, and the Pages deployment workflow. - CI/CD pipeline — every GitHub Action that runs on push and tag: lint, tests, wheel build,
release-pleaseautomation, and the docs publish job. - CONTRIBUTING.md — PR conventions, branch naming, and where to start when you want to add a sub-agent or extend a notebook.
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:
feat/<short-slug>— feature workfix/<short-slug>— bug fixeschore/<short-slug>— maintenance, including docs revamps and toolingrelease-please--branches--main--components--f1-strat-manager— managed by the bot
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.