Thank you for your interest in contributing to Agentrax! We welcome contributions from developers, DevOps engineers, and AI infrastructure enthusiasts.
Please be respectful and collaborative in all communications, issue threads, and pull requests.
Ensure you have the following installed on your development machine:
- Go:
1.23or later - Docker:
20.10+with BuildKit enabled - Kind:
v0.22+(for local E2E cluster testing) - Kubectl:
v1.30+ - Helm:
v3.14+ - Kustomize & Controller-Gen: Automatically managed via
make kustomizeandmake controller-gen(installed to./bin)
-
Fork and Clone:
git clone https://github.com/<your-username>/agentrax.git cd agentrax
-
Install Local Git Quality Hooks:
make setup-git-hooks
Installs pre-commit hooks (
go fmt,go vet,golangci-lint) and pre-push hooks (codegen-drift,make test,helm lint). -
Run Unit & EnvTest Integration Tests:
make test -
Run Linter:
make lint
-
Generate Code & CRD Manifests: If you modify types in
api/v1alpha1/, regenerate DeepCopy methods, CRD schemas, and RBAC roles:make manifests generate
To test changes against a live Kind cluster:
# 1. Create Kind cluster
kind create cluster --name agentrax-e2e
# 2. Deploy external dependencies (cert-manager, Prometheus CRDs, Gateway API CRDs)
make deploy-deps
# 3. Run the automated live E2E suite
go test ./test/e2e/... -v -count=1 --timeout 15m- Error Wrapping: Wrap errors with context (e.g.
fmt.Errorf("reconciling deployment: %w", err)). - GoDoc Comments: Every exported package, type, constant, and function must have a GoDoc comment starting with the symbol name.
- CRD Comments: Comments on fields in
api/v1alpha1/double as OpenAPI schema descriptions—keep them clear and precise. - Status Updates: Always update status last in reconcile loops using
apimeta.SetStatusCondition.
- Create a feature branch:
git checkout -b feature/my-feature-name. - Commit your changes with clear, descriptive commit messages.
- Ensure all tests pass:
make lint && make test. - Open a Pull Request against the
mainbranch with a description of the problem solved and testing performed.