The scenario
A three-person team ships an AI product from 12 repositories: a TypeScript frontend, several Python services, a shared models package, an OCR worker and infrastructure code. Most of the code is written by coding agents, and nobody on the team reads every pull request line by line. Their questions are the same every week:- “If I rename a field in the shared models package, which services break?”
- “Which repositories call the OCR worker, and through what?”
- “Is anything still using this old endpoint, or can we delete it?”
What you’ll build
- One combined graph of your related repositories, with the connections between them.
- A hosted MCP connection that lets every agent on the team query that graph.
- An agent rule that runs a cross-repo impact check before any change to shared code.
- A repeatable prompt for “what breaks if I change X”, with results you can verify.
Setup
- A Graphify account at app.graphify.com, connected to GitHub or GitLab. See the Quickstart.
- Each repository you want to combine added and showing Indexed in Repositories. See Repository indexing.
- A coding agent that supports remote MCP servers, such as Claude Code, Codex, Cursor or VS Code.
Step 1: Pick the repositories that talk to each other
A combined graph holds two or more indexed repositories from your workspace, up to 100, but bigger isn’t better. Start with the repositories that actually import, call or share types with each other. For the team above:
A repository can be in more than one combined graph. Leave out repositories that never reference the others, such as a marketing site. They add nodes without adding connections.
Step 2: Combine the graphs
1
Open the Combine graphs dialog
In the Console sidebar, open Graphs > Cross-Repository and select Combine repositories. You can also select Combine graph on Overview.
2
Pick repositories
Under Repositories, search for and select the repositories from Step 1. Pick from the Indexed group. A repository that isn’t indexed yet has no graph to combine.
3
Name it
Under Graph name, enter a short name you’ll type in prompts, such as
product-core, or leave it blank to use the suggested name. A name is 2 to 120 characters. Select Combine graph.queued, running, then ready. When it’s ready, the graph is listed under Combined graphs in the graph view’s right panel. When a member repository re-indexes after a push to its default branch, Graphify rebuilds the combined graph from the new build, so you don’t need to recombine by hand.
Step 3: Read the cross-repo connections
Select the combined graph in the graph selector, or under Combined graphs in the right panel. The canvas groups nodes into code areas, and the stats header shows Nodes, Edges and how each edge was found (Extracted, Inferred, Synthesized, Observed). Edges between repositories are drawn in the accent colour. Hover an edge between code areas for a summary, such as16 cross-community edges · combine · inferred.
To check one piece of shared code:
- Search for it in Search nodes by name, path, or repository (press
/), such as theInvoicemodel inshared-models. Chips likekind:function,path:src/andprov:inferrednarrow the results. - In the node details, read the repository, path, code area and connection counts. When the node has edges to other repositories, a Cross-repo list shows them above Outgoing and Incoming.
- Under What a change could affect, choose a Depth of 1, 2 or 3 connections. The default is 2. Possible dependents shows how many nodes could be affected, and a Cross-repo dependents list appears when some of them are in other repositories.
- Select Show on canvas to highlight them on the graph.
The impact view is a structural over-estimate. It lists what depends on the node within the depth you chose, not what will break. When it finds nothing, it says Dynamic and external callers may not be represented. Use it to decide where to look and which tests to run.
?group= and ?title=. Turning on Show on canvas adds ?impact= and ?depth=, so a teammate opens the same graph with the same overlay.
Step 4: Connect your agent to the hosted MCP server
Every agent on the team reads the same combined graph through one server. For Claude Code:/mcp, select graphify, and choose Authenticate. For Codex, Cursor, VS Code and other clients, see Hosted MCP. If the claude command isn’t available, as in the Claude desktop app, see Claude Code.
Check the agent can see the combined graph:
list_workspaces, then set_workspace with the right one.
Step 5: Ask what breaks across repositories
Name the combined graph in the prompt. A combined graph is targeted by its name, just like a repository.graphify tool calls in the session), it guessed. Ask again and tell it to use Graphify. To make that the default, see Make your coding agent actually use the graph.
Other questions that work well on a combined graph:
Step 6: Make the check automatic
Prompts are easy to forget. Put the rule where the agent reads it at the start of every session:CLAUDE.md for Claude Code, AGENTS.md for Codex and most other agents, or .cursor/rules/ for Cursor. Commit it to each repository in the combined graph.
AGENTS.md
total_cents” gets the cross-repo list first, without asking for it.
When it goes wrong
The agent says the combined graph doesn’t exist. The build isn’tready, or the agent is in another workspace. Check Combined graphs in the Console, then run list_workspaces and set_workspace.
query_repository_ambiguous. Two repositories share a short name. Use the full name, such as acme/api, or the combined graph’s name.
No cross-repo connections appear. A node only shows a Cross-repo list when it has edges to another repository. The repositories may only talk over the network, for example through HTTP calls built from strings or a message queue, with no shared import. Graphify reads structure from code. A URL assembled at runtime isn’t a static link. Add the shared client or schema package to the combined graph, since that’s where the link usually lives.
Recent changes are missing. A member repository’s newest default-branch commit isn’t indexed yet, and its row in Repositories shows Out of date. Pushes to other branches don’t update the graph. Wait for the index to finish, or select Reindex on that repository.
The build failed. Select Retry build. If the Console shows a limit message, check Billing.
rate_limited. An agent called Graphify in a tight loop. Tell it to reuse results it already has.
Production patterns
- One combined graph per question, not per company. A focused graph of 5 repositories answers faster and with less noise than one of 50.
- Put the graph name in every repository’s agent rules, so a teammate’s agent targets the same graph without being told.
- Add the dependents list to every cross-repo pull request. Reviewers then check the repositories the change reaches, not only the one it edits. Pull request reviews show what each pull request changes.
- Treat the impact list as a test plan. Run the tests in every repository the list names before you merge the change in the shared one.
- Re-check after big moves. When you split or merge repositories, update the combined graph’s members so it matches how the code ships.
Run it locally instead
Graphify Local can merge graphs on your machine without an account. Build each repository’s graph, then add it to the global graph in~/.graphify/:
--graph:
graphify merge-graphs. See Share a team graph.
Complete example
The whole loop for one shared-code change, from a fresh agent session:1
Confirm the target
Use Graphify's list_repositories tool and confirm product-core is ready.2
Ask for cross-repo dependents
Using Graphify on product-core: what in other repositories depends on Invoice.total_cents? Group by repository, cite files and lines, list linked tests. Do not edit yet.3
Plan the order
Write a change plan that edits shared-models first, then each dependent repository, with one pull request per repository and the tests to run in each.4
Check the work
Open two or three cited lines, run the listed tests in every named repository, and paste the dependents list into each pull request description.
What you built
Your repositories now share one graph. Any agent on the team can ask what a change reaches across repository boundaries, and the rule in each repository makes it ask before it edits shared code.Next steps
Make your agent use the graph
Rules, hooks and a check that your agent calls Graphify.
Graph explorer
Combined graph limits, states and the impact view.
Hosted MCP
Connect Codex, Cursor, VS Code and other agents.
Try it in Graphify
We build and host the graph for you. The Free plan (up to 3 repositories) needs no card. Pro and Teams start with a 14-day trial, card required.