Pull Requests
Before you start
Section titled “Before you start”- 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
Submitting a PR
Section titled “Submitting a PR”-
Create a branch
Terminal window git checkout -b feat/my-feature# or: fix/bug-description, docs/page-name -
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/
- Unit tests pass:
-
Commit with a clear message
Terminal window git commit -m "feat(scheduler): add natural language parsing for intervals"Use conventional commit format:
type(scope): descriptionTypes:
feat,fix,docs,refactor,test,chore -
Push and open a PR
Terminal window git push -u origin feat/my-featureOpen a PR against
main. Fill in the PR template. -
Address review feedback
Push additional commits to the same branch. Avoid force-pushing after review has started.
PR checklist
Section titled “PR checklist”- Tests added or updated for the change
-
make test-unitpasses -
make lintpasses - Documentation updated (or a docs PR linked)
- Breaking changes noted in PR description
What gets reviewed
Section titled “What gets reviewed”- Correctness and edge cases
- Test coverage
- API/interface design (for new public APIs)
- Security implications
- Performance for hot paths
Docs-only PRs
Section titled “Docs-only PRs”Documentation improvements are always welcome. For docs-only changes, tests aren’t required but a build check (make docs-build) should pass.