Overview
The Argo CD project continuously grows, both in terms of features and community size. It gets adopted by more and more organizations which entrust Argo CD to handle their critical production workloads. Thus, we need to take great care with any changes that affect compatibility, performance, scalability, stability and security of Argo CD.Quick Start
The fastest way to start contributing is to look for issues labeled with: These issues have already been triaged and accepted. If attached to the next version milestone, they’ll receive prioritized reviews.Enhancement Proposal Process
Triage Workflow
Enhancement proposals go through a transparent triage process:- Incoming - New proposals waiting for triage
- Active - Currently being triaged
- Accepted - Approved for implementation
- Declined - Rejected with reasoning provided
- Needs discussion - Requires more information or a design document
Triage Cadence
- Triage happens in our weekly contributor’s meeting
- Everyone is invited to participate
- We aim to triage at least 10 proposals per week
- Proposals are generally processed in FIFO order
Proposal Outcomes
- Accepted
- Declined
- Needs Discussion
When a proposal is accepted, it’s been deemed valuable to the community and fits the strategic roadmap. Implementation may begin by the proposal creator or another community member.
Design Documents
For substantial changes, a formal design document is required using this template. Design documents should address:- The problem being solved
- Proposed solution and alternatives
- Migration and upgrade paths
- Security implications
- Performance considerations
Design documents are submitted as PRs and discussed during review. Once merged, the design is approved for implementation.
Contributor Meetings
Join our weekly virtual meetings to discuss enhancements and participate in triage:- Schedule: Every Thursday at 8:15 AM Pacific Time (convert to your timezone)
- Format: Zoom meeting
- Agenda Document (includes Zoom link)
Before Submitting Your First PR
Read the Guidelines
Familiarize yourself with the Toolchain Guide to understand our build system and CI processes.
Set Up Your Environment
Follow the Development Environment guide to configure your local setup.
Submitting Pull Requests
PR Title Convention
Use one of these prefixes for your PR title:ci:- Updates or improves CI workflowsfix:- Bug fixesfeat:- New featurestest:- Adds or improves testsdocs:- Documentation improvementschore:- Internal improvements (build, tests, etc.)refactor:- Code refactoring without new features or bug fixes
Before Submitting
Pre-submission Checklist
Pre-submission Checklist
- Rebase your branch against upstream main:
- Run pre-commit checks:
- Ensure all tests pass locally:
CI Pipeline
Your PR must pass these automated checks:- Build the Go code (
make build) - Generate API glue code and manifests (
make codegen) - Run Go linter (
make lint) - Run unit tests (
make test) - Run E2E tests (
make test-e2e) - Build and lint UI code (
make lint-ui) - Build the
argocdCLI (make cli)
Code Coverage
We use CodeCov to track test coverage. Your PR should:- Not significantly decrease overall coverage
- Include tests for new features
- Aim for at least 80% coverage for new modules
Cherry-Picking Fixes
For bug fixes that should be backported to release branches:- Add a
cherry-pick/x.ylabel to your PR (e.g.,cherry-pick/3.1) - The cherry-pick bot will automatically create backport PRs when your PR merges
If you don’t have label permissions, ask a maintainer to add them for you.
Getting Help
Need guidance? Join us on Slack:- Join Argo Slack
- Connect in the
#argo-cd-contributorschannel
Additional Resources
Development Environment
Set up your local development environment
Architecture
Understand Argo CD’s component architecture
Toolchain Guide
Learn about our build tools and processes
GitHub Repository
Visit the source code repository