188 lines
4.4 KiB
Markdown
188 lines
4.4 KiB
Markdown
# nick-tracker - Implementation Guide
|
|
|
|
## Overview
|
|
|
|
This guide walks you through implementing nick-tracker using the Ralph Method with phase-by-phase execution.
|
|
|
|
**Tech Stack**: TypeScript / NestJS 10
|
|
**Features**: 10
|
|
**Estimated Cost**: ~$5.00 (at ~$0.50/feature)
|
|
|
|
## Prerequisites
|
|
|
|
1. Read `PROMPT.md` for full project requirements
|
|
2. Review `prd.json` for feature tracking
|
|
3. Ensure your environment is set up for TypeScript
|
|
|
|
## Execution
|
|
|
|
Execute each phase in order. Do not proceed to the next phase until the current phase is complete.
|
|
|
|
### Phase 1: Foundation
|
|
|
|
```bash
|
|
/ralph-wiggum:ralph-loop "$(cat prompts/phase1-prompt.txt)" --max-iterations 30 --completion-promise "PHASE_1_COMPLETE"
|
|
```
|
|
|
|
**Verify**:
|
|
```bash
|
|
npm run build && npm run test && npm run lint
|
|
```
|
|
|
|
**Bash loop alternative** (if plugin unavailable):
|
|
```bash
|
|
PROMPT=$(cat prompts/phase1-prompt.txt)
|
|
MAX_ITERATIONS=30
|
|
COMPLETION_PROMISE="PHASE_1_COMPLETE"
|
|
|
|
for i in $(seq 1 $MAX_ITERATIONS); do
|
|
echo "=== Iteration $i of $MAX_ITERATIONS ==="
|
|
RESPONSE=$(claude -p "$PROMPT")
|
|
echo "$RESPONSE"
|
|
if echo "$RESPONSE" | grep -q "$COMPLETION_PROMISE"; then
|
|
echo "Phase 1 complete!"
|
|
break
|
|
fi
|
|
if echo "$RESPONSE" | grep -q "ABORT_BLOCKED"; then
|
|
echo "Blocked - manual intervention required"
|
|
break
|
|
fi
|
|
done
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 2: Core
|
|
|
|
```bash
|
|
/ralph-wiggum:ralph-loop "$(cat prompts/phase2-prompt.txt)" --max-iterations 40 --completion-promise "PHASE_2_COMPLETE"
|
|
```
|
|
|
|
**Verify**:
|
|
```bash
|
|
npm run build && npm run test && npm run lint
|
|
```
|
|
|
|
**Bash loop alternative**:
|
|
```bash
|
|
PROMPT=$(cat prompts/phase2-prompt.txt)
|
|
MAX_ITERATIONS=40
|
|
COMPLETION_PROMISE="PHASE_2_COMPLETE"
|
|
|
|
for i in $(seq 1 $MAX_ITERATIONS); do
|
|
echo "=== Iteration $i of $MAX_ITERATIONS ==="
|
|
RESPONSE=$(claude -p "$PROMPT")
|
|
echo "$RESPONSE"
|
|
if echo "$RESPONSE" | grep -q "$COMPLETION_PROMISE"; then
|
|
echo "Phase 2 complete!"
|
|
break
|
|
fi
|
|
if echo "$RESPONSE" | grep -q "ABORT_BLOCKED"; then
|
|
echo "Blocked - manual intervention required"
|
|
break
|
|
fi
|
|
done
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 3: Integration
|
|
|
|
```bash
|
|
/ralph-wiggum:ralph-loop "$(cat prompts/phase3-prompt.txt)" --max-iterations 40 --completion-promise "PHASE_3_COMPLETE"
|
|
```
|
|
|
|
**Verify**:
|
|
```bash
|
|
npm run build && npm run test && npm run lint
|
|
```
|
|
|
|
**Bash loop alternative**:
|
|
```bash
|
|
PROMPT=$(cat prompts/phase3-prompt.txt)
|
|
MAX_ITERATIONS=40
|
|
COMPLETION_PROMISE="PHASE_3_COMPLETE"
|
|
|
|
for i in $(seq 1 $MAX_ITERATIONS); do
|
|
echo "=== Iteration $i of $MAX_ITERATIONS ==="
|
|
RESPONSE=$(claude -p "$PROMPT")
|
|
echo "$RESPONSE"
|
|
if echo "$RESPONSE" | grep -q "$COMPLETION_PROMISE"; then
|
|
echo "Phase 3 complete!"
|
|
break
|
|
fi
|
|
if echo "$RESPONSE" | grep -q "ABORT_BLOCKED"; then
|
|
echo "Blocked - manual intervention required"
|
|
break
|
|
fi
|
|
done
|
|
```
|
|
|
|
---
|
|
|
|
### Phase 4: Polish
|
|
|
|
```bash
|
|
/ralph-wiggum:ralph-loop "$(cat prompts/phase4-prompt.txt)" --max-iterations 30 --completion-promise "PHASE_4_COMPLETE"
|
|
```
|
|
|
|
**Verify**:
|
|
```bash
|
|
npm run build && npm run test && npm run lint
|
|
```
|
|
|
|
**Bash loop alternative**:
|
|
```bash
|
|
PROMPT=$(cat prompts/phase4-prompt.txt)
|
|
MAX_ITERATIONS=30
|
|
COMPLETION_PROMISE="PHASE_4_COMPLETE"
|
|
|
|
for i in $(seq 1 $MAX_ITERATIONS); do
|
|
echo "=== Iteration $i of $MAX_ITERATIONS ==="
|
|
RESPONSE=$(claude -p "$PROMPT")
|
|
echo "$RESPONSE"
|
|
if echo "$RESPONSE" | grep -q "$COMPLETION_PROMISE"; then
|
|
echo "Phase 4 complete!"
|
|
break
|
|
fi
|
|
if echo "$RESPONSE" | grep -q "ABORT_BLOCKED"; then
|
|
echo "Blocked - manual intervention required"
|
|
break
|
|
fi
|
|
done
|
|
```
|
|
|
|
---
|
|
|
|
## Full Project Execution (Alternative)
|
|
|
|
If you prefer to run the entire project in one loop:
|
|
|
|
```bash
|
|
/ralph-wiggum:ralph-loop "$(cat PROMPT.md)" --max-iterations 100 --completion-promise "PROJECT_COMPLETE"
|
|
```
|
|
|
|
**Note**: Phase-by-phase execution is recommended for complex projects as it provides better control and verification checkpoints.
|
|
|
|
## Tracking Progress
|
|
|
|
- Check `prd.json` to see which features have `passes: true`
|
|
- Review `progress.txt` for the implementation log
|
|
- All phases complete when all features pass
|
|
|
|
## Troubleshooting
|
|
|
|
If the agent outputs `ABORT_BLOCKED`:
|
|
1. Review the error message
|
|
2. Fix the blocking issue manually
|
|
3. Re-run the current phase
|
|
|
|
If iterations exhaust without completion:
|
|
1. Check `progress.txt` for what was accomplished
|
|
2. Review `prd.json` for remaining features
|
|
3. Increase `--max-iterations` and re-run
|
|
|
|
---
|
|
|
|
*Generated with [Ralph PRD Generator](https://github.com/your-username/ralph-vibe)*
|