Workspace setup
Index multiple related git repos as a single repowise workspace. Get cross-repo co-changes, API contract matching, and federated MCP queries on top of per-repo intelligence.
A workspace is a parent directory containing several git repos
that repowise indexes and analyzes together. Each repo gets its own
.repowise/wiki.db (the same as single-repo mode), plus a workspace
layer adds cross-repo signals on top — co-changes, API contracts, and
package dependency mapping.
When to use a workspace
- Backend and frontend in separate repos.
- Microservices that talk over HTTP, gRPC, or topics.
- A monorepo split into sub-repos (Git submodules, sister projects).
- Anywhere you want to understand cross-repo dependencies and co-change patterns.
Directory layout
my-workspace/
.repowise-workspace.yaml # workspace config
.repowise-workspace/ # shared cross-repo data
cross_repo_edges.json # co-change pairs and package deps
contracts.json # extracted API contracts and links
system_graph.json # service-granular system graph + diagnostics
breaking_changes.json # breaking provider changes vs the last index
conformance.json # architecture rule violations + dependency cycles
.claude/
CLAUDE.md # workspace-level CLAUDE.md
backend/
.repowise/ # per-repo index
wiki.db
lancedb/
frontend/
.repowise/
wiki.db
lancedb/Each subdirectory must be its own git repo.
Initialise
cd my-workspace/
repowise init .Repowise scans for git repos under the cwd, asks which ones to
include (or --all to include every match), then indexes each repo
and runs cross-repo analysis. The .repowise-workspace.yaml config
is generated automatically.
To add a repo later:
repowise workspace add ../shared-libs --alias shared --index
repowise workspace scan # discover newly-cloned reposTo remove a repo from the workspace (the repo's .repowise/
directory is preserved on disk):
repowise workspace remove backendSee the workspace CLI page for the full
subcommand list.
Updating
repowise update --workspace # update every stale repo
repowise update --repo backend # update one specific repo
repowise watch --workspace # auto-update on file change
repowise hook install --workspaceWhat you get on top of single-repo
- Cross-repo co-changes — files that change together across repos without an import link.
- API contract extraction — HTTP routes, gRPC services, message topics, and app-to-database contracts matched provider-to-consumer.
- Package dependency mapping — when one repo declares another as a dependency in its manifest.
- Federated MCP — pass
repo="backend"orrepo="all"to any of the core MCP tools, plus three workspace-only tools for blast radius, conformance, and architecture metrics. - Workspace dashboard — aggregate stats and contract / co-change views.
- Workspace CLAUDE.md — auto-generated context covering every repo and the relationships between them.
Detail: Cross-repo intelligence, the system graph and map, blast radius, breaking-change guard, architecture conformance, architecture metrics, and Workspace MCP mode.
One MCP server, every repo. The MCP server knows about the whole
workspace. You don't need to spin up one server per repo — your editor
talks to a single endpoint and the tools route by repo.
Proactive agent hooks
Lightweight editor hooks that push graph, git, health, and decision context into Claude Code and Codex at the moment the agent needs it — no LLM, no network, fail-silent. This is also how repowise learns from how you actually use it.
Cross-repo intelligence
What repowise learns from analyzing several repos together — co-change pairs, API contracts (HTTP / gRPC / topics), and package dependency mapping. Hidden coupling that single-repo tools can't find.