feat(ai-swift): Swift/iOS/macOS release-readiness plugin (v1.0.0, marketplace v2.5.0) - #9
Merged
Merged
Conversation
… 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
.xcodeprojvs SwiftPM vs Tuist; iOS / macOS / both; Xcode Cloud or not) and only runs the applicable checks.Components
/swift-preflightfile:line+ remedy + why/swift-diagnoseerrSeccode to root cause + fix/swift-ci-scaffoldci_post_clone.sh, unit-test-only CI scheme, App Store Connect checklist, opt-in.githooks/pre-push/swift-verify--fixrewrites)/swift-concurrency-reviewswift-release-auditor/swift-preflightin fresh contextThe 8 preflight checks (each traces to a real, avoidable incident)
project.yml(bundle id / team a CI regen would silently revert)CI_BUILD_NUMBERstamping (duplicate-build-number TestFlight rejection)ci_scripts/ci_post_clone.shon a generator projectnetwork.clientUserDefaults.standard/ disk / network access that breaks on a headless runner (errSecAuthFailed-25293); prescribes seam+fake and catch-all probe+XCTSkipIfkeychain-access-groupsown-item footgunMarketplace wiring
marketplace.json: metadata2.4.3->2.5.0, plugin entry addedREADME.md: version badge + table rowCHANGELOG.md:2.5.0section + comparison linksConventions / dedup
disable-model-invocation: true), matching all 54 existing skills in the marketplace./swift-verifyis the Swift-native specialization of/workflow-preflight(no overlap);/swift-concurrency-reviewdefers general bug-finding to/code-review.Validation
namematches each directory./swift-preflightdetectors 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