| name | ios-dod |
| description | Definition of Done verification for MacMagazine — build, test, lint, code-quality and git checks with real evidence. Use before marking any task complete, before committing, or when the user says "done", "verify", "is this finished", or "check the work". |
| allowed-tools | Read, Grep, Glob, Bash |
iOS Definition of Done Checklist
Run before marking any task as "done".
Honesty rules: Report real results only. Never claim an item passed without the actual
command output as evidence. If a tool or simulator isn't available, mark that item UNVERIFIED
— never imply success. If anything is ❌ or UNVERIFIED, the task is not done: list exactly
what remains. (Full contract: .claude/rules/anti-hallucination.md.)
Delegation: For the build/test steps you may delegate to the test-runner agent; for a final
review pass use the swift-code-reviewer and architecture-guardian agents.
Critical Requirements (Zero Tolerance)
Code Quality (SOLID + DRY)
Card System Compliance
Build & Tests
xcodebuild build \
-project MacMagazine/MacMagazine.xcodeproj \
-scheme MacMagazine \
-destination "platform=iOS Simulator,name=iPhone 17 Pro" \
-skipPackagePluginValidation -skipMacroValidation
xcodebuild test \
-project MacMagazine/MacMagazine.xcodeproj \
-scheme MacMagazine \
-testPlan MacMagazine \
-destination "platform=iOS Simulator,name=iPhone 17 Pro" \
-skipPackagePluginValidation -skipMacroValidation
swiftlint lint --config ./.swiftlint.yml --strict
Git Workflow
feat(scope): description
fix(scope): description
Self-Review Questions
Before saying "done":
- Would I approve this PR if someone else wrote it?
- Is any code duplicated? Could another feature use this?
- Did I test dark mode?
- Did I use the card system correctly?
- Would a new developer understand this code without comments?
- Did I check that search results, WebViews, and podcast player still work?
"SOLID over shortcuts. DRY over duplication. Quality gates over speed."