46 lines
1.1 KiB
Bash
46 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# init-project.sh — Bootstrap a new project with Claude config
|
|
set -e
|
|
|
|
if [ $# -lt 2 ]; then
|
|
echo "Usage: init-project.sh <project-path> <project-name>"
|
|
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."
|