Add Ralph setup documentation
This commit is contained in:
159
RALPH-SETUP.md
Normal file
159
RALPH-SETUP.md
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
# Ralph Setup Complete ✅
|
||||||
|
|
||||||
|
**Data:** 2026-02-09
|
||||||
|
**Locație:** moltbot (LXC 110)
|
||||||
|
|
||||||
|
## Ce am făcut
|
||||||
|
|
||||||
|
### 1. Instalat skill Ralph în Claude Code
|
||||||
|
```bash
|
||||||
|
~/.claude/skills/ralph/
|
||||||
|
├── SKILL.md # Documentație skill
|
||||||
|
├── commands/
|
||||||
|
│ ├── prd.md # Workflow /ralph:prd
|
||||||
|
│ └── convert.md # Workflow /ralph:convert
|
||||||
|
├── templates/
|
||||||
|
│ ├── ralph.sh # Loop autonom
|
||||||
|
│ ├── prompt.md # Instrucțiuni per iterație
|
||||||
|
│ └── prd-template.json
|
||||||
|
└── examples/
|
||||||
|
└── prd-hello-api.json
|
||||||
|
```
|
||||||
|
|
||||||
|
**Comenzi disponibile în Claude Code:**
|
||||||
|
- `/ralph:prd` - Generează PRD cu întrebări adaptive
|
||||||
|
- `/ralph:convert` - Convertește PRD în prd.json + configurare
|
||||||
|
|
||||||
|
### 2. Creat helper Python
|
||||||
|
**Locație:** `~/clawd/tools/ralph_workflow.py`
|
||||||
|
|
||||||
|
**Funcții pentru Echo:**
|
||||||
|
```python
|
||||||
|
from tools.ralph_workflow import create_prd, convert_prd, run_ralph, check_status
|
||||||
|
|
||||||
|
# Creează proiect complet
|
||||||
|
prd = create_prd("project-name", "descriere")
|
||||||
|
prd_json = convert_prd(prd)
|
||||||
|
run_ralph(prd_json, max_iterations=20, background=True)
|
||||||
|
|
||||||
|
# Verifică progres
|
||||||
|
status = check_status(Path("~/workspace/project-name"))
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Actualizat documentație
|
||||||
|
- ✅ AGENTS.md - workflow night-execute cu Ralph local
|
||||||
|
- ✅ TOOLS.md - adăugat ralph_workflow.py
|
||||||
|
- ✅ memory/kb/tools/ralph-workflow.md - documentație completă
|
||||||
|
- ✅ Git commit + push către gitea
|
||||||
|
|
||||||
|
## Workflow complet (pentru Echo)
|
||||||
|
|
||||||
|
### Evening Report (20:00)
|
||||||
|
Echo propune proiecte/features → Marius aprobă
|
||||||
|
|
||||||
|
### Night Execute (23:00)
|
||||||
|
```python
|
||||||
|
# Planning cu Opus (Echo)
|
||||||
|
prd = create_prd(
|
||||||
|
"task-tracker",
|
||||||
|
"Task tracker simplu pentru CLI cu SQLite"
|
||||||
|
)
|
||||||
|
prd_json = convert_prd(prd)
|
||||||
|
|
||||||
|
# Lansare Ralph autonom (Sonnet)
|
||||||
|
run_ralph(prd_json, max_iterations=20, background=True)
|
||||||
|
|
||||||
|
# Git push
|
||||||
|
cd ~/workspace/task-tracker
|
||||||
|
git init && git add . && git commit -m "Initial"
|
||||||
|
git remote add origin https://gitea.romfast.ro/romfast/task-tracker
|
||||||
|
git push -u origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
### Morning Report (08:30)
|
||||||
|
```python
|
||||||
|
# Verifică status
|
||||||
|
status = check_status(Path.home() / "workspace" / "task-tracker")
|
||||||
|
|
||||||
|
# Raportează în Discord
|
||||||
|
f"""
|
||||||
|
## 🔄 Proiecte Ralph
|
||||||
|
|
||||||
|
### task-tracker
|
||||||
|
- ✅ Complete: {len(status['complete'])} stories
|
||||||
|
- 🔄 Incomplete: {len(status['incomplete'])} stories
|
||||||
|
- 📚 Learnings: {status['learnings'][-3:]}
|
||||||
|
- 🔗 https://gitea.romfast.ro/romfast/task-tracker
|
||||||
|
"""
|
||||||
|
```
|
||||||
|
|
||||||
|
## Diferențe față de sistemul vechi
|
||||||
|
|
||||||
|
| Înainte (claude-agent) | Acum (moltbot) |
|
||||||
|
|------------------------|----------------|
|
||||||
|
| SSH către LXC 171 | Local pe LXC 110 |
|
||||||
|
| `/workspace/` pe claude-agent | `~/workspace/` pe moltbot |
|
||||||
|
| Manual SSH + claude exec | Python helper automat |
|
||||||
|
| Monitoring manual | `check_status()` automat |
|
||||||
|
|
||||||
|
## Test rapid
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Test manual cu Claude Code
|
||||||
|
cd ~/workspace
|
||||||
|
mkdir test-ralph && cd test-ralph
|
||||||
|
|
||||||
|
claude exec "/ralph:prd
|
||||||
|
|
||||||
|
Vreau un calculator simplu CLI cu Python.
|
||||||
|
Features: add, subtract, multiply, divide."
|
||||||
|
|
||||||
|
# Apoi
|
||||||
|
claude exec "/ralph:convert
|
||||||
|
|
||||||
|
Convertește PRD din tasks/prd-calculator.md"
|
||||||
|
|
||||||
|
# Rulează Ralph
|
||||||
|
./scripts/ralph/ralph.sh 5 # max 5 iterații pentru test
|
||||||
|
|
||||||
|
# Verifică status
|
||||||
|
jq '.userStories[] | {id, title, passes}' scripts/ralph/prd.json
|
||||||
|
```
|
||||||
|
|
||||||
|
## Sau cu Python helper
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 ~/clawd/tools/ralph_workflow.py create "test-calculator" "Calculator simplu CLI cu Python"
|
||||||
|
|
||||||
|
# Monitorizează
|
||||||
|
python3 ~/clawd/tools/ralph_workflow.py status "test-calculator"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Link-uri utile
|
||||||
|
|
||||||
|
- **Documentație completă:** `memory/kb/tools/ralph-workflow.md`
|
||||||
|
- **Helper Python:** `tools/ralph_workflow.py`
|
||||||
|
- **Skill:** `~/.claude/skills/ralph/`
|
||||||
|
- **Workspace:** `~/workspace/`
|
||||||
|
- **Files web:** https://moltbot.tailf7372d.ts.net/echo/files.html#memory/kb/tools/ralph-workflow.md
|
||||||
|
|
||||||
|
## Ce face Ralph automat
|
||||||
|
|
||||||
|
1. Citește prd.json cu stories
|
||||||
|
2. Selectează story cu priority minimă (passes=false)
|
||||||
|
3. Rulează Claude Code pentru implementare
|
||||||
|
4. Quality checks: typecheck, lint, test
|
||||||
|
5. Git commit dacă OK
|
||||||
|
6. Marchează passes=true
|
||||||
|
7. Update progress.txt cu learnings
|
||||||
|
8. Repetă până complete sau max iterations
|
||||||
|
|
||||||
|
## Model Strategy
|
||||||
|
|
||||||
|
- **Opus** (Echo) → Planning, PRD, stories
|
||||||
|
- **Sonnet** (Ralph) → Coding, implementare, debugging
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Status:** ✅ Ready to use
|
||||||
|
**Next:** Test cu primul proiect real în night-execute
|
||||||
Reference in New Issue
Block a user