- Only assign yourself 1-2 tickets at a time
- Split up tickets that take longer than 3 days
- Always use ISO-8601 internally
- Always use UTC internally unless it's for future datetimes
- Always use UTF-8 internally
- Commit messages can complete the following sentence in under 50 characters: "If applied, this commit will "
- Always rebase from master and squash "maintenance" commits (WIP, etc.)
- Make PRs short in time and length - max of 4 days and 400 lines of code
- PRs should have a ticket attached unless they're doc changes
- PRs that shouldn't be merged must have a WIP label
- PRs need at least one reviewer sign off before merge; emojis (:rocket:) in comments are sufficient
- PRs with UI changes must have a screenshot attached
- PR review comments must be addressed unless they explicitly say "non blocking"
- Use black to format Python code
- Use judgment - rules only solve 95% of cases
Every service should have the following:
- README
- Dockerfile
- Makefile
make test
: test applicationmake local
: run application locally
- Ensure your server listens on
0.0.0.0
- Expose a health check endpoint under
/health
that returns 200 - Structured logging (
structlog
for Python) - Sentry configuration
- Up-to-date CA certificates (
ca-certificates
package in Alpine)
This section is org specific