A Go wrapper to run the infamous Ralph Wiggums loop using GitHub Copilot CLI.
Goralph automates AI-assisted coding by running GitHub Copilot CLI in a loop until a task is complete. It reads a PRD (Product Requirements Document), builds a prompt, and repeatedly invokes Copilot until it signals completion or max iterations is reached.
- go
- GitHub Copilot CLI
- Optional: Task
- Download the latest binary for your platform from Releases
Edit the .config.json file in project root directory to configure the following settings:
| Setting | Description | Note |
|---|---|---|
| prd | Path to the PRD JSON file | Defaults to ./.ralph/prd.json |
| progress | Path to the progress file | Defaults to ./.ralph/progress.txt |
| prompt | Path to the prompt template | Defaults to ./.ralph/prompt.txt |
| model | Copilot model to use | e.g. claude-haiku-4.5 |
| tools.allow | List of allowed Copilot tools | e.g. ["write", "shell(git:*)"] |
| tools.deny | List of denied Copilot tools | e.g. ["shell(rm -rf *)"] |
| timeout | Duration in minutes after Ralph stops | Defaults to 60 minutes |
| logLevel | Set the logging level | Defaults to info |
- Create sample config files (
config.json,prd.jsonandprompt.md) via:ralph -init - Adapt config files as needed
- Run Ralph
Ralph will loop until Copilot responds with <promise>COMPLETE</promise> or timeout is reached.
Check config.json path and JSON syntax
Verify the PRD path in config.json
Check tool permissions and ensure at least one tool is allowed
Increase timeout or simplify your PRD tasks
Check out CONTRIBUTING.md for further information.
