repowise-dev/repowise
🔗 https://github.com/repowise-dev/repowise ↗Understand your codebase without paying your agent to rediscover it. Repowise indexes your code, call graph, git history, tests, docs and design decisions once, on your machine. Then you and your coding agent ask it things: what calls this, what breaks if I change it, what is dead, what to fix first, and why it was built this way. −31.6% 2.3× 58,924 less agent output 3.8 vs 7.2 tool calls 43 questions · p<0.0001 more defects surfaced than CodeScene same 20% review budget 2,770 files · p=0.003 files indexed in one run dotnet/runtime, one laptop 120 min · 11.7 GiB peak Call graph checked against the compiler: 0.976 to 0.995 precision on Go and TypeScript, and no tool that finds as much of the graph gets more of it right, in 7 of 7 comparisons. 5 tools · 37,853 compiler edges · every losing row published Graph, risk, health, tests and dead code make zero LLM calls · no API key needed · free and self-hosted · AGPL-3.0 or commercial What it does · Quickstart · Agents · Changes · Code health · Workspaces · Evidence · Enterprise · Docs Repowise is an ambitious project. We want every engineer, and every agent working beside them, to understand a codebase the way the person who has maintained it for five years does: what calls what, what tends to break, what nobody uses anymore, and why it was built this way. Cutting tokens was never the goal. It happens anyway, because an agent that can ask the index stops searching, opening and re-reading files to find out. Measured against the other context tools on the same agent tasks, it is also the largest saving. Set it up in one line Open Claude Code, Codex, Cursor or any MCP-capable agent in your repository and paste: Read https://docs.repowise.dev/setup.md and set up Repowise in this repository. The agent installs Repowise, indexes the repo with no API key, wires itself to the index, and asks you before anything costs money. Prefer to do it yourself: uv tool install repowise # or: pipx install repowise / pip install repowise cd /path/to/your/repo repowise init --yes --no-prose # graph, git, health, dead code, docs. No key, no spend. repowise serve # local dashboard + MCP server init wires Claude Code automatically. Then ask your agent "Use Repowise get_overview to summarize this repository" or "What breaks if I change src/auth.py ?" Full setup, every agent, optional model-written docs → What it does One index, three ways to use it. Find the question you came with; each one links to the page that answers it. Understand the code You ask Repowise gives you How does checkout work in this repo? A cited answer built from the call graph and the generated docs, in one call. Search and answers What calls this function, and what does it call? A call graph across 26 parsed languages, every edge stamped with how it was resolved and how far to trust it, plus traced execution flows from each entry point. The graph Can I get docs for this codebase? A wiki for every module and file, rendered from the code's structure with no key, or written by a model when you choose. It updates incrementally after each commit. Docs Which of our docs are wrong? Markdown checked against the tree: every reference to a file or symbol the code no longer has, with the line to edit. Doc drift Why is it built this way? Decisions mined from ADRs, # WHY: comments, commit and PR history and your agent sessions, each tied to the code it governs and flagged when it goes stale. Decisions Who knows this code? Owners, bus factor, knowledge-loss risk when the main author goes quiet, and suggested reviewers. Ownership Can I see the architecture? An explorable dependency map, C4 views, and a Structurizr export, no model involved. Dashboard Change it safely You ask Repowise gives you What breaks if I change this? Symbol-level blast radius: the callers of what you changed, the files that historically change with it but are missing from your diff, and the tests that reach it. Change risk How risky is this PR? Where the change ranks against your repository's own recent commits, with the reasons, as a directive your agent can act on. Change risk Which tests should run? The tests a diff actually exercises, from a coverage report if you have one and from the call graph if you do not. Test intelligence Did this PR add untested lines? Patch coverage, branch coverage on changed lines and path-scoped gates in CI, on GitHub, GitLab or any runner. CI gates Will this API change break another repo? HTTP, gRPC, topic and OpenAPI contracts matched across repositories, with a breaking-change guard and the consumer files it affects. Workspaces Is anyone else editing these files? Other open branches touching the same files or their co-change partners, each with the reason it is listed. Branch overlap Did we just commit a secret? Keys, tokens and risky calls found in the working tree and in full git history, with a pre-commit check and a CI gate. Security signals Improve it continuously You ask Repowise gives you What should we fix first? A ranked queue weighing impact against effort, using churn, fan-in, coverage and bug history. Fix first Where is the debt? A 1 to 10 score for every file from 53 deterministic detectors, split into defect risk, maintainability and performance, validated against real bug history. Code health Why is this slow? N+1 queries, I/O in loops, blocking calls inside async code and quadratic loops, traced across function and file boundaries. Performance How do I break this up safely? Concrete refactoring plans: Extract Method, Extract Class, Move Method, Split File, Break Cycle, with the exact symbols that move and what moves with them. Ready to hand to an agent. Refactoring What can we delete? Unreachable files, unused exports and unused packages, each with a confidence tier and the evidence behind it. Dead code Where do bugs keep landing? Bug-fix commits traced to files and symbols, and a warning when your agent edits a bug magnet. Bug history Are our tests testing anything? Tests with no assertions, tests that only check their own mocks, and untested hotspots. Test-quality smells Things people do not expect it to do Test coverage without running coverage. Most repositories never produce a coverage report. Repowise answers "is this tested, and by what" from the import and call graph, and labels every answer measured or inferred. It checks its own health score on your repository. After each index it reports how many of the lowest-scoring files actually had bug fixes in your recent history, so a bad score on your codebase is visible to you. It learns from your agent sessions. With transcript capture on, the corrections you keep repeating ("use the shared HTTP client") become tracked decisions it feeds back to the agent later. Transcripts never leave your machine. It writes your CLAUDE.md and AGENTS.md from the real index and keeps them current, so even an agent with no MCP support starts informed. It shrinks command output before your agent reads it. repowise distill pytest keeps every failure and drops the noise, and nothing is lost: an expand command restores any cut. New git worktrees start indexed. A linked worktree seeds its index from the base checkout instead of starting cold. It knows which external systems you depend on. Package manifests across PyPI, npm, Cargo, Go, NuGet, Maven and CMake feed a map of the services and libraries the code reaches. Recorded on this repository and its workspace: an agent asking the index, then the dashboard and CLI on the same local index. No API key and nothing uploaded. Pick your front door If you care about... Start here A coding agent that knows the repository Task-shaped context in fewer calls, with decisions and risk delivered before the agent asks. For agents ↓ Safer pull requests and faster CI Change risk, symbol-level callers, missing co-changes and the tests a diff needs. Change intelligence ↓ Paying down the code most likely to hurt you A defect-validated health score, then the concrete fix.
內容為收集當日抓取的 repo 描述原文,完整資訊請見 GitHub 原頁。