Problem
Developers managing 10+ projects across multiple VPS servers hit a specific pain point that Graphify alone doesn't solve: project-level navigation. Graphify excels at code-level structure within a single project, but the agent still doesn't know which project to look at, where it's deployed, or what was discussed about it last week.
The result: every new session starts with the agent grepping the entire filesystem, SSHing into servers, and burning context before doing any real work.
Solution: Hierarchical Context on top of Graphify
We built a three-level context hierarchy where Graphify serves as Level 1.5:
Level 0: Global Project Map — 2KB, always loaded, lists all projects with paths
Level 1: Per-project CLAUDE.md — 3-5KB, architecture + deployment + recent changes
Level 1.5: Graphify GRAPH_REPORT — code structure graph (your tool!)
Level 2: Source files — only when needed
The agent navigates top-down: project map → project context → graph → specific file.
What we added around Graphify
-
Level 0 project map in the agent's global instruction file — a table of all projects with local paths, VPS paths, and cross-project relationships. The agent reads this (~2KB) instead of grepping the disk.
-
Conversation indexing — a parser that converts Claude Code JSONL sessions and Claude Desktop exported chats into markdown with YAML frontmatter (date, project, topics, files touched). These become docs that Graphify can index, connecting conversations to code.
-
VPS sync command — pulls production code from remote servers to local mirrors, then runs graphify --update to keep the graph current.
-
Graphify MCP for Claude Desktop — added graphify.serve as an MCP server in Desktop config. Desktop automatically calls query_graph when asked about projects — no prompting needed.
Test Results
Tested across Claude Code (Opus 4.6, Sonnet 4.6, Haiku 4.5) and Claude Desktop (Opus 4.7):
| Query |
Without hierarchy |
With hierarchy + Graphify |
| "Architecture of Project A?" |
12 tool calls, reads 4+ files |
1 tool call (reads CLAUDE.md) |
| "Which projects use LiteLLM?" |
44 tool calls, missed 1 project |
2 tool calls, found all 3 |
| "Where is Project B deployed?" |
9 tool calls + SSH |
0 tool calls (answers from context) |
| Desktop: "Status of Project C?" |
N/A |
Auto-called query_graph twice, full answer |
The key finding isn't token savings — it's that the agent stops being blind. It knows where to look instead of searching everywhere.
Working Code
Full implementation with templates, scripts, and multi-platform setup:
https://github.com/CreatmanCEO/ai-context-hierarchy
Includes:
- Level 0/1 templates for Claude Code, Cursor, Codex, Gemini CLI
- Claude Code JSONL session parser → markdown for Graphify indexing
- Claude Desktop export parser → markdown
- VPS sync command template
What Graphify Could Do Natively
Some things that would make this pattern easier to adopt:
-
Multi-project mode — graphify init --workspace that creates a Level 0 index across sibling project directories, with per-project graphs linked together.
-
Conversation ingestion — accept Claude Code .jsonl files as a doc type in the detect/extract pipeline. The YAML frontmatter format (date, project, topics, files_touched) maps directly to graph nodes and edges.
-
Remote source support — graphify add ssh://user@host:/path/ to index code living on remote servers without manual sync.
-
Compact report mode — a --summary flag that generates a 2-3KB executive summary instead of the full GRAPH_REPORT.md. For multi-project setups, the full report can be too large to load in context.
Happy to contribute PRs for any of these if there's interest.
Setup (5 minutes)
# 1. Install graphify
pip install graphifyy
# 2. Clone the hierarchy templates
git clone https://github.com/CreatmanCEO/ai-context-hierarchy
# 3. Copy Level 0 template to your agent's global instructions
# (customize with your projects)
# 4. Add CLAUDE.md to each project (Level 1)
# 5. Run graphify on each project (Level 1.5)
cd ~/project-a && /graphify .
cd ~/project-b && /graphify .
The agent now navigates your entire workspace without grepping blindly.
Problem
Developers managing 10+ projects across multiple VPS servers hit a specific pain point that Graphify alone doesn't solve: project-level navigation. Graphify excels at code-level structure within a single project, but the agent still doesn't know which project to look at, where it's deployed, or what was discussed about it last week.
The result: every new session starts with the agent grepping the entire filesystem, SSHing into servers, and burning context before doing any real work.
Solution: Hierarchical Context on top of Graphify
We built a three-level context hierarchy where Graphify serves as Level 1.5:
The agent navigates top-down: project map → project context → graph → specific file.
What we added around Graphify
Level 0 project map in the agent's global instruction file — a table of all projects with local paths, VPS paths, and cross-project relationships. The agent reads this (~2KB) instead of grepping the disk.
Conversation indexing — a parser that converts Claude Code JSONL sessions and Claude Desktop exported chats into markdown with YAML frontmatter (date, project, topics, files touched). These become docs that Graphify can index, connecting conversations to code.
VPS sync command — pulls production code from remote servers to local mirrors, then runs
graphify --updateto keep the graph current.Graphify MCP for Claude Desktop — added
graphify.serveas an MCP server in Desktop config. Desktop automatically callsquery_graphwhen asked about projects — no prompting needed.Test Results
Tested across Claude Code (Opus 4.6, Sonnet 4.6, Haiku 4.5) and Claude Desktop (Opus 4.7):
query_graphtwice, full answerThe key finding isn't token savings — it's that the agent stops being blind. It knows where to look instead of searching everywhere.
Working Code
Full implementation with templates, scripts, and multi-platform setup:
https://github.com/CreatmanCEO/ai-context-hierarchy
Includes:
What Graphify Could Do Natively
Some things that would make this pattern easier to adopt:
Multi-project mode —
graphify init --workspacethat creates a Level 0 index across sibling project directories, with per-project graphs linked together.Conversation ingestion — accept Claude Code
.jsonlfiles as a doc type in the detect/extract pipeline. The YAML frontmatter format (date, project, topics, files_touched) maps directly to graph nodes and edges.Remote source support —
graphify add ssh://user@host:/path/to index code living on remote servers without manual sync.Compact report mode — a
--summaryflag that generates a 2-3KB executive summary instead of the full GRAPH_REPORT.md. For multi-project setups, the full report can be too large to load in context.Happy to contribute PRs for any of these if there's interest.
Setup (5 minutes)
The agent now navigates your entire workspace without grepping blindly.