#!/bin/bash # init-project.sh — Bootstrap a new project with Claude config set -e if [ $# -lt 2 ]; then echo "Usage: init-project.sh " exit 1 fi PROJECT_PATH="$1" PROJECT_NAME="$2" SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" REPO_ROOT="$(dirname "$SCRIPT_DIR")" TEMPLATE_DIR="$REPO_ROOT/templates/generic" if [ ! -d "$PROJECT_PATH" ]; then echo "ERROR: Project path does not exist: $PROJECT_PATH" exit 1 fi TARGET_CLAUDE="$PROJECT_PATH/.claude" TARGET_PLANS="$PROJECT_PATH/plans" if [ -d "$TARGET_CLAUDE" ]; then echo "WARNING: .claude/ already exists in $PROJECT_PATH" read -p "Overwrite? (y/N) " response [ "$response" != "y" ] && echo "Aborted." && exit 0 fi echo "Initializing project: $PROJECT_NAME" cp -r "$TEMPLATE_DIR/.claude" "$TARGET_CLAUDE" mkdir -p "$TARGET_PLANS" # Replace placeholders sed -i "s/{{PROJECT_NAME}}/$PROJECT_NAME/g" "$TARGET_CLAUDE/CLAUDE.md" echo "" echo "Done! Created:" echo " $TARGET_CLAUDE/CLAUDE.md" echo " $TARGET_CLAUDE/settings.json" echo " $TARGET_PLANS/" echo "" echo "Next: Edit $TARGET_CLAUDE/CLAUDE.md with project-specific info."