macos-spm-app-packaging

Bootstrap and package SwiftPM-based macOS apps without Xcode.

299|16|Updated Feb 19, 2026
One-click install
npx skills add https://github.com/vabole/apple-skills --skill macos-spm-app-packaging-vabole
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: macos-spm-app-packaging
Source: https://github.com/vabole/apple-skills/tree/main/skills/guide-macos-spm-packaging
Command: npx skills add https://github.com/vabole/apple-skills --skill macos-spm-app-packaging-vabole

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires swift, iconutil, xcrun, notarytool, codesign, ditto, spctl, stapler, openssl, xattr, and includes assets (resource) and references (resource) components.

What problem does it solve?

Bootstrap and package SwiftPM-based macOS apps without Xcode, providing a complete skeleton, build scripts, and a repeatable release workflow.

Core Features & Use Cases

  • Two-step bootstrap workflow: generate a SwiftPM macOS app skeleton and customize package name, bundle, and version.
  • End-to-end packaging: build for multiple architectures, sign, notarize, and prepare release artifacts using the included templates.
  • Template-driven workflow: leverage assets/templates to bootstrap, sign, and release without opening Xcode, suitable for headless CI.

Quick Start

Follow the two-step workflow to bootstrap a SwiftPM macOS app, then run the provided templates to build, sign, and notarize the app.

Frequently Asked Questions about macos-spm-app-packaging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I package a macOS app with SwiftPM without using Xcode?

The workflow requires Swift 5.x, SwiftPM, Xcode command line tools, and access to entitlements or configuration files to execute the provided packaging and notarization scripts successfully.

Can I automate macOS app signing and notarization in a headless CI environment?

The packaging workflow uses notarytool for submission, codesign for applying entitlements, and stapler to attach the notarization ticket to the released macOS app bundle.

What is the best way to bootstrap a SwiftPM macOS app skeleton for release?

The workflow builds universal binaries, applies codesign with entitlements, submits the package via notarytool, and uses ditto to create the final distributable macOS app archive.

Does the macOS SwiftPM packaging workflow support universal binaries?

After notarization, the workflow uses stapler to attach the notarization ticket and spctl to verify the macOS app passes Gatekeeper checks before release.