Query: search, ask, context, symbol, why, status
Search, ask questions, read symbols, and check sync state from the terminal without involving an editor.
repowise search
Search the wiki by keyword, meaning, or symbol name.
repowise search QUERY [PATH] [OPTIONS]| Parameter | Type | Default | Description |
|---|---|---|---|
--mode | string | fulltext | Search mode: fulltext, semantic, symbol, auto, concept, path, hybrid |
--limit | number | 10 | Max results |
--repo | string | — | Scope to a specific workspace repo by alias |
--all | boolean | false | Fan out across every workspace repo and merge results |
--workspace / --no-workspace | boolean | — | Force workspace / single-repo mode |
--format | string | table | Output: table or json |
--full | boolean | false | Emit the complete tool payload as JSON (implies --format json) |
repowise search "auth token validation"
repowise search "auth token validation" --mode semantic --limit 20
repowise search "GraphBuilder" --mode symbol
repowise search "cli/output.py" --mode path
repowise search "where is resolve_console_width called" --mode auto
repowise search "rate limit" --repo backend # workspace, one repo
repowise search "rate limit" --all # workspace, fan-outModes:
- fulltext / semantic: both route to the tool's fused
conceptmode, which combines full-text and vector search through RRF rather than choosing one.semanticfalls back to full-text alone on a keyless index. - symbol: symbol name match.
- auto, concept, path, hybrid: the underlying
search_codebasetool's own mode spellings, accepted directly.
--format json emits a trimmed projection (score, title, page_type,
path, snippet per hit, plus candidates). --full returns the tool's
raw dict.
There is no repowise query command. For a synthesized answer rather than a
keyword lookup, use repowise ask below, the MCP
get_answer tool from your editor, or the
Chat tab in the web UI (repowise serve).
repowise ask QUESTION
Answer a question about the codebase, with citations. The same synthesis the
get_answer MCP tool performs: hybrid retrieval followed by an LLM answer
over what it found, so this is the one command in this cluster that costs an
LLM call.
repowise ask QUESTION [OPTIONS]| Parameter | Type | Description |
|---|---|---|
--scope | string | Restrict retrieval to a path prefix (e.g. packages/cli/) |
repowise ask "how does the retry backoff work?"
repowise ask "where is the session cookie set?" --format json
repowise ask "how is width resolved?" --scope packages/cli/
repowise ask "why is auth split across two modules?" --fullconfidence: high is content-grounded, so it can be cited directly. A
low-confidence answer returns best_guesses (a file plus why it's in the
running) instead of an empty one.
repowise context TARGETS...
Triage card for files, modules, or symbols: title, summary, architectural layer, hotspot and bug-fix history, doc freshness, and the shape of the verified skeleton. Relationships and risk signals, not source bytes. Batch targets in one call.
repowise context TARGETS... [OPTIONS]| Parameter | Type | Default | Description |
|---|---|---|---|
--include | string | — | Opt-in block, repeatable: full_doc, ownership, last_change, callers, callees, metrics, community, decisions, health, skeleton |
--no-compact | boolean | false | Add structure, imports, and docstrings to each card |
repowise context src/api/routes.py src/api/auth.py
repowise context src/api/routes.py::login --include callers --include metrics
repowise context src/api/routes.py --include skeleton # + the file's sourceNo source bytes by default. Pass --include skeleton for the whole file,
body-elided and line-verified, in one call, or just read the file.
repowise symbol SYMBOL_ID
Read one function, class, or constant with live-verified line bounds.
source arrives in the same line-numbered format a file read produces;
verified: true means the bounds were checked against the live file.
repowise symbol SYMBOL_ID [OPTIONS]| Parameter | Type | Description |
|---|---|---|
--context-lines | number | Extra lines before and after the body (0-50) |
--query | string | Omission refs only: regex or substring filter on the restored lines |
repowise symbol "src/api/routes.py::login"
repowise symbol "src/api/routes.py:140-180" # live range read
repowise symbol "repowise#a1b2c3d4e5f6" # a distill omission refAn ambiguous id (overloads, re-exports) returns every matching body rather
than silently picking one. A truncated body carries a continuation you can
pass straight back to repowise symbol.
repowise why [QUERY]
Why the code is shaped this way: decision records, rationale, and git archaeology. Worth running before a refactor or a deliberate divergence from a pattern.
repowise why [QUERY] [OPTIONS]| Parameter | Type | Description |
|---|---|---|
--target | string | File path to anchor the search to. Repeatable |
repowise why "why is auth using JWT?" # question
repowise why src/api/auth.py # governing decisions + origin story
repowise why "why the retry cap?" --target src/api/client.py
repowise why # decision health dashboardFalls back to git archaeology when a path has no decisions, so it's never empty.
Shared options: ask, context, symbol, why
These four are thin adapters over the MCP tools of the same name, so they share one option block:
| Parameter | Type | Default | Description |
|---|---|---|---|
--path | string | — | Repo (or workspace) root. Defaults to the current directory |
--repo | string | — | Workspace repo alias to query |
--no-workspace | boolean | false | Force single-repo mode even inside a workspace |
--format | string | table | table or json |
--full | boolean | false | Emit the complete tool payload as JSON (implies --format json) |
The repo is --path here rather than a trailing positional: context
accepts a variadic list of targets, which would swallow a trailing path.
--format json emits a trimmed CLI projection, not the tool's whole
response. --full returns the raw dict, the same one an editor's MCP
client receives. Nothing that changes the answer is ever trimmed: an error,
a not-found, a did-you-mean list, a truncation marker, a continuation
token, and ambiguity signals all survive at every format.
repowise status
Show the wiki's sync state and page statistics: last sync commit, total pages, provider/model, token usage, and a per-type page breakdown.
repowise status [PATH] [OPTIONS]| Parameter | Type | Default | Description |
|---|---|---|---|
--workspace / -w | boolean | false | Show status for every repo in the workspace |
--no-workspace | boolean | false | Force single-repo status even when invoked from a workspace root |
repowise status
repowise status --workspace
repowise status --no-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 and the exact remediation command.
Server & watch: serve, watch, mcp
Run the repowise API and dashboard, auto-update on file save, or expose the MCP server directly to an editor.
Distill: compact command output
Run noisy commands through repowise distill for an errors-first, fully reversible rendering that cuts 60 to 90% of the tokens on tests, builds, git, and searches, with zero error-line loss.