121 lines
4.0 KiB
Markdown
121 lines
4.0 KiB
Markdown
# Pull Request Checklist
|
|
|
|
**Use before opening pull requests.**
|
|
|
|
## Before Opening PR
|
|
|
|
### Code Quality
|
|
- [ ] Code follows Grey Haven style guide (90 char TS, 130 char Python)
|
|
- [ ] No commented-out code
|
|
- [ ] No console.log or print statements (use structured logging)
|
|
- [ ] No TODO comments (create Linear issues instead)
|
|
- [ ] All imports organized and unused imports removed
|
|
- [ ] Pre-commit hooks passing
|
|
|
|
### Testing
|
|
- [ ] Unit tests added for new functions/components
|
|
- [ ] Integration tests added for new features
|
|
- [ ] E2E tests added for critical user flows
|
|
- [ ] All tests passing locally with Doppler: `doppler run --config test -- bun test`
|
|
- [ ] Test coverage >80% (verify with coverage report)
|
|
- [ ] Tests use appropriate markers (@pytest.mark.unit, Vitest describe blocks)
|
|
|
|
### Multi-Tenant Compliance
|
|
- [ ] All new tables include tenant_id column (NOT NULL, indexed)
|
|
- [ ] All queries filter by tenant_id
|
|
- [ ] RLS policies created for new tables
|
|
- [ ] Tenant isolation tested with different tenant contexts
|
|
- [ ] No cross-tenant data leakage possible
|
|
|
|
### Database Changes (if applicable)
|
|
- [ ] Migration generated (Drizzle Kit or Alembic)
|
|
- [ ] Migration tested up (apply)
|
|
- [ ] Migration tested down (rollback)
|
|
- [ ] Schema uses snake_case field names (NOT camelCase)
|
|
- [ ] Indexes created for foreign keys and tenant_id
|
|
- [ ] Migration reviewed by teammate
|
|
|
|
### Doppler Configuration
|
|
- [ ] New environment variables added to Doppler
|
|
- [ ] Environment variables documented in PR description
|
|
- [ ] Environment variables added to all environments (dev/test/staging/production)
|
|
- [ ] No secrets committed to git
|
|
- [ ] .env.example updated (if applicable)
|
|
|
|
### Git & Linear
|
|
- [ ] Branch follows naming convention: GREY-XXX-type-description
|
|
- [ ] Commits follow conventional commits format
|
|
- [ ] Linear issue ID in commits (Closes GREY-XXX / Fixes GREY-XXX)
|
|
- [ ] Branch up to date with main: `git pull origin main`
|
|
|
|
## PR Content
|
|
|
|
### Title
|
|
- [ ] PR title follows format: `<type>(<scope>): <description> [GREY-XXX]`
|
|
- [ ] PR title matches issue title (or explains deviation)
|
|
- [ ] PR title is under 100 characters
|
|
|
|
### Description
|
|
- [ ] Summary section explains changes (2-4 sentences)
|
|
- [ ] "Closes GREY-XXX" keyword included
|
|
- [ ] Linear issue URL included
|
|
- [ ] Motivation section explains "why"
|
|
- [ ] Implementation details section covers key changes
|
|
|
|
### Implementation Details
|
|
- [ ] Key changes documented by component
|
|
- [ ] Database changes listed (if applicable)
|
|
- [ ] Multi-tenant considerations documented
|
|
- [ ] Doppler configuration changes documented
|
|
- [ ] Breaking changes called out (if applicable)
|
|
|
|
### Testing Section
|
|
- [ ] Automated test results documented
|
|
- [ ] Test coverage percentage included
|
|
- [ ] Manual testing steps included (if applicable)
|
|
- [ ] Doppler test command included
|
|
- [ ] Screenshots/recordings attached (if UI changes)
|
|
|
|
### Checklist
|
|
- [ ] All PR description checklist items checked
|
|
- [ ] Reviewers assigned
|
|
- [ ] Labels synced from Linear issue
|
|
|
|
## After Opening PR
|
|
|
|
### CI/CD
|
|
- [ ] GitHub Actions passing (tests, linting)
|
|
- [ ] No merge conflicts with main
|
|
- [ ] Branch protection checks passing
|
|
- [ ] Deployment preview working (if applicable)
|
|
|
|
### Review Process
|
|
- [ ] At least 1 reviewer assigned
|
|
- [ ] Responded to review comments within 24 hours
|
|
- [ ] All requested changes addressed
|
|
- [ ] Re-requested review after changes
|
|
- [ ] Approved by required reviewers
|
|
|
|
### Before Merging
|
|
- [ ] All conversations resolved
|
|
- [ ] CI/CD passing
|
|
- [ ] Branch up to date with main
|
|
- [ ] Squash merge selected (for clean history)
|
|
- [ ] Linear issue will auto-close (verified "Closes GREY-XXX" in description)
|
|
|
|
## After Merging
|
|
|
|
### Post-Merge
|
|
- [ ] Feature branch deleted
|
|
- [ ] Linear issue automatically closed (verify)
|
|
- [ ] Deployment to staging successful (if applicable)
|
|
- [ ] Smoke tests passing in staging
|
|
- [ ] Team notified of significant changes
|
|
|
|
### Deployment
|
|
- [ ] Production deployment successful
|
|
- [ ] Smoke tests passing in production
|
|
- [ ] Monitoring shows no errors (Sentry, Axiom)
|
|
- [ ] Performance metrics acceptable
|
|
- [ ] Linear issue updated with deployment notes
|