セッション管理
Kiro CLI は会話をセッションとして自動保存し、後から再開できます。プロジェクトごとにコンテキストが保持されるため、中断した作業をシームレスに再開できます。
自動保存の仕組み
会話は毎ターン自動的にローカルの SQLite データベース(~/.kiro/)に保存されます。セッションはディレクトリごとに管理され、各セッションには UUID が割り当てられます。
つまり、同じプロジェクトディレクトリで kiro-cli を起動すれば、前回の会話の流れを引き継げます。
セッションの再開
# 最新のセッションを再開
kiro-cli chat --resume
# セッション一覧から選択して再開
kiro-cli chat --resume-picker
# セッション一覧を表示
kiro-cli chat --list-sessions
# 特定のセッションを削除
kiro-cli chat --delete-session <SESSION_ID>
チャットセッション内からも再開できます。
> /chat resume
セッションのエクスポートとインポート
会話を JSON ファイルとして保存・読み込みできます。チーム間での共有やバックアップに便利です。
> /chat save ~/my-session.json
> /chat load ~/my-session.json
-f フラグで上書き保存も可能です。
カスタムストレージ
シェルスクリプトを使って、独自のストレージバックエンドに保存できます。
> /chat save-via-script ./save-to-git.sh
> /chat load-via-script ./load-from-git.sh
保存スクリプトはセッション JSON を stdin で受け取り、読み込みスクリプトは stdout にセッション JSON を出力します。例えば、Git Notes を使ってコミットにセッションを紐づけるといった活用ができます。
flowchart TB
subgraph Lifecycle["セッションライフサイクル"]
Create["セッション作成<br/>kiro-cli 起動"]
AutoSave["自動保存<br/>毎ターン SQLite に保存"]
Resume["セッション再開<br/>--resume / --resume-picker"]
Export["エクスポート<br/>/chat save"]
Import["インポート<br/>/chat load"]
end
Create --> AutoSave
AutoSave --> Resume
AutoSave --> Export
Import --> AutoSave
Resume --> AutoSave
style Lifecycle fill:#3b82f6,color:#fff
Translate コマンド
translate は自然言語をシェルコマンドに変換する機能です。コマンドの構文を覚えていなくても、やりたいことを日本語や英語で伝えるだけで、適切なコマンドを生成してくれます。
基本的な使い方
kiro-cli translate "カレントディレクトリ以下のすべてのファイルを一覧表示"
実行すると、対応するコマンド(例: find . -type f)が提案され、以下のオプションが選べます。
- Enter: コマンドを実行
- Edit: コマンドを編集してから実行
- Regenerate: 別のコマンドを再生成
- Ask another question: 別の質問をする
- Cancel: キャンセル
複数候補の生成
-n オプションで複数の候補を生成できます(最大5つ)。
kiro-cli translate -n 3 "過去1週間に変更されたPythonファイルを検索"
実用例
# ファイル操作
kiro-cli translate "100MB以上のファイルを探して"
kiro-cli translate "拡張子が.logのファイルをすべて削除"
# Git 操作
kiro-cli translate "main ブランチにマージされていないブランチを一覧表示"
kiro-cli translate "直近5件のコミットを1行ずつ表示"
# プロセス管理
kiro-cli translate "ポート3000を使っているプロセスを見つけて停止"
kiro-cli translate "メモリ使用量の多い上位10プロセスを表示"
# ネットワーク
kiro-cli translate "特定のドメインのDNSレコードを確認"
kiro-cli translate "ローカルの8080ポートでリッスンしているか確認"
# AWS
kiro-cli translate "S3バケットの中身を一覧表示"
kiro-cli translate "実行中のEC2インスタンスを表示"
Autocomplete(オートコンプリート)
Kiro CLI はターミナルでのコマンド入力を AI で支援する2つの補完機能を提供します。
ドロップダウンメニュー
コマンドを入力し始めると、カーソルの右側にドロップダウンメニューが表示されます。利用可能なオプション、サブコマンド、引数が候補として表示されます。
- 矢印キー で候補をナビゲート
- Tab または Enter で選択
# 設定の確認・変更
kiro-cli settings autocomplete.disable false # 有効化
kiro-cli settings autocomplete.disable true # 無効化
インライン提案(ゴーストテキスト)
入力中にグレーのゴーストテキストが表示され、コマンドの続きを提案します。ドロップダウンメニューとは独立して動作します。
- →(右矢印) または Tab で提案を受け入れ
- そのまま入力を続けると提案は無視される
# インライン提案の管理
kiro-cli inline enable # 有効化
kiro-cli inline disable # 無効化
kiro-cli inline status # 状態確認
対応ツール
Autocomplete は数百のCLIツールに対応しています。
| カテゴリ | 対応ツール |
|---|---|
| バージョン管理 | git(ブランチ、ハッシュ、パス) |
| コンテナ | docker, kubectl |
| パッケージ管理 | npm, yarn, pnpm, pip, gem |
| インフラ | terraform, aws |
| 言語ツール | python, go, rustc |
| システム | ls, find, grep, chmod, apt, brew |
テーマ設定
ドロップダウンメニューの外観をカスタマイズできます。
kiro-cli theme dark # ダークテーマ
kiro-cli theme light # ライトテーマ
kiro-cli theme system # システム設定に追従
kiro-cli theme --list # 利用可能なテーマ一覧
実践的なワークフロー
日常的な開発フロー
# 1. プロジェクトに移動して前回のセッションを再開
cd my-project
kiro-cli chat --resume
# 2. 作業中に別のコマンドが必要になったら translate
kiro-cli translate "Dockerコンテナの状態を確認"
# 3. エラーが出たらパイプで直接相談
docker logs my-container 2>&1 | kiro-cli "このエラーの原因は?"
CI/CD への組み込み
# テスト結果の分析
npm test 2>&1 | kiro-cli chat --no-interactive --trust-all-tools \
"テスト結果を分析して、失敗の原因と修正方法を報告してください"
# セキュリティチェック
npm audit --json | kiro-cli chat --no-interactive \
"このセキュリティ監査結果を分析して、重要度の高い脆弱性を報告してください"
まとめ
| 項目 | 内容 |
|---|---|
| 自動保存 | 毎ターン SQLite に保存、ディレクトリごとに管理 |
| セッション再開 | --resume(最新)/ --resume-picker(選択) |
| エクスポート | /chat save / /chat load で JSON 形式 |
| Translate | kiro-cli translate "自然言語" でコマンド変換 |
| Autocomplete | ドロップダウン + インライン提案で入力補完 |
| テーマ | kiro-cli theme dark/light/system |
Day 4 では、カスタムエージェントの概念と基本的な作成方法を学びます。