Skip to content

docs: add todo-app lifecycle example with PM, Dev, and QA ralphs#36

Closed
malpou wants to merge 10 commits into
computerlovetech:mainfrom
malpou:pm/lifecycle-examples
Closed

docs: add todo-app lifecycle example with PM, Dev, and QA ralphs#36
malpou wants to merge 10 commits into
computerlovetech:mainfrom
malpou:pm/lifecycle-examples

Conversation

@malpou
Copy link
Copy Markdown
Contributor

@malpou malpou commented Mar 22, 2026

Summary

  • Adds examples/todo-app/ with three standalone ralphs (PM, Dev, QA) that mimic a software development lifecycle
  • Each ralph uses {{ commands.X }} placeholders to read shared state files (INBOX.md, TODO.md, specs/)
  • INBOX.md is pre-seeded with feature requests for a simple Node.js todo CLI app
  • Ralphs can be run individually with ralph run — no fleet features required

Files added

  • examples/todo-app/README.md — Usage instructions
  • examples/todo-app/INBOX.md — Seed feature requests
  • examples/todo-app/TODO.md — Empty kanban board
  • examples/todo-app/specs/.gitkeep — Specs directory placeholder
  • examples/todo-app/package.json — Minimal Node.js project scaffold
  • examples/todo-app/ralphs/{pm,dev,qa}/RALPH.md — Role-specific ralphs

Test plan

  • All 477 existing tests pass
  • Manual: ralph run examples/todo-app/ralphs/pm/RALPH.md works with a real agent
  • Manual: Dev and QA ralphs similarly functional

malpou and others added 10 commits March 22, 2026 18:43
Add _fleet.py with FleetConfig, RalphEntry, and FleetSettings
dataclasses plus parse_fleet_config() for reading fleet.yml files.
Supports ralph entries with branch/worktree/priority/depends_on,
fleet-level settings (max_concurrent, stagger_start, merge_strategy),
and validation of all fields including dependency references.

Co-authored-by: Ralphify <noreply@ralphify.co>
Add functions for creating, removing, and pruning git worktrees for
fleet ralphs. Includes setup_fleet_worktrees to create all worktrees
from a fleet config and teardown_fleet_worktrees for cleanup.

Co-authored-by: Ralphify <noreply@ralphify.co>
Add FleetOrchestrator that manages the full fleet lifecycle: sets up
worktrees, builds RunConfigs from ralph RALPH.md files, launches ralphs
via RunManager with staggered starts and max_concurrent limits, resolves
dependency ordering via topological sort, and provides stop/status
methods. Also adds FleetStatus enum, RalphStatus dataclass, and
FleetConfigError for ralph config validation.

Co-authored-by: Ralphify <noreply@ralphify.co>
Add a typer sub-app for fleet management with three commands:
- fleet start: parses fleet.yml, sets up worktrees, launches ralphs
  with staggered starts and dependency ordering, blocks until Ctrl+C
- fleet status: displays a table of ralphs with branches, worktree
  settings, priorities, and dependency info
- fleet stop: guidance to use Ctrl+C on the running fleet process

Co-authored-by: Ralphify <noreply@ralphify.co>
… tests

Co-authored-by: Ralphify <noreply@ralphify.co>
Demonstrates a multi-role fleet where a PM ralph creates tasks, a dev
ralph implements them, and a QA ralph reviews PRs — all running in
parallel with dependency ordering and worktree isolation.

Co-authored-by: Ralphify <noreply@ralphify.co>
Co-authored-by: Ralphify <noreply@ralphify.co>
Triages inbox feature requests into specs and kanban board tasks,
processing one item per iteration.

Co-authored-by: Ralphify <noreply@ralphify.co>
Co-authored-by: Ralphify <noreply@ralphify.co>
Co-authored-by: Ralphify <noreply@ralphify.co>
@malpou malpou closed this Mar 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant