ralph es una herramienta que envuelve Claude Code en un flujo de desarrollo con opiniones propias. Toma una descripción de feature, la divide en user stories del tamaño adecuado, y las implementa una a una — planificación, código, tests y commits.
Tiene dos modos de uso:
ralph CLI
La interfaz interactiva para trabajo hands-on. Ideal para tareas exploratorias, debugging o cuando necesitas iterar rápido.
┌──────────────────┐
│ ralph new │ Crea workspace para una feature
│ feature-name │ (crea rama, worktree, entra
│ │ y lanza la creación del PRD)
│ │
│ ... chat ... │ Discute la feature con Claude
│ /finish │ Claude escribe el PRD estructurado
└────────┬─────────┘
│
▼
┌──────────────────┐
│ ralph run │ Loop autónomo
│ │ Stories ──▶ QA ──▶ Hecho
└────────┬─────────┘
│
├── ¿Algo que corregir? ──▶ ralph chat
│ │
│◀───────────────────────────────┘
│
├── ¿Main actualizado? ──▶ ralph rebase
│ │
│◀───────────────────────────────┘
│
▼
┌──────────────────┐
│ ralph done │ Squash-merge a main
│ │ Archiva PRD, elimina workspace
└──────────────────┘
ralph new <nombre>— Crea un workspace aislado (git worktree + rama) y arranca una conversación con Claude para definir el plan.ralph run— Implementa el plan story a story: test primero (TDD), hace que pase, checks de calidad, commit, siguiente story.ralph chat— Sesión interactiva con contexto completo del proyecto para corregir el rumbo.ralph done— Squash-merge a main y limpieza.
autoralph
Un daemon que corre localmente y automatiza el ciclo completo de desarrollo. Se integra con Linear y GitHub:
Linear AutoRalph GitHub
------ --------- ------
Asignar issue ------> Poll e ingesta (QUEUED)
Refinamiento IA (REFINING)
Publica preguntas en Linear
Usuario aprueba -----> Detecta aprobación (APPROVED)
Crea workspace + PRD (BUILDING)
Ejecuta loop de Ralph (stories, QA)
Push rama ------> Crea PR
Espera review <------ Comentarios review
Responde feedback (ADDRESSING_FEEDBACK)
Push fixes ------> PR actualizado
Detecta merge <------ PR mergeado
Limpieza workspace (COMPLETED)
Mueve a Done <------ Actualiza estado en Linear
Cada workspace es un git worktree independiente, lo que permite trabajar en varias cosas a la vez sin conflictos. Puedo tener autoralph implementando una feature en un workspace, mientras estoy debugging hands-on en otro, y un tercero pausado esperando mi input. Nunca se pisan entre sí.
Lo que más me gusta del setup es que es autónomo hasta que deja de serlo: si algo se tuerce, puedo intervenir localmente con ralph switch <nombre> y tomar el control directamente.
El código está disponible en GitHub, y la documentación de autoralph en uesteibar.github.io/ralph.