VixlVixl
Docs
Changelog
GitHub
Docs
Changelog
GitHub
  • Get Started

    • Overview
    • Philosophy
    • Installation
    • Set up providers and models
    • Add a project
    • Create a project group
    • Your first chat
  • Concepts

    • How Vixl works
    • Chat modes
    • Permissions and approvals
    • Projects and home chats
    • Models and roles
    • Context
    • Code graphs
    • The .vixl directory
  • Using Vixl

    • Manage chats
    • Queue and stop messages
    • Review and restore changes
    • Compact and hand off long chats
    • Export a transcript
    • Work with plans
    • Orchestrate sub-agents
    • Best practices
    • Use the workbench
    • Shortcuts and the command palette
  • Customize

    • Providers
    • Models
    • MCP servers
    • Skills
    • Custom agents
    • Rules and AGENTS.md
    • Language servers
    • Appearance
    • Permission settings
  • Reference

    • settings.json
    • mcp.json
    • Custom agent frontmatter
    • SKILL.md format
    • Keyboard shortcuts
    • Chat statuses
    • .vixl layout
    • Managed components
  • Resources

    • Troubleshooting
    • FAQ
    • Privacy
    • Comparison
    • Roadmap
    • Brand and press
    • Changelog

Code graphs

Vixl indexes each project with @colbymchenry/codegraph, run via npx. Indexes live under personal .vixl/graphs/, never in the repo. The package's own telemetry is off: every CLI and MCP spawn sets CODEGRAPH_TELEMETRY=0 (and CODEGRAPH_NO_UPDATE_CHECK=1).

This is a managed install. Source: that npm package. See Managed components.

Init and index

On project activate, if the graph database is missing, Vixl runs npx -y @colbymchenry/codegraph init against the project root. Rebuild from the Graph tab runs index with --force.

The store directory is under personal .vixl/graphs/, keyed by the SHA-256 of the canonical absolute project root (codegraph.db plus a Node preload so the database is not written into the repo). An in-repo .codegraph folder is treated as leftover and cleaned after CLI.

Vixl strips any user codegraph entry from personal and project mcp.json and starts an in-memory stdio MCP server instead: npx -y @colbymchenry/codegraph serve --mcp --path {root}, with session trust. It does not appear in the chat MCP picker or Settings MCP list.

What the agent gets

Allowed MCP tools on that server: explore, node, search, callers, callees, impact, files, status.

The agent calls codebase_explore for architecture, flows, and where-is-X (codegraph_explore), codebase_search for symbol names and locations (codegraph_search), codebase_impact for blast radius (codegraph_impact), and codebase_status for index health (codegraph_status).

Shared tool guidance tells the agent to prefer those for structure, then fall back to LSP, grep, or read_file if the index is not ready. All four chat modes include the codebase_* tools.

If a codebase mention is present on send, and the graph is connected with enough free context, Vixl may prefetch codegraph_explore into that mention. Prefetch failure still sends.

Graph tab and Settings

The project Graph tab shows index status and stats, and lets you search symbols or files and rebuild the index. Click a node to open that file at the line in the workbench. Rebuild needs an open project with a running graph.

Settings > Graphs lists stores by name and size, can reveal the folder, and can delete an index (the project stays in the sidebar).

Add a project if you do not have one yet. Graph start is part of activating the project.

Edit this page
Last Updated: 9/30/26, 12:37 AM
Prev
Context
Next
The .vixl directory