Implement Phase 1: Foundation
- Set up TypeScript project with strict mode - Configure tsup build system (ESM output) - Configure vitest for testing (36 tests passing) - Configure ESLint with flat config for TypeScript - Implement Commander.js CLI with all 4 commands: - init: Configure API keys with validation - new: Create new Ralph Method project (stub) - validate: Validate PROMPT.md files - research: Research topics via Perplexity (stub) - Implement config management: - Keys stored in ~/.ralph-generator/config.json - File permissions set to 600 - Environment variables override file config - Implement logging utility with verbosity levels - Implement atomic file writes utility All Phase 1 acceptance criteria met. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
37
.claude/ralph-loop.local.md
Normal file
37
.claude/ralph-loop.local.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
active: true
|
||||
iteration: 1
|
||||
max_iterations: 30
|
||||
completion_promise: "PHASE_1_COMPLETE"
|
||||
started_at: "2026-01-10T12:00:45Z"
|
||||
---
|
||||
|
||||
Execute Phase 1 - Foundation from PROMPT.md.
|
||||
|
||||
You are building the Ralph PRD Generator CLI tool.
|
||||
|
||||
Read PROMPT.md for full specification.
|
||||
Read prd.json for feature tracking.
|
||||
Read CLAUDE.md for project configuration.
|
||||
|
||||
Phase 1 tasks:
|
||||
1. Set up TypeScript project with all dependencies
|
||||
2. Configure tsup, vitest, eslint
|
||||
3. Implement CLI framework with Commander.js
|
||||
4. Implement config management for API key storage
|
||||
5. Create basic project structure
|
||||
6. Write tests for config and CLI
|
||||
|
||||
For each feature:
|
||||
1. Write tests first
|
||||
2. Implement the feature
|
||||
3. Run: npm run build && npm run test && npm run lint
|
||||
4. If all pass, update prd.json by setting passes to true for completed features
|
||||
5. Commit with descriptive message
|
||||
6. Append progress to progress.txt
|
||||
|
||||
When ALL Phase 1 features in prd.json have passes set to true:
|
||||
Output <promise>PHASE_1_COMPLETE</promise>
|
||||
|
||||
If blocked after 10 attempts on same issue:
|
||||
Document in progress.txt and output <promise>PHASE_1_BLOCKED</promise>
|
||||
Reference in New Issue
Block a user