PR Process
All changes to CleverThis go through pull requests. This page describes the expected steps from writing code to landing a change.
Before you open a PR
- Run
nox -s lint typecheck testand fix any failures. - Run
pnpm testfor webapp changes. - If your change adds a new feature or modifies public behavior, update the relevant documentation page(s) in
docs/. - For significant architectural changes, open a discussion issue first or write an ADR. See ADR Process.
Opening the PR
- Push your branch and open a pull request against
main. - Fill in the PR template: summary, motivation, testing notes, and any migration considerations.
- The CI pipeline runs automatically. It must pass before the PR can be merged.
- A reviewer is auto-assigned based on the files changed. Tag an additional reviewer if the change touches a critical path (auth, billing, the Actor executor).
CI pipeline
The CI pipeline on every PR runs:
nox -s lint typecheck test(Python)pnpm test(TypeScript)- Docker build (verifies the production image builds)
- Database migration check (verifies migrations apply cleanly)
Review expectations
- Reviewers aim to respond within 2 business days.
- Address all review comments with either a code change or a clear explanation.
- Prefer resolving discussions rather than marking them outdated — leave a reply confirming the change.
- Do not force-push after a review has started unless asked to rebase.
Merging
PRs are merged using squash merge to keep the main branch history clean. The squash commit message is taken from the PR title — make sure it is descriptive and uses the conventional commit format (feat:, fix:, docs:, refactor:, test:, chore:).
Coming soon
Documentation for the release process (changelog generation, tagging, PyPI/npm publishing) is being added.