#!/bin/bash -ex # Change to the directory at the top cd "$(dirname "$0")" # Check if Bun is installed if ! command -v bun &> /dev/null then echo "Bun not found, installing..." curl -fsSL https://bun.sh/install | bash # Add bun to PATH for the current session export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH" else echo "Bun is already installed." fi # Install Svelte with Bun and Vite echo "Installing Svelte with Bun and Vite..." bun create vite sweb --template svelte-ts # Change into the new app directory cd sweb # Install dependencies bun install # Install Tailwind CSS and dependencies echo "Installing Tailwind CSS and dependencies..." bun add -D tailwindcss postcss autoprefixer # Initialize Tailwind CSS echo "Initializing Tailwind CSS..." bunx tailwindcss init -p # Configure Tailwind CSS echo "Configuring Tailwind CSS..." # Modify tailwind.config.js cat << EOF > tailwind.config.js /** @type {import('tailwindcss').Config} */ export default { content: [ './src/**/*.{html,js,svelte,ts}', ], theme: { extend: {}, }, plugins: [], } EOF # Add Tailwind directives to app.css echo "Adding Tailwind directives to app.css..." cat << EOF > src/app.css @tailwind base; @tailwind components; @tailwind utilities; $(cat src/app.css) EOF # Install Shadcn for Svelte echo "Installing Shadcn for Svelte..." bun install lucide-svelte # Attempting to run Shadcn Svelte init non-interactively by providing the components alias. bunx shadcn-svelte init --style default --base-color slate --css src/app.css --tailwind-config tailwind.config.js --components-alias '$lib/components/ui'