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, why it was built this way,
and what evidence stands behind each change that landed.
Free for one developer on a laptop. Built to run across a company's repositories.
| −31.6% less agent output · p<0.0001 |
2.3× later-defective files surfaced vs CodeScene · p=0.003 |
15M lines of code indexed once on one laptop · then incremental on every commit |
Graph, risk, health, tests and dead code make zero LLM calls · same diff, same answer · runs inside your network · scoped tokens for REST and MCP · change policy in CI with SARIF · free, AGPL-3.0 or commercial
Hosted · Foresight · What it does · Quickstart · Agents · Changes · Code health · Workspaces · Evidence · Enterprise · Docs
---
## Set it up in one line
Open Claude Code, Codex, Cursor or any MCP-capable agent in your repository and paste:
```text
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:
```bash
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, documentation. No key, no spend.
repowise serve # dashboard + MCP server (needs Node 20+; first run downloads the UI)
```
`init` wires Claude Code for this repo and points the global repowise MCP entry
here (on the interactive plan screen, `s` keeps it where it is). Restart Claude Code or run `/mcp`, then ask
*"Use Repowise `get_overview` to summarize this repository"* or *"What breaks if I
change `src/auth.py`?"*
[Full setup, every agent, documentation written by a model →](docs/start/QUICKSTART.md)
---
## 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.
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.
The Costs dashboard tallies both savings surfaces. Every event is priced from the model that produced it, and where the evidence is ambiguous it declines to claim a saving. Example from a week of heavy local use.
basis: "measured" or
"inferred", measured wins where both can answer, and an empty answer means
unknown, never "no tests".
Test intelligence →
### In CI, and on every pull request
Patch coverage, doc drift, security and change risk run as gates in your own
pipeline through the [GitHub Action](docs/start/CI.md#github-actions), a
[GitLab template](docs/start/CI.md#gitlab) or plain CLI commands anywhere else, with
annotations, SARIF and GitLab Code Quality output. The gates need no API key.
[Repowise in CI →](docs/start/CI.md)
On GitHub you can also install the free **[Repowise PR Bot](https://github.com/apps/repowise-bot)**,
a hosted GitHub App that puts the same analysis on every pull request. One comment,
edited in place on every push, and **a green PR gets no comment at all**. It shows
symbol-level blast radius (the contracts the PR changed and every caller outside the
PR), the tests and co-change partners missing from the change, change risk against
the repository's own history, and a public analysis page per PR. Zero LLM calls, so
the same diff always gets the same review.
A real comment on a real PR: [repowise-dev/repowise#1204](https://github.com/repowise-dev/repowise/pull/1204) ·
[its analysis page →](https://repowise.dev/pr/repowise-dev/repowise/1204) ·
[install the PR bot →](https://github.com/apps/repowise-bot)
---
## Every change, with its evidence
Repowise reads each merged pull request, merge request or commit back from git as a
**Change Record**: the commits it brought in, the components it touched and their
declared owners, the tests that reach it, the contracts and decisions it crosses, its
provenance, and what happened after it landed. No forge API is called, and every item
says what it rests on: measured, inferred, declared or unknown.
| You ask | Repowise gives you |
|---|---|
| *What landed in this PR, and what backs it up?* | The change's evidence checklist, each item `ok`, `attention` or `unknown`, with an in-toto export. [Change Records](docs/layers/CHANGES.md) |
| *Can CI hold changes to our payment code to a higher bar?* | Rules in `.repowise/policies.yaml`, matched to components by name, tag or criticality and evaluated by `repowise check`, with SARIF or JUnit output. [Change policy](docs/layers/POLICY.md) |
| *Something broke. Which change do we read first?* | Recent changes ranked against an error, a stack trace or an issue. On 43 real regressions, the change a later revert or fix named was in the top 5 for 67% of them, against 28% for ranking by shared files. [Suspects](docs/layers/CHANGES.md#suspects) |
| *Who owns this, and are they still working on it?* | Backstage-shaped components with owners from your catalog and CODEOWNERS, compared with the last 90 days of commits. [Components](docs/layers/COMPONENTS.md) |
| *Can we show an auditor or an acquirer where we stand?* | Evidence packs: a repository assessment, a change report for a period and a component inventory, as JSON, Markdown, HTML or CSV. [Reports](docs/layers/REPORTS.md) |
```bash
repowise changes show pr-412 # one change and its evidence checklist
repowise check main..HEAD --sarif-file policy.sarif # run .repowise/policies.yaml in CI
repowise suspects --trace stacktrace.txt # the recent changes to read first
repowise report changes --format html --out q3.html # change evidence for the last 90 days
```
Owners and reviewers are counted, never ranked or named, and every report states what
git alone cannot attest.
---
## ★ Know exactly what to fix
Code health measures technical debt: the code shape and change history that make a
file likely to need the next fix.
A score that says *"this file is risky"* is where most tools stop. Repowise scores
every file, finds where the risk concentrates, and names the specific fix.
![]() Architecture · the dependency graph, laid out and explorable, with per-node context and change coupling |
![]() Code Health · every file as a bubble, hover any one to inspect its score, size, coverage and findings |
![]() Chat · ask the codebase a question, answers cite the files and pages they came from |
![]() Docs · generated wiki pages for the whole codebase, with confidence and freshness badges |
Full
Good
· Partial