git clone https://github.com/your-org/emox
cd emox
make install
source .venv/bin/activate
make test
make lint| Branch | Purpose | Deploy |
|---|---|---|
main |
Production-ready code | Auto-deploy to staging; manual promote to prod |
develop |
Integration branch | Dev environment |
feature/* |
New features | PR only |
hotfix/* |
Urgent production fixes | PR -> main -> staging -> prod |
-
make lintpasses (no ruff errors) -
make testpasses (unit tests green) - New code has corresponding unit tests
- Kubernetes manifests validated:
kubectl apply --dry-run=client - Terraform changes validated:
terraform plan - No secrets or credentials committed
- CHANGELOG updated if applicable
- Python:
rufffor linting and formatting (line length 100) - Terraform:
terraform fmtbefore committing - YAML: 2-space indentation, no tabs
- All Python files: type hints on function signatures
Never commit secrets. All credentials must be stored in AWS Secrets Manager and referenced via environment variables or IRSA.