#!/usr/bin/env bash set -euo pipefail if [[ $# -lt 1 ]]; then echo "Usage: $0 [app-name]" echo "Example: $0 ~/Code/trader-app Trader" exit 1 fi REPO_ROOT="$1" APP_NAME="${2:-WebShellApp}" mkdir -p "$REPO_ROOT/web/src" mkdir -p "$REPO_ROOT/web/src/web_core" mkdir -p "$REPO_ROOT/web/src/tests" mkdir -p "$REPO_ROOT/mac/src/App/EmbeddedBackend" mkdir -p "$REPO_ROOT/mac/src/App/Help" mkdir -p "$REPO_ROOT/mac/src/AppTests" mkdir -p "$REPO_ROOT/mac/src/AppUITests" mkdir -p "$REPO_ROOT/scripts" mkdir -p "$REPO_ROOT/docs" cat > "$REPO_ROOT/docs/architecture.md" < "$REPO_ROOT/scripts/README.build.md" < "$REPO_ROOT/web/src/ONBOARDING.md" < "$REPO_ROOT/mac/src/App/Help/help.html" < Help

${APP_NAME} Help

Replace this with your quick start and onboarding content.

DOC cat > "$REPO_ROOT/web/run.sh" <<'DOC' #!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" VENV_DIR="$ROOT_DIR/.venv" WEB_SRC_DIR="$ROOT_DIR/web/src" if [[ ! -d "$VENV_DIR" ]]; then python3 -m venv "$VENV_DIR" fi # shellcheck disable=SC1091 source "$VENV_DIR/bin/activate" pip install -r "$WEB_SRC_DIR/requirements.txt" exec streamlit run "$WEB_SRC_DIR/app.py" DOC chmod +x "$REPO_ROOT/web/run.sh" touch "$REPO_ROOT/.gitignore" for line in "build/" "*.dmg" "rw.*.dmg"; do if ! grep -Fxq "$line" "$REPO_ROOT/.gitignore"; then printf "%s\n" "$line" >> "$REPO_ROOT/.gitignore" fi done echo "Created layout for ${APP_NAME}:" echo "- $REPO_ROOT/web/src" echo "- $REPO_ROOT/mac/src" echo "- $REPO_ROOT/scripts" echo "- $REPO_ROOT/docs" echo "- $REPO_ROOT/.gitignore (updated with build/DMG ignore rules)"