Files
ralph-vibe/progress.txt
Debian 75294a2daf feat: Add phase-by-phase prompt generation for complex projects
- Generate prompts/phase{1-4}-prompt.txt files with phase-specific tasks
- Update GUIDE.md with phase-by-phase execution instructions
- Include both /ralph-wiggum and bash loop alternatives for each phase
- Each phase prompt references PROMPT.md and focuses on one phase only
- Add tech-stack-specific build/test/lint commands per phase

Also includes fix for JSON parsing with markdown code fences.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 04:40:05 +00:00

166 lines
7.7 KiB
Plaintext

# Progress Log - Ralph PRD Generator
# Format: [TIMESTAMP] [ITERATION] [STATUS] - [DETAILS]
# Agent: Append only, never modify previous entries
---
[2026-01-10T12:08:00Z] [1] [COMPLETE] - Phase 1 Foundation implemented
- TypeScript project with strict mode configured
- tsup build system with ESM output
- vitest testing framework (36 tests passing)
- ESLint flat config with TypeScript support
- Commander.js CLI framework with all 4 commands
- Config management for API keys (~/.ralph-generator/config.json)
- Keys stored with 600 permissions, env vars override file config
- Validation command works (tested on PROMPT.md)
- All Phase 1 acceptance criteria met:
* ralph-vibe --help shows all commands
* ralph-vibe init/new/validate/research exist
* ralph-vibe new fails gracefully without keys
[2026-01-10T12:18:00Z] [2] [COMPLETE] - Phase 2 Core API Integration implemented
- Claude API client with Anthropic SDK
* Retry logic with exponential backoff (3 attempts)
* Handles auth errors, rate limits, server errors
* Architecture classification with JSON parsing
* Research query generation
- Perplexity API client with native fetch
* Retry logic with exponential backoff
* Response parsing with sources and citations
* Research queries execution
- Prompt templates for architecture classification
- Default query generation for fallback
- ArchitectureGenerator for full pipeline
- 80 tests passing, all lint checks pass
- All Phase 2 acceptance criteria met:
* Can send prompt to Claude and receive response
* Retries on failure with exponential backoff
* Can search Perplexity and parse response with sources
* Given idea text, returns valid Architecture JSON
* Given architecture, generates 4-6 relevant search queries
[2026-01-10T21:10:00Z] [3] [COMPLETE] - Phase 3 Generation Pipeline implemented
- SpecificationGenerator: generates features, data models, interfaces from idea + research
* Parses Claude JSON response with validation
* Handles markdown code blocks in responses
* Normalizes all specification fields
- PRDGenerator: generates all PRD files
* PROMPT.md with Ralph Method structure
* prd.json with features set to passes: false
* GUIDE.md personalized to project
* CLAUDE.md with tech stack commands
* progress.txt initialized
- ScaffoldGenerator: creates complete project structure
* App-type aware directory structure (CLI, web, desktop, library)
* docs/ folder with all documentation
* agent_docs/ folder with tech stack, code patterns, testing guides
* .gitignore appropriate for tech stack
* Git initialization with initial commit
* Atomic file writes using temp + rename
- Interactive prompts with Inquirer.js
* Architecture confirmation/modification
* Research query confirmation/modification
* Specification confirmation
* Scaffold creation confirmation
- Full pipeline integration in new command
* --idea-file support for file input
* --skip-research to bypass Perplexity
* --skip-confirm for non-interactive mode
* --dry-run to preview without writing
* Graceful handling when Perplexity key missing
- 110 tests passing, all lint checks pass
- All Phase 3 acceptance criteria met:
* SpecificationGenerator produces valid Specification object
* PRD generation creates all required files with promise tags
* ralph-vibe new test-app creates complete directory with all files
* User can confirm or modify architecture classification interactively
[2026-01-10T21:15:00Z] [4] [COMPLETE] - Phase 4 Polish implemented
- Validate command fully implemented
* Checks required sections (Objective, Application Type, Tech Stack, Completion Criteria)
* Detects missing promise tags
* Detects ambiguous language (should, might, could, possibly, maybe)
* Checks for verification commands in completion criteria
* Outputs specific suggestions for fixes
* Exit code 0 if valid, 1 if issues found
- Standalone research command implemented
* Uses Perplexity API to research any topic
* Outputs formatted markdown with sources
* Supports --output flag to save to file
* Supports --verbose for detailed progress
- Dry-run mode verified working
* --dry-run flag shows structure without writing files
* Logs all files that would be created
- Comprehensive documentation created
* README.md with full installation, usage, commands, options
* All commands documented with examples
* Environment variable configuration documented
* Troubleshooting section included
- Examples directory created
* examples/test-idea.txt - sample idea for testing
* examples/sample-PROMPT.md - example generated PROMPT.md
* examples/sample-prd.json - example generated prd.json
* examples/README.md - documentation for examples
- npm packaging verified
* npm pack succeeds
* npm publish --dry-run succeeds
* prepublishOnly hook runs build, test, lint
- 110 tests passing, all lint checks pass
- All Phase 4 acceptance criteria met:
* ralph-vibe validate reports issues or confirms valid
* ralph-vibe research outputs formatted research
* --dry-run flag shows output without creating files
* README.md covers all commands, examples directory exists
* npm pack succeeds, npm publish --dry-run succeeds
[2026-01-10T21:15:00Z] [4] [PROJECT COMPLETE] - All completion criteria verified:
1. npm run build exits 0 ✓
2. npm run test exits 0 with 110 tests passing ✓
3. npm run lint exits 0 ✓
4. ralph-vibe --help displays all commands ✓
5. ralph-vibe init stores and validates keys ✓
6. ralph-vibe new generates complete scaffold ✓
7. Generated PROMPT.md passes ralph-vibe validate ✓
8. All generated files are syntactically valid ✓
9. README.md documents all commands and options ✓
10. npm publish --dry-run succeeds ✓
[2026-01-11T03:21:00Z] [5] [FIX] - Fixed JSON parsing for Claude responses wrapped in markdown code fences
- Added stripCodeFences() utility function to src/utils/files.ts
- Updated src/generators/specification.ts to use stripCodeFences
- Updated src/clients/claude.ts in 3 places:
* parseArchitectureResponse()
* parseQueriesResponse()
* generateSpec()
- The new approach handles edge cases better than the regex match approach
- Build and all 110 tests pass
[2026-01-11T04:37:00Z] [6] [FEATURE] - Phase-by-phase prompt generation
- Modified src/generators/scaffold.ts:
* Added prompts/ directory creation
* Added writePhasePrompts() method to generate 4 phase-specific prompt files
* Added generatePhasePrompt() to create individual phase prompts
* Added helper methods for build/test/lint commands per language
* Updated dry-run structure logging to include prompts/
- Modified src/generators/prd.ts:
* Rewrote generateGuideMd() to generate deterministic phase-by-phase guide
* GUIDE.md now includes 4 phases with:
- /ralph-wiggum:ralph-loop command for each phase
- Verification command after each phase
- Bash loop alternative for each phase
* Still includes full project execution as alternative
- Updated test in src/__tests__/prd.test.ts to match new GUIDE.md format
- Generated files:
* prompts/phase1-prompt.txt - Foundation phase
* prompts/phase2-prompt.txt - Core phase
* prompts/phase3-prompt.txt - Integration phase
* prompts/phase4-prompt.txt - Polish phase
- Each phase prompt includes:
* Reference to PROMPT.md for context
* Phase-specific tasks from prd.json
* Working instructions with tech-stack-specific commands
* Phase-specific completion promise (PHASE_X_COMPLETE)
- Build succeeds, all 110 tests pass, lint clean
- Tested with ralph-vibe new word-counter - all phase files generated correctly