@bonesofspring/ai-rules 0.2.2 → 0.2.4

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 (295) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +27 -4
  3. package/bin/cli.js +285 -72
  4. package/package.json +3 -2
  5. package/presets/claude/ios-swift/CLAUDE.md +28 -20
  6. package/presets/claude/ios-swift/MCP.md +14 -0
  7. package/presets/claude/ios-swift/README.md +18 -15
  8. package/presets/claude/ios-swift/agents/README.md +55 -0
  9. package/presets/claude/ios-swift/agents/accessibility-reviewer.md +67 -0
  10. package/presets/claude/ios-swift/agents/api-contract-reviewer.md +72 -0
  11. package/presets/claude/ios-swift/agents/build-verifier.md +64 -0
  12. package/presets/claude/ios-swift/agents/ci-investigator.md +73 -0
  13. package/presets/claude/ios-swift/agents/code-reviewer.md +75 -0
  14. package/presets/claude/ios-swift/agents/debugger.md +72 -0
  15. package/presets/claude/ios-swift/agents/feature-developer.md +35 -0
  16. package/presets/claude/ios-swift/agents/migration-specialist.md +73 -0
  17. package/presets/claude/ios-swift/agents/performance-auditor.md +72 -0
  18. package/presets/claude/ios-swift/agents/qa-tester.md +65 -0
  19. package/presets/claude/ios-swift/agents/security-reviewer.md +69 -0
  20. package/presets/claude/ios-swift/agents/solution-architect.md +17 -0
  21. package/presets/claude/ios-swift/agents/task-analyst.md +25 -0
  22. package/presets/claude/ios-swift/agents/task-router.md +62 -0
  23. package/presets/claude/ios-swift/agents/tech-writer.md +63 -0
  24. package/presets/claude/ios-swift/agents/unit-test-generator.md +54 -0
  25. package/presets/claude/ios-swift/agents/unit-test-healer.md +53 -0
  26. package/presets/claude/ios-swift/agents/unit-test-planner.md +64 -0
  27. package/presets/claude/ios-swift/agents/xcuitest-test-generator.md +47 -0
  28. package/presets/claude/ios-swift/agents/xcuitest-test-healer.md +47 -0
  29. package/presets/claude/ios-swift/agents/xcuitest-test-planner.md +67 -0
  30. package/presets/claude/ios-swift/commands/README.md +12 -2
  31. package/presets/claude/ios-swift/commands/feature-continue.md +51 -0
  32. package/presets/claude/ios-swift/commands/feature-start.md +30 -0
  33. package/presets/claude/ios-swift/commands/task-continue.md +49 -0
  34. package/presets/claude/ios-swift/commands/task.md +50 -0
  35. package/presets/claude/ios-swift/commands/technical-retro.md +58 -0
  36. package/presets/claude/ios-swift/hooks/README.md +10 -0
  37. package/presets/claude/ios-swift/hooks/chain-team-phases.sh +382 -0
  38. package/presets/claude/ios-swift/hooks/guard-shell-command.sh +79 -0
  39. package/presets/claude/ios-swift/mcp.json +12 -0
  40. package/presets/claude/ios-swift/rules/README.md +25 -14
  41. package/presets/claude/ios-swift/rules/api-and-data/README.md +2 -1
  42. package/presets/claude/ios-swift/rules/api-and-data/networking.md +2 -2
  43. package/presets/claude/ios-swift/rules/api-and-data/persistence.md +30 -0
  44. package/presets/claude/ios-swift/rules/architecture/README.md +3 -1
  45. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +10 -2
  46. package/presets/claude/ios-swift/rules/architecture/module-public-api.md +25 -0
  47. package/presets/claude/ios-swift/rules/architecture/reference-features.md +50 -0
  48. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +2 -1
  49. package/presets/claude/ios-swift/rules/testing/ui.md +2 -0
  50. package/presets/claude/ios-swift/rules/tooling-and-review/README.md +6 -1
  51. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +18 -0
  52. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +47 -0
  53. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +5 -0
  54. package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +5 -0
  55. package/presets/claude/ios-swift/rules/tooling-and-review/security-ios.md +36 -0
  56. package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +14 -0
  57. package/presets/claude/ios-swift/rules/tooling-and-review/xcode-tooling.md +24 -0
  58. package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +2 -1
  59. package/presets/claude/ios-swift/rules/ui-and-accessibility/navigation.md +28 -0
  60. package/presets/claude/ios-swift/skills/README.md +13 -0
  61. package/presets/claude/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  62. package/presets/claude/ios-swift/skills/code-review/SKILL.md +27 -0
  63. package/presets/claude/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  64. package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  65. package/presets/claude/ios-swift/skills/technical-retro/SKILL.md +10 -0
  66. package/presets/claude/ios-swift/skills/unit-testing/SKILL.md +32 -0
  67. package/presets/claude/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  68. package/presets/claude/ios-swift/team/README.md +27 -0
  69. package/presets/claude/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  70. package/presets/claude/ios-swift/team/fixtures/feature-full.json +48 -0
  71. package/presets/claude/ios-swift/team/fixtures/feature-light.json +36 -0
  72. package/presets/claude/next/CLAUDE.md +29 -5
  73. package/presets/claude/next/MCP.md +16 -0
  74. package/presets/claude/next/README.md +12 -0
  75. package/presets/claude/next/agents/README.md +155 -1
  76. package/presets/claude/next/agents/accessibility-reviewer.md +65 -0
  77. package/presets/claude/next/agents/api-contract-reviewer.md +69 -0
  78. package/presets/claude/next/agents/build-verifier.md +64 -0
  79. package/presets/claude/next/agents/ci-investigator.md +62 -0
  80. package/presets/claude/next/agents/code-reviewer.md +63 -0
  81. package/presets/claude/next/agents/debugger.md +63 -0
  82. package/presets/claude/next/agents/feature-developer.md +27 -0
  83. package/presets/claude/next/agents/migration-specialist.md +69 -0
  84. package/presets/claude/next/agents/performance-auditor.md +68 -0
  85. package/presets/claude/next/agents/qa-tester.md +56 -0
  86. package/presets/claude/next/agents/security-reviewer.md +64 -0
  87. package/presets/claude/next/agents/solution-architect.md +70 -0
  88. package/presets/claude/next/agents/task-analyst.md +111 -0
  89. package/presets/claude/next/agents/task-router.md +94 -0
  90. package/presets/claude/next/agents/tech-writer.md +61 -0
  91. package/presets/claude/next/agents/unit-test-generator.md +37 -0
  92. package/presets/claude/next/agents/unit-test-healer.md +38 -0
  93. package/presets/claude/next/agents/unit-test-planner.md +62 -0
  94. package/presets/claude/next/commands/README.md +10 -2
  95. package/presets/claude/next/commands/feature-continue.md +51 -0
  96. package/presets/claude/next/commands/feature-start.md +30 -0
  97. package/presets/claude/next/commands/task-continue.md +49 -0
  98. package/presets/claude/next/commands/task.md +50 -0
  99. package/presets/claude/next/commands/technical-retro.md +58 -0
  100. package/presets/claude/next/hooks/README.md +5 -2
  101. package/presets/claude/next/hooks/chain-team-phases.sh +380 -0
  102. package/presets/claude/next/hooks/guard-shell-command.sh +77 -0
  103. package/presets/claude/next/mcp.json +20 -0
  104. package/presets/claude/next/rules/README.md +42 -11
  105. package/presets/claude/next/rules/api-and-data/README.md +7 -1
  106. package/presets/claude/next/rules/api-and-data/api-services.md +57 -0
  107. package/presets/claude/next/rules/api-and-data/http-client.md +40 -0
  108. package/presets/claude/next/rules/api-and-data/store-rtk.md +65 -0
  109. package/presets/claude/next/rules/architecture/README.md +11 -2
  110. package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +15 -0
  111. package/presets/claude/next/rules/architecture/architecture-boundaries.md +75 -0
  112. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +79 -0
  113. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +58 -0
  114. package/presets/claude/next/rules/architecture/public-imports.md +46 -0
  115. package/presets/claude/next/rules/architecture/reference-features.md +37 -0
  116. package/presets/claude/next/rules/stack/README.md +10 -1
  117. package/presets/claude/next/rules/stack/arrow-functions.md +45 -0
  118. package/presets/claude/next/rules/stack/navigation-router-ui.md +15 -0
  119. package/presets/claude/next/rules/stack/navigation-router.md +64 -0
  120. package/presets/claude/next/rules/stack/next-app-core.md +33 -0
  121. package/presets/claude/next/rules/stack/next-app-router.md +36 -0
  122. package/presets/claude/next/rules/stack/no-type-assertion.md +59 -0
  123. package/presets/claude/next/rules/stack/types-jsdoc.md +37 -0
  124. package/presets/claude/next/rules/testing/README.md +9 -1
  125. package/presets/claude/next/rules/testing/playwright-agents.md +74 -0
  126. package/presets/claude/next/rules/testing/tests-e2e-structure.md +52 -0
  127. package/presets/claude/next/rules/testing/tests-unit.md +66 -0
  128. package/presets/claude/next/rules/tooling-and-review/README.md +12 -1
  129. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +15 -0
  130. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +145 -0
  131. package/presets/claude/next/rules/tooling-and-review/code-quality.md +42 -0
  132. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +30 -0
  133. package/presets/claude/next/rules/tooling-and-review/package-manager.md +11 -0
  134. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +44 -0
  135. package/presets/claude/next/rules/ui-and-accessibility/README.md +10 -1
  136. package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +14 -0
  137. package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +57 -0
  138. package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +37 -0
  139. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +91 -0
  140. package/presets/claude/next/skills/README.md +11 -1
  141. package/presets/claude/next/skills/ci-investigation/SKILL.md +36 -0
  142. package/presets/claude/next/skills/code-review/SKILL.md +26 -0
  143. package/presets/claude/next/skills/debug-investigation/SKILL.md +28 -0
  144. package/presets/claude/next/skills/feature-delivery/SKILL.md +15 -0
  145. package/presets/claude/next/skills/playwright-e2e/SKILL.md +31 -0
  146. package/presets/claude/next/skills/technical-retro/SKILL.md +40 -0
  147. package/presets/claude/next/skills/unit-testing/SKILL.md +32 -0
  148. package/presets/claude/next/team/README.md +105 -0
  149. package/presets/claude/next/team/fixtures/bugfix-standard.json +15 -0
  150. package/presets/claude/next/team/fixtures/feature-full.json +16 -0
  151. package/presets/claude/next/team/fixtures/feature-light.json +17 -0
  152. package/presets/claude/next/team/tasks/.gitkeep +1 -0
  153. package/presets/cursor/ios-swift/AGENTS.md +47 -0
  154. package/presets/cursor/ios-swift/BUGBOT.md +15 -0
  155. package/presets/cursor/ios-swift/MCP.md +16 -0
  156. package/presets/cursor/ios-swift/README.md +27 -7
  157. package/presets/cursor/ios-swift/agents/README.md +55 -0
  158. package/presets/cursor/ios-swift/agents/accessibility-reviewer.md +67 -0
  159. package/presets/cursor/ios-swift/agents/api-contract-reviewer.md +72 -0
  160. package/presets/cursor/ios-swift/agents/build-verifier.md +64 -0
  161. package/presets/cursor/ios-swift/agents/ci-investigator.md +73 -0
  162. package/presets/cursor/ios-swift/agents/code-reviewer.md +75 -0
  163. package/presets/cursor/ios-swift/agents/debugger.md +72 -0
  164. package/presets/cursor/ios-swift/agents/feature-developer.md +35 -0
  165. package/presets/cursor/ios-swift/agents/migration-specialist.md +73 -0
  166. package/presets/cursor/ios-swift/agents/performance-auditor.md +72 -0
  167. package/presets/cursor/ios-swift/agents/qa-tester.md +65 -0
  168. package/presets/cursor/ios-swift/agents/security-reviewer.md +69 -0
  169. package/presets/cursor/ios-swift/agents/solution-architect.md +17 -0
  170. package/presets/cursor/ios-swift/agents/task-analyst.md +25 -0
  171. package/presets/cursor/ios-swift/agents/task-router.md +62 -0
  172. package/presets/cursor/ios-swift/agents/tech-writer.md +63 -0
  173. package/presets/cursor/ios-swift/agents/unit-test-generator.md +54 -0
  174. package/presets/cursor/ios-swift/agents/unit-test-healer.md +53 -0
  175. package/presets/cursor/ios-swift/agents/unit-test-planner.md +64 -0
  176. package/presets/cursor/ios-swift/agents/xcuitest-test-generator.md +47 -0
  177. package/presets/cursor/ios-swift/agents/xcuitest-test-healer.md +47 -0
  178. package/presets/cursor/ios-swift/agents/xcuitest-test-planner.md +67 -0
  179. package/presets/cursor/ios-swift/commands/README.md +49 -1
  180. package/presets/cursor/ios-swift/commands/feature-continue.md +19 -0
  181. package/presets/cursor/ios-swift/commands/feature-start.md +33 -0
  182. package/presets/cursor/ios-swift/commands/task-continue.md +49 -0
  183. package/presets/cursor/ios-swift/commands/task.md +50 -0
  184. package/presets/cursor/ios-swift/commands/technical-retro.md +81 -0
  185. package/presets/cursor/ios-swift/hooks/README.md +8 -0
  186. package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +382 -0
  187. package/presets/cursor/ios-swift/hooks/guard-shell-command.sh +79 -0
  188. package/presets/cursor/ios-swift/hooks.json +17 -0
  189. package/presets/cursor/ios-swift/mcp.json +11 -0
  190. package/presets/cursor/ios-swift/rules/README.md +45 -13
  191. package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +16 -0
  192. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +85 -0
  193. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +1 -0
  194. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +1 -1
  195. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +2 -1
  196. package/presets/cursor/ios-swift/rules/module-public-api.mdc +26 -0
  197. package/presets/cursor/ios-swift/rules/navigation-coordinators.mdc +29 -0
  198. package/presets/cursor/ios-swift/rules/networking-services.mdc +2 -2
  199. package/presets/cursor/ios-swift/rules/persistence-data.mdc +31 -0
  200. package/presets/cursor/ios-swift/rules/reference-features.mdc +53 -0
  201. package/presets/cursor/ios-swift/rules/security-ios.mdc +35 -0
  202. package/presets/cursor/ios-swift/rules/technical-retro.mdc +12 -0
  203. package/presets/cursor/ios-swift/rules/tests-ui.mdc +1 -0
  204. package/presets/cursor/ios-swift/rules/xcode-tooling.mdc +20 -0
  205. package/presets/cursor/ios-swift/skills/README.md +13 -0
  206. package/presets/cursor/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  207. package/presets/cursor/ios-swift/skills/code-review/SKILL.md +27 -0
  208. package/presets/cursor/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  209. package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  210. package/presets/cursor/ios-swift/skills/technical-retro/SKILL.md +10 -0
  211. package/presets/cursor/ios-swift/skills/unit-testing/SKILL.md +32 -0
  212. package/presets/cursor/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  213. package/presets/cursor/ios-swift/team/README.md +31 -0
  214. package/presets/cursor/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  215. package/presets/cursor/ios-swift/team/fixtures/feature-full.json +48 -0
  216. package/presets/cursor/ios-swift/team/fixtures/feature-light.json +36 -0
  217. package/presets/cursor/next/AGENTS.md +36 -0
  218. package/presets/cursor/next/BUGBOT.md +14 -0
  219. package/presets/cursor/next/MCP.md +16 -0
  220. package/presets/cursor/next/agents/README.md +165 -0
  221. package/presets/cursor/next/agents/accessibility-reviewer.md +67 -0
  222. package/presets/cursor/next/agents/api-contract-reviewer.md +71 -0
  223. package/presets/cursor/next/agents/build-verifier.md +66 -0
  224. package/presets/cursor/next/agents/ci-investigator.md +64 -0
  225. package/presets/cursor/next/agents/code-reviewer.md +64 -0
  226. package/presets/cursor/next/agents/debugger.md +64 -0
  227. package/presets/cursor/next/agents/feature-developer.md +28 -0
  228. package/presets/cursor/next/agents/migration-specialist.md +71 -0
  229. package/presets/cursor/next/agents/performance-auditor.md +70 -0
  230. package/presets/cursor/next/agents/playwright-test-generator.md +27 -0
  231. package/presets/cursor/next/agents/playwright-test-healer.md +27 -0
  232. package/presets/cursor/next/agents/playwright-test-planner.md +28 -0
  233. package/presets/cursor/next/agents/qa-tester.md +58 -0
  234. package/presets/cursor/next/agents/security-reviewer.md +66 -0
  235. package/presets/cursor/next/agents/solution-architect.md +71 -0
  236. package/presets/cursor/next/agents/task-analyst.md +112 -0
  237. package/presets/cursor/next/agents/task-router.md +95 -0
  238. package/presets/cursor/next/agents/tech-writer.md +62 -0
  239. package/presets/cursor/next/agents/unit-test-generator.md +39 -0
  240. package/presets/cursor/next/agents/unit-test-healer.md +40 -0
  241. package/presets/cursor/next/agents/unit-test-planner.md +64 -0
  242. package/presets/cursor/next/commands/README.md +49 -1
  243. package/presets/cursor/next/commands/feature-continue.md +19 -0
  244. package/presets/cursor/next/commands/feature-start.md +33 -0
  245. package/presets/cursor/next/commands/task-continue.md +49 -0
  246. package/presets/cursor/next/commands/task.md +50 -0
  247. package/presets/cursor/next/commands/technical-retro.md +81 -0
  248. package/presets/cursor/next/hooks/README.md +8 -0
  249. package/presets/cursor/next/hooks/chain-team-phases.sh +380 -0
  250. package/presets/cursor/next/hooks/guard-shell-command.sh +77 -0
  251. package/presets/cursor/next/hooks.json +17 -0
  252. package/presets/cursor/next/mcp.json +19 -0
  253. package/presets/cursor/next/rules/README.md +67 -0
  254. package/presets/cursor/next/rules/agent-team-intake.mdc +14 -0
  255. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +147 -0
  256. package/presets/cursor/next/rules/api-services.mdc +12 -10
  257. package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +15 -0
  258. package/presets/cursor/next/rules/architecture-boundaries.mdc +31 -12
  259. package/presets/cursor/next/rules/arrow-functions.mdc +46 -0
  260. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +5 -4
  261. package/presets/cursor/next/rules/code-review-mr.mdc +21 -40
  262. package/presets/cursor/next/rules/css-property-order-stylelint.mdc +16 -0
  263. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +76 -0
  264. package/presets/cursor/next/rules/http-client.mdc +42 -0
  265. package/presets/cursor/next/rules/layer-barrel-exports.mdc +59 -0
  266. package/presets/cursor/next/rules/navigation-router-stack.mdc +62 -0
  267. package/presets/cursor/next/rules/navigation-router-ui.mdc +16 -0
  268. package/presets/cursor/next/rules/next-app-core.mdc +18 -61
  269. package/presets/cursor/next/rules/next-app-router.mdc +36 -0
  270. package/presets/cursor/next/rules/no-props-spread.mdc +27 -4
  271. package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +60 -0
  272. package/presets/cursor/next/rules/package-manager.mdc +16 -0
  273. package/presets/cursor/next/rules/playwright-agents.mdc +2 -1
  274. package/presets/cursor/next/rules/post-change-lint.mdc +40 -0
  275. package/presets/cursor/next/rules/public-imports.mdc +48 -0
  276. package/presets/cursor/next/rules/react-a11y-coding.mdc +37 -0
  277. package/presets/cursor/next/rules/react-ui.mdc +33 -3
  278. package/presets/cursor/next/rules/reference-features.mdc +39 -0
  279. package/presets/cursor/next/rules/store-rtk.mdc +13 -6
  280. package/presets/cursor/next/rules/technical-retro.mdc +12 -0
  281. package/presets/cursor/next/rules/tests-unit.mdc +30 -10
  282. package/presets/cursor/next/rules/types-jsdoc.mdc +42 -0
  283. package/presets/cursor/next/skills/README.md +15 -0
  284. package/presets/cursor/next/skills/ci-investigation/SKILL.md +36 -0
  285. package/presets/cursor/next/skills/code-review/SKILL.md +26 -0
  286. package/presets/cursor/next/skills/debug-investigation/SKILL.md +28 -0
  287. package/presets/cursor/next/skills/feature-delivery/SKILL.md +15 -0
  288. package/presets/cursor/next/skills/playwright-e2e/SKILL.md +31 -0
  289. package/presets/cursor/next/skills/technical-retro/SKILL.md +40 -0
  290. package/presets/cursor/next/skills/unit-testing/SKILL.md +32 -0
  291. package/presets/cursor/next/team/README.md +109 -0
  292. package/presets/cursor/next/team/fixtures/bugfix-standard.json +15 -0
  293. package/presets/cursor/next/team/fixtures/feature-full.json +16 -0
  294. package/presets/cursor/next/team/fixtures/feature-light.json +17 -0
  295. package/presets/cursor/next/team/tasks/.gitkeep +0 -0
@@ -40,4 +40,5 @@ alwaysApply: true
40
40
 
41
41
  - Определить слой (Presentation / Domain / Data / DesignSystem / Tests); повторить паттерн соседних файлов.
42
42
  - Не тянуть `URLSession` во View и DTO во ViewModel — детали в `architecture-boundaries.mdc`.
43
- - Доставка фичи — `feature-delivery-workflow.mdc`; после правок Swift — `post-change-build.mdc`.
43
+ - Доставка фичи — `feature-delivery-workflow.mdc`; после правок Swift — **вызвать** `post-change-build.mdc` (requestable).
44
+ - Toolchain перед сборкой — `xcode-tooling.mdc` (requestable).
@@ -0,0 +1,26 @@
1
+ ---
2
+ description: SPM / модули — public API, access control, запрет deep-import internals
3
+ globs:
4
+ - "**/Package.swift"
5
+ - "**/*Public*.swift"
6
+ - "**/Sources/**/*.swift"
7
+ alwaysApply: false
8
+ ---
9
+
10
+ # Module public API (SPM)
11
+
12
+ ## Рамка
13
+
14
+ - Потребители модуля импортируют **только public/open** API; `internal`/`fileprivate` — для реализации.
15
+ - Deep-import чужих internal файлов — повод вынести символ в public API или рефакторить границы.
16
+
17
+ ## Правила
18
+
19
+ - Новый публичный тип/функция — явный `public` + документация/пример использования при необходимости.
20
+ - Barrel-стиль: один входной модуль / umbrella, если так заведено в репо.
21
+ - Не экспортировать DTO сети из Presentation-facing модулей.
22
+ - Версионирование breaking API — осознанно (SemVer пакета / release notes).
23
+
24
+ ## Требование к агенту
25
+
26
+ Перед `public` на тип — проверить, нужен ли он снаружи. Следовать access control соседних модулей.
@@ -0,0 +1,29 @@
1
+ ---
2
+ description: NavigationStack, координаторы, deep links — границы Presentation
3
+ globs:
4
+ - "**/Presentation/**/*Navigator*.swift"
5
+ - "**/Presentation/**/*Coordinator*.swift"
6
+ - "**/Presentation/**/*Router*.swift"
7
+ - "**/App/**/*App*.swift"
8
+ - "**/*Navigation*.swift"
9
+ alwaysApply: false
10
+ ---
11
+
12
+ # Навигация (iOS)
13
+
14
+ ## Рамка
15
+
16
+ - **SwiftUI-first:** `NavigationStack` / `navigationDestination` / sheet / fullScreenCover — как в репо.
17
+ - UIKit / coordinator — только если уже принят в модуле; не смешивать два стиля в одном Feature без причины.
18
+ - Маршруты и deep links — **Presentation** (или App shell); Domain не знает о `NavigationPath`.
19
+
20
+ ## Правила
21
+
22
+ - Один Feature — один явный «вход» навигации (root view / coordinator), не размазывать `NavigationLink` по Data.
23
+ - Параметры экрана — typed (enum route / struct), не «магические» строки без реестра.
24
+ - Deep link → route mapping централизован (App или Navigation hub); ViewModel не парсит URL напрямую.
25
+ - Модалки: владелец presentation state — родительский VM/coordinator, не глобальный singleton без нужды.
26
+
27
+ ## Требование к агенту
28
+
29
+ Копировать паттерн ближайшего Feature из `reference-features.mdc`. Не тащить networking в навигационный слой.
@@ -9,8 +9,8 @@ alwaysApply: false
9
9
  - Инкапсулировать:
