macOS packaging, made practical

The munki-pkg
workflow, rebuilt
in Swift

Install swiftpkg 0.3.1 with Homebrew, then build from the command line or open the same project in the native Swiftpkgr desktop app.

CLI macOS 13+ · Swiftpkgr macOS 15+ · Universal 2

swiftpkg — zsh

~ $ swiftpkg ./MyApp

Building MyApp-2.3.pkg

Package created successfully

1clean project
directory
repeatable
builds
0proprietary
formats

Available through Homebrew

Two tools.
One quick install.

Install the CLI and desktop app independently from the official tap. Both use the same package engine and portable project format.

CLI · macOS 13+

swiftpkg

Build, import, and synchronize package projects from scripts or your terminal.

$ brew install codecarton/tap/swiftpkg Download the signed CLI package

Desktop app · macOS 15+

Swiftpkgr

Create, edit, and build the same package projects in a focused native workspace.

$ brew install --cask codecarton/tap/swiftpkgr Download the signed app archive
swiftpkg 0.3.1 release resources Signed, notarized, checksummed, and ready for direct or managed deployment.

A familiar workflow

From project directory
to installer package.

Keep your package definition in source control, then use the Apple tooling already on your Mac to build the result.

  1. 01

    Start a project

    Create a portable package project with its build information, payload, scripts, and optional BOM metadata.

    $ swiftpkg --create MyApp
  2. 02

    Shape the install

    Arrange files exactly where they should land. Add preinstall or postinstall scripts when the package needs them.

    MyApp/├── build-info.plist├── payload/└── scripts/
  3. 03

    Build with confidence

    Generate a standard flat package or distribution package, with signing, notarization, and stapling when configured.

    $ swiftpkg MyApp

Available in 0.3.1 · Meet Swiftpkgr

A desktop workspace
for package projects.

Swiftpkgr brings the same package engine and portable project format into a native macOS app. Create a project, import an existing installer, edit its settings, and follow the build from one focused workspace.

  • Edit with confidenceWork with package, distribution, signing, and notarization settings in a structured editor.
  • Move between app and CLIOpen the same plist, JSON, or YAML projects without converting them to a proprietary format.
  • See the work happenBuild packages and follow operation progress without leaving the app.

Swiftpkgr requires macOS 15 or later. Install it with the Homebrew cask, the signed app ZIP, or the combined swiftpkg 0.3.1 installer.

Swiftpkgr
PACKAGE SETTINGS

Ready to buildProject settings are valid

package project
build-info.plistPackage identity & build settings
payload/Install exactly where you intend
scripts/Optional installer behavior
Bom.txtTracked permissions & ownership

Made for real operations

Projects you can review.
Packages ready to ship.

swiftpkg follows the project model Mac admins already know while making package contents readable, reviewable, and easy to automate.

  • Version-control friendlyReview every payload, script, and build setting in a normal project tree.
  • Apple-native outputBuild standard packages with pkgbuild and distributions with productbuild.
  • Release-ready controlsConfigure package signing, notarization, and stapling when your workflow needs it.

Built for the environment you manage

Native to macOS.
Ready for your fleet.

CLI · macOS 13+Automate package work from the command line
Swiftpkgr · macOS 15+Use the same projects in a native desktop app
Universal 2Apple silicon and Intel release artifact
Munki · JamfDeploy the signed installer with your existing tooling

Follow the project

Your next package
deserves a better build.

Install with Homebrew or download the signed 0.3.1 release, then choose the CLI or Swiftpkgr whenever the work calls for it.

Get swiftpkg 0.3.1