# repowise-dev/repowise architecture

> Architecture diagram of the GitHub repository repowise-dev/repowise, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/repowise-dev/repowise
- Repository: https://github.com/repowise-dev/repowise

## Overview

Repowise builds a local codebase index and exposes it to coding agents and people through MCP, a dashboard, and editor integrations. The principal workflow is to initialize a repository, analyze code and history, then query the resulting index for architecture, change impact, tests, and improvement priorities. README capabilities also include generated documentation, command-output distillation, hooks, cross-repository system maps, and savings reporting. Several links below are supported by README claims; sampled source confirms only selected implementation details, so unsampled internals are not inferred.

Main entry points: [`packages/server/src/repowise/server/app.py`](https://github.com/repowise-dev/repowise/blob/main/packages/server/src/repowise/server/app.py) (Local server), [`packages/cli/src/repowise/cli/main.py`](https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/main.py) (CLI commands), [`packages/api-client/src/client.ts`](https://github.com/repowise-dev/repowise/blob/main/packages/api-client/src/client.ts) (API client), [`packages/vscode/src/features/serverManager.ts`](https://github.com/repowise-dev/repowise/blob/main/packages/vscode/src/features/serverManager.ts) (VS Code host)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_indexing["Index and analysis"]
  node_cli["CLI commands<br/>[main.py]"]
  node_init["Repository setup<br/>[command.py]"]
  node_ingestion["Code ingestion"]
  node_generation["Wiki generation<br/>[engine.py]"]
  node_action_ranking["Fix-first ranking<br/>[engine.py]"]
  node_coverage["Test coverage<br/>[coverage_routes.py]"]
end

subgraph group_agent["Agent experience"]
  node_mcp["MCP tools"]
  node_distill["Output distillation<br/>[engine.py]"]
  node_hooks["Agent hooks<br/>[augment_hook.py]"]
  node_claude_map["Claude map view<br/>[map-controller.ts]"]
end

subgraph group_serving["Serving and clients"]
  node_server["Local server<br/>[app.py]"]
  node_api["API client<br/>[client.ts]"]
end

subgraph group_interfaces["User interfaces"]
  node_dashboard["Web dashboard"]
  node_system_map["Cross-repo map<br/>[routes-between.ts]"]
  node_vscode_host["VS Code host<br/>[serverManager.ts]"]
  node_webview["VS Code panels<br/>[mount.tsx]"]
  node_webview_rpc["Webview RPC<br/>[rpc.ts]"]
end

node_developer(("Developer"))

node_developer -->|"runs commands"| node_cli
node_cli -->|"sets up index"| node_init
node_init -->|"indexes repository"| node_ingestion
node_cli -->|"generates docs"| node_generation
node_developer -->|"opens dashboard"| node_server
node_server -->|"offers MCP"| node_mcp
node_developer -->|"asks questions"| node_mcp
node_mcp -.->|"queries index"| node_api
node_server -->|"serves data"| node_api
node_api -.->|"feeds views"| node_dashboard
node_ingestion -.->|"analyzes code"| node_action_ranking
node_server -->|"routes coverage"| node_coverage
node_cli -->|"distills output"| node_distill
node_cli -->|"installs hooks"| node_hooks
node_developer -->|"explores map"| node_claude_map
node_server -.->|"serves service links"| node_system_map
node_vscode_host -.->|"connects locally"| node_server
node_webview -->|"creates host"| node_webview_rpc
node_webview_rpc -->|"sends requests"| node_vscode_host
node_vscode_host -->|"uses client"| node_api

click node_cli "https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/main.py"
click node_init "https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/commands/init_cmd/command.py"
click node_ingestion "https://github.com/repowise-dev/repowise/blob/main/packages/core/src/repowise/core/ingestion/framework_routes.py"
click node_generation "https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/commands/generate_cmd/engine.py"
click node_action_ranking "https://github.com/repowise-dev/repowise/blob/main/packages/core/src/repowise/core/analysis/actions/engine.py"
click node_coverage "https://github.com/repowise-dev/repowise/blob/main/packages/server/src/repowise/server/routers/code_health/coverage_routes.py"
click node_server "https://github.com/repowise-dev/repowise/blob/main/packages/server/src/repowise/server/app.py"
click node_mcp "https://github.com/repowise-dev/repowise/tree/main/packages/server/src/repowise/server/mcp_server"
click node_api "https://github.com/repowise-dev/repowise/blob/main/packages/api-client/src/client.ts"
click node_distill "https://github.com/repowise-dev/repowise/blob/main/packages/core/src/repowise/core/distill/engine.py"
click node_hooks "https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/augment_hook.py"
click node_claude_map "https://github.com/repowise-dev/repowise/blob/main/packages/claude-mod/src/map-controller.ts"
click node_dashboard "https://github.com/repowise-dev/repowise/blob/main/packages/ui/src/workspace/system-map/system-map-routes-panel.tsx"
click node_system_map "https://github.com/repowise-dev/repowise/blob/main/packages/ui/src/workspace/system-map/routes-between.ts"
click node_vscode_host "https://github.com/repowise-dev/repowise/blob/main/packages/vscode/src/features/serverManager.ts"
click node_webview "https://github.com/repowise-dev/repowise/blob/main/packages/vscode/webview/src/runtime/mount.tsx"
click node_webview_rpc "https://github.com/repowise-dev/repowise/blob/main/packages/vscode/webview/src/runtime/rpc.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_init,node_ingestion,node_generation,node_action_ranking,node_coverage toneBlue
class node_mcp,node_distill,node_hooks,node_claude_map toneAmber
class node_server,node_api toneMint
class node_dashboard,node_system_map,node_vscode_host,node_webview,node_webview_rpc toneRose
class node_developer toneIndigo
```

## Components

### Index and analysis

- [CLI commands](https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/main.py): `packages/cli/src/repowise/cli/main.py`
- [Repository setup](https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/commands/init_cmd/command.py): `packages/cli/src/repowise/cli/commands/init_cmd/command.py`
- [Code ingestion](https://github.com/repowise-dev/repowise/blob/main/packages/core/src/repowise/core/ingestion/framework_routes.py): `packages/core/src/repowise/core/ingestion/framework_routes.py`
- [Wiki generation](https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/commands/generate_cmd/engine.py): `packages/cli/src/repowise/cli/commands/generate_cmd/engine.py`
- [Fix-first ranking](https://github.com/repowise-dev/repowise/blob/main/packages/core/src/repowise/core/analysis/actions/engine.py): `packages/core/src/repowise/core/analysis/actions/engine.py`
- [Test coverage](https://github.com/repowise-dev/repowise/blob/main/packages/server/src/repowise/server/routers/code_health/coverage_routes.py): `packages/server/src/repowise/server/routers/code_health/coverage_routes.py`

### Agent experience

- [MCP tools](https://github.com/repowise-dev/repowise/tree/main/packages/server/src/repowise/server/mcp_server): `packages/server/src/repowise/server/mcp_server`
- [Output distillation](https://github.com/repowise-dev/repowise/blob/main/packages/core/src/repowise/core/distill/engine.py): `packages/core/src/repowise/core/distill/engine.py`
- [Agent hooks](https://github.com/repowise-dev/repowise/blob/main/packages/cli/src/repowise/cli/augment_hook.py): `packages/cli/src/repowise/cli/augment_hook.py`
- [Claude map view](https://github.com/repowise-dev/repowise/blob/main/packages/claude-mod/src/map-controller.ts): `packages/claude-mod/src/map-controller.ts`

### Serving and clients

- [Local server](https://github.com/repowise-dev/repowise/blob/main/packages/server/src/repowise/server/app.py): `packages/server/src/repowise/server/app.py`
- [API client](https://github.com/repowise-dev/repowise/blob/main/packages/api-client/src/client.ts): `packages/api-client/src/client.ts`

### User interfaces

- [Web dashboard](https://github.com/repowise-dev/repowise/blob/main/packages/ui/src/workspace/system-map/system-map-routes-panel.tsx): `packages/ui/src/workspace/system-map/system-map-routes-panel.tsx`
- [Cross-repo map](https://github.com/repowise-dev/repowise/blob/main/packages/ui/src/workspace/system-map/routes-between.ts): `packages/ui/src/workspace/system-map/routes-between.ts`
- [VS Code host](https://github.com/repowise-dev/repowise/blob/main/packages/vscode/src/features/serverManager.ts): `packages/vscode/src/features/serverManager.ts`
- [VS Code panels](https://github.com/repowise-dev/repowise/blob/main/packages/vscode/webview/src/runtime/mount.tsx): `packages/vscode/webview/src/runtime/mount.tsx`
- [Webview RPC](https://github.com/repowise-dev/repowise/blob/main/packages/vscode/webview/src/runtime/rpc.ts): `packages/vscode/webview/src/runtime/rpc.ts`

### Other components

- **Developer**

## Connections

- Developer → CLI commands: runs commands (evidence: `README.md`)
- CLI commands → Repository setup: sets up index (evidence: `README.md`)
- Repository setup → Code ingestion: indexes repository (evidence: `README.md`)
- CLI commands → Wiki generation: generates docs (evidence: `README.md`)
- Developer → Local server: opens dashboard (evidence: `README.md`)
- Local server → MCP tools: offers MCP (evidence: `README.md`)
- Developer → MCP tools: asks questions (evidence: `README.md`)
- MCP tools → API client: queries index
- Local server → API client: serves data (evidence: `packages/server/src/repowise/server/app.py`)
- API client → Web dashboard: feeds views
- Code ingestion → Fix-first ranking: analyzes code
- Local server → Test coverage: routes coverage (evidence: `packages/server/src/repowise/server/routers/code_health/coverage_routes.py`)
- CLI commands → Output distillation: distills output (evidence: `README.md`)
- CLI commands → Agent hooks: installs hooks (evidence: `README.md`)
- Developer → Claude map view: explores map (evidence: `README.md`)
- Local server → Cross-repo map: serves service links
- VS Code host → Local server: connects locally
- VS Code panels → Webview RPC: creates host (evidence: `packages/vscode/webview/src/runtime/mount.tsx`)
- Webview RPC → VS Code host: sends requests (evidence: `packages/vscode/webview/src/runtime/rpc.ts`)
- VS Code host → API client: uses client (evidence: `packages/vscode/src/features/serverManager.ts`)
