ralph & autoralph

github.com/uesteibar/ralph

ralph & autoralph

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.