Contributing¶
Contributions are welcome! Please open an issue first for anything beyond small fixes — we want to discuss the approach before you invest time.
Getting Started¶
Requires Go 1.24+.
Workflow¶
All work goes through the staging branch:
- Fork the repo
- Create a feature branch from
staging - Make your changes
- Run tests:
go test ./... - Open a PR targeting
staging
PRs to main require one approving review.
Code Style¶
- Follow standard Go conventions (
gofmt,go vet) - Keep the policy engine hot path allocation-free
- New interceptors go in
internal/intercept/ - New CLI commands go in
cmd/rampart/cli/
Testing¶
# All tests
go test ./...
# With race detection
go test -race ./...
# Specific package
go test ./internal/engine/...
Security¶
If you've found a security vulnerability, do not open a public issue. Email rampartsec@pm.me instead.
License¶
By contributing, you agree that your contributions will be licensed under Apache 2.0.