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>
3.0 KiB
3.0 KiB
Skill: Generare PRD pentru Ralph
Când utilizatorul cere să generezi un PRD pentru Ralph, urmează acest workflow:
Pas 1: Întrebări de clarificare
Pune 3-5 întrebări pentru a înțelege feature-ul:
Exemplu:
Pentru a genera un PRD bun, am nevoie de câteva clarificări:
A) Care este scopul principal al feature-ului?
1. Funcționalitate nouă pentru utilizatori
2. Îmbunătățire performanță
3. Refactoring/cleanup cod
4. Altceva: [descrie]
B) Cine sunt utilizatorii țintă?
1. End users
2. Developers/Admin
3. Sistem automatizat
4. Altceva: [descrie]
C) Care sunt constrângerile tehnice?
1. Trebuie să folosească framework/librărie existentă
2. Fără dependențe noi
3. Flexibil
4. Altceva: [descrie]
Pas 2: Generează PRD Markdown
După clarificări, generează documentul în /tasks/prd-[feature-name].md:
# PRD: [Feature Name]
## 1. Introducere
[Descriere scurtă a feature-ului și contextul]
## 2. Obiective
- Obiectiv principal
- Obiective secundare
- Metrici de succes
## 3. User Stories
### US-001: [Titlu]
**Ca** [tip utilizator]
**Vreau** [funcționalitate]
**Pentru că** [beneficiu]
**Acceptance Criteria:**
- [ ] Criteriu 1 specific și testabil
- [ ] Criteriu 2 specific și testabil
- [ ] npm run typecheck passes
### US-002: [Titlu]
...
## 4. Cerințe Funcționale
1. [Cerință 1]
2. [Cerință 2]
...
## 5. Non-Goals (Ce NU facem)
- [Explicit ce nu este în scope]
## 6. Considerații Tehnice
- Stack tehnologic
- Patterns de urmat
- Dependențe
## 7. Considerații UI/UX
- [Dacă e relevant]
## 8. Success Metrics
- [Cum măsurăm succesul]
## 9. Open Questions
- [Întrebări nerezolvate]
Pas 3: Convertește în prd.json
După aprobare, convertește PRD-ul markdown în format JSON pentru Ralph:
{
"projectName": "feature-name",
"branchName": "ralph/feature-name",
"description": "Descriere din PRD",
"userStories": [
{
"id": "US-001",
"title": "Titlu din PRD",
"description": "Ca [user], vreau [feature] pentru că [benefit]",
"priority": 1,
"acceptanceCriteria": [
"Criteriu 1",
"Criteriu 2",
"npm run typecheck passes"
],
"passes": false,
"notes": ""
}
]
}
Salvează în scripts/ralph/prd.json.
Reguli importante pentru stories
✅ Story de mărime corectă (UN context window):
- Adaugă un câmp în baza de date
- Creează un component UI simplu
- Adaugă un endpoint API
- Scrie tests pentru o funcție
❌ Story prea mare (trebuie spart):
- "Implementează autentificarea completă"
- "Creează dashboard-ul admin"
- "Adaugă sistem de notificări"
Ordinea priorităților:
- Schema/Database changes
- Backend logic
- API endpoints
- UI components
- Integration/polish
Acceptance criteria trebuie să fie:
- Specifice și verificabile
- Nu vagi ("funcționează bine", "UX bun")
- Include întotdeauna
npm run typecheck passes - Pentru UI: "Verifică în browser că [specific behavior]"