From 63377d3ddfd72b606f59eb4968a57e6af3902f72 Mon Sep 17 00:00:00 2001 From: idev2025 Date: Wed, 15 Apr 2026 22:05:18 -0400 Subject: [PATCH] feat: add setup.sh and xcode.gitignore for app repo initialization setup.sh copies PROMPT.md and .gitignore into a new app repo with one command. xcode.gitignore covers Xcode, SPM, CocoaPods, code signing, and secrets. Co-Authored-By: Claude Opus 4.6 (1M context) --- setup.sh | 39 +++++++++++++++++++++++++++++++++++++++ xcode.gitignore | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100755 setup.sh create mode 100644 xcode.gitignore diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..472ecc3 --- /dev/null +++ b/setup.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +# +# setup.sh — Initialize a new iOS/macOS app repo with the workflow template files. +# +# Usage: +# ~/Documents/FORGEJO/XCode-Claude-Workflow/setup.sh [app-name] +# +# Run this from inside your new (empty or freshly cloned) app repo directory. +# It copies PROMPT.md and .gitignore, then makes an initial commit. + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +APP_NAME="${1:-$(basename "$PWD")}" + +# Verify we're in a git repo +if ! git rev-parse --is-inside-work-tree &>/dev/null; then + echo "Error: Not inside a git repository." + echo "Create/clone your repo first, cd into it, then run this script." + exit 1 +fi + +# Copy template files +echo "Setting up $APP_NAME..." + +cp "$SCRIPT_DIR/PROMPT.md" ./PROMPT.md +echo " Copied PROMPT.md" + +cp "$SCRIPT_DIR/xcode.gitignore" ./.gitignore +echo " Copied .gitignore" + +# Stage and commit +git add PROMPT.md .gitignore +git commit -m "chore: initialize $APP_NAME with XCode-Claude-Workflow template" + +echo "" +echo "Done! Next steps:" +echo " 1. Open Claude Code: claude" +echo " 2. Start the workflow: @PROMPT.md execute this prompt" diff --git a/xcode.gitignore b/xcode.gitignore new file mode 100644 index 0000000..fc0e9de --- /dev/null +++ b/xcode.gitignore @@ -0,0 +1,48 @@ +# Xcode +*.xcodeproj/xcuserdata/ +*.xcworkspace/xcuserdata/ +*.xcuserstate +*.xcscmblueprint +*.xccheckout + +# Build output +build/ +DerivedData/ +*.ipa +*.dSYM.zip +*.dSYM + +# Swift Package Manager +.build/ +.swiftpm/ +Package.resolved + +# CocoaPods (if used) +Pods/ + +# Carthage (if used) +Carthage/Build/ +Carthage/Checkouts/ + +# Fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code signing +*.mobileprovision +*.provisionprofile + +# Secrets and environment files +*.env +.env.* + +# OS files +.DS_Store +Thumbs.db + +# Claude Code local settings +.claude/settings.json +.claude/settings.local.json +.chat-history/