repowiserepowise
Sign in
docker/compose
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisedocker/compose
CO
CO

docker / compose

gomain9d444a640.5K linessynced 3mo ago

Code health

6.2out of 10Fair

This codebase scores 6.2 out of 10 for code health, which we rate fair. It also scores maintainability 7.7 and static performance 9.8 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 22 of 383 files are git hotspots, and they average 3.3 — which is where the fixes pay off most.

Full health report →
Score validation16/204.6× baselineTop-ranked files that did go on to need a bug fixDead code40exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 40 unused symbols and files (231 lines)

    Nothing in the graph reaches them, across 24 files; every reader and agent pays to skip them.

    symbols
    40
    lines
    231
    safe to delete
    Yes(inferred)
    Small effort

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.

    line coverage
    Unknown, no report
    Small effort
Lines of code
40.5K
Files
383
Symbols
2,008
Modules
5
Languages
4

Recent activity

All commits →

Commits

  • 9d444a66pre_start: support pre_start lifecycle hooks3mo ago
  • 943f8c92Generate docs with `make docs`3mo ago
  • 2a6a4e51Normalize --no-TTY flag to --no-tty3mo ago
  • 0a56eebafix(compose/port): show private port in portNotFoundError message3mo ago
  • 55c61ceefix(reconcile): hash resolved service refs to match executor3mo ago
  • a2fb49dcbump compose-go to version v2.13.03mo ago

Decisions

  • Migrate divergence detection/recreation into reconcilerproposed
  • Fix local go_lintfix errors by adding lintfix and adjusting toolingproposed
  • Add exportloopref linter and upgrade golangci-lintproposed
  • Enable tar-based watch syncer by defaultproposed
  • Fix e2e test for privileged builds by masking CapEffproposed
  • Remove debugging outputproposed
▸

Everything we found

1,069 open

Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.

  • worst item is critical severity. Code health797Untested hotspot · pkg/compose/pull.go23 findings · 9.7 deducted→
  • worst item is low severity. Refactoring3cycle[4]: api.go->container.go+0.0 health, M effort · cmd/formatter/container.go→
  • worst item is medium severity. Decisions76pkg/compose/reconcile_test.go57 awaiting review · 19 hotspots ungoverned→
  • worst item is medium severity. Ownership152pkg/compose/executor.go82% single-owner concentration, 8 commits in 90d→
  • worst item is low severity. Dead code41RunningAsStandaloneUnreachable function (2 lines)→

Composition

Open the graph →
go 99%
dockerfile 0%makefile 0%terraform 0%

Explore this codebase

  • Docs0 pages across 5 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files383 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 7 entry points→
  • Code healthPer-file scores, 924 open findings, coverage and refactoring targets→
  • Knowledge graphEntities, communities, and the paths between them→
  • Change couplingFiles that keep changing together, mined from commit history→
  • CommitsChange-risk ranked history with agent provenance→
  • ContributorsBus factor, per-file maintainers, and the human/agent split→
  • StatsSize class, origin, lifetime churn, rhythm and records→
  • CostsWhat indexing this snapshot cost, by model and by run.→