feat(ralph): v1.2.0 - Copy templates from plugin instead of generating
Convert now finds the plugin location and copies prompt.md and ralph.sh directly from templates/, ensuring consistency across projects and automatic sync when running /ralph:convert again. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
"name": "ralph",
|
"name": "ralph",
|
||||||
"source": "./plugins/ralph",
|
"source": "./plugins/ralph",
|
||||||
"description": "Autonomous loop for PRD implementation - context detection, adaptive questions, browser verification",
|
"description": "Autonomous loop for PRD implementation - context detection, adaptive questions, browser verification",
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"keywords": ["ralph", "prd", "autonomous", "agent", "loop", "browser", "verification"]
|
"keywords": ["ralph", "prd", "autonomous", "agent", "loop", "browser", "verification"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "ralph",
|
"name": "ralph",
|
||||||
"description": "Autonomous loop for PRD implementation with Claude Code - context detection, adaptive questions, browser verification",
|
"description": "Autonomous loop for PRD implementation with Claude Code - context detection, adaptive questions, browser verification",
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Romfast Team"
|
"name": "Romfast Team"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -246,37 +246,39 @@ Fiecare story TREBUIE să aibă:
|
|||||||
- Comanda reală de typecheck: `{TYPECHECK_COMMAND} passes`
|
- Comanda reală de typecheck: `{TYPECHECK_COMMAND} passes`
|
||||||
- Pentru UI: `Verificare vizuală browser: [specific behavior]`
|
- Pentru UI: `Verificare vizuală browser: [specific behavior]`
|
||||||
|
|
||||||
### Pas 10: Copiază și actualizează fișierele Ralph
|
### Pas 10: Copiază template-urile Ralph din plugin
|
||||||
|
|
||||||
**Copiază template-urile din plugin:**
|
**IMPORTANT**: Copiază fișierele template direct din plugin pentru a asigura consistența.
|
||||||
- `scripts/ralph/ralph.sh` - scriptul principal (din templates/ralph.sh)
|
|
||||||
- `scripts/ralph/prompt.md` - instrucțiunile per iterație (din templates/prompt.md)
|
|
||||||
|
|
||||||
**Actualizează prompt.md cu comenzile reale:**
|
**Execută următoarele comenzi:**
|
||||||
|
|
||||||
Înlocuiește placeholder-ii din prompt.md:
|
|
||||||
```
|
|
||||||
{START_COMMAND} → npm run dev (sau comanda reală)
|
|
||||||
{BUILD_COMMAND} → npm run build
|
|
||||||
{LINT_COMMAND} → npm run lint
|
|
||||||
{TYPECHECK_COMMAND}→ npm run typecheck
|
|
||||||
{TEST_COMMAND} → npm test
|
|
||||||
{PORT} → 3000 (sau portul real)
|
|
||||||
```
|
|
||||||
|
|
||||||
**Template prompt.md actualizat:**
|
|
||||||
|
|
||||||
În secțiunea Quality Checks, înlocuiește:
|
|
||||||
```markdown
|
|
||||||
### 5. Quality Checks
|
|
||||||
Rulează TOATE verificările înainte de commit:
|
|
||||||
```bash
|
```bash
|
||||||
{TYPECHECK_COMMAND} # Type checking
|
# Găsește locația plugin-ului Ralph
|
||||||
{LINT_COMMAND} # Linting
|
RALPH_PLUGIN=$(find /workspace -type f -name "ralph.sh" -path "*/plugins/ralph/templates/*" 2>/dev/null | head -1 | xargs dirname 2>/dev/null)
|
||||||
{TEST_COMMAND} # Tests (dacă există)
|
|
||||||
```
|
# Verifică că plugin-ul a fost găsit
|
||||||
|
if [ -z "$RALPH_PLUGIN" ]; then
|
||||||
|
echo "EROARE: Nu am găsit plugin-ul Ralph în /workspace"
|
||||||
|
echo "Asigură-te că claude-plugins este clonat în /workspace"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Plugin Ralph găsit în: $RALPH_PLUGIN"
|
||||||
|
|
||||||
|
# Copiază template-urile
|
||||||
|
cp "$RALPH_PLUGIN/prompt.md" scripts/ralph/
|
||||||
|
cp "$RALPH_PLUGIN/ralph.sh" scripts/ralph/
|
||||||
|
chmod +x scripts/ralph/ralph.sh
|
||||||
|
|
||||||
|
echo "Template-uri copiate din plugin"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Dacă plugin-ul NU este găsit:**
|
||||||
|
- Informează utilizatorul că trebuie să cloneze `claude-plugins` în `/workspace`
|
||||||
|
- Sau să specifice manual locația plugin-ului
|
||||||
|
|
||||||
|
**NU genera fișierele manual** - copiază-le întotdeauna din plugin pentru a păstra consistența și a beneficia de actualizări.
|
||||||
|
|
||||||
### Pas 11: Inițializează progress.txt
|
### Pas 11: Inițializează progress.txt
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -343,7 +345,8 @@ IMPORTANT:
|
|||||||
|
|
||||||
- `scripts/ralph/prd.json` - task-urile în format JSON cu tech stack info
|
- `scripts/ralph/prd.json` - task-urile în format JSON cu tech stack info
|
||||||
- `scripts/ralph/progress.txt` - log inițializat
|
- `scripts/ralph/progress.txt` - log inițializat
|
||||||
- `scripts/ralph/prompt.md` - cu comenzile reale ale proiectului
|
- `scripts/ralph/prompt.md` - copiat din plugin (single source of truth)
|
||||||
|
- `scripts/ralph/ralph.sh` - copiat din plugin (single source of truth)
|
||||||
- `scripts/ralph/screenshots/` - director pentru verificări vizuale
|
- `scripts/ralph/screenshots/` - director pentru verificări vizuale
|
||||||
- `.claude/settings.json` - permissions allow-list pentru tech stack
|
- `.claude/settings.json` - permissions allow-list pentru tech stack
|
||||||
- Structura de directoare completă
|
- Structura de directoare completă
|
||||||
@@ -357,4 +360,4 @@ IMPORTANT:
|
|||||||
5. **Criterii verificabile** - nu vagi, ci specifice
|
5. **Criterii verificabile** - nu vagi, ci specifice
|
||||||
6. **Inițializează `passes: false`** pentru toate stories
|
6. **Inițializează `passes: false`** pentru toate stories
|
||||||
7. **Generează settings.json** - pentru allow-list permissions
|
7. **Generează settings.json** - pentru allow-list permissions
|
||||||
8. **Actualizează prompt.md** - cu comenzile reale ale proiectului
|
8. **COPIAZĂ template-urile din plugin** - NU le genera manual, folosește `find` pentru a localiza plugin-ul și copiază `prompt.md` și `ralph.sh` din templates/
|
||||||
|
|||||||
Reference in New Issue
Block a user