macos-spm-app-packaging

Build and package SwiftPM-based macOS apps without Xcode.

3.9k|203|Updated Dec 30, 2025
One-click install
npx skills add https://github.com/Dimillian/Skills --skill macos-spm-app-packaging-dimillian
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: macos-spm-app-packaging
Source: https://github.com/Dimillian/Skills/tree/main/macos-spm-app-packaging
Command: npx skills add https://github.com/Dimillian/Skills --skill macos-spm-app-packaging-dimillian

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) and references (resource) components.

What problem does it solve?

This skill scaffolds, builds, and packages SwiftPM-based macOS apps without an Xcode project, enabling from-scratch layouts, SwiftPM targets/resources, and an assembly/signature/notarization workflow outside Xcode.

Core Features & Use Cases

  • Bootstrap a complete macOS SwiftPM app folder from templates (assets/templates/bootstrap/) and wire project metadata (Package.swift, Sources/MyApp/, version.env).
  • Build, package, and run the bootstrapped app without Xcode, including universal binary support via SwiftPM.
  • Sign, notarize, and optionally generate Sparkle appcast entries for releases to ease distribution.
  • Follow a repeatable release workflow with versioning and GitHub releases using the provided scripts.

Quick Start

Bootstrap a new macOS SwiftPM app by copying assets/templates/bootstrap/ into your repo, then rename MyApp in Package.swift, Sources/MyApp/, and version.env. Customize APP_NAME, BUNDLE_ID, and version numbers as needed. Build, package, and run the app by copying the scripts from assets/templates/ into your repo (Scripts/), then run swift build and swift test, followed by Scripts/package_app.sh and Scripts/compile_and_run.sh (or Scripts/launch.sh). Optional release steps include Scripts/sign-and-notarize.sh and Scripts/make_appcast.sh, followed by a tagged GitHub release.

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 for distribution without using Xcode?

To package a macOS app without Xcode, use SwiftPM to build your universal binary, assemble it into an AppBundle, and run a script-based workflow for code-signing and notarization suitable for distribution.

Does SwiftPM support building macOS apps with universal binaries?

Yes, SwiftPM supports building universal binaries for macOS apps, allowing you to compile a single AppBundle that runs natively on both Apple Silicon and Intel architectures without an Xcode project.

How do I notarize and code-sign a SwiftPM app outside of Xcode?

You can notarize and code-sign a SwiftPM app outside Xcode by running dedicated shell scripts that assemble the AppBundle, apply developer code-signing credentials, and submit the package for Apple notarization.

Can I generate a Sparkle appcast for a SwiftPM macOS app release?

Yes, the SwiftPM packaging workflow includes optional scripts to generate Sparkle appcast entries, enabling automated update distribution alongside tagged GitHub releases for your macOS app.

What is the best way to bootstrap a macOS app structure using SwiftPM?

The best way to bootstrap a macOS app structure using SwiftPM is to copy provided templates into your repository, wire project metadata in Package.swift, configure versioning, and use SwiftPM targets for resources and sources.