Skip to content

Hierarchical context layer on top of Graphify — multi-project navigation with conversation indexing #425

Description

@CreatmanCEO

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

  1. 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.

  2. 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.

  3. VPS sync command — pulls production code from remote servers to local mirrors, then runs graphify --update to keep the graph current.

  4. 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:

  1. Multi-project modegraphify init --workspace that creates a Level 0 index across sibling project directories, with per-project graphs linked together.

  2. 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.

  3. Remote source supportgraphify add ssh://user@host:/path/ to index code living on remote servers without manual sync.

  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions