apple-aso
Optimize Apple App Store metadata in store.config.json for ASO (App Store Optimization). Use when working with store.config.json,…
Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project. Use when you need a from-scratch macOS app layout, SwiftPM targets/resources, a custom .app bundle assembly script, or signing/notarization/appcast steps outside Xcode.
Claude Code
$ npx -y skills add Prisma-Labs-Dev/apple-skills --skill guide-macos-spm-packaging --agent claude-code
Codex
$ npx skills add Prisma-Labs-Dev/apple-skills --skill guide-macos-spm-packaging -a codex -y
Cursor
$ npx skills add Prisma-Labs-Dev/apple-skills --skill guide-macos-spm-packaging -a cursor -y
Gemini CLI
$ npx skills add Prisma-Labs-Dev/apple-skills --skill guide-macos-spm-packaging -a gemini-cli -y
GitHub Copilot
$ npx skills add Prisma-Labs-Dev/apple-skills --skill guide-macos-spm-packaging -a github-copilot -y
OpenCode
$ npx skills add Prisma-Labs-Dev/apple-skills --skill guide-macos-spm-packaging -a opencode -y
Windsurf
$ npx skills add Prisma-Labs-Dev/apple-skills --skill guide-macos-spm-packaging -a windsurf -y
name: guide-macos-spm-packaging description: Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project. Use when you need a from-scratch macOS app layout, SwiftPM targets/resources, a custom .app bundle assembly script, or signing/notarization/appcast steps outside Xcode. type: guide origin: https://github.com/Dimillian/Skills license: MIT
> **Guide Skill** — This is an expert workflow/pattern guide, not API reference documentation. > Originally from [Dimillian/Skills](https://github.com/Dimillian/Skills) by Thomas Ricouard. MIT License.
Bootstrap a complete SwiftPM macOS app folder, then build, package, and run it without Xcode. Use `assets/templates/bootstrap/` for the starter layout and `references/packaging.md` + `references/release.md` for packaging and release details.
1) Bootstrap the project folder
2) Build, package, and run the bootstrapped app
Shortest path from bootstrap to a running app:
# 1. Copy and rename the skeleton cp -R assets/templates/bootstrap/ ~/Projects/MyApp cd ~/Projects/MyApp sed -i '' 's/MyApp/HelloApp/g' Package.swift version.env # 2. Copy scripts cp assets/templates/package_app.sh Scripts/ cp assets/templates/compile_and_run.sh Scripts/ chmod +x Scripts/*.sh # 3. Build and launch swift build Scripts/compile_and_run.sh
Run these after key steps to catch failures early before proceeding to the next stage.
**After packaging (`Scripts/package_app.sh`):**
# Confirm .app bundle structure is intact ls -R build/HelloApp.app/Contents # Check that the binary is present and executable file build/HelloApp.app/Contents/MacOS/HelloApp
**After signing (`Scripts/sign-and-notarize.sh` or ad-hoc dev signing):**
# Inspect signature and entitlements codesign -dv --verbose=4 build/HelloApp.app # Verify the bundle passes Gatekeeper checks locally spctl --assess --type execute --verbose build/HelloApp.app
**After notarization and stapling:**
# Confirm the staple ticket is attached stapler validate build/HelloApp.app # Re-run Gatekeeper to confirm notarization is recognised spctl --assess --type execute --verbose build/HelloApp.app
| Symptom | Likely Cause | Recovery | |---|---|---| | `The software asset has already been uploaded` | Duplicate submission for same version | Bump `BUILD_NUMBER` in `version.env` and repackage. | | `Package Invalid: Invalid Code Signing Entitlements` | Entitlements in `.entitlements` file don't match provisioning | Audit entitlements against Apple's allowed set; remove unsupported keys. | | `The executable does not have the hardened runtime enabled` | Missing `--options runtime` flag in `codesign` invocation | Edit `sign-and-notarize.sh` to add `--options runtime` to all `codesign` calls. | | Notarization hangs / no status email | `xcrun notarytool` network or credential issue | Run `xcrun notarytool history` to check status; re-export App Store Connect API key if expired. | | `stapler validate` fails after successful notarization | Ticket not yet propagated | Wait ~60 s, then re-run `xcrun stapler staple`. |
Apple development skills for Claude Code, Codex, and other coding agents — current iOS 26+ APIs, SwiftUI, UIKit, Liquid Glass, Human Interface Guidelines, and practical workflow guides.
Optimize Apple App Store metadata in store.config.json for ASO (App Store Optimization). Use when working with store.config.json,…
Index of Apple developer documentation for iOS, macOS, and related frameworks. Use when looking up what APIs exist in a…
API reference: BackgroundTasks. Query for BGTaskScheduler, app refresh, background processing.
API reference: Combine. Query for publishers, subscribers, operators, async data streams.
API reference: Core Animation (QuartzCore). Query for CALayer, CAAnimation, CABasicAnimation, CAKeyframeAnimation,…
API reference: Core Haptics. Query for CHHapticEngine, haptic patterns, tactile feedback.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.