aikito は何をしますか?
目的
Aikitoを、持続可能なエージェントリソースのための正規のGit管理ソースとして使用し、それらのリソースをサポート対象のコーディングエージェントおよびプロジェクトに同期します。
メンタルモデル
CLIソースとユーザーワークスペースを分離して保持します:
~/aikito-src CLI ソースチェックアウト
~/aikito 正規のユーザーワークスペース
ワークスペースには真実のソースが含まれます:
~/aikito/
├── agents.toml
├── skills.toml
├── subagents.toml
├── mcps/
├── global/AGENTS.md
├── skills/
├── memory/
└── projects/<name>/
エージェント設定ディレクトリとプロジェクトの .agents/ ディレクトリはランタイムエントリポイントであり、独立したソースではありません。最初に正規のワークスペースファイルを変更し、その後CLIで同期します。
ワークスペースが ~/aikito でない場合は AIKITO_DIR を使用します。CLIがワークスペース内にあると想定せず、インストールされた aikito コマンドを使用してください。
ブートストラップ
CLIがインストールされていない場合は、公式ソースリポジトリを使用し、そのチェックアウトを将来のワークスペースとは別に保持します:
git clone https://github.com/lsaint/aikito.git "$HOME/aikito-src"
export PATH="$HOME/aikito-src/bin:$PATH"
クローンする前に、ターゲットに関係のないユーザーデータが含まれていないことを確認してください。ユーザーの指示なしに既存のチェックアウトを上書きしないでください。
ワークスペースを初期化して検査します:
aikito init workspace ~/aikito
aikito status
aikito init workspace は、CLIソースツリー、別のソースチェックアウト、認識されない空でないディレクトリを拒否します。これらのガードをバイパスしようとしないでください。初期化後、何かを同期する前に生成されたファイルを検査してください。
安全プロトコル
- 読み取り専用の探索から開始します:関連する正規ファイル、
aikito status、リソース固有のステータスコマンドを検査します。 aikito adoptは--applyなしで実行します。適用する前に、採用計画、競合、および認証情報の処理をユーザーに表示します。- サポートされている同期コマンドには
--dry-runを使用します。 - 管理対象外のターゲットや競合する指示はユーザーが決定するものとして扱います。静かに上書きしないでください。
- APIキー、トークン、パスワード、OAuth素材はAikitoワークスペースとGitの外に保持します。正規のMCP設定に環境変数参照を保存します。
- 明示的なforceまたはprune操作の前に警告し、レビューしたターゲットに範囲を限定します。
- ローカルのGitリポジトリを公開しても安全だと扱わないでください。リモートを追加したりプッシュする前に、メモリと設定にプライベートデータがないかレビューしてください。
- ワークスペースとターゲットエージェント設定の両方で、ユーザーによる無関係な変更を保持します。
リソースルーティング
グローバル指示とスキル
正規ソース:
~/aikito/global/AGENTS.md
~/aikito/skills.toml
~/aikito/skills/<skill-name>/
変更をレビューした後:
aikito sync global --dry-run
aikito sync global
aikito status
aikito show skills
aikito show skill <target>
aikito edit skill <target>
生成されたエージェントネイティブの指示やスキルエントリを独立したソースとして編集しないでください。
グローバルスキルを追加、名前変更、または削除する場合は、その変更をディレクトリのみの編集ではなく、クロスランタイム移行として扱います:
skills.toml、公開エクスポート許可リスト、および古いスキル名への参照を更新します。- グローバルスキルをロードするすべてのサポート対象エージェントが、
agents.tomlとaikito initテンプレートで正しいskills_pathを持つことを確認します。エージェントCLIとそのIDEが同じグローバルスキルディレクトリを使用するとは想定しないでください。 - 関連するテストを実行し、次に
aikito sync globalとaikito statusを実行します。 - 管理対象の各エージェントターゲットを検査し、新しいスキルが表示され、古い名前のスタンクリンクが削除されていることを確認します。
- プロジェクトが意図的にオーバーライドまたはコピーしない限り、グローバルスキルをプロジェクトの
agent.tomlファイルに保持しないでください。
プロジェクト
ワークスペースは中央の真実のソースであり、通常は一度だけ存在します。プロジェクト登録は、1つのコードディレクトリとそのプロジェクト固有のエージェントリソースを表します。要求された指示、スキル選択、またはメモリがプロジェクト固有であり、現在のコードディレクトリが登録されていない場合、ユーザーに登録するかどうかを尋ねてください。グローバルリソースのためにプロジェクトを登録しないでください。
確認後、コードディレクトリからプロジェクトを初期化します:
aikito init project
ディレクトリ名と現在のパスがデフォルトです。必要に応じて明示的な引数を使用します:
aikito init project <name> <path>
このコマンドは、正規のプロジェクトスケルトンを作成し、その .agents/ ランタイムを同期します。管理対象外の既存のランタイムリソースや別のパスにバインドされたプロジェクト名はユーザーにとっての競合として扱います。バイパスしないでください。
プロジェクト設定は以下に属します:
~/aikito/projects/<name>/agent.toml
~/aikito/projects/<name>/AGENTS.md
~/aikito/projects/<name>/memory/
以下で同期して確認します:
aikito show projects
aikito show project <name>
aikito sync project <name> --dry-run
aikito sync project <name>
aikito status
aikito diff
aikito show memory
プロジェクトの指示とメモリは正規ソースにリンクされたままです。プロジェクトスキルは sync_mode に従います:link はシンボリックリンクを保持し、copy はプロジェクトのGit追跡用に管理されたコピーを生成します。aikito status を使用してコピースキルのドリフトを検出し、aikito diff を使用して正規スキルと比較します。同期はドリフトしたコピーを置き換えることを拒否します。生存させるべき変更をマージするか、レビュー後に aikito sync project <name> --force を使用します。
ターゲットの .agents/skills/ および .agents/memory/ ディレクトリはAikitoによって排他的に管理されます。未知のエントリは競合であり、プロジェクト同期によって削除されることはありません。そこに関係のないファイルを保存しないでください。
MCPサーバー
正規ソース:
~/aikito/mcps/*.toml
プレビュー、適用、確認:
aikito sync mcp --dry-run
aikito sync mcp
aikito show mcp
ライブエージェントチェックが有用な場合にのみ aikito show mcp --live を使用します。サポートされている認証フローには aikito auth mcp <agent> <server> を使用します。キャプチャされた認証情報を印刷、永続化、またはコミットしないでください。
サブエージェント
正規ソース:
~/aikito/subagents.toml
~/aikito/subagents/
プレビュー、適用、確認:
aikito sync subagents --dry-run
aikito sync subagents
aikito show subagents
aikito show subagent <target>
aikito edit subagent <target>
--prune を使用する前に、孤立した管理ファイルをレビューしてください。ステータスをグリーンにするためだけに管理対象外のターゲットを強制しないでください。
メモリ
グローバルメモリは ~/aikito/memory/ に属します。プロジェクト固有のメモリは ~/aikito/projects/<name>/memory/ に属します。
aikito show memory [target]
aikito edit memory <target>
個別の durable-memory スキルを使用して、知識が永続化するのに十分な耐久性があるか、どのスコープがそれを所有するか、そしてそれをどのようにバージョン管理するかを判断します。
採用
既存のエージェント設定をインポートする前にプレビューします:
aikito adopt
ユーザーが計画をレビューし、指示の競合を解決した後にのみ:
aikito adopt --apply
適用すると、タイムスタンプ付きのバックアップが ~/.aikito/backups/adopt_<timestamp> の下に作成されます。採用はリソースをワークスペースにインポートします。エージェントネイティブの設定変更は、明示的な同期中にのみ行われます。
検証と現在の動作
各書き込み後、最も狭い関連ステータスコマンドを実行し、レポートされたターゲットを検査します。インストールされたバージョンでサポートされているオプションについては、aikito <command> --help を権威として使用します。ソースチェックアウトから作業する場合は、そのルートREADMEと関連するリンクされたドキュメントを参照して、現在のアーキテクチャと安全モデルを確認してください。