This document defines the end-to-end workflow for submitting and reviewing pull requests in Nova Rewards.
main using the correct branch naming convention.npm run lint
npm run test
# For contracts:
cargo fmt --all && cargo clippy -- -D warnings && cargo test
main on GitHub.Follow Conventional Commits in the PR title:
<type>(<scope>): <short description> (#<issue>)
Examples:
feat(campaigns): add expiry date to reward campaigns (#212)
fix(auth): resolve token refresh race condition (#305)
docs: add PR process and checklist (#430)
Copy this checklist into your PR description and check every item before requesting review.
## Reviewer Checklist
### Scope & Intent
- [ ] The PR addresses exactly one issue or concern
- [ ] The linked issue number is referenced in the title and description
- [ ] No unrelated changes are included
### Code Quality
- [ ] Code follows the [Code Style Guide](docs/code-style.md)
- [ ] No `any` types introduced (TypeScript)
- [ ] No commented-out code left behind
- [ ] No `console.log` / debug statements in production paths
- [ ] No secrets, keys, or credentials committed
### Correctness
- [ ] Logic has been manually tested locally
- [ ] Edge cases and error paths are handled
- [ ] Existing tests still pass (`npm run test`)
### Contracts (if applicable)
- [ ] Contract changes have a linked spec in `.kiro/specs/`
- [ ] `cargo clippy` passes with no warnings
- [ ] Contract tests pass (`cargo test`)
### Documentation
- [ ] Relevant docs updated (README, inline comments, JSDoc)
- [ ] CHANGELOG updated if this is a user-facing change
### PR Hygiene
- [ ] Branch is up to date with `main`
- [ ] PR title follows Conventional Commits format
- [ ] PR description clearly explains *what* and *why*
main history clean.main.