CI Checklist Skill
Ensure Shell is in a CI-ready state: builds, tests, lint, and settings all clean.
When to use
- •Before merging to
main. - •Before tagging a release (e.g., v1.1.0, v2.0.0).
- •When preparing or updating your CI pipeline.
Steps
- •
Confirm clean working tree:
- •Run
git status. - •If there are uncommitted changes, show them and ask:
- •"Do you want to continue CI checks on this dirty tree, or should we commit/stash first?"
- •Run
- •
Run full unit test suite:
bashxcodebuild test \ -scheme Shell \ -destination 'platform=iOS Simulator,name=iPhone 15 Pro'
- •Capture:
- •Success/failure.
- •Duration.
- •Number of tests run.
- •First failing test (if any).
- •Capture:
- •
Optionally run feature-focused tests:
- •If the user specifies a feature (e.g., "Items" or "Profile"), call the logic from the
test-featureSkill to run those tests as well.
- •If the user specifies a feature (e.g., "Items" or "Profile"), call the logic from the
- •
Run SwiftLint (if available):
- •Re-use the logic from the
swiftlintSkill. - •Summarize any blocking issues (e.g., force unwraps, serious style violations).
- •Re-use the logic from the
- •
Verify key build settings:
- •Parse project settings via
xcodebuild -showBuildSettingsfor theShelltarget. - •Check:
- •Swift version set to 6.
- •Deployment target matches project standard.
- •No obvious misconfigurations (e.g.,
ENABLE_TESTABILITYdisabled for tests).
- •Parse project settings via
- •
Output a CI readiness report:
- •
✅ / ❌ Build & tests.
- •
✅ / ❌ Lint (if configured).
- •
✅ / ❌ Key build settings.
- •
Recommended CI command block for the future pipeline:
bashxcodebuild test \ -scheme Shell \ -destination 'platform=iOS Simulator,name=iPhone 15 Pro' swiftlint lint --quiet # if using SwiftLint
- •