Skip to content

Pull Requests

  • Check existing issues to avoid duplicate work
  • For large features, open an issue first to discuss the approach
  • Set up your dev environment and make sure tests pass
  1. Create a branch

    Terminal window
    git checkout -b feat/my-feature
    # or: fix/bug-description, docs/page-name
  2. Make your changes

    Write code, tests, and documentation. Make sure:

    • Unit tests pass: make test-unit
    • Linters pass: make lint
    • Type checks pass: mypy packages/
  3. Commit with a clear message

    Terminal window
    git commit -m "feat(scheduler): add natural language parsing for intervals"

    Use conventional commit format: type(scope): description

    Types: feat, fix, docs, refactor, test, chore

  4. Push and open a PR

    Terminal window
    git push -u origin feat/my-feature

    Open a PR against main. Fill in the PR template.

  5. Address review feedback

    Push additional commits to the same branch. Avoid force-pushing after review has started.

  • Tests added or updated for the change
  • make test-unit passes
  • make lint passes
  • Documentation updated (or a docs PR linked)
  • Breaking changes noted in PR description
  • Correctness and edge cases
  • Test coverage
  • API/interface design (for new public APIs)
  • Security implications
  • Performance for hot paths

Documentation improvements are always welcome. For docs-only changes, tests aren’t required but a build check (make docs-build) should pass.