Skip to content

feat(ai-swift): Swift/iOS/macOS release-readiness plugin (v1.0.0, marketplace v2.5.0) - #9

Merged
charlesjones-dev merged 1 commit into
mainfrom
feat/ai-swift-plugin
Jun 3, 2026
Merged

feat(ai-swift): Swift/iOS/macOS release-readiness plugin (v1.0.0, marketplace v2.5.0)#9
charlesjones-dev merged 1 commit into
mainfrom
feat/ai-swift-plugin

Conversation

@charlesjones-dev

Copy link
Copy Markdown
Owner

Summary

Adds ai-swift, a new plugin whose primary job is to catch Swift / iOS / macOS release blockers before they hit Xcode Cloud or TestFlight, plus reusable Swift 6 + SwiftUI quality checks. The lessons are encoded portably from a real Swift 6 / SwiftUI / XcodeGen project; no project-specific identifiers are hardcoded. Every check probes the target's shape first (XcodeGen vs plain .xcodeproj vs SwiftPM vs Tuist; iOS / macOS / both; Xcode Cloud or not) and only runs the applicable checks.

Components

Component Mode Role
/swift-preflight report Flagship 8-check release-readiness audit; PASS/WARN/FAIL with file:line + remedy + why
/swift-diagnose report Map a red CI log / ITMS rejection email / errSec code to root cause + fix
/swift-ci-scaffold write (diff+confirm) Generate ci_post_clone.sh, unit-test-only CI scheme, App Store Connect checklist, opt-in .githooks/pre-push
/swift-verify report (--fix rewrites) Portable local gate: regen -> swiftformat -> swiftlint -> cheapest-destination test
/swift-concurrency-review report Swift 6 strict-concurrency + SwiftUI idiom review
swift-release-auditor agent Runs /swift-preflight in fresh context

The 8 preflight checks (each traces to a real, avoidable incident)

  1. XcodeGen pbxproj drift from project.yml (bundle id / team a CI regen would silently revert)
  2. Static build number with no CI_BUILD_NUMBER stamping (duplicate-build-number TestFlight rejection)
  3. Missing / malformed ci_scripts/ci_post_clone.sh on a generator project
  4. macOS App Store readiness: ITMS-90242 (category), ITMS-90296 (App Sandbox), ITMS-90683 (usage strings), export-compliance prompt, network.client
  5. CI test isolation: keychain / UserDefaults.standard / disk / network access that breaks on a headless runner (errSecAuthFailed -25293); prescribes seam+fake and catch-all probe+XCTSkipIf
  6. Ad-hoc signing carrying capability entitlements that require a dev certificate; the harmful keychain-access-groups own-item footgun
  7. Scheme sharing + flaky-UITest release gating (unit-test-only CI scheme recommendation)
  8. Local gate health (verify script / format-lint config; stale-SourceKit guidance)

Marketplace wiring

  • marketplace.json: metadata 2.4.3 -> 2.5.0, plugin entry added
  • Root README.md: version badge + table row
  • CHANGELOG.md: 2.5.0 section + comparison links

Conventions / dedup

  • All components are user-invoked slash commands (disable-model-invocation: true), matching all 54 existing skills in the marketplace.
  • /swift-verify is the Swift-native specialization of /workflow-preflight (no overlap); /swift-concurrency-review defers general bug-finding to /code-review.

Validation

  • JSON manifests parse; all 5 skill frontmatters + the agent parse as valid YAML; skill name matches each directory.
  • Dry-ran all 8 /swift-preflight detectors against a real fixed project: reads green across the board (no false FAILs), and the same detectors correctly fire on the broken prior state (static build number, missing ci_scripts, no sandbox/category, real-keychain tests).

🤖 Generated with Claude Code

… marketplace v2.5.0)

New ai-swift plugin: catch Xcode Cloud / TestFlight blockers before upload,
plus reusable Swift 6 + SwiftUI quality checks. Portable across XcodeGen,
plain .xcodeproj, SwiftPM, and Tuist projects (probes shape, runs only
applicable checks).

Skills:
- /swift-preflight       8-check release-readiness audit (drift, build number,
                         ci_scripts, macOS App Store entitlements/Info.plist,
                         CI test isolation, ad-hoc entitlements, scheme gating)
- /swift-diagnose        map a red CI log / ITMS email / errSec code to a fix
- /swift-ci-scaffold     generate ci_post_clone.sh, CI scheme, ASC checklist,
                         opt-in .githooks/pre-push (diff + confirm)
- /swift-verify          portable local gate (regen/format/lint/test)
- /swift-concurrency-review  Swift 6 strict-concurrency + SwiftUI idiom review

Agent: swift-release-auditor (runs /swift-preflight in fresh context).

Registers the plugin in marketplace.json (metadata 2.4.3 -> 2.5.0) and updates
README badge + table and CHANGELOG.
@charlesjones-dev
charlesjones-dev merged commit 2533f45 into main Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant