repowiserepowise
Sign in
stashapp/stash
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisestashapp/stash
ST
ST

stashapp / stash

gotypescriptdevelopd04ecc4129.8K linessynced 4mo ago

Code health

6.2out of 10Fair

This codebase scores 6.2 out of 10 for code health, which we rate fair. Risk is concentrated, as it usually is: 179 of 1,561 files are git hotspots, and they average 4.4 — which is where the fixes pay off most.

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

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 190 unused symbols and files (3,959 lines)

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

    symbols
    190
    lines
    3,959
    safe to delete
    Yes(inferred)
    Medium 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
  • Review the 50 proposed decisions

    None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.

    proposed
    50
    accepted
    0
    Medium effort
Lines of code
129.8K
Files
1,561
Symbols
11,136
Modules
7
Languages
7

Recent activity

All commits →

Commits

No commits indexed yet.

Decisions

  • Make logging no-op when no logger is registeredproposed
  • Prefer LoggerImpl interface over global logger functionsproposed
  • Stop setting image.title from filename in GraphQLproposed
  • Performance tuning during files refactorproposed
  • Improve gallery performance by deprecating slow imagesproposed
  • Separate GraphQL API from rest of systemproposed
▸

Everything we found

2,783 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 health1,568Untested hotspot · internal/manager/task_import.go20 findings · 9.5 deducted→
  • worst item is medium severity. Decisions229ui/v2.5/src/components/Scenes/SceneList.tsx50 awaiting review · 179 hotspots ungoverned→
  • worst item is medium severity. Ownership736ui/v2.5/src/components/Performers/PerformerMergeDialog.tsx89% single-owner concentration, 5 commits in 90d→
  • worst item is low severity. Dead code250pkg/plugin/examples/python/log.pyUnreachable symbol (80 lines)→

Composition

Open the graph →
go 56%typescript 43%
python 0%dockerfile 0%javascript 0%Other 0%

Explore this codebase

  • Docs0 pages across 7 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files1,561 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 14 entry points→
  • Code healthPer-file scores, 1,843 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.→