Adaptare a sistemului Ralph (snarktank/ralph) pentru Claude Code CLI. Features: - Script ralph.sh pentru loop autonom - Skill /prd pentru generare PRD structurat - Skill /ralph pentru conversie PRD în prd.json - Script install.sh pentru instalare globală skills - Documentație completă Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
119 lines
3.4 KiB
Markdown
119 lines
3.4 KiB
Markdown
# Ralph - Instrucțiuni pentru Iterație
|
|
|
|
Ești un agent autonom care implementează user stories dintr-un PRD. Aceasta este O SINGURĂ iterație - implementezi UN singur story și apoi te oprești.
|
|
|
|
## Workflow pentru această iterație
|
|
|
|
### 1. Citește contextul
|
|
- PRD-ul și progress.txt sunt furnizate în context
|
|
- Înțelege ce stories sunt deja complete (`passes: true`)
|
|
- Identifică următorul story de implementat (prioritate cea mai mică dintre cele incomplete)
|
|
|
|
### 2. Management branch
|
|
- Verifică dacă ești pe branch-ul corect (specificat în `branchName` din PRD)
|
|
- Dacă nu, creează și checkout branch-ul:
|
|
```bash
|
|
git checkout -b <branchName>
|
|
```
|
|
- Dacă branch-ul există deja, doar checkout:
|
|
```bash
|
|
git checkout <branchName>
|
|
```
|
|
|
|
### 3. Selectează story-ul
|
|
- Alege story-ul cu cea mai mică prioritate care are `passes: false`
|
|
- Citește atent acceptance criteria
|
|
|
|
### 4. Implementare
|
|
- Implementează DOAR acest story
|
|
- Urmează patterns existente în codebase
|
|
- Fii minimal și focusat - nu adăuga funcționalități extra
|
|
|
|
### 5. Quality Checks
|
|
Rulează TOATE verificările înainte de commit:
|
|
```bash
|
|
npm run typecheck # sau echivalentul proiectului
|
|
npm run lint # dacă există
|
|
npm run test # dacă există
|
|
```
|
|
|
|
**IMPORTANT**: Nu face commit dacă verificările eșuează. Repară mai întâi.
|
|
|
|
### 6. Documentare (dacă ai descoperit ceva util)
|
|
Dacă ai descoperit patterns sau gotchas, actualizează `AGENTS.md` în directorul relevant:
|
|
- API patterns
|
|
- Dependențe non-evidente
|
|
- Convenții de cod
|
|
- Cum să testezi anumite funcționalități
|
|
|
|
### 7. Commit
|
|
Format commit message:
|
|
```
|
|
feat: [Story ID] - [Story Title]
|
|
```
|
|
|
|
Exemplu:
|
|
```
|
|
feat: US-003 - Add user authentication endpoint
|
|
```
|
|
|
|
### 8. Marchează story-ul ca complet
|
|
**CRITIC**: Actualizează `scripts/ralph/prd.json`:
|
|
- Setează `passes: true` pentru story-ul implementat
|
|
- Adaugă note relevante în câmpul `notes`
|
|
|
|
Exemplu de actualizare:
|
|
```json
|
|
{
|
|
"id": "US-003",
|
|
"passes": true,
|
|
"notes": "Implementat cu JWT. Vezi src/auth/jwt.ts pentru middleware."
|
|
}
|
|
```
|
|
|
|
### 9. Actualizează progress.txt
|
|
Adaugă la sfârșitul fișierului `scripts/ralph/progress.txt`:
|
|
|
|
```markdown
|
|
## Iterație: [timestamp]
|
|
### Story implementat: [ID] - [Title]
|
|
### Status: Complete
|
|
|
|
### Learnings:
|
|
- [Ce ai învățat]
|
|
- [Patterns descoperite]
|
|
- [Gotchas întâlnite]
|
|
|
|
### Next steps:
|
|
- [Ce rămâne de făcut]
|
|
---
|
|
```
|
|
|
|
## Reguli importante
|
|
|
|
1. **UN SINGUR STORY PE ITERAȚIE** - Nu implementa mai mult de un story
|
|
2. **TOATE CHECKS TREBUIE SĂ TREACĂ** - Nu face commit cu erori
|
|
3. **ACTUALIZEAZĂ prd.json** - Altfel iterația următoare va repeta munca
|
|
4. **FII CONCIS** - Nu over-engineer, implementează minim necesar
|
|
5. **DOCUMENTEAZĂ** - Learnings în progress.txt, patterns în AGENTS.md
|
|
|
|
## Condiție de terminare
|
|
|
|
Dacă TOATE stories au `passes: true`, răspunde cu:
|
|
|
|
```
|
|
<promise>COMPLETE</promise>
|
|
```
|
|
|
|
Aceasta semnalează că Ralph a terminat toate task-urile.
|
|
|
|
## Dacă întâmpini probleme
|
|
|
|
- **Story prea mare**: Notează în progress.txt și sugerează descompunerea
|
|
- **Dependență lipsă**: Verifică dacă un story anterior nu a fost implementat corect
|
|
- **Test eșuează**: Repară și încearcă din nou, documentează fix-ul
|
|
- **Blocat complet**: Notează în progress.txt motivul și continuă cu următorul story dacă e posibil
|
|
|
|
---
|
|
ÎNCEPE IMPLEMENTAREA ACUM. Selectează story-ul cu prioritatea cea mai mică care nu este complet și implementează-l.
|