repowiserepowise
Sign in
frappe/erpnext
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisefrappe/erpnext
ER
ER

frappe / erpnext

pythondevelop6c5aca0735.5K linessynced 1mo ago

Code health

5.3out of 10Needs work

This codebase scores 5.3 out of 10 for code health, which we rate needs work. It also scores maintainability 7.2 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 389 of 4,833 files are git hotspots, and they average 3.4 — which is where the fixes pay off most.

Full health report →
Documentation3,076pages0 with model-written prose, 3,076 built from the indexScore validation20/207.2× baselineTop-ranked files that did go on to need a bug fixDead code1,029exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 990 unused symbols and files (48,210 lines)

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

    symbols
    990
    lines
    48,210
    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 26 proposed decisions

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

    proposed
    26
    accepted
    0
    Medium effort
Lines of code
735.5K
Files
4,833
Symbols
17,556
Modules
4
Languages
4

Recent activity

All commits →

Commits

No commits indexed yet.

Decisions

  • Improve rounding adjustment for discounts and remove float usage for accuracyproposed · 1mo ago
  • Enhance Subscription module: restructure child tables/fields, enable dashboard and recurring data patchesproposed · 1mo ago
  • Add process document for Subscription and support invoice generation before currency invoice dateproposed · 1mo ago
  • Reconcile payments automatically in background via settings-controlled jobproposed · 1mo ago
  • Include bundle component reservations to prevent overselling in POSproposed · 1mo ago
  • Make ledger entries submittable and adjust back GL/link handling for testsproposed · 1mo ago
▸

Everything we found

10,159 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 health4,928Untested hotspot · erpnext/stock/serial_batch_bundle.py38 findings · 9.6 deducted→
  • worst item is medium severity. Refactoring1,018visit_Call+1.5 health, M effort · .github/helper/postgres_compat.py→
  • worst item is medium severity. Decisions415erpnext/tests/utils.py26 awaiting review · 389 hotspots ungoverned→
  • worst item is medium severity. Ownership1,885erpnext/controllers/subcontracting_inward_controller.py97% single-owner concentration, 16 commits in 90d→
  • worst item is low severity. Dead code1,913erpnext/accounts/doctype/bank/bank_dashboard.pyUnreachable symbol (10 lines)→

Composition

Open the graph →
python 76%javascript 20%
typescript 4%shell 0%

Explore this codebase

  • Docs3,076 pages across 4 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files4,833 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 11 entry points→
  • Code healthPer-file scores, 5,904 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.→