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>
138 lines
3.0 KiB
Markdown
138 lines
3.0 KiB
Markdown
# 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`:
|
|
|
|
```markdown
|
|
# 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:
|
|
|
|
```json
|
|
{
|
|
"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:
|
|
1. Schema/Database changes
|
|
2. Backend logic
|
|
3. API endpoints
|
|
4. UI components
|
|
5. 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]"
|