v0.11.9 — Works with Codex Auto-Review

Your AI re-reads the
whole project every single question.

comP is the memory system for your AI coding assistant. It automatically builds a project map and index so your AI finds the relevant code instantly—without searching around. Open-source, 100% local.

comP Network Visual

Core Features & Technology

Runs 100% locally on your machine, cutting input tokens by 60–94% on code investigation and fix tasks.

🔍

Intelligent BM25 Search

Accurately tokenizes and searches through Markdown, code, Office documents (Word, Excel, PowerPoint), PDF, and Parquet (.parquet) files to deliver precise full-text keyword matching.

⚡

Ultra-fast Rust Daemon

The lightweight Rust backend builds a SQLite-powered semantic code graph for thousands of files, ensuring near-instant response times for AI agents.

🛡️

Robust Error Handling

Keeps parsing and indexing even if some documents are corrupted. Ensures crash-free, reliable workspace scans.

💼

Rich Document & Data Support

Automatically indexes sheet names in Excel (.xlsx), slide contents in PowerPoint (.pptx), Word documents (.docx), PDFs, and Parquet (.parquet) schema metadata to capture all non-code context.

comP VSCode UI Mockup

Deep Integration with VSCode

Starts with a single click from the sidebar and watches workspace changes to keep indexes incrementally updated with 'stale' status tracking.

Generates Model Context Protocol (MCP) server configuration for Claude Code, Codex, Cursor, Cline, Windsurf, GitHub Copilot, and other major AI agents.

AST Code Compression & @comp Chat

When you need to paste large API definitions or classes into a chat, compress the file with AST compression (comments removed, function bodies skeletonized) in one command to copy to your clipboard.

Furthermore, use @comp Chat Participant via VSCode Chat Participant API to automatically compress attached files for LLM prompts, dodging token limits and reducing costs by up to 80%.

comP AST Compression Detail

How Much Does It Actually Help? An Honest Estimate

comP's impact depends heavily on your use case. Here's an honest breakdown, no exaggeration.

🔎

Investigating/Fixing Medium-to-Large Repos

60–94% reduction. "Read everything or grep blindly" is replaced by "pull only the relevant spots from the index."

🕸️

Impact Analysis

Large reduction. get_impact_graph mechanically enumerates downstream effects from the dependency graph—no more AI guesswork.

🔁

Cross-Session Continued Development

Large reduction. Re-explaining and re-investigating context collapses into one session_recall call.

📦

Small Repos

~20–40%. Reading everything was already cheap, so there's less room to save.

The Biggest Effect the Numbers Don't Show: Fewer Failed Retries

Looking only at the token-reduction percentage understates the real impact. Traditionally: explore → read the wrong file → implement on a wrong assumption → test fails → re-explore → re-implement—each failed loop burns thousands of tokens.

With comP, run_pipeline surfaces the right related code up front, leaving less room for wrong assumptions—so retries become rare in the first place. comP doesn't just reduce tokens per call, it reduces the number of calls itself. Cheaper models get lost while exploring more easily, so the cheaper the model, the bigger comP's benefit.

Roadmap

comP continues to evolve to deliver a more comprehensive local AI workspace experience.

v0.1

Core Indexing & MCP

30+ programming languages support, JSON/XML/Markdown parsing, background indexing, MCP server integration, and token usage statistics.

✅ Released
v0.2

Office Support & BM25

Word (.docx), PowerPoint (.pptx), and Excel (.xlsx) automatic extraction and indexing. BM25 full-text search capability, and symbol signature persistence.

✅ Released
v0.3

Extended Docs & Deeper Graph

PDF (.pdf) indexing, advanced impact analysis (max_depth), TF-IDF wired to run_pipeline, multi-path indexing, and AST compression for get_symbol.

✅ Released
v0.4

Content Mode & Git Diff Context

run_pipeline content mode returns compressed file content inline. New get_git_diff_context tool for PR review. Enhanced get_project_overview with language distribution.

✅ Released
v0.5

Compressed File Copy, Chat Participant & Parquet Support

Implement a command to copy active file with AST compression (comments removed/skeletonized). Enable @comp Chat Participant via VSCode Chat Participant API to automatically compress attached files for LLM queries. Add support for automatic indexing and BM25 search of Parquet (.parquet) files.

✅ Released
v0.6

Dynamic Budget & Auto Compression Level

run_pipeline now reads default_budget_tokens from .comp/config.json and automatically selects compression level 0→1→2 to fit within the budget. Response includes compression_level_applied and budget_adjusted flags.

✅ Released
v0.7

Compression Rules, Aider Support & Debug Export

Per-extension compression rules in .comp/config.json (e.g. keep Markdown uncompressed, fully skeleton Rust files). Aider agent support via .aider.conf.yml. New comP: Export Debug Log command to inspect session memory. Token visualization state bug fixes.

✅ Released
v0.8

Directory-Walk Overhaul & Exclusion Controls

