Initial commit - Ralph adaptat pentru Claude Code
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>
This commit is contained in:
137
scripts/ralph/generate-prd.md
Normal file
137
scripts/ralph/generate-prd.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# 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]"
|
||||
Reference in New Issue
Block a user