@bonesofspring/ai-rules 0.2.1 → 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 (205) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +17 -5
  3. package/bin/cli.js +4 -4
  4. package/package.json +3 -11
  5. package/presets/claude/ios-swift/CLAUDE.md +35 -0
  6. package/presets/claude/ios-swift/README.md +30 -0
  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 +13 -0
  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 +55 -0
  39. package/presets/claude/ios-swift/rules/api-and-data/README.md +10 -0
  40. package/presets/claude/ios-swift/rules/api-and-data/networking.md +49 -0
  41. package/presets/claude/ios-swift/rules/api-and-data/persistence.md +30 -0
  42. package/presets/claude/ios-swift/rules/architecture/README.md +12 -0
  43. package/presets/claude/ios-swift/rules/architecture/boundaries.md +33 -0
  44. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +68 -0
  45. package/presets/claude/ios-swift/rules/architecture/module-public-api.md +25 -0
  46. package/presets/claude/ios-swift/rules/architecture/reference-features.md +50 -0
  47. package/presets/claude/ios-swift/rules/stack/README.md +10 -0
  48. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +43 -0
  49. package/presets/claude/ios-swift/rules/stack/swift-conventions.md +51 -0
  50. package/presets/claude/ios-swift/rules/testing/README.md +10 -0
  51. package/presets/claude/ios-swift/rules/testing/ui.md +43 -0
  52. package/presets/claude/ios-swift/rules/testing/unit.md +41 -0
  53. package/presets/claude/ios-swift/rules/tooling-and-review/README.md +16 -0
  54. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +18 -0
  55. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +47 -0
  56. package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +38 -0
  57. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +46 -0
  58. package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +36 -0
  59. package/presets/claude/ios-swift/rules/tooling-and-review/security-ios.md +36 -0
  60. package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +14 -0
  61. package/presets/claude/ios-swift/rules/tooling-and-review/xcode-tooling.md +24 -0
  62. package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +11 -0
  63. package/presets/claude/ios-swift/rules/ui-and-accessibility/navigation.md +28 -0
  64. package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +61 -0
  65. package/presets/claude/ios-swift/rules/ui-and-accessibility/viewmodels.md +43 -0
  66. package/presets/claude/ios-swift/skills/README.md +13 -0
  67. package/presets/claude/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  68. package/presets/claude/ios-swift/skills/code-review/SKILL.md +27 -0
  69. package/presets/claude/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  70. package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  71. package/presets/claude/ios-swift/skills/technical-retro/SKILL.md +10 -0
  72. package/presets/claude/ios-swift/skills/unit-testing/SKILL.md +32 -0
  73. package/presets/claude/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  74. package/presets/claude/ios-swift/team/README.md +27 -0
  75. package/presets/claude/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  76. package/presets/claude/ios-swift/team/fixtures/feature-full.json +48 -0
  77. package/presets/claude/ios-swift/team/fixtures/feature-light.json +36 -0
  78. package/presets/claude/next/CLAUDE.md +4 -8
  79. package/presets/claude/next/agents/README.md +62 -34
  80. package/presets/claude/next/agents/code-reviewer.md +6 -5
  81. package/presets/claude/next/agents/playwright-test-generator.md +65 -16
  82. package/presets/claude/next/agents/playwright-test-healer.md +51 -16
  83. package/presets/claude/next/agents/playwright-test-planner.md +55 -15
  84. package/presets/claude/next/agents/task-analyst.md +3 -1
  85. package/presets/claude/next/agents/task-router.md +4 -4
  86. package/presets/claude/next/agents/tech-writer.md +1 -0
  87. package/presets/claude/next/hooks/chain-team-phases.sh +73 -35
  88. package/presets/claude/next/rules/README.md +16 -3
  89. package/presets/claude/next/rules/architecture/README.md +2 -1
  90. package/presets/claude/next/rules/stack/README.md +1 -1
  91. package/presets/claude/next/rules/stack/navigation-router.md +2 -0
  92. package/presets/claude/next/rules/stack/next-app-core.md +1 -1
  93. package/presets/claude/next/rules/tooling-and-review/README.md +12 -14
  94. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +1 -0
  95. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +3 -3
  96. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +11 -0
  97. package/presets/claude/next/rules/ui-and-accessibility/README.md +6 -3
  98. package/presets/claude/next/skills/feature-delivery/SKILL.md +1 -1
  99. package/presets/claude/next/team/README.md +65 -7
  100. package/presets/cursor/ios-swift/AGENTS.md +47 -0
  101. package/presets/cursor/ios-swift/BUGBOT.md +15 -0
  102. package/presets/cursor/ios-swift/README.md +36 -0
  103. package/presets/cursor/ios-swift/agents/README.md +55 -0
  104. package/presets/cursor/ios-swift/agents/accessibility-reviewer.md +67 -0
  105. package/presets/cursor/ios-swift/agents/api-contract-reviewer.md +72 -0
  106. package/presets/cursor/ios-swift/agents/build-verifier.md +64 -0
  107. package/presets/cursor/ios-swift/agents/ci-investigator.md +73 -0
  108. package/presets/cursor/ios-swift/agents/code-reviewer.md +75 -0
  109. package/presets/cursor/ios-swift/agents/debugger.md +72 -0
  110. package/presets/cursor/ios-swift/agents/feature-developer.md +35 -0
  111. package/presets/cursor/ios-swift/agents/migration-specialist.md +73 -0
  112. package/presets/cursor/ios-swift/agents/performance-auditor.md +72 -0
  113. package/presets/cursor/ios-swift/agents/qa-tester.md +65 -0
  114. package/presets/cursor/ios-swift/agents/security-reviewer.md +69 -0
  115. package/presets/cursor/ios-swift/agents/solution-architect.md +17 -0
  116. package/presets/cursor/ios-swift/agents/task-analyst.md +25 -0
  117. package/presets/cursor/ios-swift/agents/task-router.md +62 -0
  118. package/presets/cursor/ios-swift/agents/tech-writer.md +63 -0
  119. package/presets/cursor/ios-swift/agents/unit-test-generator.md +54 -0
  120. package/presets/cursor/ios-swift/agents/unit-test-healer.md +53 -0
  121. package/presets/cursor/ios-swift/agents/unit-test-planner.md +64 -0
  122. package/presets/cursor/ios-swift/agents/xcuitest-test-generator.md +47 -0
  123. package/presets/cursor/ios-swift/agents/xcuitest-test-healer.md +47 -0
  124. package/presets/cursor/ios-swift/agents/xcuitest-test-planner.md +67 -0
  125. package/presets/cursor/ios-swift/commands/README.md +51 -0
  126. package/presets/cursor/ios-swift/commands/feature-continue.md +19 -0
  127. package/presets/cursor/ios-swift/commands/feature-start.md +33 -0
  128. package/presets/cursor/ios-swift/commands/task-continue.md +49 -0
  129. package/presets/cursor/ios-swift/commands/task.md +50 -0
  130. package/presets/cursor/ios-swift/commands/technical-retro.md +81 -0
  131. package/presets/cursor/ios-swift/hooks/README.md +8 -0
  132. package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +382 -0
  133. package/presets/cursor/ios-swift/hooks/guard-shell-command.sh +79 -0
  134. package/presets/{claude/next → cursor/ios-swift}/hooks.json +2 -2
  135. package/presets/cursor/ios-swift/rules/README.md +65 -0
  136. package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +16 -0
  137. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +80 -0
  138. package/presets/cursor/ios-swift/rules/architecture-boundaries.mdc +34 -0
  139. package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +39 -0
  140. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +43 -0
  141. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +61 -0
  142. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +44 -0
  143. package/presets/cursor/ios-swift/rules/module-public-api.mdc +26 -0
  144. package/presets/cursor/ios-swift/rules/navigation-coordinators.mdc +29 -0
  145. package/presets/cursor/ios-swift/rules/networking-services.mdc +49 -0
  146. package/presets/cursor/ios-swift/rules/persistence-data.mdc +31 -0
  147. package/presets/cursor/ios-swift/rules/post-change-build.mdc +32 -0
  148. package/presets/cursor/ios-swift/rules/reference-features.mdc +53 -0
  149. package/presets/cursor/ios-swift/rules/security-ios.mdc +35 -0
  150. package/presets/cursor/ios-swift/rules/state-and-viewmodels.mdc +43 -0
  151. package/presets/cursor/ios-swift/rules/swift-conventions.mdc +51 -0
  152. package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +61 -0
  153. package/presets/cursor/ios-swift/rules/technical-retro.mdc +12 -0
  154. package/presets/cursor/ios-swift/rules/tests-ui.mdc +42 -0
  155. package/presets/cursor/ios-swift/rules/tests-unit.mdc +41 -0
  156. package/presets/cursor/ios-swift/rules/xcode-tooling.mdc +20 -0
  157. package/presets/cursor/ios-swift/skills/README.md +13 -0
  158. package/presets/cursor/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  159. package/presets/cursor/ios-swift/skills/code-review/SKILL.md +27 -0
  160. package/presets/cursor/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  161. package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  162. package/presets/cursor/ios-swift/skills/technical-retro/SKILL.md +10 -0
  163. package/presets/cursor/ios-swift/skills/unit-testing/SKILL.md +32 -0
  164. package/presets/cursor/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  165. package/presets/cursor/ios-swift/team/README.md +27 -0
  166. package/presets/cursor/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  167. package/presets/cursor/ios-swift/team/fixtures/feature-full.json +48 -0
  168. package/presets/cursor/ios-swift/team/fixtures/feature-light.json +36 -0
  169. package/presets/cursor/next/AGENTS.md +1 -1
  170. package/presets/cursor/next/BUGBOT.md +0 -2
  171. package/presets/cursor/next/agents/README.md +6 -0
  172. package/presets/cursor/next/agents/accessibility-reviewer.md +1 -1
  173. package/presets/cursor/next/agents/api-contract-reviewer.md +1 -1
  174. package/presets/cursor/next/agents/build-verifier.md +2 -2
  175. package/presets/cursor/next/agents/code-reviewer.md +1 -1
  176. package/presets/cursor/next/agents/feature-developer.md +1 -0
  177. package/presets/cursor/next/agents/migration-specialist.md +2 -2
  178. package/presets/cursor/next/agents/performance-auditor.md +1 -1
  179. package/presets/cursor/next/agents/playwright-test-generator.md +1 -0
  180. package/presets/cursor/next/agents/playwright-test-healer.md +1 -0
  181. package/presets/cursor/next/agents/qa-tester.md +1 -0
  182. package/presets/cursor/next/agents/security-reviewer.md +1 -1
  183. package/presets/cursor/next/agents/solution-architect.md +1 -1
  184. package/presets/cursor/next/agents/task-analyst.md +1 -1
  185. package/presets/cursor/next/agents/task-router.md +2 -2
  186. package/presets/cursor/next/agents/tech-writer.md +1 -1
  187. package/presets/cursor/next/agents/unit-test-planner.md +2 -2
  188. package/presets/cursor/next/rules/README.md +6 -6
  189. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +25 -23
  190. package/presets/cursor/next/rules/next-app-core.mdc +1 -1
  191. package/presets/cursor/next/rules/post-change-lint.mdc +4 -2
  192. package/presets/cursor/next/skills/feature-delivery/SKILL.md +1 -1
  193. package/CONTRIBUTING.md +0 -102
  194. package/fragments/BUGBOT.md +0 -23
  195. package/presets/claude/next/BUGBOT.md +0 -16
  196. package/presets/claude/next/rules/architecture/api-public-imports.md +0 -8
  197. package/presets/claude/next/rules/architecture/types-public-imports.md +0 -8
  198. package/presets/cursor/next/rules/api-public-imports.mdc +0 -8
  199. package/presets/cursor/next/rules/no-cross-component-styles-import.mdc +0 -8
  200. package/presets/cursor/next/rules/types-public-imports.mdc +0 -8
  201. package/scripts/README.md +0 -84
  202. package/scripts/golden-prompts.json +0 -276
  203. package/scripts/preset-manifest.json +0 -72
  204. package/scripts/regression-results/.gitkeep +0 -0
  205. package/scripts/validate-preset.sh +0 -484
@@ -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
+ }
@@ -12,7 +12,7 @@ See `.cursor/rules/README.md` for the full catalog and loading strategy.
12
12
  | Новая фича end-to-end | skill `feature-delivery` + `feature-delivery-workflow.mdc` |
13
13
  | Стек и слои | `next-app-core.mdc` |
14
14
  | Эталонные фичи | `reference-features.mdc` (заполнить пути в репо) |
15
- | После правок кода | `post-change-lint.mdc` |
15
+ | После правок кода | `post-change-lint.mdc` (**requestable**, но обязателен после edits; полный gate — `build-verifier`) |
16
16
  | Code review MR | skill `code-review` + `code-review-mr.mdc` |
17
17
  | Валидация перед review | agent `build-verifier` |
18
18
  | Техническое ретро | `/technical-retro` + skill `technical-retro` |
@@ -12,5 +12,3 @@ Follow the **`code-review` skill** and **`code-review-mr.mdc`** for the full che
12
12
  ## Review style
13
13
 
14
14
  Lead with concrete findings: file, impact, fix direction. Skip style-only nits unless they violate lint rules or project conventions.
15
-
16
- **Source of truth:** `packages/ai-rules/fragments/BUGBOT.md` — sync manually when updating.
@@ -50,6 +50,12 @@
50
50
 
51
51
  Копируется в `.cursor/agents/` при `ai-rules init cursor --preset next`.
52
52
 
53
+ ## Frontmatter `readonly`
54
+
55
+ Все agents пайплайна — **`readonly: false`**. Им нужна запись в `.cursor/team/**` (`pipeline.json`, `brief.md`, `review.md`, `status.json`, …).
56
+
57
+ Ограничение «не трогать production / `app/**`» задаётся **в теле промпта**, не флагом `readonly`. В Cursor `readonly: true` блокирует *любые* file edits (включая team) — для team-агентов это ломает пайплайн.
58
+
53
59
  ## Оркестрация
54
60
 
55
61
  | Command | Назначение |
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: accessibility-reviewer
3
3
  description: Accessibility review specialist. Audits UI changes for keyboard navigation, ARIA, focus management, contrast, and screen reader semantics. Readonly — writes a11y-review.md only; never edits production code.
4
- readonly: true
4
+ readonly: false
5
5
  model: inherit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: api-contract-reviewer
3
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: true
4
+ readonly: false
5
5
  model: inherit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: build-verifier
3
- description: Validation gate specialist. Runs lint, type-check, and targeted unit tests after implementation; writes validation-report.md. Readonly on production code never fixes app source, only reports and status.
4
- readonly: true
3
+ description: Validation gate specialist. Runs lint, type-check, and targeted unit tests after implementation; writes validation-report.md. Writes validation-report/status under team; never fixes app source.
4
+ readonly: false
5
5
  model: fast
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: code-reviewer
3
3
  description: Expert code review specialist. 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: true
4
+ readonly: false
5
5
  model: fast
6
6
  ---
7
7
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: feature-developer
3
3
  description: Feature implementation specialist for Next.js stack. 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
4
5
  model: inherit
5
6
  ---
6
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: migration-specialist
3
- description: Migration planning specialist for library upgrades, Next.js major versions, HTTP client swaps, and phased refactors with rollback. Readonly — produces migration-plan.md; never writes production code.
4
- readonly: true
3
+ description: Migration planning specialist for library upgrades, Next.js major versions, HTTP client swaps, and phased refactors with rollback. Writes migration-plan.md and team status; never writes production code.
4
+ readonly: false
5
5
  model: inherit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: performance-auditor
3
3
  description: Performance audit specialist. Reviews bundle size, lazy loading, render patterns, data fetching waterfalls, and Core Web Vitals risks. Readonly — writes perf-report.md only; never edits production code.
4
- readonly: true
4
+ readonly: false
5
5
  model: inherit
6
6
  ---
7
7
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: playwright-test-generator
3
3
  description: Playwright e2e generation specialist. Use when converting existing *.cases.md scenarios into executable *.spec.ts tests under app/__tests__/e2e.
4
+ readonly: false
4
5
  model: inherit
5
6
  ---
6
7
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: playwright-test-healer
3
3
  description: Playwright e2e healer. Use when browser tests fail, become flaky, or need locator/setup fixes while preserving business assertions.
4
+ readonly: false
4
5
  model: inherit
5
6
  ---
6
7
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: qa-tester
3
3
  description: QA and test specialist. Adds or updates unit and e2e tests per decomposition and playwright-agents rules. Use after code review completes for a team task slug.
4
+ readonly: false
4
5
  model: inherit
5
6
  ---
6
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: security-reviewer
3
3
  description: Security review specialist. Audits auth flows, token handling, XSS risks, secrets in diff, and unsafe DOM/API usage. Readonly — writes security-review.md only; never edits production code.
4
- readonly: true
4
+ readonly: false
5
5
  model: inherit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: solution-architect
3
3
  description: Solution architect for cross-layer features, API boundaries, and technical design before implementation. Use for spike intent or when router adds architect step for complex features. Readonly — produces design docs, not production code.
4
- readonly: true
4
+ readonly: false
5
5
  model: inherit
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: task-analyst
3
3
  description: Task analysis specialist. Clarifies requirements, validates acceptance criteria, and decomposes work into concrete tasks. Use for /feature-start, task intake, or when the user asks to analyze or decompose a feature before coding. Writes only team artifacts; never writes production code.
4
- readonly: true
4
+ readonly: false
5
5
  model: fast
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: task-router
3
- description: Task routing specialist. Analyzes user prompt, detects intent, and writes pipeline.json with ordered agent steps. Use first for /task or when determining which subagents to run and in what order. Readonlynever writes production code.
4
- readonly: true
3
+ description: Task routing specialist. Analyzes user prompt, detects intent, and writes pipeline.json with ordered agent steps. Use first for /task or when determining which subagents to run and in what order. No production code — writes team artifacts only.
4
+ readonly: false
5
5
  model: fast
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: tech-writer
3
3
  description: Technical documentation specialist. Writes feature READMEs, migration guides, ADR summaries, and changelog entries from completed task artifacts. Docs-only — never edits production application code.
4
- readonly: true
4
+ readonly: false
5
5
  model: fast
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: unit-test-planner
3
- description: Unit test planning specialist. Creates coverage plans for mappers, thunks, HTTP client behavior, and component logic. Readonly for production code — writes unit-test-plan.md.
4
- readonly: true
3
+ description: Unit test planning specialist. Creates coverage plans for mappers, thunks, HTTP client behavior, and component logic. Writes unit-test-plan.md and team status; never edits production code.
4
+ readonly: false
5
5
  model: inherit
6
6
  ---
7
7
 
@@ -19,9 +19,9 @@
19
19
 
20
20
  ### Loading strategy
21
21
 
22
- - **`alwaysApply: true`** (Cursor) / **без `paths:`** (Claude) — только базовые инварианты:
23
- - `next-app-core`, `post-change-lint`, `package-manager`, `code-quality-and-refactoring`
24
- - **On-demand** — `agent-team-intake` (через orchestrator/commands), `agent-team-orchestrator`, architecture, imports, UI, tests, feature-delivery-workflow, reference-features, next-app-router, react-a11y-coding
22
+ - **`alwaysApply: true`** (Cursor) / **без `paths:`** (Claude) — только базовые инварианты (**3**):
23
+ - `next-app-core`, `package-manager`, `code-quality-and-refactoring`
24
+ - **On-demand / requestable** — `post-change-lint` (**обязателен после правок кода**, не always-on), `agent-team-intake` (через orchestrator/commands), `agent-team-orchestrator`, architecture, imports, UI, tests, feature-delivery-workflow, reference-features, next-app-router, react-a11y-coding
25
25
  - **Skills** — длинные процедуры (`feature-delivery`, `code-review`, …)
26
26
 
27
27
  ### UI edit bundle (consolidated globs)
@@ -37,7 +37,7 @@
37
37
  | `no-props-spread.mdc` | `app/src/**/*.tsx` | Явные пропсы |
38
38
  | `arrow-functions.mdc` | `app/src/**` | Синтаксис |
39
39
 
40
- **Не грузятся на типичный UI edit:** `architecture-boundaries` (api/store/types/lib), `layer-barrel-exports` (только `index.ts`), `navigation-router-stack` (только `app/src/app/**`), `no-cross-component-styles-import` (consolidated в `react-ui`).
40
+ **Не грузятся на типичный UI edit:** `architecture-boundaries` (api/store/types/lib), `layer-barrel-exports` (только `index.ts`), `navigation-router-stack` (только `app/src/app/**`). Стили колокации — в `react-ui.mdc` (deprecated stub `no-cross-component-styles-import` removed).
41
41
 
42
42
  `css-property-order-stylelint.mdc` — только на `styles.ts` / `.css`.
43
43
 
@@ -57,7 +57,7 @@
57
57
  | `package-manager.mdc` | Перед `install` / `run` в терминале определить менеджер пакетов репо (lockfile, `packageManager`) и использовать только его |
58
58
  | `agent-team-orchestrator.mdc` | `/task`, router, `pipeline.json`, build-verifier, parallel steps |
59
59
  | `next-app-core.mdc` | Стек, слои, карта каталогов (alwaysApply) |
60
- | `post-change-lint.mdc` | **Обязательный** прогон ESLint + Stylelint после любых изменений кода |
60
+ | `post-change-lint.mdc` | Прогон ESLint + Stylelint после изменений кода (**requestable**, обязателен после code edits) |
61
61
  | `architecture-boundaries-ui.mdc` | Slim границы UI при правках компонентов |
62
62
  | `architecture-boundaries.mdc` | Полная карта UI / store / API (api, store, types, lib) |
63
63
  | `navigation-router-ui.mdc` | Навигация в UI-компонентах (slim) |
@@ -65,7 +65,7 @@
65
65
  | `http-client.mdc` | Один HTTP‑стек, контракты из `@/types`, без разбросанного низкоуровневого API |
66
66
  | `api-services.mdc` | Сервисы, мапперы, вызовы через прикладные API‑клиенты |
67
67
  | `store-rtk.mdc` | Redux Toolkit, thunk’и, типизация ошибок/ответов как в коде репо |
68
- | `public-imports.mdc` | Импорты `@/types`, `@/types/enums`, `@/api` (вне `app/src/api/**`); stubs: `types-public-imports.mdc`, `api-public-imports.mdc` |
68
+ | `public-imports.mdc` | Импорты `@/types`, `@/types/enums`, `@/api` (вне `app/src/api/**`) |
69
69
  | `layer-barrel-exports.mdc` | Двухуровневые barrel для слоёв с public API (`@/api`, `@/types`, `@/core`, …) |
70
70
  | `types-jsdoc.mdc` | JSDoc для типов в `app/src/types` (русский текст, `[computed]`, без `@param`/`@returns`) |
71
71
  | `no-type-assertion-as-import-export.mdc` | Ограничение `as`, в т.ч. `instanceof` для ошибок транспорта в `catch` |
@@ -21,29 +21,31 @@ Work request без `/task` — см. **`agent-team-intake.mdc`** (когда п
21
21
 
22
22
  ## Roles
23
23
 
24
- | Agent | readonly | Typical intent |
25
- |-------|----------|----------------|
26
- | `task-router` | yes | Every `/task` — writes `pipeline.json` |
27
- | `task-analyst` | yes | feature, refactor, test-only, a11y, docs-only, migration |
28
- | `solution-architect` | yes | spike, complex cross-layer feature |
29
- | `migration-specialist` | yes | migration — phased upgrade plan |
30
- | `api-contract-reviewer` | yes | new/changed backend API contracts |
31
- | `debugger` | no | bugfix |
32
- | `ci-investigator` | no | ci-fix — minimal CI repair |
33
- | `feature-developer` | no | feature, bugfix, refactor, migration, a11y |
34
- | `build-verifier` | yes | lint/type-check/unit gate after developer |
35
- | `accessibility-reviewer` | yes | a11y, UI-heavy feature |
36
- | `performance-auditor` | yes | perf-audit, perf-sensitive feature |
37
- | `code-reviewer` | yes | most pipelines, review-only |
38
- | `security-reviewer` | yes | auth, forms, sensitive data |
39
- | `qa-tester` | no | feature, bugfix, test-only |
40
- | `unit-test-planner` | yes | unit-only — coverage plan |
41
- | `unit-test-generator` | no | unit-only — spec generation |
42
- | `unit-test-healer` | no | failing/flaky unit tests |
43
- | `playwright-test-planner` | no | e2e scenario planning |
44
- | `playwright-test-generator` | no | e2e spec generation |
45
- | `playwright-test-healer` | no | failing/flaky e2e fixes |
46
- | `tech-writer` | yes | docs-only, feature/migration docs |
24
+ | Agent | App / prod writes | Typical intent |
25
+ |-------|-------------------|----------------|
26
+ | `task-router` | no (team only) | Every `/task` — writes `pipeline.json` |
27
+ | `task-analyst` | no (team only) | feature, refactor, test-only, a11y, docs-only, migration |
28
+ | `solution-architect` | no (team only) | spike, complex cross-layer feature |
29
+ | `migration-specialist` | no (team only) | migration — phased upgrade plan |
30
+ | `api-contract-reviewer` | no (team only) | new/changed backend API contracts |
31
+ | `debugger` | minimal fix | bugfix |
32
+ | `ci-investigator` | minimal CI fix | ci-fix — minimal CI repair |
33
+ | `feature-developer` | yes | feature, bugfix, refactor, migration, a11y |
34
+ | `build-verifier` | no (team only) | lint/type-check/unit gate after developer |
35
+ | `accessibility-reviewer` | no (team only) | a11y, UI-heavy feature |
36
+ | `performance-auditor` | no (team only) | perf-audit, perf-sensitive feature |
37
+ | `code-reviewer` | no (team only) | most pipelines, review-only |
38
+ | `security-reviewer` | no (team only) | auth, forms, sensitive data |
39
+ | `qa-tester` | tests only | feature, bugfix, test-only |
40
+ | `unit-test-planner` | no (team only) | unit-only — coverage plan |
41
+ | `unit-test-generator` | tests only | unit-only — spec generation |
42
+ | `unit-test-healer` | tests only | failing/flaky unit tests |
43
+ | `playwright-test-planner` | e2e plans | e2e scenario planning |
44
+ | `playwright-test-generator` | e2e tests | e2e spec generation |
45
+ | `playwright-test-healer` | e2e fixes | failing/flaky e2e fixes |
46
+ | `tech-writer` | docs / team | docs-only, feature/migration docs |
47
+
48
+ **Cursor frontmatter:** all team pipeline agents use `readonly: false` so they can write `.cursor/team/**`. Production/app restrictions live in the agent prompt body — do **not** set `readonly: true` (Cursor blocks *all* file writes, including team artifacts).
47
49
 
48
50
  Full prompts: `.cursor/agents/*.md`. Artifact conventions: `.cursor/team/README.md`.
49
51
 
@@ -30,5 +30,5 @@ alwaysApply: true
30
30
 
31
31
  - Архитектура и импорты: `architecture-boundaries.mdc`, `public-imports.mdc`
32
32
  - Фичи: `feature-delivery-workflow.mdc` + skill `feature-delivery`
33
- - После правок: `post-change-lint.mdc`; менеджер пакетов: `package-manager.mdc`
33
+ - После правок: **вызвать** `post-change-lint.mdc` (requestable, обязателен после code edits); менеджер пакетов: `package-manager.mdc`
34
34
  - Копировать паттерны соседних файлов в целевом слое; не использовать `any` (предпочитать `unknown` + сужение)
@@ -1,10 +1,12 @@
1
1
  ---
2
- description: Обязательный прогон ESLint и Stylelint после любых изменений кода
3
- alwaysApply: true
2
+ description: Прогон ESLint и Stylelint после изменений кода. Requestable — подгружать после правок app/**; агенты обязаны запускать после code edits.
3
+ alwaysApply: false
4
4
  ---
5
5
 
6
6
  # Линтеры после изменений кода
7
7
 
8
+ **Requestable, но обязателен при изменениях кода:** правило не always-on (экономия контекста); после правок исходников агент **должен** следовать этому чеклисту.
9
+
8
10
  ## Когда применять
9
11
 
10
12
  После **любого** изменения исходников в `app/**` (TS/TSX/JS/MJS, CSS, styled/Linaria в `.ts`/`.tsx`).
@@ -8,7 +8,7 @@ description: Delivers Next.js frontend features end-to-end across domain types,
8
8
  1. Read task brief, acceptance criteria, and decomposition if present.
9
9
  2. Read **`feature-delivery-workflow.mdc`** and **`reference-features.mdc`** — follow layer order and mirror closest reference feature.
10
10
  3. Add or update focused tests for changed behavior.
11
- 4. Validation from `app/`: see **`post-change-lint.mdc`** (pipeline: scoped lint OK if next step is `build-verifier`).
11
+ 4. Validation from `app/`: **invoke** **`post-change-lint.mdc`** after code edits (requestable, not always-on — but mandatory when code changed). Pipeline: scoped lint OK if next step is `build-verifier`.
12
12
 
13
13
  ## Handoff
14
14
 
package/CONTRIBUTING.md DELETED
@@ -1,102 +0,0 @@
1
- # Contributing to @bonesofspring/ai-rules
2
-
3
- ## Layout
4
-
5
- ```
6
- packages/ai-rules/
7
- bin/cli.js # init / clean
8
- fragments/ # shared source (e.g. BUGBOT.md)
9
- presets/
10
- cursor/next/ # .mdc rules, agents, commands, …
11
- claude/next/ # .md rules with paths:, same semantics
12
- ```
13
-
14
- ## Manual sync: Cursor ↔ Claude
15
-
16
- Пресеты **не генерируются** автоматически. Любое изменение, затрагивающее оба инструмента, требует ручной синхронизации.
17
-
18
- ### Checklist перед PR / publish
19
-
20
- - [ ] **Семантика:** одно и то же правило/агент/skill в обоих пресетах (разный формат, тот же смысл).
21
- - [ ] **Имена пар** — сверить по таблице ниже.
22
- - [ ] **Loading:** Cursor `globs` / `alwaysApply` ↔ Claude `paths:` / отсутствие frontmatter (session start).
23
- - [ ] **Session start:** только 4 базовых правила (см. `rules/README.md` в каждом пресете).
24
- - [ ] **Orchestrator + code-review** — on-demand, не session start (Claude: `paths:` на commands/team).
25
- - [ ] **BUGBOT:** правка `fragments/BUGBOT.md` → копия в `presets/cursor/next/BUGBOT.md` и `presets/claude/next/BUGBOT.md` (платформенные ссылки в теле).
26
- - [ ] **cli.js:** если добавлен root-файл (`hooks.json`, `BUGBOT.md`, …) — обновить `PRESETS.cursor` / `PRESETS.claude` и help text.
27
- - [ ] **package.json `files`:** новые top-level dirs (`fragments/`) включены в publish.
28
- - [ ] **CHANGELOG.md:** запись с intent пользователя (token opt, parity, breaking init).
29
- - [ ] **Version bump** в `package.json` при publish.
30
-
31
- ### File pair map (preset next)
32
-
33
- | Cursor | Claude |
34
- |--------|--------|
35
- | `rules/*.mdc` (flat) | `rules/<topic>/*.md` |
36
- | `architecture-boundaries.mdc` | `architecture/architecture-boundaries.md` |
37
- | `architecture-boundaries-ui.mdc` | `architecture/architecture-boundaries-ui.md` |
38
- | `layer-barrel-exports.mdc` | `architecture/layer-barrel-exports.md` |
39
- | `navigation-router-stack.mdc` | `stack/navigation-router.md` |
40
- | `navigation-router-ui.mdc` | `stack/navigation-router-ui.md` |
41
- | `no-cross-component-styles-import.mdc` (stub → react-ui) | удалён; контент в `ui-and-accessibility/react-ui.md` |
42
- | `react-ui.mdc` | `ui-and-accessibility/react-ui.md` |
43
- | `code-review-mr.mdc` | `tooling-and-review/code-review-mr.md` |
44
- | `agent-team-orchestrator.mdc` | `tooling-and-review/agent-team-orchestrator.md` |
45
- | `AGENTS.md` | `CLAUDE.md` |
46
- | `agents/*.md` | `agents/*.md` (same names) |
47
- | `skills/**/SKILL.md` | `skills/**/SKILL.md` |
48
- | `team/fixtures/*.json` | `team/fixtures/*.json` |
49
-
50
- ### Loading parity cheatsheet
51
-
52
- | Tier | Cursor | Claude |
53
- |------|--------|--------|
54
- | Always-on | `alwaysApply: true` | no YAML / no `paths:` |
55
- | Path-scoped | `globs: …` | `paths: …` |
56
- | On-demand (no auto) | `alwaysApply: false`, empty globs | `paths:` on commands/team/agents |
57
- | Procedure | skill | skill |
58
-
59
- ### UI globs consolidation (P2)
60
-
61
- На UI edit не должны грузиться широкие `app/src/**/*` rules. Сверить:
62
-
63
- - `architecture-boundaries` → api/store/types/lib only
64
- - `architecture-boundaries-ui` → `app/src/ui/**`
65
- - `layer-barrel-exports` → `**/index.ts` only
66
- - `navigation-router-stack` → `app/src/app/**`
67
- - `navigation-router-ui` → `app/src/ui/**/*.tsx`
68
- - Стили колокации — в `react-ui`, не отдельный rule с UI globs
69
-
70
- ### Validate locally
71
-
72
- ```bash
73
- cd packages/ai-rules
74
-
75
- # Full static regression (parity, always-on, globs, BUGBOT, fixtures, golden schema)
76
- yarn validate
77
-
78
- # + init smoke (cursor + claude into temp dirs)
79
- yarn validate:init
80
-
81
- # Router golden prompts — schema + agent refs
82
- yarn validate:golden
83
-
84
- # Manual router regression checklist
85
- ./scripts/validate-preset.sh --print-golden
86
- # → run /task per row, save pipeline.json to scripts/regression-results/<id>.json
87
- ./scripts/validate-preset.sh --check-golden --compare-pipeline scripts/regression-results/
88
- ```
89
-
90
- See **`scripts/README.md`** for golden-prompts workflow.
91
-
92
- Legacy one-liners (covered by `validate-preset.sh`):
93
-
94
- ```bash
95
- node --check packages/ai-rules/bin/cli.js
96
- ```
97
-
98
- ### Do not sync blindly
99
-
100
- - Cursor `.mdc` frontmatter ≠ Claude YAML 1:1 (разные поля).
101
- - Стили компонентов — только в `react-ui` / `react-ui.mdc`; не создавать отдельный rule без узких globs/paths.
102
- - Playwright agents: не копировать vendor boilerplate в Claude — использовать cursor-aligned slim prompts.
@@ -1,23 +0,0 @@
1
- # Bugbot / Automated Review Guidelines
2
-
3
- Follow the **`code-review` skill** and the on-demand **code-review rule** for the full checklist.
4
-
5
- ## Priorities
6
-
7
- 1. Correctness regressions and runtime bugs.
8
- 2. Architecture boundary violations.
9
- 3. Missing unit tests for mapper/domain/store logic; e2e updates for user flows.
10
- 4. Type safety, `@/types` / `@/api` imports, barrel exports.
11
-
12
- ## Review style
13
-
14
- Lead with concrete findings: file, impact, fix direction. Skip style-only nits unless they violate lint rules or project conventions.
15
-
16
- ## Platform rules (on-demand)
17
-
18
- | Platform | Code review rule | Architecture |
19
- |----------|------------------|--------------|
20
- | Cursor | `code-review-mr.mdc` | `architecture-boundaries.mdc` |
21
- | Claude | `rules/tooling-and-review/code-review-mr.md` | `rules/architecture/architecture-boundaries.md` |
22
-
23
- **Sync:** edit this file in `packages/ai-rules/fragments/`, then copy to both presets before publish.
@@ -1,16 +0,0 @@
1
- # Claude Bugbot Review Guidelines
2
-
3
- Follow the **`code-review` skill** and **`rules/tooling-and-review/code-review-mr.md`** for the full checklist.
4
-
5
- ## Priorities
6
-
7
- 1. Correctness regressions and runtime bugs.
8
- 2. Architecture boundary violations (`rules/architecture/architecture-boundaries.md`).
9
- 3. Missing unit tests for mapper/domain/store logic; e2e updates for user flows.
10
- 4. Type safety, `@/types` / `@/api` imports, barrel exports.
11
-
12
- ## Review style
13
-
14
- Lead with concrete findings: file, impact, fix direction. Skip style-only nits unless they violate lint rules or project conventions.
15
-
16
- **Source of truth:** `packages/ai-rules/fragments/BUGBOT.md` — sync manually when updating.
@@ -1,8 +0,0 @@
1
- ---
2
- paths:
3
- - app/src/api/**/*
4
- ---
5
-
6
- # Deprecated
7
-
8
- Содержимое перенесено в **`architecture/public-imports.md`** (раздел `@/api`).
@@ -1,8 +0,0 @@
1
- ---
2
- paths:
3
- - app/src/types/**/*
4
- ---
5
-
6
- # Deprecated
7
-
8
- Содержимое перенесено в **`architecture/public-imports.md`** (раздел `@/types`).
@@ -1,8 +0,0 @@
1
- ---
2
- description: Moved to public-imports.mdc — read that file instead
3
- alwaysApply: false
4
- ---
5
-
6
- # Deprecated
7
-
8
- Содержимое перенесено в **`public-imports.mdc`** (раздел `@/api`).
@@ -1,8 +0,0 @@
1
- ---
2
- description: Стили компонентов — consolidated into react-ui.mdc
3
- alwaysApply: false
4
- ---
5
-
6
- # Moved to react-ui.mdc
7
-
8
- Правила колокации стилей, имени **`Root`** и запрета импорта чужих `styles` — в **`react-ui.mdc`** § «Стили и дизайн‑токены». Правило подгружается автоматически при правках `app/src/ui/**`.
@@ -1,8 +0,0 @@
1
- ---
2
- description: Moved to public-imports.mdc — read that file instead
3
- alwaysApply: false
4
- ---
5
-
6
- # Deprecated
7
-
8
- Содержимое перенесено в **`public-imports.mdc`** (раздел `@/types`).