【結論】解決策 / 実行コマンド
Claude Codeの自動実行には、非対話モード、Auto mode、Goal、Hooks、GitHub Actions、クラウドRoutinesなど複数の方法があります。
一回限りのCI処理はclaude -p、長期目標はGoal、イベント駆動処理はHooks、定期実行やGitHubイベントはRoutinesを検討します。
自動化では入力、出力形式、最大ターン、権限、失敗時動作を明示します。
# ターミナルで実行:最大ターン付きの読み取り専用チェック
claude -p --max-turns 3 --output-format json "変更せずにテスト失敗の原因をJSONで報告してください"
# ターミナルで実行:自動モードで対話セッションを開始
claude --permission-mode auto
# 起動後のセッション内で実行:自動処理の状態を確認
/status具体的な手順・設定方法
CIでは固定された対象範囲と読み取り専用タスクから開始します。
JSONなど機械判読可能な出力にし、終了コードと失敗ログを保存します。
書き込み、コミット、外部送信は別ジョブと承認ゲートへ分離します。
実践プロンプト / 活用テクニック
# 自動実行用プロンプト
対象はsrc/apiとtests/apiだけです。
変更せず、失敗テストの原因、関連ファイル、推奨修正をJSONで返してください。
最大3ターンで終了し、原因を特定できない場合はstatusをunknownとして停止してください。注意点・よくあるエラーと対処法
yesコマンドで確認を機械的に突破する方式は、権限境界を壊すため使わないでください。
RoutinesやGitHub Actionsはクラウド側で動くため、Secrets、権限、保持、課金、トリガー条件を確認してください。
自動処理が失敗したときに再実行を無限化せず、通知と人間へのエスカレーションを設定します。