# Macos Swiftpm

Build, run, and test SwiftPM macOS packages and executables.

- Repository: https://github.com/robinebers/openusage (4503 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add robinebers/openusage --skill macos-swiftpm -g -a claude-code -y`
Codex: `npx skills add robinebers/openusage --skill macos-swiftpm -g -a codex -y`
Cursor: `npx skills add robinebers/openusage --skill macos-swiftpm -g -a cursor -y`
Gemini CLI: `npx skills add robinebers/openusage --skill macos-swiftpm -g -a gemini-cli -y`

## Description

Build, run, and test SwiftPM macOS packages and executables. Use when the repo is package-first or has no Xcode project.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# SwiftPM for macOS

## Quick Start

Use this skill when `Package.swift` is the primary entrypoint or when SwiftPM is
the fastest path to a reproducible result.

## Workflow

1. Inspect the package.
   - Read `Package.swift`.
   - Identify executable, library, and test products.

2. Build with SwiftPM.
   - Use `swift build` by default.
   - Use release mode only when the user explicitly needs it.

3. Run the right product.
   - Use `swift run <product>` when an executable exists.
   - If multiple executables exist, explain the default choice.

4. Test narrowly.
   - Use `swift test`.
   - Apply filters when a specific test target or case is known.

5. Summarize failures.
   - Module/import resolution
   - Package graph or dependency issue
   - Linker failure
   - Runtime failure
   - Test regression

## Guardrails

- Prefer SwiftPM over Xcode when both exist and the package path is clearly simpler.
- Do not assume an app bundle exists in a pure package workflow.
- Explain when the package is library-only and therefore not directly runnable.

## Output Expectations

Provide:
- the package products you found
- the command you ran
- whether build, run, or test succeeded
- the top blocker if not

