This guide complements CONTRIBUTING.md and covers infra-specific contribution guidelines.
The infra folder includes:
infra/— deployment configs, Docker Compose, terraform/pulumi.github/workflows/— CI/CD pipelinesdocs/— architecture, deployment, runbooks, standards
The main branch is protected with enforced rules:
- Required status checks: Docker CI and E2E Status Gate must pass
- PR reviews: At least 1 approval required
- Force pushes: Disallowed
See docs/branch-protection.md for detailed configuration and setup instructions.
- All infra changes must be reviewed — no direct pushes to
main - Docs must stay in sync with code — update docs in the same PR
- Secrets never committed — use Docker secrets, env files, or GH secrets
- Test changes on testnet first — never test directly on mainnet
When editing .github/workflows/*.yml:
- Test workflow syntax:
actlocally or push to a branch - Verify no hardcoded secrets or credentials
- Use
ghacache mode for Docker layer caching
- Create file under
docs/following existing naming:kebab-case.md - Add a cross-reference in
infra/README.md - Keep markdown linted:
npx markdownlint docs/<file>
Check for:
- ✅ No plaintext secrets
- ✅ Docker layer caching enabled
- ✅ Multi-arch build support
- ✅ Documentation updated
- ✅ Rollback procedure documented