cocoindex-io/cocoindex-code

A super light-weight embedded code search engine CLI (AST based) that just works - improves speed and efficiency for coding agent 🌟 Star if you like it!

cocoindex-code – ASTベースのセマンティックコード検索

概要 – ソースコードの抽象構文木(AST)に基づいてインデックスを構築し、自然言語クエリでコードを検索できる、軽量なコマンドラインツール(およびプラグイン)です。RustベースのCocoIndexエンジンを使用し、意味に基づいたコードスニペットを返します。

重要性 – コードの構造を理解することで、識別子やフォーマットが異なる場合でも一致を見つけることができ、LLMを利用したコード検索エージェントのトークン使用量を最大約70%削減できます。


主な機能(READMEに記載)

  • ASTベースのセマンティック検索 – 生のテキストだけでなく、コード構造をインデックス化します。
  • 2つのインストールタイプ:
    • cocoindex-code[full] – ローカルのsentence-transformersモデルを同梱(APIキー不要)。
    • cocoindex-code(スリム) – LiteLLMクラウドプロバイダーを使用して埋め込みを生成。
  • 1分でセットアップ完了 – ccc init(またはスキル)で自動的にデフォルト設定が作成されます。
  • CLIコマンド – ccc init、ccc index、ccc search、ccc grep(構造パターン検索)、ステータス、診断、デーモン制御など。
  • エージェント統合 – スキル(ccc)とオプションのフックおよびMCPサーバーを提供し、Claude Code、Grok、Oh My Pi、Codex、OpenCode、Kilo Codeなどで利用できます。
  • Dockerイメージ – cocoindex/cocoindex-code:latest(スリム、クラウド埋め込み)と:full(ローカル埋め込み)で、再現可能な依存関係のないデプロイが可能です。
  • MCPツール – クエリ、結果数、言語/パスフィルター、オプションのインデックス更新をパラメータとして受け取るsearchツールを公開します。
  • 構造検索(ccc grep) – インデックス不要で、同じASTエンジンを使用したパターン一致を行います。

クイックスタート(CLI)

# pipxでインストール(フルバリアントにはローカル埋め込みが含まれます)
pipx install 'cocoindex-code[full]'
# またはスリムバリアント
pipx install cocoindex-code

# プロジェクトを初期化(.cocoindex_code/settings.ymlを作成)
ccc init
# インデックスを構築(バックグラウンドデーモンが自動実行)
ccc index
# 説明で検索
ccc search "authentication logic"

初回使用時に自動初期化され、デーモンがインデックスをウォームに保ちます。


エージェント/プラグインの使用方法

  1. スキル(推奨) – コーディングエージェントにスキルを追加:
    npx skills add cocoindex-io/cocoindex-code
    
    エージェントはccc init、ccc index、ccc searchを実行し、ファイル編集に応じてインデックスを更新します。
  2. Claude Code – Claudeのプラグインマーケットプレイスからインストール(/plugin marketplace add …)。
  3. Grok – スキル、セッション開始/ポストツール使用フック(自動インデックス)、MCPサーバー(ccc mcp)をバンドルしたプラグインをインストール。
  4. Oh My Pi – 同様のインストールパス。プラグインはインクリメンタルインデックス用のTypeScriptフックも提供。
  5. MCPサーバー – ccc mcpを実行し、MCP対応エージェント(Claude、Codex、OpenCode、Kiloなど)に登録。公開されたsearchツールは自然言語クエリとオプションのフィルターを受け付けます。

Dockerデプロイメント

# どのOSでもワンライナー(GitHubからcomposeファイルを取得)
# macOS / Windows
docker compose -f <(curl -L https://raw.githubusercontent.com/cocoindex-io/cocoindex-code/main/docker/docker-compose.yml) up -d
# Linux(ファイル所有権を保持)
PUID=$(id -u) PGID=$(id -g) docker compose -f <(curl -L https://raw.githubusercontent.com/cocoindex-io/cocoindex-code/main/docker/docker-compose.yml) up -d

コンテナはデーモンを実行し、インデックスデータをDockerボリュームに保存します。シェルラッパーでcccコマンドをコンテナに転送できます:

ccc() { docker exec -it -e COCOINDEX_CODE_HOST_CWD="$PWD" cocoindex-code ccc "$@"; }

どのバリアントを使うべきか

バリアント サイズ 埋め込みソース 最適な用途
cocoindex-code:latest(スリム) 約450MB LiteLLMクラウドプロバイダー(OpenAI、Geminiなど) ほとんどのユーザー、最小イメージ、任意のAPIキーで動作
cocoindex-code:full 約5GB ローカルのsentence-transformersモデル(例:snowflake-arctic-embed-xs) オフライン環境やAPIキーを公開したくない場合

TL;DR

  • pipx install 'cocoindex-code[full]'(またはスリムバリアント)でインストール。
  • 一度ccc init && ccc indexを実行。
  • ccc search "…"で検索、またはコーディングエージェントにcccスキル/MCPを呼び出させる。
  • チーム全体で再現可能なセットアップ用のオプションのDockerイメージ。

このプロジェクトは、セマンティックコード検索のための本格的でオープンソースのAI搭載ツールであり、最新のLLMコーディングアシスタントと緊密に統合されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト