Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills Aโ€“Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Antigravity Macos Spm App Packaging

ASecurity

Scaffold, build, sign, and package SwiftPM macOS apps without Xcode projects.

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
testinggoswiftbashgitapi

Works with

api

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add ibragimov-oasis/oasis-languages-jp --skill antigravity-macos-spm-app-packaging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Antigravity Macos Spm App Packaging?

Add the live security badge to your README โ€” it updates automatically with every re-scan.

Security grade badge for Antigravity Macos Spm App Packaging
[![Security: A โ€” Skills Directory](https://www.skillsdirectory.com/api/skills/ibragimov-oasis-antigravity-macos-spm-app-packaging/badge)](https://www.skillsdirectory.com/skills/ibragimov-oasis-antigravity-macos-spm-app-packaging)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: macos-spm-app-packaging
description: Scaffold, build, sign, and package SwiftPM macOS apps without Xcode projects.
risk: safe
source: "Dimillian/Skills (MIT)"
date_added: "2026-03-25"
tags:
  - domain/skills
  - artifact/skill
  - source/skills-antigravity
---

# macOS SwiftPM App Packaging (No Xcode)

## Overview
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.

## When to Use

- When the user needs a SwiftPM-based macOS app without relying on an Xcode project.
- When you need packaging, signing, notarization, or appcast guidance for a SwiftPM app.

## Two-Step Workflow
1) Bootstrap the project folder
   - Copy `assets/templates/bootstrap/` into a new repo.
   - Rename `MyApp` in `Package.swift`, `Sources/MyApp/`, and `version.env`.
   - Customize `APP_NAME`, `BUNDLE_ID`, and versions.

2) Build, package, and run the bootstrapped app
   - Copy scripts from `assets/templates/` into your repo (for example, `Scripts/`).
   - Build/tests: `swift build` and `swift test`.
   - Package: `Scripts/package_app.sh`.
   - Run: `Scripts/compile_and_run.sh` (preferred) or `Scripts/launch.sh`.
   - Release (optional): `Scripts/sign-and-notarize.sh` and `Scripts/make_appcast.sh`.
   - Tag + GitHub release (optional): create a git tag, upload the zip/appcast to the GitHub release, and publish.

## Minimum End-to-End Example
Shortest path from bootstrap to a running app:
```bash
# 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
```

## Validation Checkpoints
Run these after key steps to catch failures early before proceeding to the next stage.

**After packaging (`Scripts/package_app.sh`):**
```bash
# 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):**
```bash
# 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:**
```bash
# 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
```

## Common Notarization Failures
| 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`. |

## Templates
- `assets/templates/package_app.sh`: Build binaries, create the .app bundle, copy resources, sign.
- `assets/templates/compile_and_run.sh`: Dev loop to kill running app, package, launch.
- `assets/templates/build_icon.sh`: Generate .icns from an Icon Composer file (requires Xcode install).
- `assets/templates/sign-and-notarize.sh`: Notarize, staple, and zip a release build.
- `assets/templates/make_appcast.sh`: Generate Sparkle appcast entries for updates.
- `assets/templates/setup_dev_signing.sh`: Create a stable dev code-signing identity.
- `assets/templates/launch.sh`: Simple launcher for a packaged .app.
- `assets/templates/version.env`: Example version file consumed by packaging scripts.
- `assets/templates/bootstrap/`: Minimal SwiftPM macOS app skeleton (Package.swift, Sources/, version.env).

## Notes
- Keep entitlements and signing configuration explicit; edit the template scripts instead of reimplementing.
- Remove Sparkle steps if you do not use Sparkle for updates.
- Sparkle relies on the bundle build number (`CFBundleVersion`), so `BUILD_NUMBER` in `version.env` must increase for each update.
- For menu bar apps, set `MENU_BAR_APP=1` when packaging to emit `LSUIElement` in Info.plist.

## ๐Ÿ”— ะกะฒัะทะธ

- [[MOC - Skills]] โ€” Skills library
- [[skills/skills-antigravity]] โ€” Category: skills-antigravity

Attribution

ibragimov-oasisibragimov-oasis
View sourceMore from ibragimov-oasis โ†’
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Screen Reader Testing

Practical guide to testing web applications with screen readers for comprehensive accessibility validation.

393431 votes

Python Testing

ไฝฟ็”จpytestใ€TDDๆ–นๆณ•ใ€ๅคนๅ…ทใ€ๆจกๆ‹Ÿใ€ๅ‚ๆ•ฐๅŒ–ๅ’Œ่ฆ†็›–็އ่ฆๆฑ‚็š„Pythonๆต‹่ฏ•็ญ–็•ฅใ€‚

2456590 votes

Tdd Workflow

ๅœจ็ผ–ๅ†™ๆ–ฐๅŠŸ่ƒฝใ€ไฟฎๅค้”™่ฏฏๆˆ–้‡ๆž„ไปฃ็ ๆ—ถไฝฟ็”จๆญคๆŠ€่ƒฝใ€‚ๅผบๅˆถๆ‰ง่กŒๆต‹่ฏ•้ฉฑๅŠจๅผ€ๅ‘๏ผŒๅŒ…ๅซๅ•ๅ…ƒๆต‹่ฏ•ใ€้›†ๆˆๆต‹่ฏ•ๅ’Œ็ซฏๅˆฐ็ซฏๆต‹่ฏ•๏ผŒ่ฆ†็›–็އ่ถ…่ฟ‡80%ใ€‚

2456590 votes

Springboot Tdd

ไฝฟ็”จJUnit 5ใ€Mockitoใ€MockMvcใ€Testcontainersๅ’ŒJaCoCo่ฟ›่กŒSpring Boot็š„ๆต‹่ฏ•้ฉฑๅŠจๅผ€ๅ‘ใ€‚้€‚็”จไบŽๆทปๅŠ ๅŠŸ่ƒฝใ€ไฟฎๅค้”™่ฏฏๆˆ–้‡ๆž„ๆ—ถใ€‚

2456590 votes

Eval Harness

ๅ…‹ๅŠณๅพทไปฃ็ ไผš่ฏ็š„ๆญฃๅผ่ฏ„ไผฐๆก†ๆžถ๏ผŒๅฎžๆ–ฝ่ฏ„ไผฐ้ฉฑๅŠจๅผ€ๅ‘๏ผˆEDD๏ผ‰ๅŽŸๅˆ™

2456590 votes
View all in testing โ†’