AI コーディングツール向けのオープンソース・コンテキストレイヤーを作った — 仕組みはこうだ

Dev.to / 2026/3/15

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • ctxpilot は、コードベースを AI でスキャンして Living Context Document を作成し、それを Cursor、Claude Code、Codex、Windsurf に MCP 経由で注入して、セッションごとにプロジェクトを再説明する手間を省きます。
  • バックグラウンド・デーモンを介して git コミットごとにドキュメントを自動更新するため、すべての AI コーディングセッションは手動介入なしで最新の文脈から開始します。
  • デモでは Codex が LCD から正確なファイルパス、行番号、カート検証の特定バグを即座に特定しました — LCD 主導の文脈の価値を示す例です。
  • このプロジェクトには 3 つのコマンド(npm install -g @ctxpilot/ctxpilot、ctx init、ctx setup、ctx watch)と、差分を読み取り信号を抽出し Claude に LCD の書き換えを依頼し、削除されたコンテンツをアーカイブして新しい LCD を書き出す更新フローが同梱されています。

\"## 問題点

AI コーディングセッションは常に白紙から始まる。

Cursor や Claude Code を開くと、何かを尋ねる前に、有用な情報を得るために5分間、プロジェクトを再説明します。 同じスタック。 同じ目標。 同じ規約。 毎回。

私はこの問題を恒久的に解決するために ctxpilot を作りました。

それが何であるか

ctxpilot は、以下を行う CLI ツールおよび MCP サーバーです:

  1. AI を使ってコードベースをスキャンし、Living Context Document を作成する
  2. MCP を介して Cursor、 Claude Code、 Codex、 Windsurf にそのドキュメントを挿入する
  3. バックグラウンド・デーモンによって、 git コミットごとにドキュメントを自動更新する

私を納得させたデモ

新規 Codex セッション。プライベートな React Native プロジェクト。コンテキストは一切貼り付けず。

質問:「このプロジェクトは何で、私は何に取り組んでいるのか?」

Codex は正確なファイルパスと行番号を含む回答を返し、カート検証ロジックの特定のバグを特定しました — 最小数量が複数箇所でハードコードされ、cart.ts#L40 の Math.max(quantity, 6) によって黙って強制されていました。

その回答は LCD からのもので、Codex がファイルを探索した結果ではありませんでした。

3 つのコマンド

\\`bash
npm install -g @ctxpilot/ctxpilot

ctx init # コードベースをスキャンして LCD を生成
ctx setup # すべての AI クライアントを設定
ctx watch # 自動更新デーモンを開始
`\\

自動更新の仕組み

ctx watch は Chokidar を使って .git/refs/heads/ を監視するバックグラウンドデーモンを起動します。新しいコミットを検出すると、30 秒待ってから ctx update を実行します。

ctx update:

  1. 前回の更新以降の git の差分を読む
  2. 意思決定、完了した作業、新しいパターンなどのシグナルを抽出する
  3. Claude に新しいシグナルを取り入れた LCD の書き換えを依頼する
  4. 削除された内容をアーカイブする
  5. 更新された LCD を書き込む

結果として、すべてのセッションは新鮮なコンテキストから開始します。手動作業ゼロ。

ctx setup の仕組み

プロジェクト内で ctx setup を実行すると:

  • ~/.claude/claude_desktop_config.json に MCP サーバー設定を書き込む
  • ~/.codex/config.toml に MCP サーバー設定を書き込む
  • ~/.cursor/mcp.json に MCP サーバー設定を書き込む
  • ~/.windsurf/mcp.json に MCP サーバー設定を書き込む
  • CLAUDE.md を作成し「LCD を最初に読む」指示を追加する
  • .cursor/rules/ctxpilot.mdc を作成し alwaysApply: true を設定する
  • .windsurf/rules/ctxpilot.md を作成する
  • .agents を作成する