diff --git a/scripts/new-python-app.sh b/scripts/new-python-app.sh new file mode 100755 index 0000000..861c1d8 --- /dev/null +++ b/scripts/new-python-app.sh @@ -0,0 +1,112 @@ +#!/usr/bin/env bash +set -euo pipefail + +CONFIG_FILE="$HOME/.appfactory/env" + +if [ ! -f "$CONFIG_FILE" ]; then + echo "Missing config file: $CONFIG_FILE" + exit 1 +fi + +source "$CONFIG_FILE" + +APP_ID="${1:-}" +APP_NAME="${2:-$APP_ID}" + +if [ -z "$APP_ID" ]; then + echo "Usage:" + echo " ./new-python-app.sh [app-name]" + echo "" + echo "Example:" + echo " ./new-python-app.sh gmail-app \"Gmail App\"" + exit 1 +fi + +TEMPLATE_DIR="$WORKSPACE_DIR/python-fastapi-template" +TARGET_DIR="$WORKSPACE_DIR/$APP_ID" + +if [ ! -d "$TEMPLATE_DIR" ]; then + echo "Template not found: $TEMPLATE_DIR" + exit 1 +fi + +if [ -d "$TARGET_DIR" ]; then + echo "Target already exists: $TARGET_DIR" + exit 1 +fi + +echo "Creating app from template..." +cp -R "$TEMPLATE_DIR" "$TARGET_DIR" + +cd "$TARGET_DIR" +rm -rf .git + +sed -i "s/Python FastAPI Template/$APP_NAME/g" app/main.py + +cat > app.yml < README.md <