Open-Source Wikis

/

Argo CD

/

How to contribute

argoproj/argo-cd

How to contribute

This section is a working guide for engineers landing changes in argoproj/argo-cd. It complements (and never replaces) the upstream contribution rules in AGENTS.md and the official developer docs at https://argo-cd.readthedocs.io/en/latest/developer-guide/code-contributions/.

Read AGENTS.md first. Argo CD is a CNCF Graduated project with a strict, well-documented contribution policy: every PR needs an existing issue, semantic PR titles, complete templates, and the local make checks listed below.

In this section

  • Development workflow — how to branch, build, test, and submit a change.
  • Testing — unit, e2e, UI, and integration tests.
  • Debugging — logs, profiling, and common failure modes.
  • Patterns and conventions — coding style, error handling, gRPC + REST patterns, and CRD authoring rules.
  • Tooling — code generation, linting, and the build system.

Required local checks

Before pushing or opening a PR, run the canonical Make targets, taken verbatim from AGENTS.md:

make build      # 1. Build the unified binary
make codegen    # 2. Regenerate API code & manifests (CRITICAL after API struct edits)
make lint       # 3. Go lint (.golangci.yaml)
make lint-ui    # 4. UI lint
make test       # 5. Run all unit tests
make cli        # 6. Build the CLI

If any of these fail, fix them locally — the upstream CI runs the same targets.

Definition of done

A change is "done" when:

  • A real, approved GitHub issue motivates it.
  • The Go code compiles, lints, and passes make test.
  • If you touched API structs (pkg/apis/application/v1alpha1/...), make codegen was re-run and the regenerated files are committed.
  • If you touched UI code, make lint-ui passes.
  • New behavior has unit tests; user-visible behavior also has e2e coverage when feasible.
  • Docs under docs/ are updated for any user-facing change.
  • The PR title follows the semantic prefix convention (feat:, fix:, docs:, chore:, refactor:, revert:, test:, ci:).

Communication channels

  • GitHub Discussions for design questions.
  • The #argo-cd channel in the Argoproj Slack.
  • Contributor Office Hours (Thursdays) and the User Community meeting (first Wednesday of the month).

Links and agendas live in README.md.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

How to contribute – Argo CD wiki | Factory