cortexkit/aft
Give your agent a proper IDE and OS. The sensorimotor cortex for coding agents (OpenCode + Pi), part of CortexKit: symbol-aware edits, semantic search, code health, fast grep/glob, bash compression, background tasks, PTY.
AFT – コーディングエージェントの感覚運動皮質
何であるか – AFT(Agent File Tools)は、LLM駆動のコーディングエージェントに実際のIDEのようなコードベースの視覚とOSのような実行レイヤーを提供するRustベースのコアです。エージェント(例:OpenCode、Pi、oh-my-piなど)とホストファイルシステムの間に位置し、read/write/grepの原始的な呼び出しではなく、高レベルでシンボルに意識的なツール(aft_outline、aft_zoom、aft_edit、aft_bashなど)を公開します。
コアアイデア(脳のメタファー)
| 区域 | 役割 | 例となるツール |
|---|---|---|
| 感覚皮質 | コード構造、意味、関係性を認識 | aft_outline、aft_zoom、aft_search、aft_callgraph、aft_inspect |
| 運動皮質 | 精密で解析された編集やリファクタリングを実行 | aft_edit、aft_write、aft_apply_patch、aft_import、ast_grep_* |
| 脳幹 | 長時間実行中のプロセスを維持、出力を圧縮、アンダーアンド/復元を提供 | aft_bash、バックグラウンドタスク、PTYセッション、aft_safety |
サポートされるエージェント「ハーネス」
| ハーネス | AFTの統合方法 |
|---|---|
| OpenCode | ネイティブアダプタ(@cortexkit/aft-opencode)が組み込みのread、write、edit、apply_patchをAFTベースのバージョンに置き換え、aft_ツール群を追加します。 |
| Pi | ネイティブ拡張(@cortexkit/aft-pi)がread、write、edit、grepを置き換え、aft_ツールを追加します。 |
| OMP(oh-my-pi) | Piプラグイン経由でサポート。デフォルトでトップレベルにツールを登録し、オプションの「host_default」表示モードを提供します。 |
主な機能
- 構造に意識的な認識 –
aft_outlineは、関数、クラス、型などのすべてのシンボルを、その種類、可視性、行範囲、ネストされたメンバーとともに返します。aft_zoomは単一のシンボルに深く掘り下げ、コールグラフ情報を含めることもできます。 - ハイブリッドな意味的+語彙的検索 –
aft_searchはトライグラムインデックスに加え、オプションの埋め込みバックエンド(OpenAI互換またはOllama)を使用して、意味に基づいてコードを検索します。 - シンボルレベルの編集 –
aft_editは名前付き関数を直接置き換えたり、曖昧な検索・置換を実行したり、マルチファイルのトランザクション編集を実行できます。すべての変更は、書き込み前に解析・フォーマット・バックアップされます。 - 自動インポート管理 –
aft_importは、言語に応じた方法でインポートを追加、削除、整理します。 - ASTベースの構造的置換 –
ast_grep_search/ast_grep_replaceを使用すると、tree-sitter ASTを使ってコードパターンをマッチさせられます。 - 堅牢なシェル実行 –
aft_bashは出力の圧縮、権限スキャン、および一般的なユーティリティの自動書き換え(cat → read、grep → grep tool)を伴ってシェルコマンドを実行します。バックグラウンドタスクはエージェントの再起動後も生存します。 - アンダーアンド/チェックポイント – すべての編集はファイルごとのアンダーアンドスタックに保存されます。エージェントは名前付きチェックポイントを作成し、安全にロールバックできます。
- 言語カバレッジ – 30以上の言語(TS/JS、Python、Rust、Go、C/C++、Java、Kotlin、Swiftなど)のtree-sitterパーサーにより、アウトライン、編集、AST、意味的機能が可能になります。
- 永続的なインデックスとLSP – トライグラム検索、意味的埋め込みインデックス、埋め込みLSPクライアントは、プロジェクトルートごとに長期間稼働する
aftプロセスで維持されます。
クイックスタート(ワンライナー)
npx @cortexkit/aft@latest setup
このコマンドは、インストール済みのハーネスを検出し、AFTツールを登録し、aftバイナリが利用可能であることを確認します。特定のハーネスを指定するには --harness opencode|pi|omp を使用できます。
インストール詳細
- Rust crate – crates.io 上の
agent-file-tools(コアバイナリ)。 - NPMパッケージ –
@cortexkit/aft(CLI)、@cortexkit/aft-opencode、@cortexkit/aft-pi(ハーネスアダプタ)。 - バイナリ配布 – CLIは初回使用時にプラットフォームに最適なプリビルドバイナリをダウンロードします。必要に応じて
cargo installまたはGitHubリリースにフォールバックします。 - 設定 – オプションの
aft.jsonc(ユーザーレベル~/.config/cortexkit/aft.jsoncまたはプロジェクトレベル<repo>/.cortexkit/aft.jsonc)。enabled: falseに設定するとAFTを無効化でき、ツールの表面、意味的バックエンド、LSPサーバー、圧縮などもカスタマイズ可能です。 - アンインストール –
npx @cortexkit/aft@latest doctorを実行して残り物を確認し、ハーネス設定からプラグインエントリを手動で削除し、~/.local/share/cortexkit/aft/データディレクトリを削除します。AFT自体には専用のアンインストールコマンドはありません。
開発と貢献
- TypeScriptアダプタ用のBunワークスペースとRustコア用のCargoワークスペースを備えたモノレポ。
- ビルド手順:
bun install # JS依存関係をインストール cargo build --release # Rustバイナリをコンパイル bun run build # TSプラグインをビルド - テスト:
bun run test(TS)およびcargo test(Rust)。 - 形式化:
bun run lint(Biome)およびcargo fmt。 - 貢献は「設計優先」ワークフローに従います:イシューを開き、
design-approvedラベルを取得した後、PRを提出します。
ライセンス
MIT – 個人および商業利用に自由に使用可能。
要するに:AFTはLLM駆動のコーディングエージェントに、言語に意識的なフル機能のIDEと軽量なOSレイヤーを提供し、エージェントがコードを読み取り、編集、実行する際のトークン使用量を大幅に削減し、信頼性を向上させます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト