142 lines
4.2 KiB
Bash
142 lines
4.2 KiB
Bash
#!/bin/zsh
|
|
|
|
set -e
|
|
|
|
echo "🚀 Starting Conductor workspace setup for Autumn..."
|
|
|
|
# Check for Bun
|
|
if ! command -v bun &> /dev/null; then
|
|
echo "❌ Error: Bun is not installed."
|
|
echo "Please install Bun from https://bun.sh"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Bun found: $(bun --version)"
|
|
|
|
# Determine root path - use CONDUCTOR_ROOT_PATH if set, otherwise use git root
|
|
if [ -n "$CONDUCTOR_ROOT_PATH" ]; then
|
|
ROOT_PATH="$CONDUCTOR_ROOT_PATH"
|
|
else
|
|
# Fallback for manual testing - go up two directories from .conductor/workspace
|
|
ROOT_PATH="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
fi
|
|
|
|
echo "📂 Root path: $ROOT_PATH"
|
|
|
|
# Install dependencies
|
|
echo "📦 Installing dependencies..."
|
|
bun install
|
|
|
|
# Copy .env files from root repo
|
|
echo "📋 Copying .env files from root repository..."
|
|
|
|
# Copy all .env* files from server/
|
|
if [ -d "$ROOT_PATH/server" ]; then
|
|
mkdir -p server
|
|
for env_file in "$ROOT_PATH/server"/.env*; do
|
|
if [ -f "$env_file" ]; then
|
|
filename=$(basename "$env_file")
|
|
cp "$env_file" "server/$filename"
|
|
echo "✅ Copied server/$filename"
|
|
fi
|
|
done
|
|
else
|
|
echo "⚠️ Warning: $ROOT_PATH/server directory not found"
|
|
fi
|
|
|
|
# Copy all .env* files from vite/
|
|
if [ -d "$ROOT_PATH/vite" ]; then
|
|
mkdir -p vite
|
|
for env_file in "$ROOT_PATH/vite"/.env*; do
|
|
if [ -f "$env_file" ]; then
|
|
filename=$(basename "$env_file")
|
|
cp "$env_file" "vite/$filename"
|
|
echo "✅ Copied vite/$filename"
|
|
fi
|
|
done
|
|
else
|
|
echo "⚠️ Warning: $ROOT_PATH/vite directory not found"
|
|
fi
|
|
|
|
# Copy all .env* files from shared/
|
|
if [ -d "$ROOT_PATH/shared" ]; then
|
|
mkdir -p shared
|
|
for env_file in "$ROOT_PATH/shared"/.env*; do
|
|
if [ -f "$env_file" ]; then
|
|
filename=$(basename "$env_file")
|
|
cp "$env_file" "shared/$filename"
|
|
echo "✅ Copied shared/$filename"
|
|
fi
|
|
done
|
|
else
|
|
echo "⚠️ Warning: $ROOT_PATH/shared directory not found"
|
|
fi
|
|
|
|
# Copy all .sh files from root
|
|
echo "📋 Copying shell scripts from root repository..."
|
|
for sh_file in "$ROOT_PATH"/*.sh; do
|
|
if [ -f "$sh_file" ]; then
|
|
filename=$(basename "$sh_file")
|
|
# Skip conductor-setup.sh itself
|
|
if [ "$filename" != "conductor-setup.sh" ]; then
|
|
cp "$sh_file" "$filename"
|
|
chmod +x "$filename"
|
|
echo "✅ Copied $filename"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Copy all .sh files from server/
|
|
echo "📋 Copying shell scripts from server directory..."
|
|
if [ -d "$ROOT_PATH/server" ]; then
|
|
mkdir -p server
|
|
for sh_file in "$ROOT_PATH/server"/*.sh; do
|
|
if [ -f "$sh_file" ]; then
|
|
filename=$(basename "$sh_file")
|
|
cp "$sh_file" "server/$filename"
|
|
chmod +x "server/$filename"
|
|
echo "✅ Copied server/$filename"
|
|
fi
|
|
done
|
|
else
|
|
echo "⚠️ Warning: $ROOT_PATH/server directory not found"
|
|
fi
|
|
|
|
# Copy all .sh files from server/shell/
|
|
echo "📋 Copying shell scripts from server/shell directory..."
|
|
if [ -d "$ROOT_PATH/server/shell" ]; then
|
|
mkdir -p server/shell
|
|
for sh_file in "$ROOT_PATH/server/shell"/*.sh; do
|
|
if [ -f "$sh_file" ]; then
|
|
filename=$(basename "$sh_file")
|
|
cp "$sh_file" "server/shell/$filename"
|
|
chmod +x "server/shell/$filename"
|
|
echo "✅ Copied server/shell/$filename"
|
|
fi
|
|
done
|
|
else
|
|
echo "⚠️ Warning: $ROOT_PATH/server/shell directory not found"
|
|
fi
|
|
|
|
# # Copy drizzle migration files
|
|
# if [ -d "$ROOT_PATH/shared/drizzle" ]; then
|
|
# echo "📋 Copying database migration files..."
|
|
# mkdir -p shared/drizzle
|
|
# cp -r "$ROOT_PATH/shared/drizzle/"* shared/drizzle/
|
|
# echo "✅ Copied migration files"
|
|
# fi
|
|
|
|
# Shared workspace is now used directly from source (no build needed)
|
|
|
|
# # Run database migrations if DATABASE_URL exists
|
|
# if grep -q "DATABASE_URL=" server/.env 2>/dev/null; then
|
|
# echo "🗄️ Running database migrations..."
|
|
# bun db:migrate
|
|
# echo "✅ Database migrations complete"
|
|
# else
|
|
# echo "⚠️ Skipping database migrations (no DATABASE_URL found)"
|
|
# fi
|
|
|
|
echo "🎉 Workspace setup complete!"
|
|
echo ""
|
|
echo "Next: Click the 'Run' button to start the development server" |