10
10
  - HTTP-запросы (`URLSession` или клиент проекта),
11
11
  - URL, headers, status codes,
12
- - Codable DTO,
13
- - persistence (Core Data, SwiftData, Keychain — по репо).
12
+ - Codable DTO (транспорт).
13
+ - Локальное хранение / Keychain — **`persistence-data.mdc`**, не смешивать с HTTP-клиентом без фасада-репозитория.
14
14
  - Наружу (Domain, ViewModel через repository) отдавать **доменные типы**, не DTO.
15
15
 
16
16
  # Структура модулей
@@ -0,0 +1,31 @@
1
+ ---
2
+ description: Persistence — SwiftData / Core Data / файлы / Keychain (не HTTP)
3
+ globs:
4
+ - "**/Persistence/**/*.swift"
5
+ - "**/Keychain/**/*.swift"
6
+ - "**/*Storage*.swift"
7
+ - "**/*Cache*.swift"
8
+ - "**/*SwiftData*.swift"
9
+ alwaysApply: false
10
+ ---
11
+
12
+ # Persistence (Data)
13
+
14
+ Отделить от HTTP (`networking-services.mdc`): здесь локальное хранение и секреты на диске/Keychain.
15
+
16
+ ## Рамка
17
+
18
+ - Выбор стека (**SwiftData / Core Data / UserDefaults / files**) — **как в репо**; не внедрять второй persistence-стек без задачи.
19
+ - Public API — протоколы в Domain (`…Repository` / `…Store`); реализации в Data.
20
+ - **Keychain** — только для credentials/токенов; не класть PII «для удобства» в UserDefaults.
21
+
22
+ ## Правила
23
+
24
+ - DTO/Entity persistence ≠ network DTO; маппинг явный.
25
+ - Миграции схемы — по принятому в репо процессу; не ломать silently.
26
+ - `@MainActor` на store — только если UI-facing; тяжёлый I/O — off-main + hop обратно.
27
+ - Ошибки — typed; не глотать `try?` на критичном persist.
28
+
29
+ ## Требование к агенту
30
+
31
+ Не смешивать URLSession и persistence в одном типе без фасада-репозитория. Тесты — in-memory / fake store.
@@ -0,0 +1,53 @@
1
+ ---
2
+ description: Эталонные Feature-модули репозитория — копировать структуру при реализации. Заполните пути после init в целевом iOS-репо.
3
+ globs:
4
+ - Features/**/*
5
+ - "**/Presentation/**/*"
6
+ - "**/Domain/**/*"
7
+ - "**/Data/**/*"
8
+ - "**/DesignSystem/**/*"
9
+ alwaysApply: false
10
+ ---
11
+
12
+ # Эталонные фичи (reference features)
13
+
14
+ Перед реализацией найди Feature того же типа и **повтори её структуру**, не изобретая новую организацию файлов.
15
+
16
+ ## Таблица эталонов
17
+
18
+ После `ai-rules init` замени примеры на **реальные** пути consumer-репо. Ниже — conventional placeholders для greenfield / dogfood.
19
+
20
+ | Слой | Эталон (пример → заменить) | Conventional glob / path |
21
+ |------|----------------------------|--------------------------|
22
+ | Feature module | `Features/Orders/` | `Features/**` |
23
+ | Presentation / UI | `Features/Orders/Presentation/` | `**/Presentation/**`, `**/DesignSystem/**` |
24
+ | Domain | `Features/Orders/Domain/` | `**/Domain/**` |
25
+ | Data / Network | `Features/Orders/Data/` | `**/Data/**`, `**/Network*/**` |
26
+ | Persistence | `Features/Orders/Data/Persistence/` | `**/Persistence/**`, `**/Keychain/**` |
27
+ | Unit tests | `Features/OrdersTests/` или `*Tests` рядом | `**/*Tests/**/*.swift` |
28
+ | UI tests | `OrdersUITests/` | `**/*UITests/**/*.swift` |
29
+
30
+ Если в репо другая раскладка (`Modules/`, `Sources/`) — перепиши таблицу один раз и держи её SoT для агентов.
31
+
32
+ ## Как использовать
33
+
34
+ 1. Определи затронутые слои из `decomposition.md` или задачи.
35
+ 2. Открой эталон из таблицы (после заполнения путей).
36
+ 3. Зеркаль именование, порядок файлов, DI, паттерны тестов.
37
+ 4. Если эталона нет — выбери **самую близкую** существующую фичу того же слоя и зафиксируй выбор в handoff.
38
+
39
+ ## Dogfood checklist (5 сценариев)
40
+
41
+ Прогон после init пресета (ручной smoke для агентов):
42
+
43
+ 1. `/task` новая фича в `Features/<Name>` — analyst → developer → build-verifier (xcodebuild).
44
+ 2. Баг в ViewModel — debugger → fix → unit test.
45
+ 3. Mapper DTO↔domain — unit-test-planner/generator.
46
+ 4. UI flow — `xcuitest-test-planner` → generator (accessibilityIdentifier).
47
+ 5. Auth/Keychain touch — security-reviewer + `security-ios.mdc`.
48
+
49
+ ## Связанные правила
50
+
51
+ - `code-quality-and-refactoring.mdc` — повторять паттерны.
52
+ - `feature-delivery-workflow.mdc` — порядок слоёв.
53
+ - skill `feature-delivery` — end-to-end сценарий.
@@ -0,0 +1,35 @@
1
+ ---
2
+ description: ATS, Keychain, PII, секреты, безопасное логирование iOS
3
+ globs:
4
+ - "**/*Keychain*.swift"
5
+ - "**/*Auth*.swift"
6
+ - "**/*Token*.swift"
7
+ - "**/*Credential*.swift"
8
+ - "**/Info.plist"
9
+ alwaysApply: false
10
+ ---
11
+
12
+ # Security (iOS)
13
+
14
+ ## Секреты и конфиг
15
+
16
+ - Нет API keys / tokens в исходниках и git; использовать Keychain, xcconfig (не в VCS), CI secrets.
17
+ - Debug-only bypass ATS / SSL — только `#if DEBUG` и никогда в Release.
18
+
19
+ ## ATS и сеть
20
+
21
+ - ATS exceptions в Info.plist — минимальные, с обоснованием; предпочитать HTTPS.
22
+ - Certificate pinning — только если уже принято в репо.
23
+
24
+ ## PII и логи
25
+
26
+ - Не логировать токены, пароли, полные номера карт/документов.
27
+ - Crash/APM: scrub PII по политике репо.
28
+
29
+ ## Keychain / биометрия
30
+
31
+ - Accessible уровни и `kSecAttrAccessible` — осознанно; Face ID/Touch ID — через LocalAuthentication как в репо.
32
+
33
+ ## Требование к агенту
34
+
35
+ При auth/формах/платежах — сверить с этим правилом и `code-review-mr.mdc`. Security-reviewer подключать для чувствительных фич.
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: Роль агента для проведения технического ретроспективы (retro) команды / спринта. On-demand — предпочтительнее slash-команда /technical-retro.
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # Техническое ретро — rule alias
7
+
8
+ Полный сценарий (включая блок **«Работа агентов»** для slug из `.cursor/team/tasks/`) — в slash-команде:
9
+
10
+ **`.cursor/commands/technical-retro.md`** → `/technical-retro`
11
+
12
+ Используй rule только если command недоступен. Не дублируй содержимое command в ответе — следуй command-файлу и skill `technical-retro`.
@@ -39,3 +39,4 @@ alwaysApply: false
39
39
  - Переиспользовать page objects, не дублировать query в каждом тесте.
40
40
  - Добавлять `accessibilityIdentifier` в SwiftUI через `.accessibilityIdentifier(...)` для новых интерактивных элементов.
41
41
  - Следовать существующим UITest files как эталону.
42
+ - Планирование / генерация / heal — agents `xcuitest-test-{planner,generator,healer}` и skill `xcuitest-e2e` (не Playwright).
@@ -0,0 +1,20 @@
1
+ ---
2
+ description: Перед xcodebuild / SwiftLint / SwiftFormat определять toolchain и схемы репозитория и использовать только их
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # Xcode tooling (терминал)
7
+
8
+ Перед **`xcodebuild` / `swift build` / `swift test` / SwiftLint / SwiftFormat / `simctl`** определи toolchain репозитория и **используй только его**.
9
+
10
+ ## Как определить
11
+
12
+ 1. **Workspace / project:** `.xcworkspace` (CocoaPods) → workspace; иначе `.xcodeproj`; SPM-only — `Package.swift`.
13
+ 2. **Scheme / destination:** как в CI, `Makefile`, `fastlane`, `scripts/` — не угадывать.
14
+ 3. **Lint:** `.swiftlint.yml` / `SwiftLint` в PATH или Mint/mise — если конфига нет, не запускать «чужой» lint.
15
+ 4. **Format:** `.swiftformat` / SwiftFormat — только если принято в репо.
16
+ 5. **Simulator:** `xcrun simctl list` + destination из CI; не хардкодить UDID.
17
+
18
+ Примеры: `xcodebuild -scheme App -destination 'platform=iOS Simulator,name=iPhone 16' build`, `swiftlint lint --quiet`, `swiftformat . --lint`.
19
+
20
+ Долгие сборки и DerivedData — нормальны; не блокировать `xcodebuild`/`simctl`/`xcrun` shell-guard’ом.
@@ -0,0 +1,13 @@
1
+ # `.cursor/skills` (preset ios-swift)
2
+
3
+ | Skill | Назначение |
4
+ |-------|------------|
5
+ | `feature-delivery` | Domain → Data → VM → View → tests → post-change-build |
6
+ | `code-review` | iOS MR checklist |
7
+ | `unit-testing` | XCTest / Swift Testing |
8
+ | `xcuitest-e2e` | XCUITest plan/generate/heal (← next `playwright-e2e`) |
9
+ | `debug-investigation` | Runtime evidence before fix |
10
+ | `ci-investigation` | iOS CI red |
11
+ | `technical-retro` | Retro facilitation |
12
+
13
+ Копируется в `.cursor/skills/` при init.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: ci-investigation
3
+ description: Investigates failing CI checks on PRs and branches — xcodebuild, SwiftLint, unit, XCUITest — with local reproduction and minimal fixes. Use when CI is red or for ci-fix pipeline tasks.
4
+ ---
5
+
6
+ # CI Investigation (iOS)
7
+
8
+ ## Workflow
9
+
10
+ 1. Identify the **first failing check** (compile, lint, unit, XCUITest, signing, SPM).
11
+ 2. Capture error output — ignore cascading failures until root cause is found.
12
+ 3. Reproduce locally with the same scheme/destination CI uses (`xcode-tooling.mdc`):
13
+ - `xcodebuild build` / `xcodebuild test`
14
+ - SwiftLint / SwiftFormat scripts as in repo CI
15
+ - affected XCUITest if UI job failed
16
+ 4. Inspect git diff for changed files related to the failure.
17
+ 5. Apply **minimal fix** — no unrelated refactors.
18
+
19
+ ## Artifact
20
+
21
+ Write `ci-report.md` under the task slug folder (`.cursor/team/tasks/<slug>/`):
22
+
23
+ - Failed check name and log excerpt
24
+ - Root cause classification
25
+ - Fix applied (or handoff to feature-developer)
26
+ - `resolved: true|false`
27
+ - Validation commands and results
28
+
29
+ ## Handoff Rules
30
+
31
+ - Config-only or one-line fixes → fix in place, re-run check.
32
+ - Missing tests or architecture work → document and route to `feature-developer` or `qa-tester`.
33
+ - Flaky XCUITest → prefer `xcuitest-test-healer` after ci-investigator identifies the case.
34
+
35
+ ## Validation
36
+
37
+ Always re-run the failing command locally before marking complete. If environment blocks execution (no simulator), state the exact command and blocker.
38
+
39
+ Never run yarn/`lint:js`/Playwright — wrong stack.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: code-review
3
+ description: Reviews pull requests, merge requests, git diffs, and branch changes using iOS architecture, SwiftUI, networking, and testing standards. Use when the user asks for review or when code-reviewer runs in an agent pipeline.
4
+ ---
5
+
6
+ # Code Review (iOS)
7
+
8
+ ## Inputs
9
+
10
+ Use the local repository as the source of truth: `git status`, `git diff`, task artifacts under `.cursor/team/tasks/<slug>/` when present, and opened files. Do not invent hosting metadata such as labels, CI status, or reviewers.
11
+
12
+ ## Review Order
13
+
14
+ 1. Understand the intent and affected Feature layers (Presentation / Domain / Data).
15
+ 2. Check correctness and regressions first.
16
+ 3. Verify architecture boundaries (`architecture-boundaries.mdc`): View ≠ API/DTO; ViewModel ≠ Data impl; Domain ≠ SwiftUI; Data ≠ Presentation.
17
+ 4. Check DI composition in `App/`, SPM public API (`module-public-api.mdc`), and no deep-imports across Features.
18
+ 5. Review Swift concurrency and conventions (`swift-conventions.mdc`): `@MainActor`, typed errors, force unwrap.
19
+ 6. Review SwiftUI thinness, Design System usage, accessibility identifiers (`swiftui-ui.mdc`).
20
+ 7. Check tests: unit for mapper/domain/VM (`tests-unit.mdc`); XCUITest for user flows (`tests-ui.mdc`).
21
+ 8. Report validation gaps: `xcodebuild`, SwiftLint, or relevant tests not run (`xcode-tooling.mdc`, `post-change-build.mdc`).
22
+
23
+ ## Output
24
+
25
+ Lead with findings ordered by severity. Each finding should include the file, the problem, impact, and a concrete fix direction. If there are no findings, say so and call out remaining test or validation risk.
26
+
27
+ For agent team tasks, write `.cursor/team/tasks/<slug>/review.md` and set `status.json` to `completed` or `changes_requested`.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: debug-investigation
3
+ description: Investigates bugs, failing tests, crashes, and incorrect behavior with runtime evidence before applying minimal fixes. Use for bugfix tasks, debugger agent runs, regressions, and flaky test diagnosis.
4
+ ---
5
+
6
+ # Debug Investigation (iOS)
7
+
8
+ ## Process
9
+
10
+ 1. Reproduce the issue or collect the closest available evidence: Xcode console, lldb backtrace, crash log, failing XCTest/XCUITest output, Instruments note, or user steps.
11
+ 2. Define expected vs actual behavior in one sentence.
12
+ 3. Trace the failing path through the smallest relevant Feature slice (Presentation → Domain → Data).
13
+ 4. Identify the root cause before editing. Avoid broad refactors during bugfixes.
14
+ 5. Apply the smallest fix that preserves existing architecture and public contracts.
15
+ 6. Add or update a regression XCTest when the behavior is domain/VM logic or likely to recur.
16
+ 7. Run the narrow failing check first (`xcodebuild test` for the affected target), then broader build validation if needed (`xcode-tooling.mdc`).
17
+
18
+ ## Artifacts
19
+
20
+ For agent team tasks, write `.cursor/team/tasks/<slug>/debug-report.md` with:
21
+
22
+ - Reproduction steps or evidence source.
23
+ - Root cause.
24
+ - Fix scope (`fixApplied`).
25
+ - Regression coverage.
26
+ - Remaining risk.
27
+
28
+ Update `status.json` when complete.
29
+
30
+ Do not use browser/Playwright tooling — this is an Xcode stack.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: feature-delivery
3
+ description: Delivers iOS Swift/SwiftUI features end-to-end across Domain, Data, ViewModels, Views, tests, and post-change-build validation. Use when implementing or extending a feature, especially through /task or feature-developer.
4
+ ---
5
+
6
+ # Feature Delivery (iOS)
7
+
8
+ 1. Read task brief, acceptance criteria, and decomposition if present.
9
+ 2. Read `feature-delivery-workflow.mdc` and `reference-features.mdc` — Domain → Data → ViewModel → View → tests; mirror the closest Feature.
10
+ 3. Wire DI in `App/` composition root; keep Views thin; keep DTOs out of ViewModels.
11
+ 4. Add or update focused XCTest for mappers / use cases / ViewModels (`tests-unit.mdc`).
12
+ 5. After Swift edits: **invoke** `post-change-build.mdc` (+ `xcode-tooling.mdc`). Pipeline: scoped build OK if next step is `build-verifier`.
13
+
14
+ ## Do / Don't
15
+
16
+ - **Do** follow existing Feature folder layout and public module APIs.
17
+ - **Do** add `accessibilityIdentifier`s for new interactive UI when UI tests are in scope.
18
+ - **Don't** introduce TCA/SwiftData/etc. unless the repo already uses them.
19
+ - **Don't** use yarn, Playwright, or `app/src` paths — wrong stack.
20
+
21
+ ## Preset packaging note
22
+
23
+ When editing **ai-rules ios-swift preset** sources (agents, hooks, rules) rather than an app Feature: keep Cursor and Claude trees in sync where applicable, and **fork / verify hook handoffs** (`hooks/chain-team-phases.sh`, guard scripts, team path conventions) so Cursor (`.cursor/team`) and Claude (`.claude/team`) do not regress against each other or against the next preset templates.
24
+
25
+ ## Handoff
26
+
27
+ Summarize by layer, validation results, and known gaps. Agent team: update `.cursor/team/tasks/<slug>/status.json`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: technical-retro
3
+ description: Facilitates technical retrospectives for tasks, sprints, incidents, releases, and agent-team pipelines. Use when the user asks for retro, postmortem, process review, or action items after delivery.
4
+ ---
5
+
6
+ # Technical Retro
7
+
8
+ Same structure as next technical-retro skill. For `/task` pipelines include router, analyst, developer, **build-verifier** (xcodebuild), reviewer, QA/XCUITest, hooks, rules.
9
+
10
+ Preset feedback: propose updates to `.cursor/rules|agents|skills` — do not apply without approval.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: unit-testing
3
+ description: Plans, generates, and heals XCTest / Swift Testing for mappers, use cases, and ViewModels using *Tests targets and tests-unit rules. Use for unit test planning, generation, or fixing failing unit tests.
4
+ ---
5
+
6
+ # Unit Testing (iOS)
7
+
8
+ ## Project Layout
9
+
10
+ - Unit targets: `*Tests/` colocated or parallel to Feature — **as in the Xcode project**.
11
+ - Framework: XCTest or Swift Testing per project convention.
12
+ - Do **not** create Jest/Vitest `*.spec.ts` files.
13
+
14
+ Follow `tests-unit.mdc` (Cursor `.mdc` / Claude `testing/unit.md` depending on preset).
15
+
16
+ ## Planner
17
+
18
+ Write or update `.cursor/team/tasks/<slug>/unit-test-plan.md`.
19
+
20
+ Each scenario needs a Russian `test` / `@Test` title (capital letter after each sentence). Cover mappers, use cases, ViewModel state branches, and mocked client/repository behavior per AC.
21
+
22
+ ## Generator
23
+
24
+ Implement tests from `unit-test-plan.md` into the correct `*Tests` target. Reuse TestSupport / protocol mocks. Do not change production code.
25
+
26
+ ## Healer
27
+
28
+ Fix mocks, async/MainActor timing, and fixtures — preserve business assertions. Use `unit-test-plan.md` and `brief.md` as the behavior contract.
29
+
30
+ ## Validation
31
+
32
+ Run affected unit tests via `xcodebuild test` (`xcode-tooling.mdc`) when feasible. Report command, pass/fail, and remaining gaps vs plan.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: xcuitest-e2e
3
+ description: Plans, generates, and heals XCUITest UI tests using *UITests targets, accessibility identifiers, and screen objects. Use for UI test planning, generation, or fixing flaky XCUITest.
4
+ ---
5
+
6
+ # XCUITest E2E
7
+
8
+ ## Project Layout
9
+
10
+ - UI Test target: `*UITests/` (as in the Xcode project).
11
+ - Optional plans: `*.cases.md` if the repo uses them.
12
+ - Screen/Page objects keyed by `accessibilityIdentifier` (`{screen}__{element}`).
13
+ - Shared helpers: `UITestSupport/` or equivalent — follow existing patterns.
14
+
15
+ Follow `tests-ui.mdc`. Agents: `xcuitest-test-{planner,generator,healer}`.
16
+
17
+ **Never Playwright** and never `app/__tests__/e2e`.
18
+
19
+ ## Planner
20
+
21
+ Create or update the relevant plan (`*.cases.md` or team notes). Each scenario should include title, preconditions, steps, and expected result. Cover happy path, important edge cases, validation, and error states. Russian titles with entity prefix when that is repo convention.
22
+
23
+ ## Generator
24
+
25
+ Generate XCUITest from plans into the UITests target. Reuse screen objects. Keep test names aligned with scenario names. Prefer identifiers over coordinates.
26
+
27
+ ## Healer
28
+
29
+ Fix waits, launch arguments, identifiers, or screen-object details without weakening business assertions. Use the matching plan / AC as the behavior contract.
30
+
31
+ ## Validation
32
+
33
+ Run affected UI tests via `xcodebuild test` (`xcode-tooling.mdc`) when a simulator is available. If blocked, report the exact command and blocker.
@@ -0,0 +1,31 @@
1
+ # Agent team artifacts (ios-swift)
2
+
3
+ Каталог артефактов пайплайна «команда агентов» для iOS.
4
+
5
+ ## Layout
6
+
7
+ ```
8
+ .cursor/team/ # Claude: .claude/team/
9
+ active-task.json
10
+ fixtures/
11
+ tasks/<slug>/
12
+ pipeline.json
13
+ status.json
14
+ brief.md
15
+ decomposition.md
16
+
17
+ ```
18
+
19
+ ## Fixtures
20
+
21
+ | Fixture | Notes |
22
+ |---------|-------|
23
+ | `feature-full.json` | Full profile; QA scope `e2e-only` = **XCUITest**; Playwright stems in `skipped` |
24
+ | `feature-light.json` | developer → build-verifier |
25
+ | `bugfix-standard.json` | debugger → developer (skipIf) → verifier → reviewer |
26
+
27
+ **Never** schedule Playwright-only steps without skip rationale. Use `xcuitest-test-*` for UI-test-only intents.
28
+
29
+ ## Creating task dirs
30
+
31
+ Bootstrap `tasks/<slug>/` by **writing** artifacts (Write tool), not Shell `mkdir`. Cursor sandbox → `Operation not permitted` otherwise (worse on Desktop/Documents).
@@ -0,0 +1,33 @@
1
+ {
2
+ "slug": "example-bugfix-standard",
3
+ "intent": "bugfix",
4
+ "profile": "standard",
5
+ "summary": "Regression fix with review",
6
+ "steps": [
7
+ {
8
+ "agent": "debugger",
9
+ "label": "Root cause"
10
+ },
11
+ {
12
+ "agent": "feature-developer",
13
+ "label": "Fix if needed",
14
+ "skipIf": "debugger.fixed"
15
+ },
16
+ {
17
+ "agent": "build-verifier",
18
+ "label": "Validation gate"
19
+ },
20
+ {
21
+ "agent": "code-reviewer",
22
+ "label": "Code review"
23
+ }
24
+ ],
25
+ "humanGates": [],
26
+ "autoChain": true,
27
+ "skipped": [
28
+ {
29
+ "agent": "playwright-test-planner",
30
+ "reason": "iOS uses XCUITest — not in this bugfix path"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "slug": "example-feature-full",
3
+ "intent": "feature",
4
+ "profile": "full",
5
+ "summary": "Multi-layer Feature with XCUITest coverage",
6
+ "steps": [
7
+ {
8
+ "agent": "task-analyst",
9
+ "label": "Clarify and decompose"
10
+ },
11
+ {
12
+ "agent": "feature-developer",
13
+ "label": "Implement + unit tests",
14
+ "scope": "unit-in-dev"
15
+ },
16
+ {
17
+ "agent": "build-verifier",
18
+ "label": "xcodebuild + lint + unit smoke"
19
+ },
20
+ {
21
+ "agent": "code-reviewer",
22
+ "label": "Code review"
23
+ },
24
+ {
25
+ "agent": "qa-tester",
26
+ "label": "XCUITest",
27
+ "scope": "e2e-only"
28
+ }
29
+ ],
30
+ "humanGates": [
31
+ "after:task-analyst"
32
+ ],
33
+ "autoChain": true,
34
+ "skipped": [
35
+ {
36
+ "agent": "playwright-test-planner",
37
+ "reason": "iOS uses XCUITest — see xcuitest-test-* agents"
38
+ },
39
+ {
40
+ "agent": "playwright-test-generator",
41
+ "reason": "iOS uses XCUITest"
42
+ },
43
+ {
44
+ "agent": "playwright-test-healer",
45
+ "reason": "iOS uses XCUITest"
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "slug": "example-feature-light",
3
+ "intent": "feature",
4
+ "profile": "light",
5
+ "summary": "Trivial single-file Swift change with explicit AC",
6
+ "steps": [
7
+ {
8
+ "agent": "feature-developer",
9
+ "label": "Implement"
10
+ },
11
+ {
12
+ "agent": "build-verifier",
13
+ "label": "Validation gate"
14
+ }
15
+ ],
16
+ "humanGates": [],
17
+ "autoChain": true,
18
+ "skipped": [
19
+ {
20
+ "agent": "task-analyst",
21
+ "reason": "Explicit AC and single-file scope"
22
+ },
23
+ {
24
+ "agent": "code-reviewer",
25
+ "reason": "Light profile"
26
+ },
27
+ {
28
+ "agent": "qa-tester",
29
+ "reason": "No XCUITest AC"
30
+ },
31
+ {
32
+ "agent": "playwright-test-planner",
33
+ "reason": "iOS uses XCUITest; not needed for light"
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,36 @@
1
+ # Next.js stack — Cursor agent team
2
+
3
+ Краткая точка входа для Cursor. Подробные правила — `.cursor/rules/*.mdc`; сценарии — `.cursor/skills/**`.
4
+
5
+ See `.cursor/rules/README.md` for the full catalog and loading strategy.
6
+
7
+ ## Quick start
8
+
9
+ | Задача | Куда смотреть |
10
+ |--------|----------------|
11
+ | Любая новая work-задача | `/task` → `commands/task.md` + `agent-team-orchestrator.mdc` (+ `agent-team-intake.mdc` on-demand) |
12
+ | Новая фича end-to-end | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
13
+ | Стек и слои | `next-app-core.mdc` |
14
+ | Эталонные фичи | `reference-features.mdc` (заполнить пути в репо) |
15
+ | После правок кода | `post-change-lint.mdc` (**requestable**, но обязателен после edits; полный gate — `build-verifier`) |
16
+ | Code review MR | skill `code-review` + `code-review-mr.mdc` |
17
+ | Валидация перед review | agent `build-verifier` |
18
+ | Техническое ретро | `/technical-retro` + skill `technical-retro` |
19
+
20
+ ## Когда использовать `/task`
21
+
22
+ - Реализация, багфикс, миграция, тесты, ревью MR, CI-fix — **предпочтительно через `/task`**.
23
+ - Простой one-liner без архитектурного риска — можно без pipeline, если пользователь явно просит.
24
+ - Вопросы «как работает X» — ответ без `/task`.
25
+
26
+ ## Pipeline routing
27
+
28
+ Intent detection, profiles (`full` / `standard` / `light`), and default steps — **only** in `agents/task-router.md`. Schema and examples — `agents/README.md`.
29
+
30
+ ## Install
31
+
32
+ ```bash
33
+ npx @bonesofspring/ai-rules init cursor --preset next
34
+ ```
35
+
36
+ Копирует rules, commands, agents, hooks, skills, team, `hooks.json`, `BUGBOT.md`, `AGENTS.md`, `MCP.md`, `mcp.json` → `.cursor/mcp.json`.