* refactor(naming): remove @ prefix from on-disk filenames BREAKING CHANGE: Renames @fix_plan.md → fix_plan.md and @AGENT.md → AGENT.md This change improves POSIX compliance and compatibility with command-line tools. The @ prefix was originally used to avoid naming conflicts, but with the .ralph/ folder structure introduced in v0.10.0, this convention is no longer necessary. Changes: - Update all scripts to use new naming (fix_plan.md, AGENT.md) - Update migration script to handle both old and new naming conventions - Update templates to use new naming - Update all documentation references - Update all 420 tests to expect new naming (TDD approach) Migration: - Existing projects with @-prefixed files will be automatically renamed when running ralph-migrate - Projects already using the new naming will continue to work unchanged * docs(claude): update file naming conventions section * fix(migrate): prevent orphaned @-prefixed files during migration When both root/@fix_plan.md and .ralph/@fix_plan.md exist, the root file now takes priority and the .ralph/@fix_plan.md is removed (backup exists). This prevents orphaned legacy files after migration. --------- Co-authored-by: Test User <test@example.com>
58 lines
1.8 KiB
Bash
Executable file
58 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Ralph Project Setup Script
|
|
# Creates project structure with Ralph-specific files in .ralph/ subfolder
|
|
set -e
|
|
|
|
PROJECT_NAME=${1:-"my-project"}
|
|
|
|
echo "🚀 Setting up Ralph project: $PROJECT_NAME"
|
|
|
|
# Create project directory
|
|
mkdir -p "$PROJECT_NAME"
|
|
cd "$PROJECT_NAME"
|
|
|
|
# Determine templates directory location (checked AFTER cd into project)
|
|
# Check local ../templates first, then global ~/.ralph/templates
|
|
TEMPLATES_DIR=""
|
|
if [[ -d "../templates" ]]; then
|
|
TEMPLATES_DIR="../templates"
|
|
elif [[ -d "$HOME/.ralph/templates" ]]; then
|
|
TEMPLATES_DIR="$HOME/.ralph/templates"
|
|
else
|
|
echo "❌ Error: Templates directory not found."
|
|
echo " Expected at: ../templates or ~/.ralph/templates"
|
|
echo " Please run ./install.sh first to install Ralph globally."
|
|
exit 1
|
|
fi
|
|
|
|
# Verify required template files exist
|
|
if [[ ! -f "$TEMPLATES_DIR/PROMPT.md" ]]; then
|
|
echo "❌ Error: Required template file PROMPT.md not found in $TEMPLATES_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
# Create structure:
|
|
# - src/ stays at root for compatibility with existing tooling
|
|
# - All Ralph-specific files go in .ralph/ subfolder
|
|
mkdir -p src
|
|
mkdir -p .ralph/{specs/stdlib,examples,logs,docs/generated}
|
|
|
|
# Copy templates to .ralph/
|
|
cp "$TEMPLATES_DIR/PROMPT.md" .ralph/
|
|
cp "$TEMPLATES_DIR/fix_plan.md" .ralph/fix_plan.md
|
|
cp "$TEMPLATES_DIR/AGENT.md" .ralph/AGENT.md
|
|
cp -r "$TEMPLATES_DIR/specs"/* .ralph/specs/ 2>/dev/null || true
|
|
|
|
# Initialize git
|
|
git init
|
|
echo "# $PROJECT_NAME" > README.md
|
|
git add .
|
|
git commit -m "Initial Ralph project setup"
|
|
|
|
echo "✅ Project $PROJECT_NAME created!"
|
|
echo "Next steps:"
|
|
echo " 1. Edit .ralph/PROMPT.md with your project requirements"
|
|
echo " 2. Update .ralph/specs/ with your project specifications"
|
|
echo " 3. Run: ../ralph_loop.sh"
|
|
echo " 4. Monitor: ../ralph_monitor.sh"
|