Open-Source Wikis

/

Moby

/

By the numbers

moby/moby

By the numbers

A snapshot of the Moby codebase. Data collected on 2026-04-30 against commit ee03fb1b2d on master.

Size

Slice Files Lines
Go (total, excl. vendor) 2,172 375,565
Go test files 772 (incl. above)
Go non-test files 1,400 (incl. above)
Markdown varies 58,157
Shell scripts varies 2,783
YAML (incl. swagger.yaml) varies 349,937
Protobuf varies 344

api/swagger.yaml alone is ~467 KB and dominates the YAML count. The legacy integration-cli/ test suite still contributes the largest individual files in the repo (over 6,000 lines for docker_cli_build_test.go).

xychart-beta horizontal
  title "Lines of source by language (excl. vendor)"
  x-axis ["Go", "YAML", "Markdown", "Shell", "Proto", "Dockerfile"]
  y-axis "lines"
  bar [375565, 349937, 58157, 2783, 344, 101]

Where Go code lives

Top directories by file count:

Directory Go files
daemon/libnetwork/ 317
daemon/internal/ 235
api/types/ 122
daemon/logger/ 90
daemon/server/ 81
daemon/pkg/ 64
internal/testutil/ 60
daemon/builder/ 58
daemon/cluster/ 56
daemon/volume/ 55
daemon/containerd/ 50
daemon/graphdriver/ 49
integration/container/ 39
daemon/command/ 31
integration/network/ 27

The two clear giants are libnetwork (the in-tree CNM networking library) and daemon/internal/, which absorbed several formerly public utility packages over the last year (see Lore).

Test-to-source ratio

Module Total Go files Test files Ratio
daemon/ 1,309 348 ~27% test files
api/ 126 12 ~10% test files
client/ 269 128 ~48% test files

client/ is the most test-heavy module — it's mostly small per-endpoint files with paired tests. The daemon's coverage is bolstered by the integration suites under integration/ and integration-cli/.

Largest source files

File Lines
integration-cli/docker_cli_build_test.go 6,245
integration-cli/docker_cli_run_test.go 4,377
daemon/libnetwork/networkdb/networkdb.pb.go (generated) 3,091
integration/networking/bridge_linux_test.go 2,282
integration-cli/docker_cli_daemon_test.go 2,255
daemon/libnetwork/network.go 2,207
integration-cli/docker_cli_swarm_test.go 2,050
daemon/daemon.go 1,921
daemon/libnetwork/drivers/bridge/bridge_linux.go 1,920
integration-cli/docker_cli_network_unix_test.go 1,814

The legacy CLI integration suite owns five of the top ten. daemon/daemon.go and daemon/libnetwork/drivers/bridge/bridge_linux.go are the two largest non-test, non-generated files; both are explicit refactor targets in ROADMAP.md.

Activity

Period Commits
2025-05 399
2025-06 257
2025-07 561
2025-08 428
2025-09 313
2025-10 491
2025-11 366
2025-12 247
2026-01 253
2026-02 227
2026-03 225
2026-04 252

Rolling ~300 commits/month over the past year. The 2025-07 spike coincides with the consolidation of libnetwork and several previously-external packages into daemon/internal/ (see Lore).

Lifetime totals

  • Total commits on master: 56,403.
  • First commit: 2013-01-18 (Andrea Luzzardi).
  • Distinct human contributors (all time): ~2,715.
  • Tags: 561 across all years; release cadence rose to 80+ tags/year in 2025–2026 due to the multi-module SemVer split.

Bot-attributed commits

This codebase has approximately 0% of commits explicitly co-authored by [bot] accounts (factory-droid[bot], dependabot[bot], github-actions[bot], copilot[bot]). This is a lower bound on AI/automation involvement — Renovate, Dependabot, and similar tools that author commits without Co-authored-by: trailers are not counted, and inline-AI tools leave no trace in git history at all.

TODOs / FIXMEs

  • ~2,103 occurrences of TODO, FIXME, HACK, or XXX across ~550 Go files (excluding vendor).
  • The earliest TODO markers in the codebase trace back to commits from early 2014, when the Engine repo was reorganized.

Engine and module tags

Year Tags created
2013 57
2014 24
2015 41
2016 55
2017 62
2018 37
2019 39
2020 18
2021 13
2022 13
2023 34
2024 56
2025 82
2026 30 (YTD)

The slow 2020–2022 stretch reflects the pre-Mirantis Docker era when the project's release cadence flattened. The recent uptick coincides with the v25 → v29 Engine rebranding cycle and the introduction of the independently-tagged api/ and client/ sub-modules.

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

By the numbers – Moby wiki | Factory