Open-Source Wikis

/

Argo CD

/

By the numbers

argoproj/argo-cd

By the numbers

Quantitative snapshot of argoproj/argo-cd as of the wiki generation date (April 2026).

Data collected from the local checkout of the master branch at commit 5b87aa8fd. Counts exclude .git/, vendor/, node_modules/, and generated artifacts where indicated.

Size

The codebase is dominated by Go (backend) and TypeScript/SCSS (web UI), with a substantial body of generated code (CRDs, gRPC, OpenAPI).

xychart-beta horizontal
    title "Source files by language"
    x-axis "Files"
    y-axis ["Go", "TSX (React)", "TypeScript", "SCSS", "Proto"]
    bar [981, 156, 57, 63, 19]
Language / kind Files
Go (*.go) ~981
React components (*.tsx) ~156
TypeScript (*.ts, non-tsx) ~57
SCSS stylesheets ~63
Protobuf definitions ~19

A few individual Go files exceed 100k bytes — the generated pkg/apis/application/v1alpha1/generated.pb.go, controller/appcontroller.go (105 KB), server/application/application.go (121 KB), cmd/argocd/commands/app.go (145 KB), and reposerver/repository/repository.go (138 KB).

Activity

xychart-beta horizontal
    title "Lifetime commits"
    x-axis "Commits"
    y-axis ["Total", "Since 2024"]
    bar [10529, 4131]
  • First commit: 14 February 2018.
  • Total commits: ~10,529 across the lifetime of the repo.
  • Recent activity (since Jan 2024): ~4,131 commits — averaging dozens of merges per week.
  • The repo has shipped 10+ minor versions and three major versions; the current declared version (in VERSION) is 3.5.0.

The most actively changed areas (by file size and historical churn) are:

Area Why it churns
controller/ Reconciliation logic gets fixes every release.
server/application/ The largest gRPC service, evolving with new API features.
cmd/argocd/commands/app.go The CLI's argocd app … entrypoint receives near-continuous tweaks.
applicationset/generators/ New generator types and bug fixes.
reposerver/repository/repository.go Source rendering pipeline (Helm, Kustomize, OCI).
util/settings/settings.go New settings/feature flags accumulate over time.

Bot-attributed commits

A non-trivial share of the recent commit log is automation:

  • dependabot[bot] commits via Renovate and dependabot updates dominate the chore(deps): bump … messages. A spot check on the most recent 20 commits showed 8 dependency-bump commits.
  • This is a lower bound on automated work; inline AI assistants leave no trace in git log.

No individual contributor stats are reported here. See MAINTAINERS.md for the official list of approvers and reviewers.

Complexity

Metric Value
Number of Go packages ~250 (across cmd/, controller/, server/, reposerver/, applicationset/, commitserver/, cmpserver/, util/)
Largest hand-written Go file cmd/argocd/commands/app.go (~145 KB)
Largest hand-written controller file controller/appcontroller.go (~105 KB)
Generated CRD/protobuf surface pkg/apis/application/v1alpha1/generated.pb.go (1.4 MB), openapi_generated.go (319 KB)
Top-level binaries built from cmd/ 11
Server gRPC service groups (server/*/) ~22
ApplicationSet generators (applicationset/generators/) 8 (Cluster, DuckType, Git, List, Matrix, Merge, Plugin, PullRequest, SCMProvider)
Notification trigger templates (notifications_catalog/triggers/) dozens of out-of-the-box triggers

Test coverage signals

Argo CD has a strong testing culture: most production packages ship with _test.go files of similar or greater size than the source. Examples include controller/appcontroller_test.go (126 KB) versus appcontroller.go (105 KB), and reposerver/repository/repository_test.go (220 KB) versus repository.go (138 KB). The test/e2e/ tree is its own ecosystem with a fixture framework under test/fixture/.

For a run-by-run view, the canonical CI matrix is in .github/workflows/ci-build.yaml.

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

By the numbers – Argo CD wiki | Factory