Switched the walker to the ripgrep ignore crate so excluded directories like .venv and node_modules are pruned subtree-wide — large Python repos no longer time out on Force Re-index. Adds the .comp/ignore file, comp.exclude setting, a 5 MiB file-size skip, and a large-workspace warning. workspace_root is now centralised in daemon state.

✅ Released
v0.9

Session Memory & Persistent History

Chat history that survives session breaks and daemon restarts — impossible with stock LLM features. New session_log / session_recall MCP tools persist requests and outcomes to .comp/history/, a Stop hook records interactions automatically, and the history is BM25-indexed so run_pipeline surfaces past work naturally. v0.9.1 adds Markdown compression and C / C++ / Java AST compression.

✅ Released
v0.9.2

Related Files, Real-Size Token Estimates & Reliability

run_pipeline now returns related_files — files one dependency hop from the pivots, ranked by edge count. Token estimates are based on real indexed file sizes instead of symbol-count heuristics. The daemon self-reports its version via get_stats to detect stale binaries, Generate Context / Show Impact Graph commands are fully implemented, and a bug that silently dropped hook-recorded history from session_recall is fixed.

✅ Released
v0.9.4

Self-Healing MCP Config

Upgrading the extension used to break MCP. VS Code installs extensions into a version-stamped directory and deletes the old one, so the absolute comp-daemon path written into .vscode/mcp.json and friends pointed at an executable that no longer existed — the sidebar kept working while MCP tools silently vanished. comP now inspects those files on every activation and re-points any command that no longer resolves, refreshing a stale COMP_WORKSPACE_ROOT in the same pass. Relative paths, ${...} variables and healthy entries are left untouched. v0.9.3 fixed the conversation-history BM25 indexing that had never actually worked.

✅ Released
v0.10.0

Zero-Copy-Paste Agent Setup

comP writes itself into every agent's real config file, merging with the MCP servers already there, instead of generating text into .comp/config/ for the user to paste by hand. A completed setup needs nothing pasted anywhere — only a restart of the agent, since none of these tools re-read their config while running. Also fixes the generated claude mcp add command (it was missing --scope user and the -- separator) and the Windows path where the CLI could never start claude.cmd at all.

✅ Released
v0.11.0

Codex Support, English/Japanese UI, and Automatic Branch-Switch Reindexing

Adds Codex (OpenAI) to comP: Setup Agents, writing a [mcp_servers.comp] table into both ~/.codex/config.toml and the project's .codex/config.toml via a safe line-oriented TOML splice (no parser dependency added, matching the existing Aider integration). comP's own onboarding messages — the Setup Agents wizard, its output-panel report, and the generated constitution rules — now switch between English and Japanese based on VS Code's own display language instead of always showing Japanese. Also adds automatic branch-switch detection: comP polls the current git ref and triggers a full re-index the moment it changes, since a git checkout touches far more files at once than the per-save watcher is built for. Along the way, fixed a long-standing bug where every re-indexed file left its previous symbols behind as orphaned rows, growing .comp/index.db without bound.

✅ Released
v0.11.1

Session Memory Shared Across Multiple LLMs

.comp/session-memory.json is split into per-agent files (.comp/session-memory/<agent>.json) so multiple comp-daemon processes — one per MCP client such as Claude Code or Codex — no longer race on a single shared file with an unlocked read-modify-write. Each SessionCall now records which agent wrote it, and .comp/history/*.jsonl appends move to a single exclusively-locked write (Windows' LockFileEx rejects writes from a shared-lock handle, so both appends and compaction now use an exclusive lock). This release also fixes daemon/Cargo.toml having been stuck at an old version number since v0.9.3, and corrects documentation that still described Codex support as a future item after it had already shipped in v0.11.0.

✅ Released

Quick Start

Get up and running with comP in three easy steps.

1

Install the Extension

Download the release .vsix file and drag-and-drop it into VSCode, or install via command line:

code --install-extension comP-0.11.9.vsix
2

Start Daemon in Project

Open your workspace folder and click "Start comP" from the sidebar to launch the local backend indexer and begin scanning.

3

Link Your Coding Agent

Open the Command Palette → comP: Setup Agents and select your agent. comP will open a new Markdown tab with step-by-step instructions and automatically generated LLM prompts to easily set up your agent. You can also verify the agent's connection status directly in the comP sidebar.

  • Claude Code: Follow the Markdown guide to copy the claude mcp add comp command. If you miss it, use the path from .comp/config/claude_desktop_config.json
  • Codex: Written to ~/.codex/config.toml and .codex/config.toml automatically (the project file needs a trusted project)
  • Cursor: Merge config into ~/.cursor/mcp.json or .cursor/mcp.json
  • Cline: Paste config in VSCode Settings → Cline › MCP Servers
  • Windsurf: Merge into ~/.codeium/windsurf/mcp_config.json
  • GitHub Copilot: Written to .vscode/mcp.json automatically
  • Antigravity: Written to ~/.gemini/antigravity-ide/mcp_config.json automatically
  • Aider: Written to .aider.conf.yml in your workspace root automatically