@bonesofspring/ai-rules 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +26 -4
  3. package/bin/cli.js +259 -72
  4. package/package.json +3 -2
  5. package/presets/claude/ios-swift/CLAUDE.md +28 -20
  6. package/presets/claude/ios-swift/README.md +16 -15
  7. package/presets/claude/ios-swift/agents/README.md +55 -0
  8. package/presets/claude/ios-swift/agents/accessibility-reviewer.md +67 -0
  9. package/presets/claude/ios-swift/agents/api-contract-reviewer.md +72 -0
  10. package/presets/claude/ios-swift/agents/build-verifier.md +64 -0
  11. package/presets/claude/ios-swift/agents/ci-investigator.md +73 -0
  12. package/presets/claude/ios-swift/agents/code-reviewer.md +75 -0
  13. package/presets/claude/ios-swift/agents/debugger.md +72 -0
  14. package/presets/claude/ios-swift/agents/feature-developer.md +35 -0
  15. package/presets/claude/ios-swift/agents/migration-specialist.md +73 -0
  16. package/presets/claude/ios-swift/agents/performance-auditor.md +72 -0
  17. package/presets/claude/ios-swift/agents/qa-tester.md +65 -0
  18. package/presets/claude/ios-swift/agents/security-reviewer.md +69 -0
  19. package/presets/claude/ios-swift/agents/solution-architect.md +17 -0
  20. package/presets/claude/ios-swift/agents/task-analyst.md +25 -0
  21. package/presets/claude/ios-swift/agents/task-router.md +62 -0
  22. package/presets/claude/ios-swift/agents/tech-writer.md +63 -0
  23. package/presets/claude/ios-swift/agents/unit-test-generator.md +54 -0
  24. package/presets/claude/ios-swift/agents/unit-test-healer.md +53 -0
  25. package/presets/claude/ios-swift/agents/unit-test-planner.md +64 -0
  26. package/presets/claude/ios-swift/agents/xcuitest-test-generator.md +47 -0
  27. package/presets/claude/ios-swift/agents/xcuitest-test-healer.md +47 -0
  28. package/presets/claude/ios-swift/agents/xcuitest-test-planner.md +67 -0
  29. package/presets/claude/ios-swift/commands/README.md +12 -2
  30. package/presets/claude/ios-swift/commands/feature-continue.md +51 -0
  31. package/presets/claude/ios-swift/commands/feature-start.md +30 -0
  32. package/presets/claude/ios-swift/commands/task-continue.md +49 -0
  33. package/presets/claude/ios-swift/commands/task.md +50 -0
  34. package/presets/claude/ios-swift/commands/technical-retro.md +58 -0
  35. package/presets/claude/ios-swift/hooks/README.md +10 -0
  36. package/presets/claude/ios-swift/hooks/chain-team-phases.sh +382 -0
  37. package/presets/claude/ios-swift/hooks/guard-shell-command.sh +79 -0
  38. package/presets/claude/ios-swift/rules/README.md +25 -14
  39. package/presets/claude/ios-swift/rules/api-and-data/README.md +2 -1
  40. package/presets/claude/ios-swift/rules/api-and-data/networking.md +2 -2
  41. package/presets/claude/ios-swift/rules/api-and-data/persistence.md +30 -0
  42. package/presets/claude/ios-swift/rules/architecture/README.md +3 -1
  43. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +10 -2
  44. package/presets/claude/ios-swift/rules/architecture/module-public-api.md +25 -0
  45. package/presets/claude/ios-swift/rules/architecture/reference-features.md +50 -0
  46. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +2 -1
  47. package/presets/claude/ios-swift/rules/testing/ui.md +2 -0
  48. package/presets/claude/ios-swift/rules/tooling-and-review/README.md +6 -1
  49. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +18 -0
  50. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +47 -0
  51. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +5 -0
  52. package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +5 -0
  53. package/presets/claude/ios-swift/rules/tooling-and-review/security-ios.md +36 -0
  54. package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +14 -0
  55. package/presets/claude/ios-swift/rules/tooling-and-review/xcode-tooling.md +24 -0
  56. package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +2 -1
  57. package/presets/claude/ios-swift/rules/ui-and-accessibility/navigation.md +28 -0
  58. package/presets/claude/ios-swift/skills/README.md +13 -0
  59. package/presets/claude/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  60. package/presets/claude/ios-swift/skills/code-review/SKILL.md +27 -0
  61. package/presets/claude/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  62. package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  63. package/presets/claude/ios-swift/skills/technical-retro/SKILL.md +10 -0
  64. package/presets/claude/ios-swift/skills/unit-testing/SKILL.md +32 -0
  65. package/presets/claude/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  66. package/presets/claude/ios-swift/team/README.md +27 -0
  67. package/presets/claude/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  68. package/presets/claude/ios-swift/team/fixtures/feature-full.json +48 -0
  69. package/presets/claude/ios-swift/team/fixtures/feature-light.json +36 -0
  70. package/presets/claude/next/CLAUDE.md +29 -5
  71. package/presets/claude/next/README.md +10 -0
  72. package/presets/claude/next/agents/README.md +155 -1
  73. package/presets/claude/next/agents/accessibility-reviewer.md +65 -0
  74. package/presets/claude/next/agents/api-contract-reviewer.md +69 -0
  75. package/presets/claude/next/agents/build-verifier.md +64 -0
  76. package/presets/claude/next/agents/ci-investigator.md +62 -0
  77. package/presets/claude/next/agents/code-reviewer.md +63 -0
  78. package/presets/claude/next/agents/debugger.md +63 -0
  79. package/presets/claude/next/agents/feature-developer.md +27 -0
  80. package/presets/claude/next/agents/migration-specialist.md +69 -0
  81. package/presets/claude/next/agents/performance-auditor.md +68 -0
  82. package/presets/claude/next/agents/qa-tester.md +56 -0
  83. package/presets/claude/next/agents/security-reviewer.md +64 -0
  84. package/presets/claude/next/agents/solution-architect.md +70 -0
  85. package/presets/claude/next/agents/task-analyst.md +111 -0
  86. package/presets/claude/next/agents/task-router.md +94 -0
  87. package/presets/claude/next/agents/tech-writer.md +61 -0
  88. package/presets/claude/next/agents/unit-test-generator.md +37 -0
  89. package/presets/claude/next/agents/unit-test-healer.md +38 -0
  90. package/presets/claude/next/agents/unit-test-planner.md +62 -0
  91. package/presets/claude/next/commands/README.md +10 -2
  92. package/presets/claude/next/commands/feature-continue.md +51 -0
  93. package/presets/claude/next/commands/feature-start.md +30 -0
  94. package/presets/claude/next/commands/task-continue.md +49 -0
  95. package/presets/claude/next/commands/task.md +50 -0
  96. package/presets/claude/next/commands/technical-retro.md +58 -0
  97. package/presets/claude/next/hooks/README.md +5 -2
  98. package/presets/claude/next/hooks/chain-team-phases.sh +380 -0
  99. package/presets/claude/next/hooks/guard-shell-command.sh +77 -0
  100. package/presets/claude/next/rules/README.md +42 -11
  101. package/presets/claude/next/rules/api-and-data/README.md +7 -1
  102. package/presets/claude/next/rules/api-and-data/api-services.md +57 -0
  103. package/presets/claude/next/rules/api-and-data/http-client.md +40 -0
  104. package/presets/claude/next/rules/api-and-data/store-rtk.md +65 -0
  105. package/presets/claude/next/rules/architecture/README.md +11 -2
  106. package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +15 -0
  107. package/presets/claude/next/rules/architecture/architecture-boundaries.md +75 -0
  108. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +79 -0
  109. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +58 -0
  110. package/presets/claude/next/rules/architecture/public-imports.md +46 -0
  111. package/presets/claude/next/rules/architecture/reference-features.md +37 -0
  112. package/presets/claude/next/rules/stack/README.md +10 -1
  113. package/presets/claude/next/rules/stack/arrow-functions.md +45 -0
  114. package/presets/claude/next/rules/stack/navigation-router-ui.md +15 -0
  115. package/presets/claude/next/rules/stack/navigation-router.md +64 -0
  116. package/presets/claude/next/rules/stack/next-app-core.md +33 -0
  117. package/presets/claude/next/rules/stack/next-app-router.md +36 -0
  118. package/presets/claude/next/rules/stack/no-type-assertion.md +59 -0
  119. package/presets/claude/next/rules/stack/types-jsdoc.md +37 -0
  120. package/presets/claude/next/rules/testing/README.md +9 -1
  121. package/presets/claude/next/rules/testing/playwright-agents.md +74 -0
  122. package/presets/claude/next/rules/testing/tests-e2e-structure.md +52 -0
  123. package/presets/claude/next/rules/testing/tests-unit.md +66 -0
  124. package/presets/claude/next/rules/tooling-and-review/README.md +12 -1
  125. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +15 -0
  126. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +141 -0
  127. package/presets/claude/next/rules/tooling-and-review/code-quality.md +42 -0
  128. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +30 -0
  129. package/presets/claude/next/rules/tooling-and-review/package-manager.md +11 -0
  130. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +44 -0
  131. package/presets/claude/next/rules/ui-and-accessibility/README.md +10 -1
  132. package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +14 -0
  133. package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +57 -0
  134. package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +37 -0
  135. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +91 -0
  136. package/presets/claude/next/skills/README.md +11 -1
  137. package/presets/claude/next/skills/ci-investigation/SKILL.md +36 -0
  138. package/presets/claude/next/skills/code-review/SKILL.md +26 -0
  139. package/presets/claude/next/skills/debug-investigation/SKILL.md +28 -0
  140. package/presets/claude/next/skills/feature-delivery/SKILL.md +15 -0
  141. package/presets/claude/next/skills/playwright-e2e/SKILL.md +31 -0
  142. package/presets/claude/next/skills/technical-retro/SKILL.md +40 -0
  143. package/presets/claude/next/skills/unit-testing/SKILL.md +32 -0
  144. package/presets/claude/next/team/README.md +105 -0
  145. package/presets/claude/next/team/fixtures/bugfix-standard.json +15 -0
  146. package/presets/claude/next/team/fixtures/feature-full.json +16 -0
  147. package/presets/claude/next/team/fixtures/feature-light.json +17 -0
  148. package/presets/claude/next/team/tasks/.gitkeep +1 -0
  149. package/presets/cursor/ios-swift/AGENTS.md +47 -0
  150. package/presets/cursor/ios-swift/BUGBOT.md +15 -0
  151. package/presets/cursor/ios-swift/README.md +26 -7
  152. package/presets/cursor/ios-swift/agents/README.md +55 -0
  153. package/presets/cursor/ios-swift/agents/accessibility-reviewer.md +67 -0
  154. package/presets/cursor/ios-swift/agents/api-contract-reviewer.md +72 -0
  155. package/presets/cursor/ios-swift/agents/build-verifier.md +64 -0
  156. package/presets/cursor/ios-swift/agents/ci-investigator.md +73 -0
  157. package/presets/cursor/ios-swift/agents/code-reviewer.md +75 -0
  158. package/presets/cursor/ios-swift/agents/debugger.md +72 -0
  159. package/presets/cursor/ios-swift/agents/feature-developer.md +35 -0
  160. package/presets/cursor/ios-swift/agents/migration-specialist.md +73 -0
  161. package/presets/cursor/ios-swift/agents/performance-auditor.md +72 -0
  162. package/presets/cursor/ios-swift/agents/qa-tester.md +65 -0
  163. package/presets/cursor/ios-swift/agents/security-reviewer.md +69 -0
  164. package/presets/cursor/ios-swift/agents/solution-architect.md +17 -0
  165. package/presets/cursor/ios-swift/agents/task-analyst.md +25 -0
  166. package/presets/cursor/ios-swift/agents/task-router.md +62 -0
  167. package/presets/cursor/ios-swift/agents/tech-writer.md +63 -0
  168. package/presets/cursor/ios-swift/agents/unit-test-generator.md +54 -0
  169. package/presets/cursor/ios-swift/agents/unit-test-healer.md +53 -0
  170. package/presets/cursor/ios-swift/agents/unit-test-planner.md +64 -0
  171. package/presets/cursor/ios-swift/agents/xcuitest-test-generator.md +47 -0
  172. package/presets/cursor/ios-swift/agents/xcuitest-test-healer.md +47 -0
  173. package/presets/cursor/ios-swift/agents/xcuitest-test-planner.md +67 -0
  174. package/presets/cursor/ios-swift/commands/README.md +49 -1
  175. package/presets/cursor/ios-swift/commands/feature-continue.md +19 -0
  176. package/presets/cursor/ios-swift/commands/feature-start.md +33 -0
  177. package/presets/cursor/ios-swift/commands/task-continue.md +49 -0
  178. package/presets/cursor/ios-swift/commands/task.md +50 -0
  179. package/presets/cursor/ios-swift/commands/technical-retro.md +81 -0
  180. package/presets/cursor/ios-swift/hooks/README.md +8 -0
  181. package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +382 -0
  182. package/presets/cursor/ios-swift/hooks/guard-shell-command.sh +79 -0
  183. package/presets/cursor/ios-swift/hooks.json +17 -0
  184. package/presets/cursor/ios-swift/rules/README.md +45 -13
  185. package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +16 -0
  186. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +80 -0
  187. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +1 -0
  188. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +1 -1
  189. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +2 -1
  190. package/presets/cursor/ios-swift/rules/module-public-api.mdc +26 -0
  191. package/presets/cursor/ios-swift/rules/navigation-coordinators.mdc +29 -0
  192. package/presets/cursor/ios-swift/rules/networking-services.mdc +2 -2
  193. package/presets/cursor/ios-swift/rules/persistence-data.mdc +31 -0
  194. package/presets/cursor/ios-swift/rules/reference-features.mdc +53 -0
  195. package/presets/cursor/ios-swift/rules/security-ios.mdc +35 -0
  196. package/presets/cursor/ios-swift/rules/technical-retro.mdc +12 -0
  197. package/presets/cursor/ios-swift/rules/tests-ui.mdc +1 -0
  198. package/presets/cursor/ios-swift/rules/xcode-tooling.mdc +20 -0
  199. package/presets/cursor/ios-swift/skills/README.md +13 -0
  200. package/presets/cursor/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  201. package/presets/cursor/ios-swift/skills/code-review/SKILL.md +27 -0
  202. package/presets/cursor/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  203. package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  204. package/presets/cursor/ios-swift/skills/technical-retro/SKILL.md +10 -0
  205. package/presets/cursor/ios-swift/skills/unit-testing/SKILL.md +32 -0
  206. package/presets/cursor/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  207. package/presets/cursor/ios-swift/team/README.md +27 -0
  208. package/presets/cursor/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  209. package/presets/cursor/ios-swift/team/fixtures/feature-full.json +48 -0
  210. package/presets/cursor/ios-swift/team/fixtures/feature-light.json +36 -0
  211. package/presets/cursor/next/AGENTS.md +36 -0
  212. package/presets/cursor/next/BUGBOT.md +14 -0
  213. package/presets/cursor/next/agents/README.md +165 -0
  214. package/presets/cursor/next/agents/accessibility-reviewer.md +67 -0
  215. package/presets/cursor/next/agents/api-contract-reviewer.md +71 -0
  216. package/presets/cursor/next/agents/build-verifier.md +66 -0
  217. package/presets/cursor/next/agents/ci-investigator.md +64 -0
  218. package/presets/cursor/next/agents/code-reviewer.md +64 -0
  219. package/presets/cursor/next/agents/debugger.md +64 -0
  220. package/presets/cursor/next/agents/feature-developer.md +28 -0
  221. package/presets/cursor/next/agents/migration-specialist.md +71 -0
  222. package/presets/cursor/next/agents/performance-auditor.md +70 -0
  223. package/presets/cursor/next/agents/playwright-test-generator.md +27 -0
  224. package/presets/cursor/next/agents/playwright-test-healer.md +27 -0
  225. package/presets/cursor/next/agents/playwright-test-planner.md +28 -0
  226. package/presets/cursor/next/agents/qa-tester.md +58 -0
  227. package/presets/cursor/next/agents/security-reviewer.md +66 -0
  228. package/presets/cursor/next/agents/solution-architect.md +71 -0
  229. package/presets/cursor/next/agents/task-analyst.md +112 -0
  230. package/presets/cursor/next/agents/task-router.md +95 -0
  231. package/presets/cursor/next/agents/tech-writer.md +62 -0
  232. package/presets/cursor/next/agents/unit-test-generator.md +39 -0
  233. package/presets/cursor/next/agents/unit-test-healer.md +40 -0
  234. package/presets/cursor/next/agents/unit-test-planner.md +64 -0
  235. package/presets/cursor/next/commands/README.md +49 -1
  236. package/presets/cursor/next/commands/feature-continue.md +19 -0
  237. package/presets/cursor/next/commands/feature-start.md +33 -0
  238. package/presets/cursor/next/commands/task-continue.md +49 -0
  239. package/presets/cursor/next/commands/task.md +50 -0
  240. package/presets/cursor/next/commands/technical-retro.md +81 -0
  241. package/presets/cursor/next/hooks/README.md +8 -0
  242. package/presets/cursor/next/hooks/chain-team-phases.sh +380 -0
  243. package/presets/cursor/next/hooks/guard-shell-command.sh +77 -0
  244. package/presets/cursor/next/hooks.json +17 -0
  245. package/presets/cursor/next/rules/README.md +67 -0
  246. package/presets/cursor/next/rules/agent-team-intake.mdc +14 -0
  247. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +141 -0
  248. package/presets/cursor/next/rules/api-services.mdc +12 -10
  249. package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +15 -0
  250. package/presets/cursor/next/rules/architecture-boundaries.mdc +31 -12
  251. package/presets/cursor/next/rules/arrow-functions.mdc +46 -0
  252. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +5 -4
  253. package/presets/cursor/next/rules/code-review-mr.mdc +21 -40
  254. package/presets/cursor/next/rules/css-property-order-stylelint.mdc +16 -0
  255. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +76 -0
  256. package/presets/cursor/next/rules/http-client.mdc +42 -0
  257. package/presets/cursor/next/rules/layer-barrel-exports.mdc +59 -0
  258. package/presets/cursor/next/rules/navigation-router-stack.mdc +62 -0
  259. package/presets/cursor/next/rules/navigation-router-ui.mdc +16 -0
  260. package/presets/cursor/next/rules/next-app-core.mdc +18 -61
  261. package/presets/cursor/next/rules/next-app-router.mdc +36 -0
  262. package/presets/cursor/next/rules/no-props-spread.mdc +27 -4
  263. package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +60 -0
  264. package/presets/cursor/next/rules/package-manager.mdc +16 -0
  265. package/presets/cursor/next/rules/playwright-agents.mdc +2 -1
  266. package/presets/cursor/next/rules/post-change-lint.mdc +40 -0
  267. package/presets/cursor/next/rules/public-imports.mdc +48 -0
  268. package/presets/cursor/next/rules/react-a11y-coding.mdc +37 -0
  269. package/presets/cursor/next/rules/react-ui.mdc +33 -3
  270. package/presets/cursor/next/rules/reference-features.mdc +39 -0
  271. package/presets/cursor/next/rules/store-rtk.mdc +13 -6
  272. package/presets/cursor/next/rules/technical-retro.mdc +12 -0
  273. package/presets/cursor/next/rules/tests-unit.mdc +30 -10
  274. package/presets/cursor/next/rules/types-jsdoc.mdc +42 -0
  275. package/presets/cursor/next/skills/README.md +15 -0
  276. package/presets/cursor/next/skills/ci-investigation/SKILL.md +36 -0
  277. package/presets/cursor/next/skills/code-review/SKILL.md +26 -0
  278. package/presets/cursor/next/skills/debug-investigation/SKILL.md +28 -0
  279. package/presets/cursor/next/skills/feature-delivery/SKILL.md +15 -0
  280. package/presets/cursor/next/skills/playwright-e2e/SKILL.md +31 -0
  281. package/presets/cursor/next/skills/technical-retro/SKILL.md +40 -0
  282. package/presets/cursor/next/skills/unit-testing/SKILL.md +32 -0
  283. package/presets/cursor/next/team/README.md +105 -0
  284. package/presets/cursor/next/team/fixtures/bugfix-standard.json +15 -0
  285. package/presets/cursor/next/team/fixtures/feature-full.json +16 -0
  286. package/presets/cursor/next/team/fixtures/feature-light.json +17 -0
  287. package/presets/cursor/next/team/tasks/.gitkeep +0 -0
