name: code-standards description: Apollo.io code style guides, PR process, and code review norms
Apollo Code Standards
PR Process
Before Opening a PR
- Branch naming:
[team]/[ticket-id]-short-description(e.g.,growth/GROWTH-1234-new-onboarding) - Self-review your diff before requesting review
- All CI checks must pass
- Link to the relevant ticket/issue
PR Size
- Aim for < 400 lines changed; split larger changes
- Database migrations get their own PR when possible
- Infrastructure changes get their own PR
Getting Reviewed
- Assign at least one reviewer — you pick who
- Tag
@team-namefor broader review if the change touches shared systems - Turnaround expectation: reviewers respond within [1 business day / 24 hours / X]
Merging
- Squash merge to
mainby default - Merge commit message:
[TICKET-ID] Brief description of change - Delete branch after merge
Code Review Norms
- Reviews are collaborative, not gatekeeping
- Use Conventional Comments or similar to signal intent (blocking vs. non-blocking)
- Nitpicks are non-blocking — label them as such
- Approving = you're comfortable with it shipping
Style Guides
- Ruby: [link to style guide or rubocop config]
- JavaScript/TypeScript: [link to ESLint config]
- Python: [link to style guide or ruff config]
- SQL: [link to SQLFluff config or conventions]
Contacts
- #engineering — general code questions
- #code-review — meta-discussions about review practices (or wherever this is discussed)