Skip to content

slangenbach/goralph

Repository files navigation

Goralph

CI

A Go wrapper to run the infamous Ralph Wiggums loop using GitHub Copilot CLI.

Logo

About

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.

Prerequisites

Installation

  1. Download the latest binary for your platform from Releases

Configuration

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

Usage

  1. Create sample config files (config.json, prd.json and prompt.md) via: ralph -init
  2. Adapt config files as needed
  3. Run Ralph

Ralph will loop until Copilot responds with <promise>COMPLETE</promise> or timeout is reached.

Troubleshooting

Could not load config

Check config.json path and JSON syntax

Could not load PRD

Verify the PRD path in config.json

Empty Copilot response

Check tool permissions and ensure at least one tool is allowed

Timeout reached

Increase timeout or simplify your PRD tasks

Contributing

Check out CONTRIBUTING.md for further information.

About

A Go wrapper for the Ralph Wiggums loop using GitHub Copilot CLI

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages