bootstrap-swift-package

📁 gaelic-ghost/apple-dev-skills 📅 1 day ago
4
总安装量
2
周安装量
#52915
全站排名
安装命令
npx skills add https://github.com/gaelic-ghost/apple-dev-skills --skill bootstrap-swift-package

Agent 安装分布

codex 2
amp 1
cline 1
opencode 1
cursor 1
kimi-cli 1

Skill 文档

Bootstrap Swift Package

Overview

Create a new Swift package quickly with repeatable defaults. Prefer the bundled script for deterministic setup.

Workflow

  1. Confirm package intent.
  • Ask for package name, type (library, executable, or tool), destination path, platform preset (mac, mobile, multiplatform), and version profile (latest-major, current-minus-one, current-minus-two).
  • Accept aliases: macos for mac, ios for mobile, both for multiplatform, and latest/minus-one/minus-two for version profiles.
  1. Create the package.
  • Preferred: run scripts/bootstrap_swift_package.sh --name <Name> --type <library|executable|tool> --destination <dir> --platform <mac|macos|mobile|ios|multiplatform|both> --version-profile <latest-major|current-minus-one|current-minus-two|latest|minus-one|minus-two>.
  • Fallback: run swift package init --name <Name> --type <library|executable|tool> manually inside the target directory, patch Package.swift platforms, copy assets/AGENTS.md to repo root as AGENTS.md, then run git init.
  1. Validate bootstrap output.
  • Verify Package.swift exists.
  • Verify .git exists.
  • Verify AGENTS.md exists.
  • Verify Tests/ exists.
  • Run swift build and swift test in the package root.
  1. Report result.
  • Summarize created path, package type, platform preset, version profile, build/test status, and immediate next steps.

Defaults

  • Use library unless the user clearly asks for executable or tool.
  • Use multiplatform unless the user clearly wants only mac or mobile.
  • Use current-minus-one as the default version profile.
  • Keep generated structure minimal; do not add extra frameworks unless requested.
  • Always initialize git.
  • Always include AGENTS.md with repository expectations for working with Swift Package Manager and Swift packages.

Troubleshooting

  • If swift is missing, stop and ask the user to install Xcode command line tools or Swift toolchain.
  • If git is missing, stop and ask the user to install git or Xcode command line tools.
  • If assets/AGENTS.md is missing, stop and restore the template before bootstrapping packages.
  • If destination exists and is non-empty (excluding ignorable macOS metadata like .DS_Store), do not overwrite; ask for a new destination or explicit cleanup instructions.
  • If validation fails in constrained environments, rerun with --skip-validation and report that checks were skipped.

Resources

scripts/

  • scripts/bootstrap_swift_package.sh: Create package directory, run swift package init, apply platforms defaults to Package.swift, initialize git, and run safety/validation checks.

references/

  • references/package-types.md: Quick selection guide for package types, platform presets, and version profiles.

assets/

  • assets/AGENTS.md: Template copied into each new package repository to set repository expectations for Swift Package Manager workflows.