This example shows a minimal Ralph configuration for a command-line todo application built with Node.js.
- Minimal PROMPT.md - Just enough context for a focused project
- Specific fix_plan.md - Concrete, actionable tasks
- No specs/ needed - Simple enough that PROMPT.md covers everything
simple-cli-tool/
├── .ralph/
│ ├── PROMPT.md # Project goals and principles
│ └── fix_plan.md # Task list
├── .ralphrc # Configuration (auto-generated)
└── README.md # This file
-
Copy this directory to a new location:
cp -r examples/simple-cli-tool ~/my-todo-app cd ~/my-todo-app
-
Initialize git and npm:
git init npm init -y
-
Run Ralph:
ralph --monitor
Notice how PROMPT.md:
- States exactly what the tool should do
- Specifies the technology (Node.js, commander.js)
- Defines key behaviors (where data is stored, error handling)
Tasks are grouped by priority:
- Priority 1: Foundation (must work before anything else)
- Priority 2: Core features (the main functionality)
- Priority 3: Polish (nice-to-have improvements)
This project is simple enough that PROMPT.md provides all necessary context. specs/ would be overkill here.
Consider adding specs/ if you need:
- Complex command behavior documentation
- Data format specifications
- External service integration details
For this simple example, PROMPT.md is sufficient.