memory: log task worker session - due dates, subtasks, task page
This commit is contained in:
55
skills/app-builder/scripts/scaffold.sh
Executable file
55
skills/app-builder/scripts/scaffold.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
# Scaffold a new app from the standard template
|
||||
# Usage: scaffold.sh <app-name> [--api-only]
|
||||
#
|
||||
# Creates project structure, initializes git, and pushes to Gitea.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
APP_NAME="${1:?Usage: scaffold.sh <app-name>}"
|
||||
API_ONLY="${2:-}"
|
||||
BASE_DIR="/home/clawdbot/clawd"
|
||||
PROJECT_DIR="$BASE_DIR/$APP_NAME"
|
||||
SKILL_DIR="$(dirname "$(realpath "$0")")/.."
|
||||
TEMPLATE_DIR="$SKILL_DIR/assets/template"
|
||||
GITEA_URL="https://git.infra.nkode.tech"
|
||||
|
||||
if [ -d "$PROJECT_DIR" ]; then
|
||||
echo "Error: $PROJECT_DIR already exists"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "🔨 Scaffolding $APP_NAME..."
|
||||
|
||||
# Create project structure
|
||||
mkdir -p "$PROJECT_DIR"
|
||||
cp -r "$TEMPLATE_DIR/api" "$PROJECT_DIR/api"
|
||||
if [ "$API_ONLY" != "--api-only" ]; then
|
||||
cp -r "$TEMPLATE_DIR/web" "$PROJECT_DIR/web"
|
||||
fi
|
||||
|
||||
# Copy root files
|
||||
cp "$TEMPLATE_DIR/docker-compose.yml" "$PROJECT_DIR/"
|
||||
cp "$TEMPLATE_DIR/docker-compose.dokploy.yml" "$PROJECT_DIR/"
|
||||
cp "$TEMPLATE_DIR/.env.example" "$PROJECT_DIR/"
|
||||
cp "$TEMPLATE_DIR/.gitignore" "$PROJECT_DIR/"
|
||||
|
||||
# Replace placeholder app name
|
||||
find "$PROJECT_DIR" -type f \( -name "*.ts" -o -name "*.json" -o -name "*.yml" -o -name "*.md" -o -name "*.env*" \) \
|
||||
-exec sed -i "s/APP_TEMPLATE/$APP_NAME/g" {} +
|
||||
|
||||
# Initialize git
|
||||
cd "$PROJECT_DIR"
|
||||
git init
|
||||
git add -A
|
||||
git commit -m "Initial scaffold from app-builder template"
|
||||
|
||||
echo ""
|
||||
echo "✅ Project scaffolded at $PROJECT_DIR"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo " 1. Create Gitea repo: $GITEA_URL/hammer/$APP_NAME"
|
||||
echo " 2. git remote add origin $GITEA_URL/hammer/$APP_NAME.git"
|
||||
echo " 3. git push -u origin main"
|
||||
echo " 4. Customize the schema in api/src/db/schema.ts"
|
||||
echo " 5. Run: cd $PROJECT_DIR && docker compose up"
|
||||
Reference in New Issue
Block a user