Kin について
Kinは、開発者やコーディングエージェント向けのグラフネイティブなコードリポジトリです。コード間の関係とバージョン履歴をリポジトリの状態として保持し、CLIとMCPサーバーからグラフを検索できます。
主な機能
- 01コード要素と関係をグラフで保存
- 02参照、周辺情報、潜在的影響を検索
- 03コミット、ブランチ、マージ、履歴を管理
- 04Git履歴を取り込みGitワークフローに対応
- 05グラフに基づく変更レビューの助言
活用シーン
- 01共有関数の変更前に呼び出し元を確認
- 02コード要素の周辺コンテキストを調査
- 03変更案が及ぼす可能性のある影響を評価
- 04指定コミットとブランチを比較してレビュー
MCP 対応
KinはMCPサーバーを提供し、コーディングエージェントがCLIと同じリポジトリグラフを検索できます。セットアップで対応するMCPクライアントをリポジトリに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
コードの新たな基盤。
Kin は、AI エージェントと、エージェントとともに開発する人々のための、グラフネイティブなコードリポジトリです。 ソースコード、記録されたコードの関係性、バージョン管理された履歴を、リポジトリの状態として保存します。グラフは別のリポジトリの横に置かれた検索インデックスではなく、リポジトリそのもののモデルです。
関数、型、およびそれらの間の関係性は、コミット、ブランチ、マージできるデータです。ソースコードはバイト単位で正確に保持され、ファイルシステムへの投影により、対応するツールは通常のファイルをそのまま使えます。
パブリックベータです。 よく知っている実際のプロジェクトで Kin をお試しください。まだ粗削りな部分があります。
スターを付けていただくと、より多くの人に Kin を知ってもらえます。Kin に関する質問は、ディスカッションへお寄せください。
関連箇所を確認する
共有関数を変更する前に、ほかに何を調べるべきでしょうか? Kin では、記録された呼び出し元を検索し、関連するコードをたどることができます。CLI と MCP サーバーは同じグラフを検索するため、あなたとエージェントは同じ記録に基づいて作業できます。
準備済みの ripgrep グラフ e89fff89ac9af12e8d4ce9d5fd07beb408ca730f で記録したものです。生の実行アーティファクトは公開されていません。これはワークフローの例であり、性能ベンチマークではありません。
Claude Code、Codex、Cursor から利用する
Claude Code の場合:
/plugin marketplace add kinlab-ai/kin
/plugin install kin@kin
Codex では、マーケットプレイスを追加してプラグインをインストールするか、kin setup --intent agent を実行して、MCP サーバーを ~/.codex/config.toml に書き込ませます。
Cursor の場合は、MCP サーバーを手動で追加してください。正確な設定例はplugins/kin-cursorを参照してください。
インストール後、よく知っているプロジェクトの新しいクローンで kin init . を実行してください。残りの手順は kin-setup スキルが案内します。
Kin は crates.io では公開されていません。そこにある kin クレートは、無関係な別のプロジェクトです。
クイックスタート
よく知っているプロジェクトの、履歴がすべて含まれた新しいクローンから始めてください。kin init は Git の履歴を読み取りますが、履歴や追跡対象のファイルは変更しません。ストアはチェックアウトの外にある ~/.kin/stores に保持し、リポジトリには何も書き込みません。kin store path を実行すると、チェックアウトに対応するストアの場所が表示されます。デフォルトでは、まずチェックアウト中のコミットを取り込むため、そのツリーの読み込みが終わればすぐに質問に答えられます。その後、ブランチやタグからたどれるすべてのコミットを、優先度を下げてバックグラウンドでインポートします。kin init --history full を指定すると、履歴全体を最初にインポートし、--history none を指定すると履歴をインポートしません。履歴のインポートには時間、メモリ、ディスク容量が必要です。その量はチェックアウトのサイズではなく、履歴に応じて増えます。開始前に kin init はメモリと空きディスク容量を確認し、マシンのリソースが不足していると判断できる場合は、その数値を示して停止します。浅いクローンでは、チェックアウト中のコミットだけが取り込まれます。また、サブモジュールと Git LFS はサポートされていません。 Git フック、スパースチェックアウト、未完了のマージまたはリベースがある場合も、インポートは停止します。それぞれについて kin init が対処方法を示します。新しいクローンを使えば、こうした問題のほとんどを避けられます。
1. インストール
macOS、Linux、WSL2 では、コマンドを 1 つ実行するだけで Kin をインストールし、検出した AI コーディングツールに接続できます。Node.js 20 以降が必要です:
npx -y @kinlab/kin setup
Node.js がないマシンでは、代わりにインストーラーを実行してください。get.kinlab.ai と get.kinlab.dev は同じスクリプトを提供しています:
curl -fsSL https://get.kinlab.dev/install | sh
いずれの場合も、シェルの再読み込みは別のコマンドとして実行してください。インストールによって kin が ~/.kin/bin に配置され、新しいセッション向けにそのディレクトリがシェルのプロファイルに追加されるためです:
exec "$SHELL" -l
ネイティブ Windows x64 では、PowerShell から irm https://get.kinlab.dev/install.ps1 | iex を実行してインストールしてください。kin CLI はインストールされますが、AI コーディングツールには接続されません。Windows では引き続き WSL2 が推奨される方法だからです。Windows で動作する機能については、ベータ版の制限にある Windows の項目をご確認ください。ネイティブ Windows ARM64 ビルドは公開されていません。ARM64 マシンでは、その行を x64 PowerShell から実行して、エミュレーション下で x86_64 ビルドをインストールするか、WSL2 を使用してください。インストーラーは kin をユーザーの PATH に追加するため、次の手順の前に exec "$SHELL" -l を実行する代わりに、新しい PowerShell ウィンドウを開いてください。
ほかのインストール方法やトラブルシューティングについては、クイックスタートの全文をご覧ください。
2. リポジトリを初期化する
新しいプロンプトで、Kin を使ってリポジトリをクローンします:
kin clone https://github.com/pallets/itsdangerous
または、すでにあるリポジトリを初期化します。以下のパスを置き換えてください:
cd /path/to/your/repository &&
kin init . &&
kin overview &&
kin status
どちらも最後に、次に実行するコマンドとして、そのリポジトリ内の関数について尋ねる kin refs の質問が表示されます。また、セットアップ時に許可している場合は、Codex CLI と Grok CLI も接続します。これらのクライアントは、リポジトリを指定するエントリーを 1 つだけ保持するためです。
Windows PowerShell 5.1 には && がないため、ネイティブ Windows では同じコマンドを 1 つずつ実行し、失敗した場合はそこで中止してください:
cd C:\path\to\your\repository
kin init .
kin overview
kin status
kin overview は、Kin がインポートしたエンティティを表示します。kin status は、取り込まれた内容と照らし合わせて、何が受け入れられたか、および作業ツリーの状態を表示します。kin graph status は、デーモンの実行中のクエリーグラフとカバレッジを報告します。コミットされていない変更と追跡されていない変更は、インポート済みの Git 履歴には含まれません。kin init は、除外した内容を報告します。
3. 確認できる質問をする
コード内にあるとすでにわかっているものを探します:
kin locate "<something you already know is in this repository>"
以下の ExactEntityName を、結果に含まれるシンボルに置き換えてください:
kin refs ExactEntityName
kin trace ExactEntityName
kin impact ExactEntityName
refs は記録された参照を返し、trace は周辺のコンテキストを取り込み、impact はグラフをたどって潜在的な影響を調べます。結果をソースと照らし合わせて確認してください。
4. AI コーディングツールとセマンティック検索
kin setup は、検出した AI コーディングツールに接続する前に確認し、同意した場合は接続済みです。個別にリンクする手順はありません。別のツールをインストールした後、再度 kin setup を実行してください。kin setup status で接続状況を確認できます。Windows では、WSL2 内で AI ツールを接続してください。
kin runtime status --json は、共有 CLI とデーモンのインストール状況と、それらの正確なソース ID を確認します。通常のコマンドは、組み合わせが一致しない場合は実行を拒否します。開発ビルドでは分離された状態が使用されます。ランタイムのインストールを参照してください。
グラフ検索と語彙検索はモデルなしで動作します。埋め込みと再ランキングは任意で、モデルプロバイダーのデフォルトは none です。標準の CLI とデーモンのビルドには、外部 HTTP モデルのサポートが含まれています。組み込みモデルを使用するには、オプションのローカル推論を有効にしてビルドする必要があります。
運用している OpenAI 互換エンドポイントを使って埋め込みインデックスを構築するには、次のようにします。
KIN_MODEL_EMBEDDINGS_PROVIDER=external \
KIN_MODEL_EMBEDDINGS_BASE_URL=http://localhost:1234/v1 \
KIN_MODEL_EMBEDDINGS_MODEL=your-served-embedding-model kin embed
モデルエンドポイントには、各処理段階で選択されたエンティティのテキストが送信されます。 モデル設定では、プロバイダー、モデル ID、認証情報に使う環境変数名について説明しています。
Kin は Claude Code、Codex、Cursor、Gemini、およびその他の MCP クライアントをサポートしています。VS Code では kin setup --intent editor を使用してください。Kin には、ローカルまたはホスト型の OpenAI 互換モデルエンドポイント向けの kin agent run も含まれています。
クライアント設定 · MCP ツール · 組み込みエージェント
ローカルでのインポート、ストレージ、グラフクエリは、すべてお使いのマシン上で実行されます。Kin のインストールにはネットワークアクセスが必要ですが、デフォルトのグラフ検索経路ではモデルのダウンロードは不要です。埋め込みプロバイダーが選択されている場合、クエリではベクトルのカバレッジと不足箇所が報告されます。
変更をレビューする
レビューする Git ブランチで kin init を実行した後、明示的に指定したコミット SHA を main と比較します。
kin review shadow "$(git rev-parse main)..$(git rev-parse HEAD)"
レポートには PASS、NEEDS ATTENTION、または WOULD BLOCK が返され、グラフから導出された影響と裏付けとなる証拠が示されます。**これは助言を目的としたものです。**マージをブロックしたり、グラフの状態を変更したりすることはありません。作成者情報は申告されるものであり、独立して検証されるものではありません。
Git の有無にかかわらず Kin を使用する
Kin は、Git を使用していないリポジトリでも、独自のコミット、ブランチ、マージ、差分、履歴を管理します。既存の Git リポジトリはインポートでき、サポート対象のワークフローでは新しい Git リポジトリにエクスポートできます。
ネイティブなバージョン管理の手順 · Git との相互運用性とエクスポートの制限
ベータ版の制限事項
対応範囲は不完全です。 対応言語はエンティティと関係性に解析されますが、それ以外のファイルはコンテンツおよび履歴として引き続き利用できます。結果が空でも、呼び出し元や依存関係が存在しないとは限りません。引き続きコンパイラー、テスト、レビューを活用してください。言語のサポート状況をご覧ください。
互換性は環境によって異なります。 リリースアーカイブには非推奨の kin-vfs ファイルシステムプロジェクションが含まれていないため、頼れる透過的なプロジェクションはありません。各プラットフォームの対応状況については、プラットフォームに関する注意事項をご確認ください。
Kin のみで管理される状態をバックアップしてください。 Kin で記録したコミット、ブランチ、レビュー、仕様は、Git ではなくリポジトリの Kin ストアに保存されます。ストアを削除して Git から再インポートしても復元できないため、先に kin backup create を実行してください。同じ理由から、kin store prune がストアを削除するのは --yes を指定した場合に限られます。インポート、復旧、アップグレードに関する注意事項をお読みください。
Windows。 ネイティブ Windows x86_64 のサポートは初期段階です。リポジトリの登録には対応しています。kin init で Git リポジトリをインポートし、グラフの権威データを公開できます。また、グラフ、字句、デーモンを利用したクエリにもネイティブに応答します。エンドツーエンドのインストール検証では、ネイティブ Windows 上でエージェントのセットアップも実行し、インストール済みの MCP サーバーからグラフに基づく回答を取得します。透過的なファイルシステムプロジェクションは Windows では提供されておらず、レビューのワークフローもまだテストされていません。そのため、Kin の全機能を利用するには引き続き WSL2 が推奨されます。
Kin を開発した理由
コーディングエージェントが、私たちがすでに把握していたコードベースの一部を寄せ集めている様子を何度も目にしました。その後、エージェントの変更をレビューするために、私自身も同じような作業をしていました。そうした構造的な理解を、もっとリポジトリ自体に組み込めないだろうかと考え始めました。
それが、Kin で開発しているものです。
Troy
詳細とコントリビューション
CLI リファレンス · アーキテクチャと詳細な制限事項 · コントリビュート · 課題 · セキュリティ
Kin と kin-db を含むローカルスタックは、Apache-2.0 ライセンスです。KinLab は、これとは別のプロプライエタリなホステッド製品です。公開リポジトリのオンボーディングは、現在も開発中です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。