Commit graph

13 commits

Author SHA1 Message Date
frankbria
68e150d8b2 Fix Claude Code package name: @anthropic-ai/claude-code
- Updated from @anthropic/claude-code to @anthropic-ai/claude-code
- This was causing npm 404 errors when trying to execute Claude Code
- Fixed in ralph_loop.sh, ralph_import.sh, install.sh, and README.md
- Ralph should now be able to successfully execute Claude Code commands
2025-08-27 16:13:57 -07:00
frankbria
2a5452c18f Fix critical bug: incorrect return code check in exit logic
The issue was in line 378: if [[ $? -eq 0 ]]
- $? was checking the return code of 'local exit_reason=$(...)'
- This command always succeeds, so $? was always 0
- This caused Ralph to always exit immediately after loop #1

Fixed by:
- Calling should_exit_gracefully directly in the if condition
- Only calling it again to get exit reason if it returns 0 (exit needed)
- This properly checks the function's actual return code
2025-08-27 16:12:09 -07:00
frankbria
a09957c068 Add debug logging for @fix_plan.md completion check
- Add logging to show total_items and completed_items counts
- Add final debug statement to confirm function completion
- This will help identify if the fix_plan completion check is the culprit
2025-08-27 16:09:56 -07:00
frankbria
a3c2b0cec1 Fix silent exit bug: redirect debug logging to stderr
- The debug log_status calls in should_exit_gracefully() were being
  captured as stdout when called with
- This caused the debug messages to be treated as the exit reason
- Fixed by redirecting debug logging to stderr with >&2
- Ralph should now continue past the exit condition check properly
2025-08-27 16:08:17 -07:00
frankbria
6aa5e97436 Add detailed debug logging to should_exit_gracefully function
- Add debug statements to identify which exit condition is triggering
- Log each step of @fix_plan.md parsing and task completion checking
- Add logging for jq operations and file reading
- This should help identify why Ralph immediately exits after loop #1
2025-08-27 16:00:29 -07:00
frankbria
6bf8cd84f2 Fix loop_count increment syntax for bash compatibility 2025-08-27 15:58:02 -07:00
frankbria
4961b9391c Add more debug logging and fix loop_count scope issue 2025-08-27 15:56:16 -07:00
frankbria
31e515ecd1 Add debug logging to identify silent exit issue 2025-08-27 15:53:54 -07:00
frankbria
738e91ad54 Fix silent exit bug and improve error messages in ralph command
🐛 Bug Fix: Silent Exit Issue
- Ralph was silently exiting when PROMPT.md not found (no error shown)
- Added comprehensive error handling with helpful guidance
- Now clearly explains when directory is not a Ralph project

🎯 Enhanced User Experience:
- Detects partial Ralph projects vs completely wrong directories
- Provides specific actionable solutions:
  1. ralph-setup my-project (create new)
  2. ralph-import requirements.md (import existing)
  3. Navigate to existing Ralph project
  4. Create PROMPT.md manually
- Updated help text with "IMPORTANT" note about project directories
- Added example workflow in help documentation

🔧 Technical Improvements:
- Better error detection logic
- Informative messages instead of silent failures
- Maintains proper exit codes for scripting
- Clear guidance for different scenarios

This resolves the confusing behavior where ralph would start logging
but then silently exit without explanation when run outside a Ralph project.
2025-08-27 13:38:11 -07:00
frankbria
6d64be9b01 Transform Ralph into global command system
Major architectural change to make Ralph available as global commands:

🌟 New Global Installation System:
- Add install.sh script for global installation to ~/.local/bin
- Creates ralph, ralph-monitor, ralph-setup global commands
- Installs templates and scripts to ~/.ralph/ directory
- Automatic dependency checking and PATH configuration

🚀 Enhanced User Experience:
- ralph-setup my-project (run from anywhere, no directory constraints)
- ralph --monitor (start from any project directory)
- ralph-monitor (global monitoring command)
- No more ../ralph_loop.sh relative path requirements

🔧 Improved Architecture:
- Global template system in ~/.ralph/templates/
- Smart path detection (global commands vs local scripts)
- Maintains backward compatibility during transition
- Clean separation of installation vs project files

📚 Updated Documentation:
- All examples now use global commands (ralph vs ../ralph_loop.sh)
- Clear installation instructions with ./install.sh
- Global command reference in CLAUDE.md
- Streamlined Quick Start workflow

This makes Ralph much more professional and user-friendly by eliminating
directory structure requirements and providing standard Unix command experience.
2025-08-27 09:39:43 -07:00
frankbria
d81519584f Add tmux integration for seamless monitoring experience
- Add --monitor flag to ralph_loop.sh for integrated tmux monitoring
- Automatically creates split-pane session with Ralph loop and monitor
- Include tmux availability check with installation instructions
- Update documentation to recommend tmux workflow
- Add tmux session management commands and controls
- Preserve all existing functionality for users without tmux

New workflow:
  ../ralph_loop.sh --monitor  # Creates split session automatically

Traditional workflow still supported:
  ../ralph_loop.sh           # Terminal 1
  ../ralph_monitor.sh        # Terminal 2

System requirements updated to include tmux (recommended).
2025-08-27 09:33:25 -07:00
frankbria
48bd008701 Fix create_files.sh syntax errors and complete Ralph implementation
- Fix nested EOF heredoc conflicts in update_status() and show_help() functions
- Use unique delimiters (STATUSEOF, HELPEOF) to avoid conflicts
- Complete Ralph for Claude Code implementation with all components:
  - ralph_loop.sh: Main autonomous development loop with rate limiting
  - ralph_monitor.sh: Live monitoring dashboard
  - setup.sh: Project initialization script
  - templates/: Template files for new projects
  - .gitignore: Comprehensive ignore rules

All scripts are now executable and syntax-validated.
2025-08-27 09:15:00 -07:00
frankbria
5e1d8734b1 Add Ralph for Claude Code - autonomous AI development loop
Features:
- Intelligent exit detection (knows when project is done)
- Test limiting (enforces 20% rule to prevent busy work)
- Rate limiting with graceful API usage management
- Live monitoring dashboard with real-time progress
- Auto-generated documentation every 10 iterations
- Specification-driven development approach

Based on Geoffrey Huntley's Ralph technique, adapted for Claude Code.
2025-08-27 09:07:54 -07:00