Dashboard
The local web dashboard that reads your .repowise index and answers architecture, health, ownership and history questions without sending anything off your machine.
repowise serve gives you a local dashboard over the index you already
built. It reads the same .repowise/wiki.db that the CLI and the MCP
server read, so nothing leaves your machine, and no view calls an LLM
unless you click something that says it will (Chat, refactoring code
generation, doc regeneration).
repowise serve # API on :7337, web UI on :3000
repowise serve --port 8000 --ui-port 3001
repowise serve --no-ui # API only, no dashboardserve starts the API and the web UI together. See
Server and watch for every flag.
The URL shape is /repos/<repo-id>/<view>. Every view is directly
linkable, tab state included, so a link you paste into a PR lands on
exactly what you were looking at.
What works without an API key
You can index a repo without generating a wiki (repowise init --index-only, or the fast option in the setup wizard). Everything
derived from the AST, the dependency graph, and git history works in
both modes. Only the views that read generated pages differ.
| Needs a generated wiki | Works index-only |
|---|---|
| Docs, Doc freshness, Present mode, Chat, semantic Search | Overview, Architecture, Knowledge Graph, Code Health, Refactoring, Files, Symbols, Commits, Contributors, Decisions, Stats, Usage, Settings, and all Workspace views |
In index-only mode the docs-related counters honestly read 0 rather
than hiding, and the Docs view offers to run a generation job. You can
upgrade an index-only repo to a full one later without re-indexing from
scratch.
The views
| View | Path | Answers |
|---|---|---|
| Overview | /repos/<id>/overview | What is this repo, and what should I look at first? |
| Docs | /repos/<id>/docs | How does this system work, in prose someone can read? |
| Doc freshness | /repos/<id>/docs/coverage | Which docs still describe the code, and which have drifted? |
| Architecture | /repos/<id>/architecture | What talks to what? |
| Knowledge Graph | /repos/<id>/knowledge-graph | Where does this file or symbol sit in the whole system? |
| Code Health | /repos/<id>/code-health | Which files are likely to break next, and why? |
| Refactoring | /repos/<id>/refactoring | Given that this file is in trouble, what exactly do I change? |
| Files | /repos/<id>/files, /repos/<id>/files/<path> | What is in this file, and should I be careful with it? |
| Symbols | /repos/<id>/symbols/<symbolId> | Where is this function defined, who calls it, how often has it broken? |
| Search | /repos/<id>/search | Where is the thing I half-remember? |
| Commits | /repos/<id>/commits | What has been happening here, and how risky was it? |
| Contributors | /repos/<id>/owners | Who knows this code? |
| Decisions | /repos/<id>/decisions | Why is this code shaped this way? |
| Chat | /repos/<id>/chat | Anything, asked in plain language against the index. |
| Stats | /repos/<id>/stats | Activity trend, punch card, size class, superlatives. |
| Usage and savings | /repos/<id>/costs | What has indexing cost, and what has it saved? |
| Settings | /repos/<id>/settings, /settings | Exclusions, generation options, sync, provider keys, MCP config. |
Overview
The landing view: repo KPIs (files, symbols, entry points, dead exports, health averages), an attention panel that promotes whatever currently deserves it (declining health, a stale doc set, an alert-band file), a decisions timeline, quick actions, and a live banner while an index or generation job is running. If a job is in flight, its progress and log stream here.
Docs
The generated wiki: a page tree on the left, the rendered page in the middle with mermaid diagrams, code blocks that link into the file views, a confidence badge, a freshness indicator, backlinks, and a regenerate action for a single page. Reader personas re-filter the prose for the audience you pick. Human notes you attach to a page survive regeneration. The sidebar auto-collapses to icons here so the page gets the width, then restores when you leave.
Present mode lives behind a button in the docs header. It turns the
wiki you already generated into a full-screen, keyboard-driven
presentation. Nothing is generated for it: the deck is derived
synchronously from the pages already loaded, so there is no LLM call, no
network round trip, and no extra cost. The button appears only when the
repo has a repo_overview page, and the mode lives in the URL
(?present=deck or ?present=walkthrough) so it is shareable.
Deck is a slide view assembled in a fixed order: a title slide from the overview page, up to two architecture-diagram slides, up to five layer slides (prose on the left, the layer's mermaid diagram on the right when it has one), up to five module slides, a "where to start" slide built from the guided tour metadata, and a closing slide. Each slide carries a freshness dot and an "open in reader" link.
Walkthrough is the guided-reading version of the same content: one step per guided-tour stop, each with a "why this matters" callout, a longer excerpt from the target page, and a reading-time estimate. A left rail tracks finished steps and the total estimate. With no guided tour in the index, the walkthrough falls back to the deck's sections rather than showing an empty pane.
Deck and Walkthrough each keep their own position, so toggling between them does not lose your place. This is the fastest way to hand a repo to a new joiner.
Doc freshness
A coverage donut, a drift banner when generated pages fall behind the commits they describe, a per-page freshness table, and a confidence-by-freshness matrix that separates "we were never sure about this page" from "we were sure and the code has since moved". Use it to decide what to regenerate instead of regenerating everything.
Architecture
Five sub-views behind ?view=:
?view= | What you get |
|---|---|
map (default) | The layered architecture map. |
explore | The dependency-graph canvas with ELK layout, a context drawer per node, a centrality leaderboard, and detected communities. |
deps | The external dependency registry. |
symbols | The symbol index. |
coupling | Change coupling: files that keep changing together with no import edge between them, which is the coupling static analysis cannot see. |
All of it is computed from the parse and git history, so it is index-only safe.
Knowledge Graph
A continuous-zoom canvas over the full graph: repo at the top, then
modules, files, and symbols as you zoom, rendered by a custom camera and
culling engine so it stays smooth on large repos. Deep-link with
?focus=<node> to land zoomed on one node. The older /c4 and /zoom
URLs redirect here.
Code Health
Tabs behind ?tab=:
?tab= | What you get |
|---|---|
triage (default) | The health ring, the band distribution, the three co-equal KPIs (defect risk, maintainability, performance), and the lowest-scoring files. |
findings | Every marker finding, filterable by dimension and severity. |
hotspots | Churn-versus-complexity and churn-versus-bus-factor scatters, with the refactor quadrant tinted. |
coverage | Ingested test coverage joined against risk, so untested hotspots stand out. |
dead-code | Unreachable files, unused exports, and zombie packages, tiered by confidence. |
impact | Blast radius for a file or a set of changed files. |
security | The security findings table, by directory and by severity. |
Clicking any file opens the health drawer: its markers, its file signals (owners, churn, dependents), its score trend as a sparkline, and its bug history. The per-file score trend lives on the file's own Health tab and in the drawer rather than as a separate top-level tab. The scoring model is documented in Code health.
Refactoring
A board of structured plans (Extract Class, Extract Helper, Move Method,
Break Cycle, Split File). Each card shows its split groups, the evidence
that justifies it, its impact delta, an effort bucket, and the blast
radius that has to move with it. Filter by type with ?type=. Two
actions per card: copy-to-agent, which produces a prompt you can
hand to a coding agent, and Generate code, an opt-in LLM expansion
into code plus a unified diff. Everything except that last button is
deterministic. More in Refactoring.
Files and Symbols
Files opens on a treemap of the repo sized by code volume and colored by
health band, so where the risk sits is one glance rather than a sorted
table. Drill into a file for its tabs: overview, its generated doc page,
health, coverage, graph neighborhood, and history.
/repos/<id>/modules/<path> is the same idea one level up.
The symbol index (/repos/<id>/architecture?view=symbols) has filters
for kind, hot files, and a Bug-fixed facet that keeps only symbols
with a counted bug fix inside the window. Each row carries a fix chip
when it has one. The symbol detail page and drawer show the signature,
the call graph around it, modification count, and a Bug fixes tile.
That contrast, how often a symbol changes against how often it breaks,
is the part worth reading.
Search, Commits, Contributors, Decisions
Search covers full-text, symbol, and semantic search over the index, scoped to one repo or the whole workspace. Semantic results need generated pages; symbol and full-text search work index-only.
Commits gives the commit table with a per-commit risk score, a risk distribution, a code-evolution chart, commit-category breakdowns, and AI-agent provenance badges plus their trend over time where the commits carry agent trailers.
Contributors is a directory with ownership distribution, bus-factor views, and a per-person profile showing what they own and where their knowledge is concentrated. Useful before a reorg, and before assuming a file has an owner.
Decisions shows architectural decisions with their evidence drawer, supersession lineage, and a decision graph. Decisions are mined from history and PR discussion, and can be confirmed, edited, or added by hand. See Decisions.
Chat
Ask questions against the indexed repo. Answers cite the pages and files they came from, an artifacts panel collects code the answer produced, and you pick the model. This is the one view that always costs LLM tokens, and it needs generated pages to retrieve over.
Workspace views
These appear only when repowise is running over a multi-repo workspace. See Workspace setup.
| Route | What it shows |
|---|---|
/workspace | Repo cards across the workspace with per-repo status. |
/workspace/system-map | The cross-repo dependency picture, including a design-structure matrix and package dependencies. |
/workspace/conformance | Where repos diverge from the shared patterns. |
/workspace/contracts | API contracts extracted on the producer side matched against their consumers, so a breaking change is visible before it ships. |
/workspace/co-changes | Files in different repos that keep changing in the same window. |
Keyboard
| Key | Does |
|---|---|
⌘K / Ctrl+K | Command palette: jump to a page, file, or symbol |
→ Space PageDown | Present mode: next slide or step |
← PageUp | Present mode: previous |
Home End | Present mode: first / last |
Esc | Close Present mode or the open drawer |
The dashboard and the MCP server serve the same data from the same index. Use the dashboard when you want to look at it, and MCP when your agent needs it.
Troubleshooting
Diagnose a broken index with repowise doctor, plus the most common install and indexing problems with their fixes.
Upgrading
Upgrade the repowise package, run repowise update, and your existing index keeps working. No reindex in the normal case; a full reindex is only ever recommended, never forced.