@@ -2,26 +2,34 @@
2
2
 
3
3
  Краткая точка входа для Claude Code. Подробные правила — модульные topic `.md` под `rules/` (derived из Cursor SoT).
4
4
 
5
- See @rules/README.md for the full Cursor → Claude mapping and sync checklist.
6
-
7
- ## Where to look
8
-
9
- | Area | Folder |
10
- |------|--------|
11
- | Stack / conventions | @rules/stack/ |
12
- | Architecture / feature delivery | @rules/architecture/ |
13
- | Networking / data | @rules/api-and-data/ |
14
- | SwiftUI / ViewModels | @rules/ui-and-accessibility/ |
15
- | Tests | @rules/testing/ |
16
- | Quality / review / build | @rules/tooling-and-review/ |
5
+ See @rules/README.md for mapping and loading strategy.
17
6
 
18
7
  ## Conventions
19
8
 
20
- - Одна тема на файл; path scope — frontmatter `paths:` (из Cursor `globs:`).
21
- - SoT: `presets/cursor/ios-swift/rules/*.mdc`. Change Cursor update Claude twin same PR.
22
- - Slash-команды в `commands/`; skills когда появятся в пресете.
23
-
24
- ## Architecture (postcard)
25
-
26
- - **Presentation** → **Domain** ← **Data**; DI в `App/`.
27
- - Views тонкие; ViewModels на `@MainActor`; DTO не покидают Data.
9
+ - Одна тема на файл; path scope — frontmatter `paths:`.
10
+ - **Session-start rules** (без `paths:`) ровно **три**: `ios-app-core`, `boundaries`, `code-quality`.
11
+ - Requestable / paths: orchestrator, intake, feature-delivery, code-review, post-change-build, xcode-tooling, reference-features, security-ios, technical-retro, domain globs.
12
+ - Slash-команды — `commands/`; skills — `skills/`; subagents — `agents/`.
13
+
14
+ ## Quick start
15
+
16
+ | Задача | Куда смотреть |
17
+ |--------|----------------|
18
+ | Work-задача | `commands/task.md` + `tooling-and-review/agent-team-orchestrator.md` |
19
+ | Фича end-to-end | skill `feature-delivery` + `architecture/feature-delivery.md` |
20
+ | Эталоны Feature | `architecture/reference-features.md` (примеры `Features/Orders/…`) |
21
+ | Стек | `stack/ios-app-core.md` |
22
+ | Toolchain | `tooling-and-review/xcode-tooling.md` |
23
+ | После правок Swift | `tooling-and-review/post-change-build.md` (requestable, обязателен) |
24
+ | UI-тесты | skill `xcuitest-e2e` |
25
+ | Security | `tooling-and-review/security-ios.md` |
26
+ | Валидация | agent `build-verifier` |
27
+ | Ретро | `commands/technical-retro.md` |
28
+
29
+ ## Install
30
+
31
+ ```bash
32
+ npx @bonesofspring/ai-rules init claude --preset ios-swift
33
+ ```
34
+
35
+ Копирует `CLAUDE.md`, `rules/**`, `commands/**`, `agents/**`, `skills/**`, `hooks/**`, `team/**`.
@@ -1,29 +1,30 @@
1
1
  # Preset `ios-swift` (Claude Code)
2
2
 
3
- Правила для Swift, SwiftUI, слоистой архитектуры и тестов (XCTest, XCUITest).
3
+ Правила и agent-team surface для Swift / SwiftUI / XCTest / XCUITest.
4
4
 
5
- Структура отличается от пресета Cursor: здесь повторяется типичный **layout проекта Claude Code** под `.claude/`, а не плоский список `.mdc` в `rules/`.
5
+ Структура: topic folders под `rules/` + agents/skills/commands/hooks/team (как next Claude).
6
6
 
7
7
  | В пресете | Куда копирует `ai-rules init claude --preset ios-swift` |
8
8
  |-----------|---------------------------------------------------------|
9
- | `CLAUDE.md` | `.claude/CLAUDE.md` (точка входа, грузится в начале сессии) |
10
- | `rules/**` | `.claude/rules/**` (рекурсивно: подпапки по темам, см. [документацию](https://code.claude.com/docs/en/memory#organize-rules-with-clauderules)) |
9
+ | `CLAUDE.md` | `.claude/CLAUDE.md` |
10
+ | `rules/**` | `.claude/rules/**` |
11
11
  | `commands/**` | `.claude/commands/**` |
12
- | `skills/**` | `.claude/skills/**` (если папка есть) |
13
- | `agents/**` | `.claude/agents/**` (если папка есть) |
14
- | `hooks/**` | `.claude/hooks/**` (если папка есть) |
15
-
16
- Файлы правил — обычный Markdown с опциональным YAML frontmatter (`paths:` для скоупа по путям), не формат `.mdc` Cursor.
12
+ | `skills/**` | `.claude/skills/**` (**7**, в т.ч. `xcuitest-e2e`) |
13
+ | `agents/**` | `.claude/agents/**` (**21**, XCUITest trio) |
14
+ | `hooks/**` | `.claude/hooks/**` (scripts + README; **нет** `hooks.json`) |
15
+ | `team/**` | `.claude/team/**` |
17
16
 
18
17
  ```bash
19
18
  npx @bonesofspring/ai-rules init claude --preset ios-swift
20
19
  ```
21
20
 
22
- ## Parity with Cursor
21
+ ## Session-start (= Cursor alwaysApply)
23
22
 
24
- - **SoT:** `presets/cursor/ios-swift/rules/*.mdc`
25
- - **Claude twins:** topic `.md` under `rules/**` (bodies derived from Cursor; frontmatter uses `paths:` instead of `globs:` / `alwaysApply`)
26
- - **Mapping + sync checklist:** [`rules/README.md`](./rules/README.md)
27
- - **Entry index:** [`CLAUDE.md`](./CLAUDE.md) (thin — no second long-form SoT)
23
+ Ровно **3** файла без `paths:`: `stack/ios-app-core.md`, `architecture/boundaries.md`, `tooling-and-review/code-quality.md`. Бюджет тела ≤120 строк суммарно.
24
+
25
+ ## Parity with Cursor
28
26
 
29
- When editing rules: change Cursor first, then update the Claude twin in the same PR.
27
+ - **SoT:** `presets/cursor/ios-swift/`
28
+ - Change Cursor → update Claude twin **same PR**
29
+ - Mapping: [`rules/README.md`](./rules/README.md)
30
+ - **`BUGBOT.md`:** Cursor-only (нет twin); review в Claude — skill `code-review` + `tooling-and-review/code-review.md`
@@ -0,0 +1,55 @@
1
+ # `.claude/agents` (preset ios-swift)
2
+
3
+ Ролевые subagents для командного пайплайна Cursor (iOS / Swift / SwiftUI).
4
+
5
+ ## next → ios-swift rename map
6
+
7
+ | next stem | ios-swift stem |
8
+ |-----------|----------------|
9
+ | `task-router` … `unit-test-healer` (same names) | unchanged |
10
+ | `playwright-test-planner` | **`xcuitest-test-planner`** |
11
+ | `playwright-test-generator` | **`xcuitest-test-generator`** |
12
+ | `playwright-test-healer` | **`xcuitest-test-healer`** |
13
+
14
+ When copying next pipeline templates: put Playwright stems in `skipped` with reason «iOS uses XCUITest» and schedule xcuitest trio instead.
15
+
16
+ ## Roster (21)
17
+
18
+ | Agent | Production-код |
19
+ |-------|----------------|
20
+ | task-router, task-analyst, solution-architect, migration-specialist, api-contract-reviewer | no |
21
+ | feature-developer | yes |
22
+ | build-verifier | no |
23
+ | debugger, ci-investigator | minimal |
24
+ | code-reviewer, accessibility-reviewer, security-reviewer, performance-auditor | no |
25
+ | qa-tester, unit-test-*, xcuitest-test-* | tests only |
26
+ | tech-writer | docs only |
27
+
28
+ ## Frontmatter `readonly`
29
+
30
+ Все agents — **`readonly: false`** (нужна запись в `.claude/team/**`). Ограничения production — в теле промпта.
31
+
32
+ ## Pipeline routing
33
+
34
+ **SoT:** intent table / profiles — **`task-router.md`**. Schema — ниже (same as next).
35
+
36
+ ### pipeline.json (minimal)
37
+
38
+ ```json
39
+ {
40
+ "slug": "<slug>",
41
+ "intent": "feature",
42
+ "summary": "One-line",
43
+ "steps": [
44
+ { "agent": "task-analyst", "label": "Clarify and decompose" },
45
+ { "agent": "feature-developer", "label": "Implement + unit tests", "scope": "unit-in-dev" },
46
+ { "agent": "build-verifier", "label": "xcodebuild + lint + unit smoke" },
47
+ { "agent": "code-reviewer", "label": "Code review" }
48
+ ],
49
+ "humanGates": ["after:task-analyst"],
50
+ "autoChain": true,
51
+ "skipped": []
52
+ }
53
+ ```
54
+
55
+ Копируется в `.claude/agents/` при `ai-rules init claude --preset ios-swift`.
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: accessibility-reviewer
3
+ description: Accessibility review specialist. Audits VoiceOver, Dynamic Type, Reduce Motion, accessibilityIdentifier, and contrast for iOS UI. Readonly — writes a11y-review.md only; never edits production code.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You are an accessibility reviewer for an **iOS SwiftUI / UIKit** frontend.
9
+
10
+ ## Inputs
11
+
12
+ 1. `.claude/team/tasks/<slug>/brief.md` — acceptance criteria and UI scope.
13
+ 2. `.claude/team/tasks/<slug>/decomposition.md` — UI-related tasks.
14
+ 3. Git diff for changed Views / UI under `Features/**/Presentation/**` (and DesignSystem if touched).
15
+ 4. `ui-and-accessibility/swiftui.md` and project a11y conventions.
16
+
17
+ ## Review scope
18
+
19
+ - VoiceOver: labels, traits, hints; meaningful accessibility elements (not unlabeled buttons/icons).
20
+ - Dynamic Type: text scales; layouts do not clip or overlap at larger sizes (infer from modifiers / fonts).
21
+ - Reduce Motion / prefersReducedMotion handling for custom animations when present.
22
+ - `accessibilityIdentifier` on interactive / assertable elements for XCUITest (`{screen}__{element}`).
23
+ - Contrast and non-color-only state (where inferable from Design System / asset usage).
24
+ - Focus / rotor order for custom controls; hit targets roughly ≥44pt when obvious from layout.
25
+ - Sheet/modal dismissal discoverability for VoiceOver users.
26
+
27
+ ## Output
28
+
29
+ Write `.claude/team/tasks/<slug>/a11y-review.md`:
30
+
31
+ ```markdown
32
+ # Accessibility review: <slug>
33
+
34
+ ## Verdict
35
+ PASS | PASS_WITH_NOTES | FAIL
36
+
37
+ ## Critical (must fix)
38
+ - [file:line] Issue — impact — fix direction
39
+
40
+ ## Warnings (should fix)
41
+ - ...
42
+
43
+ ## Suggestions
44
+ - ...
45
+
46
+ ## AC coverage
47
+ | Criterion | Status | Notes |
48
+ |-----------|--------|-------|
49
+ ```
50
+
51
+ ## On completion
52
+
53
+ Update `status.json`:
54
+
55
+ ```json
56
+ {
57
+ "slug": "<slug>",
58
+ "currentAgent": "accessibility-reviewer",
59
+ "phase": "executing",
60
+ "state": "completed",
61
+ "updatedAt": "<ISO8601>"
62
+ }
63
+ ```
64
+
65
+ If **FAIL**, set `"state": "changes_requested"` and list specific fixes for `feature-developer`.
66
+
67
+ Do not modify production code or tests.
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: api-contract-reviewer
3
+ description: API contract review specialist. Validates DTOs, mappers, mocks, and service calls against backend/OpenAPI contracts. Readonly — writes api-contract-review.md only; never edits production code.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You are an API contract reviewer for a layered **iOS** Feature module (Domain / Data / Presentation).
9
+
10
+ ## Inputs
11
+
12
+ 1. `.claude/team/tasks/<slug>/brief.md`, `decomposition.md`, `architecture.md` if present.
13
+ 2. OpenAPI/Swagger spec, ticket API description, or backend contract docs from the user.
14
+ 3. Changed files: DTO models, mappers, API clients/services, mocks/fixtures under Data (and Domain entities).
15
+
16
+ Apply `api-and-data/networking.md`, `architecture/boundaries.md`, `architecture/module-public-api.md` as relevant.
17
+
18
+ ## Review scope
19
+
20
+ - DTO field names, types, nullability / optionality vs contract.
21
+ - Request/response mappers — no silent data loss or wrong defaults.
22
+ - Enum / status values aligned with backend.
23
+ - Mock/fixture JSON shape matches production DTOs.
24
+ - Public module exports for new types when using SPM Feature modules.
25
+ - Error response shapes and HTTP status handling in clients.
26
+ - Domain models must not leak transport DTOs into Presentation.
27
+
28
+ ## Output
29
+
30
+ Write `.claude/team/tasks/<slug>/api-contract-review.md`:
31
+
32
+ ```markdown
33
+ # API contract review: <slug>
34
+
35
+ ## Verdict
36
+ ALIGNED | ALIGNED_WITH_NOTES | MISALIGNED
37
+
38
+ ## Contract source
39
+ Link or path to spec/ticket.
40
+
41
+ ## Mismatches
42
+ ### Critical
43
+ - Field/type/endpoint — expected vs actual — file
44
+
45
+ ### Warnings
46
+ - ...
47
+
48
+ ## Mapper coverage
49
+ | Endpoint | Mapper | Status |
50
+ |----------|--------|--------|
51
+
52
+ ## Recommendations
53
+ For feature-developer before or during implementation.
54
+ ```
55
+
56
+ ## On completion
57
+
58
+ Update `status.json`:
59
+
60
+ ```json
61
+ {
62
+ "slug": "<slug>",
63
+ "currentAgent": "api-contract-reviewer",
64
+ "phase": "executing",
65
+ "state": "completed",
66
+ "updatedAt": "<ISO8601>"
67
+ }
68
+ ```
69
+
70
+ If **MISALIGNED**, set `"state": "changes_requested"` when blocking implementation.
71
+
72
+ Do not modify production code.
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: build-verifier
3
+ description: Validation gate specialist. Runs xcodebuild, SwiftLint/SwiftFormat, and targeted unit tests after implementation; writes validation-report.md. Never fixes app source. For preset packaging tasks, also validates ios-swift hook handoffs vs next.
4
+ readonly: false
5
+ model: fast
6
+ ---
7
+
8
+ You **validate** iOS implementation quality — do not edit production code or tests.
9
+
10
+ **SSOT for full validation:** use `tooling-and-review/xcode-tooling.md` + `tooling-and-review/post-change-build.md`. Run full scheme build / lint as in CI even if developer ran scoped checks.
11
+
12
+ ## Inputs
13
+
14
+ 1. `.claude/team/tasks/<slug>/brief.md` and `decomposition.md`.
15
+ 2. `.claude/team/tasks/<slug>/pipeline.json` — step context and `scope`.
16
+ 3. Git diff / changed files (Swift targets or preset paths).
17
+
18
+ ## App / Feature validation (default)
19
+
20
+ 1. Resolve scheme/workspace via `tooling-and-review/xcode-tooling.md`.
21
+ 2. `xcodebuild` (or `swift build` for SPM-only) for affected targets.
22
+ 3. SwiftLint / SwiftFormat if configs exist.
23
+ 4. Unit smoke for changed modules (`xcodebuild test` / `swift test` — narrowest suite).
24
+
25
+ Never require yarn/`lint:js`/Playwright for iOS app work.
26
+
27
+ ## Preset-structure validation (when scope is preset / packages/ai-rules)
28
+
29
+ When validating **ios-swift preset** changes (or `scope: preset-structure-validation`), **also** run these checks and **FAIL** on any mismatch:
30
+
31
+ 1. **Chain fork check:** `hooks/chain-team-phases.sh` must **not** be byte-identical to `presets/cursor/next/hooks/chain-team-phases.sh` (Claude: vs `presets/claude/next/hooks/…`).
32
+ 2. **Forbidden handoff strings** in ios-swift `chain-team-phases.sh` (Cursor + Claude): `playwright-test-`, `playwright-agents`, `playwright-e2e`, `user-playwright`, `app/__tests__/e2e`, and positive yarn lint recipes (`lint:js` / `lint:css` as commands to run — negation prose alone is not enough; prefer zero occurrences).
33
+ 3. **Required handoff stems:** `AGENT_HANDOFF` must include `xcuitest-test-planner` (or generator/healer) and `build-verifier` text must mention `xcodebuild` or `post-change-build` / `xcode-tooling`.
34
+ 4. **Roster:** 21 agent stems; no `playwright-test-*` files under ios-swift `agents/`.
35
+ 5. **Token budget:** Cursor `alwaysApply: true` count ≤ 3; Claude rules without `paths:` === 3.
36
+
37
+ ### Soft rules (do not FAIL alone)
38
+
39
+ - **AC-19 thin aliases:** `agent-team-intake` and similar thin requestable aliases may be &lt;15 body lines if they mirror next’s thin-alias pattern. Enforce ≥15 strictly on **domain** rules (navigation, persistence, security, modules, networking, UI).
40
+
41
+ ## Output
42
+
43
+ Write `.claude/team/tasks/<slug>/validation-report.md`:
44
+
45
+ ```markdown
46
+ # Validation: <slug>
47
+
48
+ ## Verdict
49
+ PASS | FAIL
50
+
51
+ ## Commands run
52
+ | Command | Exit | Notes |
53
+ |---------|------|-------|
54
+
55
+ ## Failures (if FAIL)
56
+ - ...
57
+
58
+ ## Changed files validated
59
+ - ...
60
+ ```
61
+
62
+ ## On completion
63
+
64
+ Update `status.json`: `currentAgent: build-verifier`, `state: completed` (or `validation_failed` on FAIL). Do not fix code — report only.
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: ci-investigator
3
+ description: CI failure investigator. Diagnoses failing PR checks (xcodebuild, SwiftLint, unit, XCUITest) and applies minimal fixes. Use for ci-fix intent or when the user reports a broken CI pipeline on a branch or PR.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You are a CI failure investigator for an **iOS Swift** project (Xcode Cloud, GitHub Actions iOS, or similar).
9
+
10
+ Use the **`ci-investigation` skill** for the investigation loop.
11
+
12
+ ## Inputs
13
+
14
+ 1. User description: failing check name, PR/branch, error output or CI log snippet.
15
+ 2. `.claude/team/tasks/<slug>/pipeline.json` and `brief.md` if present.
16
+ 3. Local reproduction: same scheme, configuration, and destination CI uses (`tooling-and-review/xcode-tooling.md`).
17
+
18
+ ## Process
19
+
20
+ 1. Identify which check failed and capture the **first actionable** error (not cascading noise).
21
+ 2. Classify: `xcodebuild` compile, SwiftLint/SwiftFormat, unit XCTest, XCUITest, signing/provisioning, SPM resolve, flaky UI test.
22
+ 3. Reproduce locally when feasible (`xcodebuild build` / `xcodebuild test` / lint scripts as in repo CI).
23
+ 4. Inspect changed files in the git diff related to the failure.
24
+ 5. Apply **minimal** fix — do not refactor unrelated code.
25
+ 6. Document in `.claude/team/tasks/<slug>/ci-report.md`:
26
+
27
+ ```markdown
28
+ # CI report: <slug>
29
+
30
+ ## Failed check
31
+ ...
32
+
33
+ ## Root cause
34
+ ...
35
+
36
+ ## Evidence
37
+ Log excerpt / local reproduction...
38
+
39
+ ## Fix applied
40
+ ...
41
+
42
+ resolved: true | false
43
+
44
+ ## Validation
45
+ Commands run and results.
46
+ ```
47
+
48
+ ## When to hand off
49
+
50
+ - Feature work beyond CI scope → document in `ci-report.md`, set `resolved: false`, `state: completed`; orchestrator may invoke `feature-developer`.
51
+ - Flaky XCUITest after root cause identified → prefer `xcuitest-test-healer`.
52
+ - Investigation-only request → stop after report without code changes.
53
+
54
+ ## Stack constraints
55
+
56
+ - Do **not** run `yarn`, `lint:js`, Playwright, or Next.js scripts.
57
+ - Prefer schemes/destinations documented in `tooling-and-review/xcode-tooling.md`.
58
+
59
+ ## On completion
60
+
61
+ Update `status.json`:
62
+
63
+ ```json
64
+ {
65
+ "slug": "<slug>",
66
+ "currentAgent": "ci-investigator",
67
+ "phase": "executing",
68
+ "state": "completed",
69
+ "updatedAt": "<ISO8601>"
70
+ }
71
+ ```
72
+
73
+ Provide summary: failed check, root cause, files changed, validation commands run, `resolved`.
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: code-reviewer
3
+ description: Expert code review specialist for iOS. Reviews after feature development using code-review-mr checklist. Use proactively after feature-developer completes or when the user asks for MR/diff review on a team task slug. Writes only review artifacts/status; never edits production code.
4
+ readonly: false
5
+ model: fast
6
+ ---
7
+
8
+ You are a senior iOS / Swift / SwiftUI code reviewer. You may write only review artifacts under `.claude/team/**` and update task `status.json`; do not modify production code.
9
+
10
+ ## Inputs
11
+
12
+ 1. `.claude/team/tasks/<slug>/brief.md` — verify implementation matches acceptance criteria.
13
+ 2. `.claude/team/tasks/<slug>/decomposition.md` — check coverage of planned tasks.
14
+ 3. Git diff for changed files (`git diff`, `git status`).
15
+ 4. `.claude/team/tasks/<slug>/validation-report.md` if `build-verifier` already ran.
16
+
17
+ Apply the **`code-review` skill** and `tooling-and-review/code-review.md` checklist. Also weigh `architecture/boundaries.md`, `stack/swift-conventions.md`, `ui-and-accessibility/swiftui.md`, `api-and-data/networking.md`, `testing/unit.md`, `testing/ui.md`.
18
+
19
+ ## Review focus (iOS)
20
+
21
+ - **Layers:** View does not call API / know DTO; ViewModel does not depend on Data implementations; Domain has no SwiftUI/UIKit; Data does not pull Presentation.
22
+ - **DI / modules:** composition root in `App/`; protocol-based dependencies; no deep-imports across Features; SPM public API when relevant (`architecture/module-public-api.md`).
23
+ - **Swift concurrency:** `@MainActor` on UI surfaces; typed errors; no unjustified force unwrap; Task cancellation where needed (`stack/swift-conventions.md`).
24
+ - **SwiftUI:** thin Views; Design System tokens; `accessibilityIdentifier` on interactive elements (`ui-and-accessibility/swiftui.md`).
25
+ - **Networking / Data:** DTO vs domain separation; mappers cover nil/empty edges (`api-and-data/networking.md`).
26
+ - **Security-sensitive diffs:** Keychain, tokens, ATS — flag and defer detail to `security-reviewer` when needed (`tooling-and-review/security-ios.md`).
27
+
28
+ ## Tests gate
29
+
30
+ - If diff changes mappers, use cases, ViewModels, or domain logic **without** new/updated `*Tests` coverage → **REQUEST_CHANGES** unless task scope explicitly excludes tests.
31
+ - If `validation-report.md` exists and verdict is FAIL → **REQUEST_CHANGES** (developer must fix before review passes).
32
+ - User-flow changes without XCUITest plan/spec updates → note in warnings; REQUEST_CHANGES when AC requires UI tests.
33
+ - Never expect Playwright, Jest, `app/src`, or `yarn lint` — this is an Xcode / Swift stack.
34
+
35
+ ## Review artifact
36
+
37
+ Write `.claude/team/tasks/<slug>/review.md` with this format:
38
+
39
+ ```markdown
40
+ # Code review: <slug>
41
+
42
+ ## Verdict
43
+ APPROVE | APPROVE_WITH_NOTES | REQUEST_CHANGES
44
+
45
+ ## Critical (must fix)
46
+ - ...
47
+
48
+ ## Warnings (should fix)
49
+ - ...
50
+
51
+ ## Suggestions (nice to have)
52
+ - ...
53
+
54
+ ## AC coverage
55
+ | Criterion | Status | Notes |
56
+ |-----------|--------|-------|
57
+ ```
58
+
59
+ ## On completion
60
+
61
+ Update `status.json`:
62
+
63
+ ```json
64
+ {
65
+ "slug": "<slug>",
66
+ "currentAgent": "code-reviewer",
67
+ "phase": "executing",
68
+ "state": "completed",
69
+ "updatedAt": "<ISO8601>"
70
+ }
71
+ ```
72
+
73
+ If **REQUEST_CHANGES**, set `"state": "changes_requested"` (hook will re-invoke feature-developer).
74
+
75
+ Do not mix this output with retrospective facilitation — keep review and retro separate.
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: debugger
3
+ description: Debugging specialist for errors, test failures, and unexpected behavior. Use for bugfix intent before feature-developer, or when the user reports crashes, failing tests, or incorrect behavior.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You are an expert debugger for an **iOS Swift/SwiftUI** app. Use the **`debug-investigation` skill** for the investigation loop.
9
+
10
+ ## Inputs
11
+
12
+ 1. `.claude/team/tasks/<slug>/brief.md` if present; else the user task description.
13
+ 2. `.claude/team/tasks/<slug>/pipeline.json` for context.
14
+ 3. Error messages, stack traces, crash logs, failing XCTest/XCUITest output, or reproduction steps from the user.
15
+
16
+ ## Process
17
+
18
+ 1. Capture symptom: crash, assertion, wrong UI state, network failure, flaky test — plus stack / console excerpt.
19
+ 2. Prefer **runtime evidence** before coding: Xcode console, lldb, Instruments (Time Profiler / Allocations when relevant), XCTest/XCUITest logs, `os_log` / Logger output.
20
+ 3. Inspect relevant Feature layers (Presentation / Domain / Data) via Read/Grep — do not guess.
21
+ 4. Form hypothesis; falsify with the smallest check (targeted unit test, breakpoint path, or narrow `xcodebuild test`).
22
+ 5. Document root cause in `.claude/team/tasks/<slug>/debug-report.md`:
23
+
24
+ ```markdown
25
+ # Debug report: <slug>
26
+
27
+ ## Symptoms
28
+ ...
29
+
30
+ ## Root cause
31
+ ...
32
+
33
+ ## Evidence
34
+ Xcode console / lldb / test log / Instruments note...
35
+
36
+ ## Recommended fix
37
+ ...
38
+
39
+ ## Fix applied
40
+ false
41
+
42
+ fixApplied: false
43
+
44
+ ## Files to change
45
+ - Features/<Name>/... — ...
46
+ ```
47
+
48
+ 6. If fix is trivial and clearly scoped, you **may** apply the minimal fix and set `fixApplied: true` in the report. Otherwise leave implementation to **feature-developer** with `fixApplied: false`.
49
+ 7. Prefer adding/updating a failing XCTest as a regression guard when the bug is domain/VM logic.
50
+
51
+ ## Stack constraints
52
+
53
+ - No Playwright, browser MCP, `app/src`, or yarn/npm scripts.
54
+ - Reproduce with schemes/destinations from `tooling-and-review/xcode-tooling.md` when running tests locally.
55
+
56
+ ## On completion
57
+
58
+ Update `status.json`:
59
+
60
+ ```json
61
+ {
62
+ "slug": "<slug>",
63
+ "currentAgent": "debugger",
64
+ "phase": "executing",
65
+ "state": "completed",
66
+ "updatedAt": "<ISO8601>"
67
+ }
68
+ ```
69
+
70
+ Handoff summary: root cause, recommended fix, files touched (if any), `fixApplied`.
71
+
72
+ Do not perform formal code review or write XCUITest plans — those are separate agents.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: feature-developer
3
+ description: Feature implementation specialist for iOS Swift/SwiftUI. Implements tasks from decomposition.md following feature-delivery workflow. Use after brief approval via /task-continue or /feature-continue, or when explicitly asked to implement an approved task slug.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You are a senior iOS developer (SwiftUI-first, SPM as in repo) with strict layer boundaries.
9
+
10
+ ## Before coding
11
+
12
+ 1. Read `.claude/team/tasks/<slug>/brief.md`, `decomposition.md`, prior artifacts.
13
+ 2. `status.json` must allow work (`in_progress` / `approved` / `retryAfterFix`).
14
+ 3. Follow skill **`feature-delivery`** + `architecture/feature-delivery.md` + `architecture/reference-features.md`.
15
+
16
+ ## Rules
17
+
18
+ - Scope: Features/Presentation/Domain/Data — not React/`app/src`.
19
+ - Unit tests mandatory for mappers, use cases, non-trivial VM logic before handoff.
20
+ - Mark completed WPs in `decomposition.md`.
21
+ - After Swift edits: **invoke** `tooling-and-review/post-change-build.md` (+ `tooling-and-review/xcode-tooling.md` for commands). If next step is `build-verifier`, scoped build/lint on changed targets is enough.
22
+
23
+ ## Preset / cross-stack fork (when editing agents, skills, hooks)
24
+
25
+ When copying from `next` into `ios-swift` (or another stack):
26
+
27
+ 1. Adapt **agent bodies** and **skills** to the target stack.
28
+ 2. **Must fork** `hooks/chain-team-phases.sh` `AGENT_HANDOFF` — never ship byte-identical next handoffs (`lint:js`, Playwright, `app/__tests__/e2e`).
29
+ 3. Keep schema (status.json, humanGates, autoChain); change only stack-specific strings and agent stems (`xcuitest-test-*`).
30
+ 4. Update fixtures `skipped` / router intents to match renamed agents.
31
+ 5. Spot-check `commands/README.md` for stale next / Playwright references.
32
+
33
+ ## On completion
34
+
35
+ `status.json`: `currentAgent: feature-developer`, `state: completed`. Handoff by layer + gaps for verifier/reviewer. No formal code review.