
kin v0.5.0
AIが記述したソフトウェアの記録システム。エンティティ、関係、変更、来歴の永続的なグラフにより、人間とAIエージェントは変更がマージされる前に、その変更が何に影響を及ぼすかを確認できます。現在はGitと併用します。
AIエージェントは、変更が何に影響するのか、以前の修正を巻き戻すのか、その影響範囲がどこまで及ぶのかをチームが確定するよりも速く、変更を書くことができる。Gitはファイルと行の履歴を記録する。Kinはソフトウェア自体をエンティティ・関係・変更・来歴(provenance)のグラフとして記録し、人間とエージェントに、照会とレビューのための単一のセマンティック権威(semantic authority)を提供する。変更が触れる範囲はマージ前に明らかになり、エージェントはリポジトリを読み直すのではなく、正確なコンテキストから作業する。
Kinは、AIが書いたソフトウェアのためのセマンティック・システム・オブ・レコードである。現在はパブリックアルファ版として、ローカルCLI、デーモン、MCPサーバー、レビューサーフェス、グラフ駆動のファイルシステム投影として利用できる。1.0より前のバージョンであるため、粗い部分や破壊的変更があることを想定してほしい。重要なワークフローに採用する前に、最新の安定版リリースと現在の制限事項を参照すること。
実際のリポジトリで見る
ripgrepでの1行のシグネチャ変更は、diff上では無害に見える。コンパイラが実行される前に kin impact に問い合わせると、その編集が到達する範囲を教えてくれる。変更されたシグネチャの呼び出し元が最初に挙がり、続いてその呼び出し元が引き込むすべてのものが挙がる。
ripgrepのコミット e89fff89ac9af12e8d4ce9d5fd07beb408ca730f で、準備済みのグラフに対して記録したもの。変更されたシグネチャの直接の呼び出し元3つを含む、3ホップ以内の13個の影響を受けるエンティティ。グラフは事前に構築されている。コンパイラは実行していない。正確なコマンドは kinlab.ai/proof。生の実行ディレクトリはまだ公開されていないため、これは監査できるトレースではなく、再実行できるレシピである。
Kinは、変更が触れる範囲を浮き彫りにする。変更が正しいかどうかは、コンパイラ、テスト、レビューに委ねられる。グラフは事前に kin init で構築され、その構築がコストのかかる部分である。以降、影響に関する質問はツリーの再読取ではなくグラフの真実から答えられる。
スタック
Kinは、いくつかの明確なパブリックサーフェスを持つ単一のシステムである:
| サーフェス | 機能 |
|---|---|
| kin | セマンティック・システム・オブ・レコード: CLI、デーモン、グラフライフサイクル、MCP、レビュー、来歴、Git共存。 |
| kin-vfs | グラフが所有するファイルを通常のファイルシステム呼び出しを通じて投影し、既存のツールがファイルを使い続けられるようにする。 |
| kin-editor | エンティティエクスプローラー、セマンティック検索、トレース、レビュー、名前変更の各サーフェスへのVS Codeアクセス。 |
| Kin MCP | AIエージェント向けの型付きグラフツール。kin に同梱され、kin mcp start で起動する。 |
| KinLab | ホステッドのコラボレーションおよびコントロールプレーン。パブリックリポジトリへの接続はまだファーストラン時のフローではない。 |
構成要素の連携
KinはAIが書いたソフトウェアのためのセマンティック・システム・オブ・レコードであり、下のマップにあるすべてのものは、その権威に到達するか、それを支えるかのどちらかである。人間とAIエージェントは、CLI、同梱のMCPサーバー、またはVS Code拡張機能を通して入ってくる。3つとも同じデーモンに問い合わせ、デーモンはツリーの再読取ではなくグラフ権威に基づいて答える。kin-vfs は同じグラフを通常のファイルシステム呼び出しを通して投影し戻すため、エディタ、コンパイラ、ビルドシステムは引き続きファイルを認識できる。Gitは答えの経路ではなく、インポート/エクスポートの境界としてグラフの隣に位置し、KinLabは同じ権威の上に成り立つホステッド層である。
flowchart TD
people["人間とAIエージェント"]
subgraph surfaces["アクセスサーフェス"]
cli["kin CLI"]
mcp["Kin MCP server"]
editor["kin-editor for VS Code"]
end
daemon["kin daemon"]
authority["グラフ権威<br/>エンティティ、関係、変更、来歴"]
db["kin-db<br/>グラフストレージ、スナップショット、<br/>インデックス、テキスト・ベクトル検索"]
prims["kin-model, kin-blobs, kin-search,<br/>kin-vector, kin-infer, kin-lsp"]
vfs["kin-vfs<br/>透過的ファイル投影"]
tools["エディタ、コンパイラ、ビルドシステム"]
git["Git<br/>インポート/エクスポート境界"]
kinlab["KinLab<br/>ホステッドのコラボレーションとコントロールプレーン"]
people --> cli
people --> mcp
people --> editor
cli --> daemon
mcp --> daemon
editor --> daemon
daemon --> authority
authority --> db
db --> prims
authority <-->|"kin init がインポート、kin git export がエクスポート"| git
authority -->|"公開と同期"| kinlab
authority --> vfs
vfs --> tools
これらのサーフェスの下には、システムを構成するレイヤーがある:
| レイヤー | 役割 |
|---|---|
| kin-db | グラフストレージ、スナップショット、インデックス作成、テキスト検索、ベクトル検索。 |
| kin-model | スタック全体で共有される標準型とドメインモデル。 |
| kin-blobs | コンテンツアドレス式ブロブストレージ。 |
| kin-search | 語彙検索プリミティブと段階的検索。 |
| kin-vector | ベクトルおよび最近傍探索の基盤。 |
| kin-infer | 推論および埋め込みの基盤。 |
| kin-lsp | セマンティックレイヤーに供給するランゲージサーバー拡充。 |
これらは単一システムの実装レイヤーであり、新しいユーザーが組み立てる必要のある別々の製品ではない。どれも個別にインストールされることはない。
オープンソースとKinエコシステム
Kinの中核はApache-2.0のもとでオープンソースである: kin、kin-db、kin-vfs、kin-editor、およびそれを支えるライブラリ kin-model、kin-blobs、kin-search、kin-vector、kin-infer、kin-lsp、kin-actions。
KinLab はこのオープンコア上に構築されたプロプライエタリ製品であり、上述のホステッドのコラボレーションおよびコントロールプレーン層である。
同じ境界が、ベンチマーク作業の共有方法にも適用される。ベンチマーク仕様と、依存関係のないスタンドアロンのバンドル検証ツールは公開されており、それを生成したシステムにアクセスしなくても主張を検証できる。封緘されたエビデンスバンドルを生成するランナーと証明インフラ(オーケストレーション、ピン留めリリースの証明ゲート、ホステッドの計測環境)は、当面は非公開のままである。仕様と検証ツールが先に公開され、ランナーは後から公開できるようになる。
最短のグラフ駆動パス
1. Kinをインストールして構成する
macOSまたはLinuxの場合:
curl -fsSL https://get.kinlab.dev/install | sh
exec "$SHELL" -l
kin setup --intent agent
インストーラーは最新の安定版リリースを解決し、公開されているSHA-256チェックサムを検証し、管理対象バイナリを ~/.kin の下にインストールしてセットアップを起動する。明示的な agent インテントを実行すると、検出された対応クライアント向けに組み込みのMCPサーバーが構成される。MCP設定なしのCLIおよびファイルシステム利用には --intent local を、VS Codeパスには --intent editor を使う。
セットアップが管理する統合のみを削除するには、kin setup uninstall を実行する。デフォルトの管理ルート(~/.kin)の場合、kin setup uninstall --all はすべてのKinデーモンを停止し、レガシーインストーラーのPATHブロックを正確に削除し、管理対象インストールを再帰的に削除する(--dry-run でプレビューできる)。カスタムの KIN_HOME が再帰的に削除されることは決してない。まず台帳スコープのアンインストールを実行し、そのディレクトリを明示的に確認してから削除する。変更されたセットアップ所有のスライスは、--force を追加しない限り完全削除をブロックする。そのため、アンインストールがユーザーの編集済みクライアント設定やシェル設定を黙って上書きすることはない。Windowsでは、CLIは実行中のプロセスが終了した直後に、ロックされたインストールディレクトリの削除をスケジュールする。Windowsは意図的に、現在のユーザーのみが使用する非稼働の兄弟権限サイドカーを1つ保持する。このロックIDを安定に保つことで、クラッシュや将来の同時インストールが2つの独立した変更権限を生み出すのを防ぐ。CLIとJSON結果は、この保持された協調メタデータを開示し、残存バイトがゼロであるとは主張しない。
手動インストールの場合、各アーカイブとその .sha256 ファイルは https://github.com/firelock-ai/kin/releases/latest/download/ 配下に公開されている。可動アセット名は kin-macos-aarch64、kin-macos-x86_64、kin-linux-aarch64、kin-linux-x86_64、kin-windows-x86_64 である。最新リリースページに表示されているUnix用の .tar.gz またはWindows用の .zip サフィックスを使うこと。
npmエントリポイントは同じパブリックリリースチャネルを解決する:
npm install -g @kinlab/kin@latest
Homebrew tapも同じリリースチャネルを追跡する:
brew install firelock-ai/kin/kin
tapのフォーミュラは手作業ではなく生成されている。そのバージョンとプラットフォーム別SHA-256は、リリース自体が送信するディスパッチによりtapリポジトリ内の update-formula.yml が各Kinリリースから再生成し、6時間ごとのリコンサイルが取りこぼしを自己修復する。これが、Homebrewが検証するチェックサムが、別途キュレーションされたコピーではなくアーカイブの隣に公開されているものである理由だ。どのインストール経路でもそうであるように、kin --version でインストール内容を確認すること。
Windowsでは、PowerShellで irm https://get.kinlab.dev/install.ps1 | iex を実行する。ネイティブWindows x86_64サポートは初期段階にある。リポジトリのアドミッションは機能する: kin init はGitリポジトリをインポートしてグラフ権威を公開し、グラフ、語彙、デーモン基盤のクエリはネイティブに応答する。透過的ファイルシステム投影はWindowsでは提供されておらず、エンドツーエンドのインストール証明もWindowsでのMCPおよびレビューワークフローをまだカバーしていない。そのため、完全なKin体験にはWSL2が引き続き推奨経路である。Windowsのインストール経路を選ぶ前に、下のプラットフォームと成熟度を参照すること。
2. 既存のリポジトリをグラフの真実として受け入れる
cd /path/to/your/repository
kin init .
クリーンなGitリポジトリでは、kin init は、到達可能な完全な履歴、refs、生オブジェクト、正確なワークスペースツリー、およびアドミッションポリシーを、repository-v6グラフ権威へアトミックに受け入れる。正確なHEADスナップショットや生ファイルシステムからのセマンティック再構築に置き換えることは決してない。サポートされているリポジトリローカルのリモートURL、refspec、ブランチ追跡、プッシュデフォルトは、KinのGit共存設定に封じられる。安全でない、あいまいな、またはサポートされていない転送設定は、公開前にフェイルクローズする。
アドミッションはまた、その履歴内のサポート対象エンティティソースファイルごとに、セマンティックなエンティティおよび関係レイヤーを導出し、kin init は、コミットした永続的で世代に紐づく件数を報告する。kin status はそのリポジトリ権威ビューを報告する。kin graph status は、デーモンの可変なライブクエリグラフを別途報告する。こちらには後で導出された拡充が含まれる場合がある。クエリサーフェスは、グラフ所有の拡充が存在すればそれを消費し、存在しない場合は、生ファイル検索の背後にギャップを隠すのではなく、その不在を報告する。
どのファイルがエンティティになるか
「サポート対象エンティティソースファイル」とは、Kinの言語アダプターのいずれかが引き受けるファイルを意味する。アダプターレジストリがその全体の集合であり、リポジトリ内のすべてのファイルはそれを通して解決される:
| 言語 | 拡張子 |
|---|---|
| TypeScript | .ts, .tsx |
| JavaScript | .js, .jsx, .mjs, .cjs |
| Python | .py, .pyi |
| Go | .go |
| Java | .java |
| Rust | .rs |
| C | .c, .h |
| C++ | .cpp, .hpp, .cc, .cxx |
| C# | .cs |
| Ruby | .rb |
| PHP | .php |
| Swift | .swift |
| Kotlin | .kt, .kts |
| HCL / Terraform | .tf, .tfvars |
.h ヘッダーは、その内容がC++を示している場合はC++として読まれる。そのため、C++プロジェクトがC文法によって名前空間やテンプレートを失うことはない。
その他すべてはコンテンツとして受け入れられ、履歴およびテキストとして照会可能なままであるが、エンティティや関係にはパースされない。これにはMarkdown、HTMLとCSS、SQL、YAML、JSONとTOML、シェルスクリプト、Objective-C、Scala、Elixir、Dart、Lua、R、Zig、Haskell、Nixが含まれる。あなたの言語がそのリストにある場合、locate と refs はその中のシンボルを見つけることはできない。
3. グラフに実際の質問をする
kin locate "where are webhook retries handled"
kin refs ExactEntityName
kin trace ExactEntityName
ExactEntityName は、locate が返すシンボルに置き換えること。locate はインテントに関連するエンティティを見つけ、refs はグラフ所有の呼び出し元/インポーターと参照を表示し、trace は焦点となるエンティティとその周辺のセマンティックコンテキストを返す。埋め込みが完了すると、設定済みのAIエージェントはベクトル基盤の semantic_locate ツールを使えるようになる。get_context_pack、find_references、trace_data_flow はグラフの近傍を直接公開する。
アドミッションが導出するのはセマンティックエンティティであり、そのベクトルではない。kin embed を実行してそれらに対するローカルなベクトル類似性を追加し、kin graph status でカバレッジを確認すること。
AIが書いた変更のレビュー
AIがコードを書く。Kinは何が変わったかを証明する。
レビューしたいブランチで kin init を実行して関連するGit履歴をグラフに入れ、その後、レポート専用のシャドウゲートに明示的なコミットSHAを渡す:
kin review shadow "$(git rev-parse main)..$(git rev-parse HEAD)"
結果は PASS、NEEDS ATTENTION、WOULD BLOCK のいずれかで、Kinがグラフから導出した影響、それを修復するために必要なコンテキスト、およびその両方の背後にあるエビデンスが付属する。著作者は宣言されるものであり、検証されるものではない。このコマンドはマージをブロックしたり、グラフの状態を変更したりしない。エビデンスを人間またはCIポリシーに渡して、そこで止まる。
KinとGitの関係
今日はGitの隣。時間とともにリポジトリ権威へ。ブラウンフィールド採用の間、Gitは明示的なインポート/エクスポート相互運用境界であり続ける。Kinのランタイムクエリに答えたり、欠落したグラフの真実を修復したりすることは決してない。
kin initは、到達可能な完全なGit履歴と正確な親エッジをインポートする。Kinには意図的に、部分履歴やスナップショットのみの初期化モードは存在しない。- インポート後、Kinのグラフは、リポジトリのアイデンティティ、ツリー状態、履歴、refs、セマンティック関係を所有する。ファイルシステムビューとGitビューは投影である。
kin git export --output ../repo.gitは、グラフ所有の単一の権威世代から新しいベアGit投影を書き出す。作業ファイルや環境にある.git/オブジェクトストアを参照せず、既存の宛先やリポジトリ内の宛先を拒否する。オブジェクト、refs、ディレクトリは、置換なしの宛先公開が確認される前にフラッシュされる。ケイパビリティに基づく公開は現在Unixホストで利用可能であり、他のホストはエクスポート作成の前に拒否する。
これにより、チームはKinが権威となる間も、エディタ、コンパイラ、ビルドシステム、Git相互運用性を手放すことなく、既存のリポジトリを移行できる。
プラットフォームと成熟度
コアランタイムとファイルシステム投影では、サポート境界が異なる:
| プラットフォーム | コアKinランタイム | kin-vfs 投影 |
|---|---|---|
| macOS(Apple SiliconおよびIntel) | ネイティブのグラフ、ベクトル、デーモン、セットアップ、MCP、レビューの各サーフェスがリリースアーカイブに同梱される。 | 両アーキテクチャで提供され、検証されている。DYLD_INSERT_LIBRARIES を使用する。SIP保護またはハードニングされたプログラムはインジェクションを拒否する場合がある。 |
| Linux x86_64およびarm64 | kin と kin-daemon は、glibcおよびmuslディストリビューション上で動作することを意図した静的muslビルドである。 | 公開されているVFS実行ファイルとシムは、muslビルドではなくGNU/glibcビルドである。現在のアーティファクトはglibc 2.39を必要とする。Alpine/muslおよび古いglibcのディストリビューションは投影ホストとしてサポートされない。arm64リリース証明はUbuntu 24.04上で実行される。 |
| ネイティブWindows x86_64 | 初期サポート: リポジトリのアドミッションと、グラフおよび語彙クエリはネイティブに応答するが、MCPとレビューのワークフローはまだインストール証明によってエンドツーエンドでカバーされていない。完全なKinにはWSL2が引き続き推奨される。 | 提供されていない。投影には、glibc境界を満たすLinuxディストリビューションを備えたWSL2を使用すること。 |
最初のインデックス作成は到達可能なGit履歴全体を読むため、大規模または長期運用のリポジトリでの kin init は、埋め込みが始まるまでに数秒ではなく数分かかる。init が戻った後も、デーモンはバックグラウンドで準備を続ける。大規模リポジトリでの最初のエージェント呼び出しは、応答に著しく時間がかかる場合がある。
制約付きのarm64テストでは、コアのグラフおよび語彙パスは512 MBで使用可能であることがわかった。ただし、完全な埋め込みは約522 MBのモデルをダウンロードし、現在は安全に動作する下限として2 GBを必要とする。1 GBは安全でない限界であり、512 MBでは埋め込み中に終了する可能性がある。これらは観測されたアルファ版の制約であり、普遍的なサイズ設定の約束ではない。
kin --version の成功は、コアバイナリが実行されることだけを確認する。VFS互換性や、ライブなグラフ駆動投影を確認するものではない。サポートされているUnixホストでは、kin setup status、kin-vfs status --workspace .、および実際の kin-vfs exec --workspace . -- <command> 起動を使用すること。VFSランチャーにはインターセプションカナリアが含まれており、OSがシムを取り除いたときに報告する。完全な境界はkin-vfs READMEに記載されている。
リリースアセットはチェックサム付きで公開され、リリースワークフローは、サポート対象のランナーマトリックス全体で、匿名インストール、デーモン/MCP、埋め込み、および実際のグラフ駆動VFS投影チェックを実行する。ワークフロー自体は公開されている: Install Proof。グリーンなリリースは、それらの正確なアーティファクトと環境を確認するものである。すべてのディストリビューション、ツール、リポジトリの形状がすでにカバーされているという主張ではない。
証明の姿勢
公開されている事前登録済みのMulti-SWE-Bench Go証明パッケージは、移動する最新リリースではなく古いビルドにピン留めされており、広範な速度、トークン削減、またはカテゴリ勝利の主張を確立するものではない。比較結果は、独立した検証が行われるまでここでは保留される。
方法論、タスクセット、ビルドID、アーティファクトは公開証明パッケージで読むこと。測定された範囲外の主張は、独自の再現可能な証明が得られるまで仮説として扱うこと。
学ぶ・貢献する
- クイックスタートと高度な設定
- ストアサイズとその要因
- MCPツールリファレンス
- グラフファーストの論考
- GitHub Discussions
- バグ報告と機能リクエスト
- コントリビューションガイド
- 非公開のセキュリティ報告
ライセンス
自らを記憶するソフトウェア。