Complete reference for all repowise commands. For a guided introduction, see the Quickstart.
Most commands auto-detect whether you're in a workspace root and route accordingly. When auto-detection fires, the command prints a one-line [workspace] … notice. You can always override:
| Flag | Effect |
|---|---|
--workspace / -w |
Force workspace mode. Errors if no .repowise-workspace.yaml is found. |
--no-workspace |
Force single-repo mode even when invoked from a workspace root. |
--repo <alias> |
Scope a workspace command to one repo. Available on commands where it makes sense. |
--all |
Fan out across every workspace repo (on costs, search). |
The commands that grew these flags in v0.8.x: update, status, watch, doctor, costs, search, dead-code, decision, generate-claude-md, hook install/status/uninstall.
Index a codebase and generate wiki documentation. This is the starting point.
Single repo:
cd your-project
repowise initMulti-repo workspace:
cd my-workspace/ # parent dir containing multiple git repos
repowise init .What it does (4 phases):
- Ingestion — walks every file, parses AST with tree-sitter, builds a two-tier dependency graph (file + symbol nodes), indexes git history (churn, hotspots, ownership, bus factor)
- Analysis — detects dead code, extracts architectural decisions from inline markers, READMEs, and git history. Runs Leiden community detection and execution flow tracing.
- Generation — sends structured prompts to the LLM, generates file-level, module-level, and repo-level wiki pages
- Persistence — stores everything in
.repowise/wiki.db, builds search indexes, generatesCLAUDE.md, registers MCP server and Claude Code hooks
In workspace mode, adds: repo scanning, per-repo indexing, cross-repo analysis (co-changes, contracts, package deps), workspace CLAUDE.md generation.
Options:
| Flag | Description |
|---|---|
--provider |
LLM provider: anthropic, openai, openrouter, gemini, deepseek, ollama, litellm, mock |
--model |
Model name override (e.g., claude-sonnet-4-6) |
--embedder |
Embedder for semantic search: gemini, openai, mock |
--index-only |
Skip LLM generation. Only parse, build graph, and index git. Free. |
--dry-run |
Show generation plan and cost estimate without running. |
--test-run |
Generate docs for only the top 10 files (by PageRank). |
--skip-tests |
Exclude test files from doc generation. |
--skip-infra |
Exclude infrastructure files (Dockerfiles, Makefiles, Terraform). |
--exclude / -x |
Gitignore-style exclusion patterns. Repeatable. |
--include-submodules |
Include git submodule directories. |
--concurrency |
Max concurrent LLM calls (default: 5). |
--reasoning |
Reasoning mode for supported providers: auto, off, or minimal (default: auto). |
--resume |
Resume from the last checkpoint if interrupted. |
--force |
Regenerate all pages even if they exist. |
--commit-limit |
Max commits to analyze per file (default: 500). |
--follow-renames |
Track file renames in git history. |
--no-claude-md |
Don't generate CLAUDE.md. |
--yes / -y |
Skip confirmation prompts. |
Examples:
repowise init # interactive
repowise init --provider anthropic --yes # automated
repowise init --index-only # free, no LLM
repowise init --dry-run # preview cost
repowise init --test-run # quick test (10 files)
repowise init --provider openai --model qwen3 --reasoning off
repowise init --provider openrouter --model openai/gpt-5 --reasoning minimal
repowise init -x vendor/ -x "*.gen.go" # exclude patterns
repowise init --include-submodules # include submodules
repowise init . # workspace mode
repowise init . --index-only -x "node_modules/" # workspace, no LLMIncrementally update wiki pages for files changed since the last sync.
Options:
| Flag | Description |
|---|---|
--provider |
Override LLM provider for this run |
--model |
Override model |
--since |
Git ref to diff from (overrides state.json) |
--reasoning |
Reasoning mode for supported providers: auto, off, or minimal |
--cascade-budget |
Max pages to regenerate (default: auto) |
--dry-run |
Show what would be updated without regenerating |
--workspace |
Update all stale repos in the workspace + cross-repo analysis |
--no-workspace |
Force single-repo mode (handy when running from a workspace root) |
--repo |
Update a specific workspace repo by alias |
First-time indexing: as of v0.8, update --workspace now runs full first-time indexing for workspace entries that have no .repowise/ dir yet (previously skipped with "not_indexed"). The pipeline runs index-only — no LLM cost — and writes a state.json marker so repowise update --repo <alias> --docs later picks up doc generation cleanly.
Examples:
repowise update # diff since last sync
repowise update --dry-run # preview
repowise update --since v1.0.0 # diff from a tag
repowise update --reasoning off # one-off supported-provider thinking-off run
repowise update --workspace # all workspace repos (incl. first-time indexing)
repowise update --repo backend # specific workspace repo
repowise update --no-workspace # force single-repo mode in a workspace rootStart the API server and web UI.
Options:
| Flag | Description |
|---|---|
--port |
API server port (default: 7337) |
--host |
Host to bind to (default: 127.0.0.1) |
--workers |
Uvicorn workers (default: 1) |
--ui-port |
Web UI port (default: 3000) |
--no-ui |
Start API server only |
--refresh-ui |
Force re-download of the web UI tarball, ignoring any cache |
repowise serve # API + Web UI
repowise serve --no-ui # API only
repowise serve --port 8080 --ui-port 8081
repowise serve --refresh-ui # bypass cache, pull latest UI tarballWeb UI sources, in order of precedence:
- Local monorepo build at
packages/web/.next/standalone/...— used when the CLI is run from inside a checkout. The bundle's mtime is compared against source underpackages/web/,packages/ui/src/, andpackages/types/src/; if any source is newer the bundle is rebuilt withnpm run build(or skipped ifnpmis unavailable). - Cached download at
~/.repowise/web/, keyed by the CLI version in.version. - Fresh download of
repowise-web.tar.gzfrom the GitHub release matching the CLI version.
Pass --refresh-ui to skip (1) and (2) and force (3).
Watch for file changes and auto-update wiki pages. Press Ctrl+C to stop.
Options:
| Flag | Description |
|---|---|
--provider |
LLM provider |
--model |
Model override |
--debounce |
Delay in ms after last change (default: 2000) |
--workspace |
Watch all workspace repos |
--no-workspace |
Force single-repo mode |
--repo |
Watch a single workspace repo by alias |
repowise watch # single repo (auto-detects)
repowise watch --debounce 5000 # 5s debounce
repowise watch --workspace # all workspace repos
repowise watch --repo backend # just oneSearch wiki pages by keyword, meaning, or symbol name.
Options:
| Flag | Description |
|---|---|
--mode |
fulltext (default), semantic, symbol |
--limit |
Max results (default: 10) |
--repo |
Scope to a specific workspace repo by alias |
--all |
Fan out across every workspace repo and merge results |
--workspace / --no-workspace |
Force workspace / single-repo mode |
repowise search "rate limiting"
repowise search "how are errors handled" --mode semantic
repowise search "AuthService" --mode symbol
repowise search "rate limit" --repo backend # workspace, one repo
repowise search "rate limit" --all # workspace, fan-outAsk a question about your codebase from the terminal.
repowise query "how does authentication work?"
repowise query "what files handle payment processing?"Show wiki sync state, page statistics, and coverage.
repowise status # auto-detects mode
repowise status --workspace # all workspace repos
repowise status --no-workspace # force single-repo even in a workspaceIn workspace mode, the table includes a Docs column with each repo's page count and a per-repo Docs status block listing skip reasons (e.g. cost gate declined) and the exact remediation command.
Detect dead and unused code.
Options:
| Flag | Description |
|---|---|
--min-confidence |
Minimum confidence threshold (default: 0.4) |
--safe-only |
Only show findings marked safe to delete |
--kind |
Filter: unreachable_file, unused_export, unused_internal, zombie_package |
--format |
Output: table (default), json, md |
--include-internals |
Include private/underscore symbols |
--include-zombie-packages |
Include unused declared packages |
--repo |
In workspace mode, target a specific repo (defaults to primary) |
--workspace / --no-workspace |
Force workspace / single-repo mode |
repowise dead-code
repowise dead-code --safe-only --min-confidence 0.8
repowise dead-code --format json
repowise dead-code --repo backend # workspace, single repo
repowise dead-code resolve <id> # mark resolved / false positiveManage architectural decision records.
Subcommands:
repowise decision list [PATH] # list decisions
repowise decision show ID [PATH] # full details
repowise decision add [PATH] # interactive add
repowise decision confirm ID [PATH] # confirm a proposal
repowise decision dismiss ID [PATH] # delete a proposal
repowise decision deprecate ID [PATH] # mark deprecated
repowise decision health [PATH] # health dashboardList options:
| Flag | Description |
|---|---|
--status |
active, proposed, deprecated, superseded, all |
--source |
git_archaeology, inline_marker, readme_mining, cli, all |
--proposed |
Shortcut for --status proposed |
--stale-only |
Only stale decisions |
Show LLM spend tracking.
| Flag | Description |
|---|---|
--by |
Grouping: operation, model, day |
--repo |
Scope to a specific workspace repo |
--all |
Aggregate across every workspace repo |
--workspace / --no-workspace |
Force workspace / single-repo mode |
repowise costs # auto-detects mode
repowise costs --by operation # grouped by operation
repowise costs --by model # grouped by model
repowise costs --by day # grouped by day
repowise costs --all # workspace-wide aggregate
repowise costs --repo backend # one workspace repoShow all repos in the workspace with their index status.
Add a new repo to an existing workspace and index it.
As of v0.8 this defaults to --index --docs when a provider is configured — the added repo is indexed and gets LLM doc generation in one step, with a cost-gate prompt before any tokens are spent. Pass --no-docs to skip generation, or --no-index to only register the entry. The provider, model, embedder, and exclude patterns are inherited from the primary repo's .repowise/config.yaml unless overridden.
| Flag | Description |
|---|---|
--alias |
Short name for the repo (defaults to directory name) |
--index / --no-index |
Run the index pipeline (default: on) |
--docs / --no-docs |
Run LLM doc generation (default: on when a provider is configured) |
--provider / --model |
Override the inherited provider/model |
--primary |
Mark this repo as the workspace default |
repowise workspace add ../new-service --alias api-gateway
repowise workspace add ../mobile --no-docs # index, no LLM
repowise workspace add ../shared --no-index # register onlyRemove a repo from the workspace (does not delete files).
Re-scan the workspace directory for new repos not yet added.
Change which repo is the default for MCP queries.
See Workspaces for the full multi-repo guide.
Install a post-commit git hook that runs repowise update in the background after every commit.
repowise hook install # current repo
repowise hook install --workspace # all workspace reposCheck if hooks are installed.
repowise hook status
repowise hook status --workspaceRemove the post-commit hook.
repowise hook uninstall
repowise hook uninstall --workspaceSee Auto-Sync for all sync methods (hooks, file watcher, webhooks, polling).
Start the MCP server for AI editor integration.
Options:
| Flag | Description |
|---|---|
--transport |
stdio (default, for editors) or sse (for web clients) |
--port |
Port for SSE transport (default: 7338) |
repowise mcp --transport stdio # for Claude Code, Cursor, etc.
repowise mcp --transport sse --port 7338 # for web clientsSee MCP Tools for all 7 exposed tools.
Generate or update CLAUDE.md with codebase intelligence. Custom instructions at the top are preserved.
repowise generate-claude-md
repowise generate-claude-md -o custom-path.md
repowise generate-claude-md --stdoutExport wiki pages to files.
Options:
| Flag | Description |
|---|---|
--format |
markdown (default), html, json |
--output / -o |
Output directory (default: .repowise/export) |
--full |
Include decisions, dead code, hotspots, provenance metadata (JSON only) |
repowise export
repowise export --format json --full
repowise export --format html -o ./wiki/Rebuild vector search index from existing wiki pages.
repowise reindex
repowise reindex --embedder gemini --batch-size 50Run health checks on the wiki setup. Auto-detects workspace mode; in workspace mode runs a workspace-level table (directory exists, git repo, state.json ↔ workspace config drift) followed by the per-repo check battery for every indexed entry.
| Flag | Description |
|---|---|
--repair |
Repair detected issues: rebuild FTS, re-embed missing pages, sync drifted workspace state, drop dead workspace entries |
--workspace / --no-workspace |
Force workspace / single-repo mode |
repowise doctor # auto-detects
repowise doctor --repair # fix detected store mismatches
repowise doctor --workspace # every workspace repo
repowise doctor --workspace --repair # also drop dead entries / sync driftHook-driven context enrichment engine. Not meant to be called manually — invoked by Claude Code hooks installed during repowise init.