Skip to content

CLIリファレンス

概要

aes CLIは Autonomous Engineer のコマンドラインインターフェースです。 要件定義から実装まで、仕様駆動ワークフロー全体をターミナルから自動的に実行します。

CLIはTypeScriptで実装されており、Bun 上で動作します。


インストール

orchestrator-ts/ ディレクトリから:

sh
cd orchestrator-ts
bun install

開発中の実行:

sh
bun run aes <command>

Bun linkによるグローバルインストール:

sh
cd orchestrator-ts
bun link
aes <command>

コマンド

aes run <spec-name>

指定した仕様の仕様駆動ワークフロー全体を実行します。

sh
aes run <spec-name> [options]

引数:

引数必須説明
spec-nameはい実行するスペック名(specDir 以下のディレクトリ名と一致する必要あり)

オプション:

オプションデフォルト説明
--provider <name>string設定からこのランのLLMプロバイダーを上書き
--dry-runbooleanfalseワークフローを実行せず、スペックと設定の検証のみを行う
--resumebooleanfalse最後に保存されたワークフロー状態から再開
--log-json <path>stringすべてのワークフローイベントをNDJSON形式でこのファイルパスに書き込む

使用例:

sh
# "tool-system" スペックのワークフロー全体を実行
aes run tool-system

# 設定の検証のみ(実行なし)
aes run tool-system --dry-run

# 中断した実行の再開
aes run tool-system --resume

# プロバイダーを上書きして構造化ログを取得
aes run tool-system --provider claude --log-json ./logs/tool-system.ndjson

aes configure

現在のプロジェクト向けに aes をインタラクティブに設定します。

sh
aes configure

対話型ウィザードを起動し、各設定フィールドを順に入力して結果をカレントディレクトリの aes.config.json に書き込みます。インタラクティブなターミナル(TTY)が必要です。

ウィザードのプロンプト:

プロンプトデフォルト説明
LLMプロバイダーselectclaude使用するLLMプロバイダー
モデル名textclaude-opus-4-6モデル識別子
SDDフレームワークselectcc-sddSDDフレームワークアダプター(cc-sdd, openspec, speckit
スペックディレクトリtext.kiro/specsスペックサブディレクトリが格納されているディレクトリ

注意事項:

  • aes.config.json が既に存在する場合、既存の値がデフォルトとして事前入力されます。
  • APIキーは aes.config.json書き込まれません。代わりに AES_LLM_API_KEY 環境変数で設定してください。
  • ウィザードは保存前に選択したSDDフレームワークがプロジェクトにインストールされているか確認します。見つからない場合はエラーとセットアップのヒントを表示して終了します。
  • プロンプトで Ctrl+C を押すと、変更を保存せずにウィザードをキャンセルします。

使用例:

sh
# 初回セットアップ
aes configure

# 既存プロジェクトの再設定(現在の値が事前入力される)
aes configure

ワークフローフェーズ

aes run <spec> を実行すると、以下のフェーズが自動的に順番に実行されます:

SPEC_INIT

REQUIREMENTS

DESIGN

VALIDATE_DESIGN

TASK_GENERATION

IMPLEMENTATION

PULL_REQUEST

各フェーズは .kiro/specs/<spec-name>/ 以下に構造化された成果物を生成します。

承認ゲート

ワークフローは3箇所で人間によるレビューのために一時停止します:

フェーズ後レビューする成果物確認内容
REQUIREMENTSrequirements.mdスコープと要件の確認
DESIGNdesign.mdアーキテクチャの確認
TASK_GENERATIONtasks.md実装計画の確認

各ゲートでは成果物のパスを表示し、続行前に確認を待ちます。


設定

設定ファイル

プロジェクトルート(aes を実行する場所)に aes.config.json を配置します:

json
{
  "llm": {
    "provider": "claude",
    "modelName": "claude-opus-4-6",
    "apiKey": "sk-ant-..."
  },
  "specDir": ".kiro/specs",
  "sddFramework": "cc-sdd"
}

フィールド:

フィールド必須デフォルト説明
llm.providerはいLLMプロバイダー(claude がサポート済み)
llm.modelNameはいモデル識別子(例: claude-opus-4-6
llm.apiKeyはいLLMプロバイダーのAPIキー
specDirいいえ.kiro/specsスペックサブディレクトリが格納されているディレクトリ
sddFrameworkいいえcc-sddSDDフレームワークアダプター(cc-sdd, openspec, speckit

環境変数

すべての設定フィールドは環境変数でも設定可能で、設定ファイルより優先されます:

変数説明
AES_LLM_PROVIDERLLMプロバイダー名
AES_LLM_MODEL_NAMEモデル識別子
AES_LLM_API_KEYAPIキー
AES_SPEC_DIRスペックディレクトリパス
AES_SDD_FRAMEWORKSDDフレームワークアダプター

Git連携(オプション、すべてデフォルト値あり):

変数デフォルト説明
AES_GIT_BASE_BRANCHmainフィーチャーブランチのベースブランチ
AES_GIT_REMOTEoriginGitリモート名
AES_GIT_MAX_FILES_PER_COMMIT50コミットあたりのファイル数の安全制限
AES_GIT_PROTECTED_BRANCHESmain,master,production,release/*保護されたブランチのカンマ区切りリスト
AES_GIT_IS_DRAFTfalsePRをドラフトとして作成
AES_GITHUB_TOKENPR作成用GitHubトークン

設定の優先順位

設定は以下の順序で解決されます(優先度高い順):

CLIフラグ  →  環境変数  →  aes.config.json  →  デフォルト値

状態と成果物

パス説明
.kiro/specs/<name>/スペック成果物(requirements.md, design.md, tasks.md)
.aes/state/<name>.json保存されたワークフロー状態(--resume で使用)
.aes/logs/実装ループのNDJSONログ
.memory/エージェントメモリ(ルール、パターン、障害記録)

クラッシュからの復旧

実行が中断された場合(プロセス強制終了、ネットワーク障害など)、以下で再開:

sh
aes run <spec-name> --resume

最後に完了したフェーズの境界からワークフローが再開されます。


終了コード

コード意味
0ワークフローが正常に完了
1ワークフロー失敗、設定エラー、またはスペックが見つからない

Autonomous Engineer Documentation