From 0638acbe960636960fa72000d5f5a7e3e240f60f Mon Sep 17 00:00:00 2001 From: Jiri Uhlir Date: Wed, 20 May 2026 10:52:10 +0200 Subject: [PATCH] Add Python app generator --- scripts/new-python-app.sh | 112 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100755 scripts/new-python-app.sh 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 <