frankbria/ralph-claude-code

Autonomous AI development loop for Claude Code with intelligent exit detection

解決する問題

Ralph は、単一の Claude Code 呼び出しを完全な無人開発サイクルに変える問題を解決します。手動で Claude を繰り返しプロンプトする代わりに、Ralph はプロジェクトの指示を読み、コード変更を実行し、進捗を追跡し、プロジェクトが本当に完了するまで繰り返すループで Claude Code を実行します。また、終了シグナルを誤って読み取って永遠に実行されることや、毎時または 5 時間の API 制限を使い果たすことなど、このようなループの 2 つの一般的な障害モードから保護します。

仕組み

Ralph はサイクルを実行します: .ralph/PROMPT.md からプロジェクトの指示をロードし、現在のコンテキストで Claude Code を実行し、タスクリストとログを更新します。完了は二重条件ゲートを使用してチェックします: 完了インジケータのヒューリスティックなカウント(自然言語パターンから少なくとも 2 つ)と、Claude の出力に明示的な EXIT_SIGNAL: true の両方が存在する必要があります。どちらかが欠けている場合、ループは続行します。Ralph はまた、連続した完了シグナルの後に強制終了するサーキットブレーカー、毎時上限(デフォルト 100 コール)のレート制限、3 層検出を備えた 5 時間 API 制限検出器、およびコンテキスト保持のための --resume を使用したセッション管理を使用します。--live でライブ出力をストリーミングしたり、Docker または E2B サンドボックスで実行したり、git 状態を自動バックアップしたりできます。

対象読者

Ralph は、Claude Code を使用し、より長い多段階のコーディングタスクを自律エージェントループに委任したい開発者向けです。製品要件文書(PRD)や GitHub イシューを、最小限の手動プロンプトで動作するコードベースに変換するのに特に役立ちます。また、明確に定義されたタスクリストで無人進捗を必要とするチームにも適しています。

ハイライト

  • 二重条件の終了検出(完了インジケータ + 明示的な EXIT_SIGNAL)により、早期終了や無限ループを回避。
  • 毎時リセットのレート制限とサーキットブレーカーにより、API の過剰使用や暴走ループを防止。
  • --resume によるセッション継続(セッションハイジャックなし)と設定可能なセッション有効期限(デフォルト 24 時間)。
  • タイムアウトガード、JSON 解析、テキストフォールバックを含む 5 時間 API 制限の 3 層検出。
  • プロジェクトタイプを自動検出し、beads、GitHub Issues、または PRD からタスクをインポートするインタラクティブな ralph-enable ウィザード。
  • ralph-import は、markdown、テキスト、JSON、DOCX、PDF の要件文書を構造化された Ralph プロジェクトに変換します。
  • リソース制限とコスト追跡を備えた Docker および E2B クラウドサンドボックス実行。
  • オプションのライブストリーミング、デスクトップ通知、ドライランモード、ロールバック付きの自動 git バックアップブランチ。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト