Thank you for your interest in contributing!
# Requirements: Go 1.22+, GCC (for CGO/SQLite)
git clone https://github.com/bigmoon-dev/Aegis.git
cd Aegis
make build# All tests (requires CGO)
CGO_ENABLED=1 go test ./... -count=1
# With race detector (recommended)
CGO_ENABLED=1 go test -race ./... -count=1
# With coverage
CGO_ENABLED=1 go test -cover ./internal/...Tests use temporary SQLite databases and in-memory configs — no external dependencies required.
- Run
gofmt -sbefore committing - Run
go vet ./...to check for issues - Add godoc comments to all exported types and functions
- Follow existing patterns in the codebase
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes with tests
- Ensure all tests pass:
CGO_ENABLED=1 go test -race ./... -count=1 - Submit a pull request
Please open an issue on GitHub Issues with:
- A clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Go version and OS
By contributing, you agree that your contributions will be licensed under the Apache 2.0 license.