repowiserepowise
Sign in
frappe/erpnext
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

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

frappe / erpnext

Free and Open Source Enterprise Resource Planning (ERP)

Python★ 39,836
Use in your agentAsk this codebase

github.com/frappe/erpnext·Indexed at 6c5aca0·2mo ago·Up to date with upstream

About this codebase

4,833 files and 17,556 symbols in 4 modules, led by Python (2,497 files) and JavaScript (644).

Built from the index

Start reading

  • Knowledge graph4,833 files and how they depend on each other.→
  • Dynamic due dates in Payment Terms when fetched from ordersDecisionProposed decision, from a pull request.→

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 →

On the leaderboards:#41 of 44 Python repos

Do next

4 things worth doing this quarter.

Worth planning

  • Flatten the nesting in compose

    erpnext/stock/services/base_stock_gl_composer.py:55

    compose nests its control flow deeply, and part of it is duplicated, so splitting it also removes a copy; 7 files import it, changed 8 times in 90 days.

    gain
    up to +1.6 health on this file(inferred)
    finding
    Nested complexity
    size
    CCN 35, 116 lines, nests 5 deep
    severity
    high
    Medium effort, worth a check
  • Break up refresh (CCN 39, 158 lines)

    erpnext/buying/doctype/purchase_order/purchase_order.js:285

    refresh nests its control flow deeply, and part of it is duplicated, so splitting it also removes a copy; 1 file imports it, changed 4 times in 90 days.

    gain
    up to +1.1 health on this file(inferred)
    finding
    Nested complexity
    size
    CCN 39, 158 lines, nests 6 deep
    severity
    high
    Medium effort, worth a check
  • 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
Listing 3 of 6.
All actions in the Overview →

Use frappe/erpnext in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

https://api.repowise.dev/mcp/frappe/erpnext

One command, run anywhere. Adds the server to your local Claude Code config.

Docs
bash
claude mcp add --transport http repowise https://api.repowise.dev/mcp/frappe/erpnext \
  --header "Authorization: Bearer rw_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
The snippet shows a placeholder key. Generate one to get a copyable secret.
Sign in and create an API key to connect.Sign in

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is erpnext put together?")
  • get_why("why is erpnext structured this way?")

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.

Go deeper

  • OverviewEverything the index found, what changed this week, commits and decisions.→
  • DocumentationModule-by-module documentation, 3,076 pages, 0 written by a model.→
  • ArchitectureDependency graph, layers and third-party dependencies.→
  • Code healthEvery file's score, the findings behind it, tests and refactoring plans.→
  • CommitsEach commit's effect on code health, with agent provenance.→
  • ContributorsWho owns what, and where one person holds most of the knowledge.→
  • DecisionsArchitectural decisions mined from commits and pull requests.→
  • Ask this codebaseSign inGrounded answers over the indexed code.→

Maintain this repo? Claim the page

Sign in with GitHub and we check that you are an admin or maintainer of frappe/erpnext. Then add a badge to the README that links readers here.

Use this repo from Claude or ChatGPT

Add this URL as a custom connector and sign in with repowise when asked. No API key to copy.

https://api.repowise.dev/mcp/frappe/erpnext
Sign up to connect

For maintainers

Add a badge to your README

Every badge is public, cached, and updates on its own after every index. Nothing to install.

Repowise badge

Links to this page, with no score on it. Adding it also re-indexes the repo every week.

Repowise badge preview
[![repowise.dev](https://api.repowise.dev/badge/wiki/frappe/erpnext.svg)](https://repowise.dev/repo/frappe/erpnext?src=badge_wiki)

Code health badge

The repo's health score out of 10, from the latest index.

Code health badge preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/frappe/erpnext.svg)](https://repowise.dev/repo/frappe/erpnext?src=badge_health)

Code health card

A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.

Code health card preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/frappe/erpnext.svg?style=card)](https://repowise.dev/repo/frappe/erpnext?src=badge_card)

How frappe/erpnext works

Free and Open Source Enterprise Resource Planning (ERP) This page is a map of the frappe/erpnext repository, written primarily in Python, rebuilt from the source each time it is indexed. Repowise parses every symbol, computes a dependency graph, scores per-file code health from complexity, duplication, test coverage and churn, mines git history for hotspots and ownership, and lifts the architectural decisions into documentation you can read here or query through MCP.

The codebase has 4,833 files and 17,556 symbols in 4 modules, led by Python, JavaScript and TypeScript. Code health is 5.3 out of 10, rated needs work.

Use the links above to open each view, or connect this repository to your agent for grounded answers inside Claude, Cursor, Codex or VS Code.