Thanks for your interest in contributing to ArgoPlane! Whether it's a bug report, feature request, or code contribution, we appreciate your help.
make dev-infra # Create kind cluster + install ArgoCD
make build-extensions # Build all UI extension bundles
make setup-argocd # Deploy extensions to local cluster
make deploy-example # Deploy demo app
make test-integration # Run integration testsPrerequisites: kind, kubectl, helm, Node.js 20+, Go 1.26+.
Open an issue with:
- ArgoCD version and ArgoPlane version
- Steps to reproduce
- Expected vs. actual behavior
- Logs if available (backend service logs, browser console)
Open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Which extension or component it affects
- Fork the repo and create a branch from
main - Make your changes
- Ensure
make build-extensionsandmake test-integrationpass - Update documentation if your change affects user-facing behavior
- Open a pull request
Use Conventional Commits:
feat(metrics): add Prometheus range query support
fix(backups): handle nil schedule in status panel
docs: update extension API reference
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore.
- Go: Effective Go,
log/slogfor logging,net/httpstdlib - TypeScript/React: strict mode, PascalCase components, no
any(except ArgoCD API types) - CSS: design system tokens from
design-system/, no hardcoded colors, 4px grid
extensions/ # ArgoCD UI extensions (React + Go)
shared/ # Shared React component library
metrics/ # Prometheus metrics
backups/ # Velero backup/restore
networking/ # Cilium/Hubble network flows
logs/ # Loki log aggregation
vulnerabilities/ # Trivy Operator scanning
services/
docs/ # Documentation site (SvelteKit)
design-system/ # CSS design tokens and components
deploy/ # Helm chart and deployment manifests
hack/ # Dev scripts (kind cluster, ArgoCD setup)
tests/ # Integration tests
- Create
extensions/<name>/ui/andextensions/<name>/backend/ - Register via
window.extensionsAPIinindex.tsx - Add deployment manifests in
deploy/extensions/<name>/ - Add proxy config in
deploy/argocd/proxy-extensions.json - Add RBAC in
hack/setup-argocd.sh - Add the extension to
EXTENSIONSin the Makefile - Update the demo app in
examples/demo-app/ - Add documentation in
services/docs/ - Run
bash hack/check-extension-consistency.shto verify
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.