Skip to main content
Real systems rarely live in one repository. A frontend calls an API, the API imports a shared client library, and a worker reads the same tables. Graphify Local can join separate graphs so your agent can follow a path from one repository into another. There are two ways to do it:
Use this when a change in one repository can break another, or when your agent keeps asking where a shared type is defined.

How it works

1

Build each repository

Run graphify extract . (or your usual build) in each repository so each has its own graphify-out/graph.json.
2

Combine

Nodes are tagged with their repository. Unresolved calls saved during each build are matched against definitions in the other repositories, so cross-repo member calls become real edges.
3

Re-cluster

The combined graph is clustered as a whole, so communities can span repositories.

See it in action

The default output is graphify-out/merged-graph.json. Pass --previous <path> to keep the community IDs from an earlier merge.
Query the global graph by passing its path:
To pull in a public repository first, graphify clone <github-url> clones it locally and prints its path.

Manage the global graph

Point your agent at it

The MCP server reads any graph file, so you can serve a merged graph:
See MCP tools for the tools it exposes.

Verify and troubleshoot

No. Inputs are read, not modified.
No. It’s a file in your home folder.

Run it on a second repository

These examples come from a code-only graph of the open-source httpx repository, built with Graphify Local 0.9.97. Your counts will differ.
To combine graphs into one file without the global graph, use merge-graphs:
Pass --previous <path> to keep the earlier merged community IDs. Then a later cluster-only run can reuse the labels.

Add a repository while you extract

extract can write a project graph and merge it into the global graph in one step:
--as sets the tag. Without it, the tag is the target directory’s name. Use the same tag later to update or remove that repository:

FAQ

Where is the global graph? Run graphify global path to print it. By default it’s ~/.graphify/global-graph.json.

What’s next

PR impact

Check what a change touches.

Deduplication and resolution

How calls are resolved.

Try it in Graphify

We build and host the graph for you. Start with a 14-day Pro trial, then keep up to 3 repositories on Free. No card required.