Contribution Guidelines
Contribution guidelines define how changes land in Python service repos and this SME knowledge base: branch naming, PR expectations, review rules, and CODEOWNERS - so maintenance scales beyond one author.
Search across all documentation pages
Contribution guidelines define how changes land in Python service repos and this SME knowledge base: branch naming, PR expectations, review rules, and CODEOWNERS - so maintenance scales beyond one author.
Quick-reference recipe card - copy-paste ready.
## Pull request template
### Intent
### Risk (migration/security/perf)
### Test evidence (`uv run pytest path`)
### Rollback plan
### Links (RFC, ADR, ticket)# CODEOWNERS
/src/billing/ @billing-team
/docs/runbooks/ @sre-oncall
/alembic/ @billing-team @dba-reviewWhen to reach for this:
# Contributor workflow (internal)
git checkout -b feat/ENG-550-billing-retry
uv sync
uv run pytest tests/billing -q
uv run ruff check .
git commit -m "feat(billing): exponential backoff on transient DB errors"
git push -u origin feat/ENG-550-billing-retry
# Open PR; fill template; request CODEOWNERS review## SME cookbook contribution (site/python/)
- One article per PR when possible
- Frontmatter: unique tags, correct section slug
- Run `npx tsx scripts/lint-docs.ts`
- No em dash; stack footer last line
- Relative links only to existing pagesWhat this demonstrates:
feat/, fix/, chore/ + ticket id.| Type | Extra requirement |
|---|---|
| Feature | Spec link if M/L |
| Migration | Expand-contract review |
| Dependency | pip-audit clean |
| Docs only | lint-docs green |
# .github/workflows/ci.yml excerpt
- run: uv sync --frozen
- run: uv run pytest
- run: uv run ruff check .feat/fix on services.| Alternative | Use When | Don't Use When |
|---|---|---|
| Trunk-based pair commit | Tiny senior team | Regulated separation of duties |
| Fork even for internals | Open source style | Private monorepo trust culture |
| Release branches | Long support versions | Continuous deploy main |
| No CODEOWNERS | Solo maintainer | Multi-team monorepo |
Service CODEOWNER + DBA reviewer group per policy.
Auto-merge patch if CI green; minor reviewed weekly.
Branch from tag; PR with reduced DoD; backport to main.
Follow sme-content-article/list shapes; manifest category python.
Optional; required if org policy mandates.
Encouraged for large work; small fixes OK with PR only.
Apache-2.0 or MIT per legal; LICENSE file required.
Pairing credit encouraged; both reviewed PR.
Close after 30d inactive; author reopen when ready.
Private channel per SECURITY.md; no public issue for vulns.
Stack versions: This page was written for Python 3.14.0 (stable 3.14, maintenance 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, and uv 0.6+.
Reviewed by Chris St. John·Last updated Jul 16, 2026