This repository has been archived on 2026-02-09. You can view files and clone it, but cannot push or open issues or pull requests.

Ralph pentru Claude Code

Ralph este un loop autonom de agent AI care rulează Claude Code în mod repetat până când toate task-urile dintr-un PRD sunt complete.

Adaptat din snarktank/ralph (pentru Amp) pentru a funcționa cu Claude Code CLI.

Cum funcționează

┌──────────────────────────────────────────────────────────────────┐
│                      CICLUL RALPH                                │
├──────────────────────────────────────────────────────────────────┤
│  1. Citește prd.json → selectează story cu prioritate minimă     │
│  2. Lansează instanță fresh Claude Code (context curat)          │
│  3. Implementează story-ul selectat                              │
│  4. Rulează quality checks (typecheck, tests, lint)              │
│  5. Commit dacă trece → marchează story ca "passes: true"        │
│  6. Salvează learnings în progress.txt                           │
│  7. Repetă până toate story-urile sunt complete                  │
└──────────────────────────────────────────────────────────────────┘

Memoria între iterații

Mecanism Descriere
git history Commit-uri din iterațiile anterioare
prd.json Starea task-urilor (care sunt complete)
progress.txt Learnings și patterns descoperite

Instalare rapidă

Cerințe

  • Claude Code CLI instalat și autentificat
  • jq pentru procesare JSON (apt install jq)
  • Git repository

Instalare Skills (recomandat)

git clone git@gitea.romfast.ro:romfast/ralph-claude.git
cd ralph-claude
./install.sh

Aceasta instalează skill-urile /prd și /ralph global în ~/.claude/skills/.

Instalare manuală (per proiect)

# Copiază în proiectul tău
cp -r ralph-claude/scripts/ralph/ /path/to/your/project/scripts/ralph/
chmod +x scripts/ralph/ralph.sh

Utilizare

Workflow complet

1. /prd              → Generează PRD markdown cu întrebări clarificatoare
2. /ralph            → Convertește PRD în prd.json pentru execuție
3. ./ralph.sh        → Rulează loop-ul autonom

Pas 1: Generează PRD

Într-o sesiune Claude Code, folosește skill-ul /prd:

/prd

Vreau să adaug funcționalitate de export CSV pentru dashboard.

Claude va:

  • Pune întrebări clarificatoare
  • Genera PRD structurat în /tasks/prd-export-csv.md

Pas 2: Convertește în JSON

După ce PRD-ul e aprobat, folosește /ralph:

/ralph

Convertește PRD-ul din tasks/prd-export-csv.md

Claude va:

  • Crea structura scripts/ralph/
  • Genera prd.json cu user stories
  • Inițializa progress.txt

Pas 3: Rulează Ralph

# Cu 10 iterații (implicit)
./scripts/ralph/ralph.sh

# Cu număr specific de iterații
./scripts/ralph/ralph.sh 20

Pas 4: Monitorizare

# Status stories
jq '.userStories[] | {id, title, passes}' scripts/ralph/prd.json

# Learnings acumulate
cat scripts/ralph/progress.txt

# Logs per iterație
ls scripts/ralph/logs/

Structura proiectului

your-project/
├── scripts/ralph/
│   ├── ralph.sh          # Script principal
│   ├── prompt.md         # Instrucțiuni per iterație
│   ├── prd.json          # Task-uri și status (generat)
│   ├── progress.txt      # Learnings (generat)
│   ├── logs/             # Logs per iterație
│   └── archive/          # Rulări anterioare arhivate
├── tasks/
│   └── prd-*.md          # PRD-uri markdown
└── AGENTS.md             # Patterns codebase (opțional)

Format prd.json

{
  "projectName": "export-csv",
  "branchName": "ralph/export-csv",
  "description": "Adaugă export CSV pentru dashboard",
  "userStories": [
    {
      "id": "US-001",
      "title": "Funcție de conversie la CSV",
      "description": "Ca developer, vreau o funcție care convertește date în CSV",
      "priority": 1,
      "acceptanceCriteria": [
        "Funcția acceptă array de obiecte",
        "Returnează string CSV valid",
        "npm run typecheck passes"
      ],
      "passes": false,
      "notes": ""
    }
  ]
}

Reguli pentru stories bune

Mărime corectă (1 context window)

  • Adaugă un câmp în DB + migration
  • Creează un component UI simplu
  • Adaugă un endpoint API
  • Scrie tests pentru o funcție

Prea mare (trebuie spart)

  • "Implementează autentificarea completă"
  • "Creează dashboard-ul admin"
  • "Adaugă sistem notificări end-to-end"

Ordinea priorităților

  1. Schema/Database (priority: 1-10)
  2. Backend logic (priority: 11-20)
  3. API endpoints (priority: 21-30)
  4. UI components (priority: 31-40)
  5. Integration/polish (priority: 41-50)

Debugging

Story nu progresează

# Vezi ultimul log
cat scripts/ralph/logs/iteration-*.log | tail -100

Tests failing

Verifică că proiectul are comenzile necesare:

npm run typecheck  # sau equivalent
npm run lint       # opțional
npm run test       # opțional

Context overflow

Story-ul e prea mare - sparge-l în părți mai mici.

Diferențe față de Ralph original

Aspect Original (Amp) Adaptat (Claude Code)
CLI amp claude -p
Flag permisiuni --dangerously-allow-all --dangerously-skip-permissions
Skills location ~/.config/amp/skills/ ~/.claude/skills/
Output Direct + salvat în logs/

Skills incluse

Skill Descriere
/prd Generează PRD structurat cu întrebări clarificatoare
/ralph Convertește PRD markdown în prd.json pentru execuție

Credite

Licență

MIT

Description
No description provided
Readme 46 KiB
Languages
Shell 100%