1
Fork and clone
Fork the repository on GitHub, then clone your fork and add the original as Then follow Set up for development from step 2.
upstream:2
Create a branch from master
master is the only long-lived branch.3
Make the change, with a test
Follow the
CLAUDE.md in the folder you change (see Project tour). New behavior ships with a test. A bug fix ships with a test that fails without the fix. See Testing.4
Run the checks
mise run lint:fix and mise run lint:py:fix fix most lint findings.5
Commit
Use a conventional commit message.With the hooks installed (
mise run pre-commit:install), commits run the linters, and pushes run the CI checks your change affects. That can take a few minutes.6
Merge master if it moved
Use a merge, not a rebase:
7
Push and open the pull request
master. Its title uses the same format as a commit, and CI rejects any other. See the allowed types.8
Fill in the template
Write the description for someone who has never seen your branch. Delete sections that don’t apply.
- Summary and Why: what changes for the user, and why.
- What changed, grouped by area.
- The bug, for fixes: root cause and how the fix addresses it.
- Screenshots for anything visual.
- How to verify: steps a reviewer can follow.
What happens next
- CI runs on every push. Open a failed check to read its log.
- A maintainer reviews and may comment.
- Push more commits to the same branch to answer. The pull request updates itself.
- A maintainer merges it once it’s approved and green.
Common problems
A CI check failed
A CI check failed
Read the log. Most failures name the file and line. The table in the repository’s CLAUDE.md maps each kind of change to its command. Run it locally, fix, commit and push.
The pull request has merge conflicts
The pull request has merge conflicts
Merge
master into your branch, resolve the conflicts git reports, then commit and push.The title check failed
The title check failed
Edit the title so it starts with an allowed type, like
fix: or feat(web):. The check reruns on its own.Next
Architecture
How the processes, databases and AI agents fit together.

