@bonesofspring/ai-rules 0.2.1 → 0.2.2

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 (214) hide show
  1. package/README.md +10 -20
  2. package/bin/cli.js +73 -260
  3. package/package.json +4 -13
  4. package/presets/claude/ios-swift/CLAUDE.md +27 -0
  5. package/presets/claude/ios-swift/README.md +29 -0
  6. package/presets/claude/ios-swift/commands/README.md +3 -0
  7. package/presets/claude/ios-swift/rules/README.md +44 -0
  8. package/presets/claude/ios-swift/rules/api-and-data/README.md +9 -0
  9. package/presets/claude/ios-swift/rules/api-and-data/networking.md +49 -0
  10. package/presets/claude/ios-swift/rules/architecture/README.md +10 -0
  11. package/presets/claude/ios-swift/rules/architecture/boundaries.md +33 -0
  12. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +60 -0
  13. package/presets/claude/ios-swift/rules/stack/README.md +10 -0
  14. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +42 -0
  15. package/presets/claude/ios-swift/rules/stack/swift-conventions.md +51 -0
  16. package/presets/claude/ios-swift/rules/testing/README.md +10 -0
  17. package/presets/claude/ios-swift/rules/testing/ui.md +41 -0
  18. package/presets/claude/ios-swift/rules/testing/unit.md +41 -0
  19. package/presets/claude/ios-swift/rules/tooling-and-review/README.md +11 -0
  20. package/presets/claude/ios-swift/rules/tooling-and-review/code-quality.md +38 -0
  21. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +41 -0
  22. package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +31 -0
  23. package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +10 -0
  24. package/presets/claude/ios-swift/rules/ui-and-accessibility/swiftui.md +61 -0
  25. package/presets/claude/ios-swift/rules/ui-and-accessibility/viewmodels.md +43 -0
  26. package/presets/claude/next/CLAUDE.md +5 -33
  27. package/presets/claude/next/README.md +0 -10
  28. package/presets/claude/next/agents/README.md +0 -126
  29. package/presets/claude/next/agents/playwright-test-generator.md +65 -16
  30. package/presets/claude/next/agents/playwright-test-healer.md +51 -16
  31. package/presets/claude/next/agents/playwright-test-planner.md +55 -15
  32. package/presets/claude/next/commands/README.md +2 -10
  33. package/presets/claude/next/hooks/README.md +2 -5
  34. package/presets/claude/next/rules/README.md +11 -29
  35. package/presets/claude/next/rules/api-and-data/README.md +1 -7
  36. package/presets/claude/next/rules/architecture/README.md +2 -10
  37. package/presets/claude/next/rules/stack/README.md +1 -10
  38. package/presets/claude/next/rules/testing/README.md +1 -9
  39. package/presets/claude/next/rules/tooling-and-review/README.md +1 -14
  40. package/presets/claude/next/rules/ui-and-accessibility/README.md +1 -7
  41. package/presets/claude/next/skills/README.md +1 -11
  42. package/presets/cursor/ios-swift/README.md +17 -0
  43. package/presets/cursor/ios-swift/commands/README.md +3 -0
  44. package/presets/cursor/ios-swift/rules/README.md +33 -0
  45. package/presets/cursor/ios-swift/rules/architecture-boundaries.mdc +34 -0
  46. package/presets/cursor/ios-swift/rules/code-quality-and-refactoring.mdc +39 -0
  47. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +42 -0
  48. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +61 -0
  49. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +43 -0
  50. package/presets/cursor/ios-swift/rules/networking-services.mdc +49 -0
  51. package/presets/cursor/ios-swift/rules/post-change-build.mdc +32 -0
  52. package/presets/cursor/ios-swift/rules/state-and-viewmodels.mdc +43 -0
  53. package/presets/cursor/ios-swift/rules/swift-conventions.mdc +51 -0
  54. package/presets/cursor/ios-swift/rules/swiftui-ui.mdc +61 -0
  55. package/presets/cursor/ios-swift/rules/tests-ui.mdc +41 -0
  56. package/presets/cursor/ios-swift/rules/tests-unit.mdc +41 -0
  57. package/presets/cursor/next/commands/README.md +1 -49
  58. package/presets/cursor/next/rules/README.md +0 -67
  59. package/presets/cursor/next/rules/api-services.mdc +10 -12
  60. package/presets/cursor/next/rules/architecture-boundaries.mdc +12 -31
  61. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +4 -5
  62. package/presets/cursor/next/rules/code-review-mr.mdc +40 -21
  63. package/presets/cursor/next/rules/next-app-core.mdc +61 -18
  64. package/presets/cursor/next/rules/no-props-spread.mdc +4 -27
  65. package/presets/cursor/next/rules/playwright-agents.mdc +1 -2
  66. package/presets/cursor/next/rules/react-ui.mdc +3 -33
  67. package/presets/cursor/next/rules/store-rtk.mdc +6 -13
  68. package/presets/cursor/next/rules/tests-unit.mdc +10 -30
  69. package/CHANGELOG.md +0 -22
  70. package/CONTRIBUTING.md +0 -102
  71. package/fragments/BUGBOT.md +0 -23
  72. package/presets/claude/next/BUGBOT.md +0 -16
  73. package/presets/claude/next/agents/accessibility-reviewer.md +0 -65
  74. package/presets/claude/next/agents/api-contract-reviewer.md +0 -69
  75. package/presets/claude/next/agents/build-verifier.md +0 -64
  76. package/presets/claude/next/agents/ci-investigator.md +0 -62
  77. package/presets/claude/next/agents/code-reviewer.md +0 -62
  78. package/presets/claude/next/agents/debugger.md +0 -63
  79. package/presets/claude/next/agents/feature-developer.md +0 -27
  80. package/presets/claude/next/agents/migration-specialist.md +0 -69
  81. package/presets/claude/next/agents/performance-auditor.md +0 -68
  82. package/presets/claude/next/agents/qa-tester.md +0 -56
  83. package/presets/claude/next/agents/security-reviewer.md +0 -64
  84. package/presets/claude/next/agents/solution-architect.md +0 -70
  85. package/presets/claude/next/agents/task-analyst.md +0 -109
  86. package/presets/claude/next/agents/task-router.md +0 -94
  87. package/presets/claude/next/agents/tech-writer.md +0 -60
  88. package/presets/claude/next/agents/unit-test-generator.md +0 -37
  89. package/presets/claude/next/agents/unit-test-healer.md +0 -38
  90. package/presets/claude/next/agents/unit-test-planner.md +0 -62
  91. package/presets/claude/next/commands/feature-continue.md +0 -51
  92. package/presets/claude/next/commands/feature-start.md +0 -30
  93. package/presets/claude/next/commands/task-continue.md +0 -49
  94. package/presets/claude/next/commands/task.md +0 -50
  95. package/presets/claude/next/commands/technical-retro.md +0 -58
  96. package/presets/claude/next/hooks/chain-team-phases.sh +0 -342
  97. package/presets/claude/next/hooks/guard-shell-command.sh +0 -77
  98. package/presets/claude/next/hooks.json +0 -17
  99. package/presets/claude/next/rules/api-and-data/api-services.md +0 -57
  100. package/presets/claude/next/rules/api-and-data/http-client.md +0 -40
  101. package/presets/claude/next/rules/api-and-data/store-rtk.md +0 -65
  102. package/presets/claude/next/rules/architecture/api-public-imports.md +0 -8
  103. package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +0 -15
  104. package/presets/claude/next/rules/architecture/architecture-boundaries.md +0 -75
  105. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +0 -79
  106. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +0 -58
  107. package/presets/claude/next/rules/architecture/public-imports.md +0 -46
  108. package/presets/claude/next/rules/architecture/reference-features.md +0 -37
  109. package/presets/claude/next/rules/architecture/types-public-imports.md +0 -8
  110. package/presets/claude/next/rules/stack/arrow-functions.md +0 -45
  111. package/presets/claude/next/rules/stack/navigation-router-ui.md +0 -15
  112. package/presets/claude/next/rules/stack/navigation-router.md +0 -62
  113. package/presets/claude/next/rules/stack/next-app-core.md +0 -33
  114. package/presets/claude/next/rules/stack/next-app-router.md +0 -36
  115. package/presets/claude/next/rules/stack/no-type-assertion.md +0 -59
  116. package/presets/claude/next/rules/stack/types-jsdoc.md +0 -37
  117. package/presets/claude/next/rules/testing/playwright-agents.md +0 -74
  118. package/presets/claude/next/rules/testing/tests-e2e-structure.md +0 -52
  119. package/presets/claude/next/rules/testing/tests-unit.md +0 -66
  120. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +0 -15
  121. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +0 -140
  122. package/presets/claude/next/rules/tooling-and-review/code-quality.md +0 -42
  123. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +0 -30
  124. package/presets/claude/next/rules/tooling-and-review/package-manager.md +0 -11
  125. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +0 -33
  126. package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +0 -14
  127. package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +0 -57
  128. package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +0 -37
  129. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +0 -91
  130. package/presets/claude/next/skills/ci-investigation/SKILL.md +0 -36
  131. package/presets/claude/next/skills/code-review/SKILL.md +0 -26
  132. package/presets/claude/next/skills/debug-investigation/SKILL.md +0 -28
  133. package/presets/claude/next/skills/feature-delivery/SKILL.md +0 -15
  134. package/presets/claude/next/skills/playwright-e2e/SKILL.md +0 -31
  135. package/presets/claude/next/skills/technical-retro/SKILL.md +0 -40
  136. package/presets/claude/next/skills/unit-testing/SKILL.md +0 -32
  137. package/presets/claude/next/team/README.md +0 -47
  138. package/presets/claude/next/team/fixtures/bugfix-standard.json +0 -15
  139. package/presets/claude/next/team/fixtures/feature-full.json +0 -16
  140. package/presets/claude/next/team/fixtures/feature-light.json +0 -17
  141. package/presets/claude/next/team/tasks/.gitkeep +0 -1
  142. package/presets/cursor/next/AGENTS.md +0 -36
  143. package/presets/cursor/next/BUGBOT.md +0 -16
  144. package/presets/cursor/next/agents/README.md +0 -159
  145. package/presets/cursor/next/agents/accessibility-reviewer.md +0 -67
  146. package/presets/cursor/next/agents/api-contract-reviewer.md +0 -71
  147. package/presets/cursor/next/agents/build-verifier.md +0 -66
  148. package/presets/cursor/next/agents/ci-investigator.md +0 -64
  149. package/presets/cursor/next/agents/code-reviewer.md +0 -64
  150. package/presets/cursor/next/agents/debugger.md +0 -64
  151. package/presets/cursor/next/agents/feature-developer.md +0 -27
  152. package/presets/cursor/next/agents/migration-specialist.md +0 -71
  153. package/presets/cursor/next/agents/performance-auditor.md +0 -70
  154. package/presets/cursor/next/agents/playwright-test-generator.md +0 -26
  155. package/presets/cursor/next/agents/playwright-test-healer.md +0 -26
  156. package/presets/cursor/next/agents/playwright-test-planner.md +0 -28
  157. package/presets/cursor/next/agents/qa-tester.md +0 -57
  158. package/presets/cursor/next/agents/security-reviewer.md +0 -66
  159. package/presets/cursor/next/agents/solution-architect.md +0 -71
  160. package/presets/cursor/next/agents/task-analyst.md +0 -112
  161. package/presets/cursor/next/agents/task-router.md +0 -95
  162. package/presets/cursor/next/agents/tech-writer.md +0 -62
  163. package/presets/cursor/next/agents/unit-test-generator.md +0 -39
  164. package/presets/cursor/next/agents/unit-test-healer.md +0 -40
  165. package/presets/cursor/next/agents/unit-test-planner.md +0 -64
  166. package/presets/cursor/next/commands/feature-continue.md +0 -19
  167. package/presets/cursor/next/commands/feature-start.md +0 -33
  168. package/presets/cursor/next/commands/task-continue.md +0 -49
  169. package/presets/cursor/next/commands/task.md +0 -50
  170. package/presets/cursor/next/commands/technical-retro.md +0 -81
  171. package/presets/cursor/next/hooks/README.md +0 -8
  172. package/presets/cursor/next/hooks/chain-team-phases.sh +0 -380
  173. package/presets/cursor/next/hooks/guard-shell-command.sh +0 -77
  174. package/presets/cursor/next/hooks.json +0 -17
  175. package/presets/cursor/next/rules/agent-team-intake.mdc +0 -14
  176. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +0 -139
  177. package/presets/cursor/next/rules/api-public-imports.mdc +0 -8
  178. package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +0 -15
  179. package/presets/cursor/next/rules/arrow-functions.mdc +0 -46
  180. package/presets/cursor/next/rules/css-property-order-stylelint.mdc +0 -16
  181. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +0 -76
  182. package/presets/cursor/next/rules/http-client.mdc +0 -42
  183. package/presets/cursor/next/rules/layer-barrel-exports.mdc +0 -59
  184. package/presets/cursor/next/rules/navigation-router-stack.mdc +0 -62
  185. package/presets/cursor/next/rules/navigation-router-ui.mdc +0 -16
  186. package/presets/cursor/next/rules/next-app-router.mdc +0 -36
  187. package/presets/cursor/next/rules/no-cross-component-styles-import.mdc +0 -8
  188. package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +0 -60
  189. package/presets/cursor/next/rules/package-manager.mdc +0 -16
  190. package/presets/cursor/next/rules/post-change-lint.mdc +0 -38
  191. package/presets/cursor/next/rules/public-imports.mdc +0 -48
  192. package/presets/cursor/next/rules/react-a11y-coding.mdc +0 -37
  193. package/presets/cursor/next/rules/reference-features.mdc +0 -39
  194. package/presets/cursor/next/rules/technical-retro.mdc +0 -12
  195. package/presets/cursor/next/rules/types-jsdoc.mdc +0 -42
  196. package/presets/cursor/next/rules/types-public-imports.mdc +0 -8
  197. package/presets/cursor/next/skills/README.md +0 -15
  198. package/presets/cursor/next/skills/ci-investigation/SKILL.md +0 -36
  199. package/presets/cursor/next/skills/code-review/SKILL.md +0 -26
  200. package/presets/cursor/next/skills/debug-investigation/SKILL.md +0 -28
  201. package/presets/cursor/next/skills/feature-delivery/SKILL.md +0 -15
  202. package/presets/cursor/next/skills/playwright-e2e/SKILL.md +0 -31
  203. package/presets/cursor/next/skills/technical-retro/SKILL.md +0 -40
  204. package/presets/cursor/next/skills/unit-testing/SKILL.md +0 -32
  205. package/presets/cursor/next/team/README.md +0 -105
  206. package/presets/cursor/next/team/fixtures/bugfix-standard.json +0 -15
  207. package/presets/cursor/next/team/fixtures/feature-full.json +0 -16
  208. package/presets/cursor/next/team/fixtures/feature-light.json +0 -17
  209. package/presets/cursor/next/team/tasks/.gitkeep +0 -0
  210. package/scripts/README.md +0 -84
  211. package/scripts/golden-prompts.json +0 -276
  212. package/scripts/preset-manifest.json +0 -72
  213. package/scripts/regression-results/.gitkeep +0 -0
  214. package/scripts/validate-preset.sh +0 -484
@@ -0,0 +1,43 @@
1
+ ---
2
+ description: ViewModels, состояние экрана и domain flow
3
+ paths:
4
+ - "**/{Presentation,Domain}/**/*ViewModel*.swift"
5
+ ---
6
+
7
+ # Общие принципы
8
+
9
+ - ViewModel — **единственная точка** orchestration для экрана: load, submit, validation, navigation intents.
10
+ - Хранить и отдавать во View **domain models** и UI-specific state (loading, error message, selected tab).
11
+ - `@MainActor` на ViewModel; тяжёлую работу — в use case / repository (`async`), не блокировать main thread.
12
+ - Unidirectional flow: View → intent → ViewModel → use case → state update → View.
13
+
14
+ # State
15
+
16
+ - Явный enum или struct для UI state где уместно:
17
+ - `idle`, `loading`, `loaded(Data)`, `failed(Error)` — или аналог из репо.
18
+ - Избегать множества несинхронизированных `@Published` флагов, если один enum покрывает сценарий.
19
+ - `@Observable` / `ObservableObject` — как в проекте; не смешивать стили в одной фиче без причины.
20
+
21
+ # Use cases и repositories
22
+
23
+ - ViewModel зависит от **протоколов** (`LoadOrdersUseCase`, `OrderRepository`), не от `*RepositoryImpl`.
24
+ - Один use case — одна бизнес-операция; не раздувать ViewModel сотнями строк — выносить use cases в Domain.
25
+ - Кэширование и offline — в repository/Data, не во ViewModel.
26
+
27
+ # Side effects
28
+
29
+ - Analytics, haptics, deep links — через injected services или middleware-паттерн, не hardcode синглтонов.
30
+ - `Task` в ViewModel: отмена при `deinit` / `onDisappear` где нужно (`task(id:)`, хранение `Task?` с cancel).
31
+
32
+ # Тестируемость
33
+
34
+ - Инициализатор ViewModel принимает протоколы (DI); без скрытых singleton для сети/БД.
35
+ - Бизнес-ветки покрывать unit-тестами с mock use cases.
36
+
37
+ # Требование к агенту
38
+
39
+ При создании ViewModel:
40
+ - Не вызывать `URLSession` / API client напрямую.
41
+ - Не парсить JSON и не объявлять DTO во ViewModel.
42
+ - Именование: `FeatureViewModel`, методы — глаголы (`loadOrders()`, `submitOrder()`).
43
+ - Следовать стилю существующих ViewModels в той же фиче.
@@ -1,39 +1,11 @@
1
1
  # Next.js stack — project instructions
2
2
 
3
- Краткая точка входа для Claude Code. Подробные правила модульные файлы под `rules/` (подпапки по темам).
3
+ Краткая точка входа для Claude Code. Подробные правила лежат в модульных файлах под `rules/` (подпапки по темам).
4
4
 
5
- See @rules/README.md for the full catalog and loading strategy.
5
+ See @rules/README.md for how this preset splits instructions.
6
6
 
7
7
  ## Conventions
8
8
 
9
- - **Одна тема на файл**; для больших областей — подпапки в `rules/<topic>/`.
10
- - **Session-start rules**только базовые инварианты (`next-app-core`, lint, package manager, code-quality).
11
- - **Domain-specific rules** YAML frontmatter `paths:` (подгружаются при работе с matching-файлами).
12
- - Slash-команды — в `commands/`; сценарии — в `skills/`; subagents — в `agents/`.
13
-
14
- ## Quick start
15
-
16
- | Задача | Куда смотреть |
17
- |--------|----------------|
18
- | Любая новая work-задача | `commands/task.md` + `rules/tooling-and-review/agent-team-orchestrator.md` |
19
- | Новая фича end-to-end | skill `feature-delivery` + `rules/architecture/feature-delivery-workflow.md` |
20
- | Эталонные фичи | `rules/architecture/reference-features.md` (заполнить TBD в репо) |
21
- | Стек и слои | `rules/stack/next-app-core.md` |
22
- | App Router | `rules/stack/next-app-router.md` |
23
- | A11y при кодинге UI | `rules/ui-and-accessibility/react-a11y-coding.md` |
24
- | После правок кода | `rules/tooling-and-review/post-change-lint.md` |
25
- | Валидация перед review | agent `build-verifier` |
26
- | Code review MR | skill `code-review` + `rules/tooling-and-review/code-review-mr.md` |
27
- | Техническое ретро | `commands/technical-retro.md` + skill `technical-retro` |
28
-
29
- ## Install
30
-
31
- ```bash
32
- npx @bonesofspring/ai-rules init claude --preset next
33
- ```
34
-
35
- Копирует `CLAUDE.md`, `rules/**`, `commands/**`, `agents/**`, `hooks/**`, `team/**`, `hooks.json`, `BUGBOT.md` и др. в `.claude/` целевого репозитория.
36
-
37
- ## Pipeline routing
38
-
39
- Intent detection, profiles (`full` / `standard` / `light`), and default steps — **only** in `agents/task-router.md`. Schema and examples — `agents/README.md`.
9
+ - Держите **одну тему на файл**; для больших областей — подпапки в `rules/<topic>/`.
10
+ - Скоуп по путям проекта через frontmatter `paths:` в отдельных `.md` (см. официальные docs по path-specific rules).
11
+ - Slash-командыв `commands/`; переиспользуемые сценарии в `skills/`.
@@ -10,15 +10,5 @@
10
10
  | `skills/**` | `.claude/skills/**` (если папка есть) |
11
11
  | `agents/**` | `.claude/agents/**` (если папка есть) |
12
12
  | `hooks/**` | `.claude/hooks/**` (если папка есть) |
13
- | `team/**` | `.claude/team/**` (шаблон артефактов agent team) |
14
13
 
15
14
  Файлы правил — обычный Markdown с опциональным YAML frontmatter (`paths:` для скоупа по путям), не формат `.mdc` Cursor.
16
-
17
- ## Agent team workflow
18
-
19
- Cursor-пресет и Claude-пресет используют один и тот же смысловой workflow:
20
-
21
- - `/task <desc>` → `task-router` → `pipeline.json`;
22
- - `/task-continue <slug>` → продолжение после human gate;
23
- - `.claude/agents/*.md` → 20 ролей: planning (router, analyst, architect, migration, api-contract), implementation (debugger, ci-investigator, developer), review (code, a11y, security, perf), testing (QA, unit trio, playwright trio), docs (tech-writer);
24
- - `.claude/team/tasks/<slug>/` → handoff-артефакты (`brief.md`, `decomposition.md`, `review.md`, `migration-plan.md`, `ci-report.md`, `status.json`, …).
@@ -3,129 +3,3 @@
3
3
  Специализированные подагенты (personas) — по [документации Claude Code](https://code.claude.com/docs), если используете их в проекте.
4
4
 
5
5
  Папка копируется в `.claude/agents/` при `ai-rules init claude --preset next`, если существует.
6
-
7
- ## Planning and routing
8
-
9
- | Agent | Может менять production-код | Назначение |
10
- |-------|-----------------------------|------------|
11
- | `task-router` | no | Классифицирует intent и пишет `pipeline.json` |
12
- | `task-analyst` | no | DoR, acceptance criteria, decomposition |
13
- | `solution-architect` | no | Cross-layer design, spike, architecture.md |
14
- | `migration-specialist` | no | Phased migration plan, rollback |
15
- | `api-contract-reviewer` | no | DTO/mapper vs backend contract |
16
-
17
- ## Implementation and CI
18
-
19
- | Agent | Может менять production-код | Назначение |
20
- |-------|-----------------------------|------------|
21
- | `debugger` | yes, минимально | Root cause, debug-report.md, простые fixes |
22
- | `ci-investigator` | yes, минимально | CI failure diagnosis and minimal fix |
23
- | `build-verifier` | no | Lint, type-check, unit smoke; validation-report.md |
24
- | `feature-developer` | yes | Реализация по decomposition + unit tests |
25
-
26
- ## Review specialists
27
-
28
- | Agent | Может менять production-код | Назначение |
29
- |-------|-----------------------------|------------|
30
- | `code-reviewer` | no | Review artifact, status update |
31
- | `accessibility-reviewer` | no | A11y audit, a11y-review.md |
32
- | `security-reviewer` | no | Security audit, security-review.md |
33
- | `performance-auditor` | no | Perf audit, perf-report.md |
34
-
35
- ## Testing
36
-
37
- | Agent | Может менять production-код | Назначение |
38
- |-------|-----------------------------|------------|
39
- | `qa-tester` | tests only | Unit/e2e тесты |
40
- | `unit-test-planner` | no | Unit coverage plan |
41
- | `unit-test-generator` | tests only | Unit spec generation |
42
- | `unit-test-healer` | tests only | Failing/flaky unit fixes |
43
- | `playwright-test-planner` | no | Планирование e2e сценариев |
44
- | `playwright-test-generator` | tests only | Генерация Playwright specs |
45
- | `playwright-test-healer` | tests only | Исправление flaky/failing e2e |
46
-
47
- ## Documentation
48
-
49
- | Agent | Может менять production-код | Назначение |
50
- |-------|-----------------------------|------------|
51
- | `tech-writer` | docs only | README, changelog, ADR, documentation.md |
52
-
53
- Оркестрация: `/task`, `/task-continue`, `rules/tooling-and-review/agent-team-orchestrator.md`, артефакты `.claude/team/**`.
54
-
55
- ## Pipeline routing
56
-
57
- **Source of truth:** intent table, profiles (`full` / `standard` / `light`), and default steps — **`task-router.md`** only. Do not duplicate intent→pipeline tables in entry docs.
58
-
59
- ## pipeline.json reference
60
-
61
- ### Top-level fields
62
-
63
- | Field | Required | Description |
64
- |-------|----------|-------------|
65
- | `slug` | yes | Task identifier |
66
- | `intent` | yes | From router intent detection |
67
- | `profile` | no | `full` \| `standard` \| `light` — see `task-router.md` § Pipeline profiles |
68
- | `summary` | yes | One-line task summary |
69
- | `steps` | yes | Ordered agent steps |
70
- | `humanGates` | no | e.g. `["after:task-analyst"]` |
71
- | `autoChain` | no | Default `true` |
72
- | `skipped` | no | Roles skipped with reason |
73
-
74
- ### Step fields
75
-
76
- | Field | Required | Description |
77
- |-------|----------|-------------|
78
- | `agent` | yes | Subagent name (kebab-case) or array for `parallel: true` |
79
- | `label` | yes | Short human-readable step name |
80
- | `scope` | no | e.g. `unit-in-dev`, `e2e-only`, `regression`, `full` |
81
- | `skipIf` | no | `debugger.fixed` \| `ci-investigator.resolved` |
82
- | `parallel` | no | When `true` and `agent` is array — invoke all in one turn |
83
-
84
- ### Minimal template
85
-
86
- ```json
87
- {
88
- "slug": "<slug>",
89
- "intent": "feature",
90
- "summary": "One-line task summary",
91
- "steps": [
92
- { "agent": "task-analyst", "label": "Clarify and decompose" },
93
- { "agent": "feature-developer", "label": "Implement + unit tests", "scope": "unit-in-dev" },
94
- { "agent": "build-verifier", "label": "Lint, type-check, unit smoke" },
95
- { "agent": "code-reviewer", "label": "Code review" }
96
- ],
97
- "humanGates": ["after:task-analyst"],
98
- "autoChain": true,
99
- "skipped": []
100
- }
101
- ```
102
-
103
- ### Example: bugfix skipIf
104
-
105
- ```json
106
- {
107
- "intent": "bugfix",
108
- "steps": [
109
- { "agent": "debugger", "label": "Root cause" },
110
- { "agent": "feature-developer", "label": "Fix if needed", "skipIf": "debugger.fixed" },
111
- { "agent": "build-verifier", "label": "Validation" },
112
- { "agent": "code-reviewer", "label": "Review" }
113
- ],
114
- "humanGates": []
115
- }
116
- ```
117
-
118
- ### Initial status.json
119
-
120
- ```json
121
- {
122
- "slug": "<slug>",
123
- "intent": "<intent>",
124
- "pipelineIndex": 0,
125
- "currentAgent": "<steps[0].agent>",
126
- "phase": "executing",
127
- "state": "in_progress",
128
- "awaitingHumanGate": false,
129
- "updatedAt": "<ISO8601>"
130
- }
131
- ```
@@ -1,26 +1,75 @@
1
1
  ---
2
2
  name: playwright-test-generator
3
- description: Playwright e2e generation specialist. Use when converting existing *.cases.md scenarios into executable *.spec.ts tests under app/__tests__/e2e.
4
- model: inherit
3
+ description: 'Use this agent when you need to create automated browser tests using Playwright Examples: <example>Context: User wants to generate a test for the test plan item. <test-suite><!-- Verbatim name of the test spec group w/o ordinal like "Multiplication tests" --></test-suite> <test-name><!-- Name of the test case without the ordinal like "should add two numbers" --></test-name> <test-file><!-- Name of the file to save the test into, like tests/multiplication/should-add-two-numbers.spec.ts --></test-file> <seed-file><!-- Seed file path from test plan --></seed-file> <body><!-- Test case content including steps and expectations --></body></example>'
4
+ tools: Glob, Grep, Read, LS, mcp__playwright-test__browser_click, mcp__playwright-test__browser_drag, mcp__playwright-test__browser_evaluate, mcp__playwright-test__browser_file_upload, mcp__playwright-test__browser_handle_dialog, mcp__playwright-test__browser_hover, mcp__playwright-test__browser_navigate, mcp__playwright-test__browser_press_key, mcp__playwright-test__browser_select_option, mcp__playwright-test__browser_snapshot, mcp__playwright-test__browser_type, mcp__playwright-test__browser_verify_element_visible, mcp__playwright-test__browser_verify_list_visible, mcp__playwright-test__browser_verify_text_visible, mcp__playwright-test__browser_verify_value, mcp__playwright-test__browser_wait_for, mcp__playwright-test__generator_read_log, mcp__playwright-test__generator_setup_page, mcp__playwright-test__generator_write_test
5
+ model: sonnet
6
+ color: blue
5
7
  ---
6
8
 
7
- You generate Playwright tests from project test plans.
9
+ You are a Playwright Test Generator, an expert in browser automation and end-to-end testing.
10
+ Your specialty is creating robust, reliable Playwright tests that accurately simulate user interactions and validate
11
+ application behavior.
8
12
 
9
- ## Inputs
13
+ ## Project-specific test structure (Next.js preset)
10
14
 
11
- - The relevant `app/__tests__/e2e/**/*.cases.md` file.
12
- - Existing specs, page objects, and `_shared/` helpers in the same e2e area.
13
- - Task artifacts under `.claude/team/tasks/<slug>/` when present.
15
+ In this project you MUST respect the existing e2e layout:
14
16
 
15
- ## Rules
17
+ - Test root: `app/__tests__/e2e`
18
+ - Test plans/specs: `*.cases.md` files under `app/__tests__/e2e/**`
19
+ - Executable tests: `*.spec.ts` files under `app/__tests__/e2e/**`
20
+ - Seed test: `app/__tests__/e2e/seed.spec.ts`
16
21
 
17
- 1. Follow **`testing/playwright-agents.md`**, **`testing/tests-e2e-structure.md`**, and the **`playwright-e2e` skill**.
18
- 2. Write specs under `app/__tests__/e2e/**`, next to the plan.
19
- 3. Match `test.describe` and `test(...)` names to the plan sections and scenario names.
20
- 4. Prefer existing page objects and helpers over direct selector-heavy tests.
21
- 5. **Use `user-playwright` MCP** when available (`browser_navigate`, `browser_snapshot`, generator tools) to verify selectors before finalizing specs.
22
- 6. Do not weaken or skip assertions from the plan without documenting a blocker.
22
+ When you generate tests:
23
23
 
24
- ## Completion
24
+ - Use the corresponding `*.cases.md` file under `app/__tests__/e2e/**` as the source plan (for example,
25
+ `app/__tests__/e2e/OrderHistory/order-history.cases.md`).
26
+ - Write or update Playwright test files only under `app/__tests__/e2e/**` (for example,
27
+ `app/__tests__/e2e/OrderHistory/order-history.spec.ts`) instead of creating files in a separate `tests/` folder.
25
28
 
26
- Run the affected spec if feasible. Report files changed, tests run, failures, and gaps. For agent team tasks, update `.claude/team/tasks/<slug>/status.json`.
29
+ # For each test you generate
30
+ - Obtain the test plan with all the steps and verification specification
31
+ - Run the `generator_setup_page` tool to set up page for the scenario
32
+ - For each step and verification in the scenario, do the following:
33
+ - Use Playwright tool to manually execute it in real-time.
34
+ - Use the step description as the intent for each Playwright tool call.
35
+ - Retrieve generator log via `generator_read_log`
36
+ - Immediately after reading the test log, invoke `generator_write_test` with the generated source code
37
+ - File should contain single test
38
+ - File name must be fs-friendly scenario name
39
+ - Test must be placed in a describe matching the top-level test plan item
40
+ - Test title must match the scenario name
41
+ - Includes a comment with the step text before each step execution. Do not duplicate comments if step requires
42
+ multiple actions.
43
+ - Always use best practices from the log when generating tests.
44
+
45
+ <example-generation>
46
+ For following plan:
47
+
48
+ ```markdown file=specs/plan.md
49
+ ### 1. Adding New Todos
50
+ **Seed:** `tests/seed.spec.ts`
51
+
52
+ #### 1.1 Add Valid Todo
53
+ **Steps:**
54
+ 1. Click in the "What needs to be done?" input field
55
+
56
+ #### 1.2 Add Multiple Todos
57
+ ...
58
+ ```
59
+
60
+ Following file is generated:
61
+
62
+ ```ts file=add-valid-todo.spec.ts
63
+ // spec: specs/plan.md
64
+ // seed: tests/seed.spec.ts
65
+
66
+ test.describe('Adding New Todos', () => {
67
+ test('Add Valid Todo', async { page } => {
68
+ // 1. Click in the "What needs to be done?" input field
69
+ await page.click(...);
70
+
71
+ ...
72
+ });
73
+ });
74
+ ```
75
+ </example-generation>
@@ -1,26 +1,61 @@
1
1
  ---
2
2
  name: playwright-test-healer
3
- description: Playwright e2e healer. Use when browser tests fail, become flaky, or need locator/setup fixes while preserving business assertions.
4
- model: inherit
3
+ description: Use this agent when you need to debug and fix failing Playwright tests
4
+ tools: Glob, Grep, Read, LS, Edit, MultiEdit, Write, mcp__playwright-test__browser_console_messages, mcp__playwright-test__browser_evaluate, mcp__playwright-test__browser_generate_locator, mcp__playwright-test__browser_network_requests, mcp__playwright-test__browser_snapshot, mcp__playwright-test__test_debug, mcp__playwright-test__test_list, mcp__playwright-test__test_run
5
+ model: sonnet
6
+ color: red
5
7
  ---
6
8
 
7
- You debug and fix failing Playwright e2e tests.
9
+ You are the Playwright Test Healer, an expert test automation engineer specializing in debugging and
10
+ resolving Playwright test failures. Your mission is to systematically identify, diagnose, and fix
11
+ broken Playwright tests using a methodical approach.
8
12
 
9
- ## Inputs
13
+ ## Project-specific test structure (Next.js preset)
10
14
 
11
- - Failing test output and command.
12
- - Matching `*.spec.ts` and `*.cases.md` files under `app/__tests__/e2e/**`.
13
- - Existing page objects and `_shared/` helpers.
15
+ In this project you MUST respect the existing e2e layout:
14
16
 
15
- ## Rules
17
+ - Test root: `app/__tests__/e2e`
18
+ - Test plans/specs: `*.cases.md` files under `app/__tests__/e2e/**`
19
+ - Executable tests: `*.spec.ts` files under `app/__tests__/e2e/**`
20
+ - Seed test: `app/__tests__/e2e/seed.spec.ts`
16
21
 
17
- 1. Follow **`testing/playwright-agents.md`**, **`testing/tests-e2e-structure.md`**, and the **`debug-investigation`** and **`playwright-e2e`** skills.
18
- 2. Treat `*.cases.md` as the behavior contract.
19
- 3. Fix locators, waits, setup, mocks, or page-object flows without weakening business assertions.
20
- 4. **Use `user-playwright` MCP** when available to reproduce failures and verify fixes.
21
- 5. Prefer targeted fixes in the affected spec/page object over broad test infrastructure changes.
22
- 6. Re-run the affected spec when feasible.
22
+ When healing tests:
23
23
 
24
- ## Completion
24
+ - Only read and modify `*.spec.ts` files under `app/__tests__/e2e/**`.
25
+ - Use the `*.cases.md` file in the same folder as the failing test as the source of truth for intended behavior
26
+ (for example, `app/__tests__/e2e/OrderHistory/order-history.cases.md` for
27
+ `app/__tests__/e2e/OrderHistory/order-history.spec.ts`).
25
28
 
26
- Report root cause, files changed, validation result, and remaining flakiness risk. For agent team tasks, update `.claude/team/tasks/<slug>/status.json`.
29
+ Your workflow:
30
+ 1. **Initial Execution**: Run all tests using `test_run` tool to identify failing tests
31
+ 2. **Debug failed tests**: For each failing test run `test_debug`.
32
+ 3. **Error Investigation**: When the test pauses on errors, use available Playwright MCP tools to:
33
+ - Examine the error details
34
+ - Capture page snapshot to understand the context
35
+ - Analyze selectors, timing issues, or assertion failures
36
+ 4. **Root Cause Analysis**: Determine the underlying cause of the failure by examining:
37
+ - Element selectors that may have changed
38
+ - Timing and synchronization issues
39
+ - Data dependencies or test environment problems
40
+ - Application changes that broke test assumptions
41
+ 5. **Code Remediation**: Edit the test code to address identified issues, focusing on:
42
+ - Updating selectors to match current application state
43
+ - Fixing assertions and expected values
44
+ - Improving test reliability and maintainability
45
+ - For inherently dynamic data, utilize regular expressions to produce resilient locators
46
+ 6. **Verification**: Restart the test after each fix to validate the changes
47
+ 7. **Iteration**: Repeat the investigation and fixing process until the test passes cleanly
48
+
49
+ Key principles:
50
+ - Be systematic and thorough in your debugging approach
51
+ - Document your findings and reasoning for each fix
52
+ - Prefer robust, maintainable solutions over quick hacks
53
+ - Use Playwright best practices for reliable test automation
54
+ - If multiple errors exist, fix them one at a time and retest
55
+ - Provide clear explanations of what was broken and how you fixed it
56
+ - You will continue this process until the test runs successfully without any failures or errors.
57
+ - If the error persists and you have high level of confidence that the test is correct, mark this test as test.fixme()
58
+ so that it is skipped during the execution. Add a comment before the failing step explaining what is happening instead
59
+ of the expected behavior.
60
+ - Do not ask user questions, you are not interactive tool, do the most reasonable thing possible to pass the test.
61
+ - Never wait for networkidle or use other discouraged or deprecated apis
@@ -1,27 +1,67 @@
1
1
  ---
2
2
  name: playwright-test-planner
3
- description: Playwright e2e planning specialist. Use when the task is to create or update browser test scenarios, *.cases.md plans, or QA coverage for a web flow.
4
- model: inherit
3
+ description: Use this agent when you need to create comprehensive test plan for a web application or website
4
+ tools: Glob, Grep, Read, LS, mcp__playwright-test__browser_click, mcp__playwright-test__browser_close, mcp__playwright-test__browser_console_messages, mcp__playwright-test__browser_drag, mcp__playwright-test__browser_evaluate, mcp__playwright-test__browser_file_upload, mcp__playwright-test__browser_handle_dialog, mcp__playwright-test__browser_hover, mcp__playwright-test__browser_navigate, mcp__playwright-test__browser_navigate_back, mcp__playwright-test__browser_network_requests, mcp__playwright-test__browser_press_key, mcp__playwright-test__browser_run_code, mcp__playwright-test__browser_select_option, mcp__playwright-test__browser_snapshot, mcp__playwright-test__browser_take_screenshot, mcp__playwright-test__browser_type, mcp__playwright-test__browser_wait_for, mcp__playwright-test__planner_setup_page, mcp__playwright-test__planner_save_plan
5
+ model: sonnet
6
+ color: green
5
7
  ---
6
8
 
7
- You are an expert web test planner for a Next.js frontend.
9
+ You are an expert web test planner with extensive experience in quality assurance, user experience testing, and test
10
+ scenario design. Your expertise includes functional testing, edge case identification, and comprehensive test coverage
11
+ planning.
8
12
 
9
- ## Project structure
13
+ ## Project-specific test structure (Next.js preset)
10
14
 
11
- Follow **`testing/playwright-agents.md`**, **`testing/tests-e2e-structure.md`**, and the **`playwright-e2e` skill**:
15
+ In this project you MUST respect the existing e2e layout:
12
16
 
13
17
  - Test root: `app/__tests__/e2e`
14
- - Plans: `*.cases.md` under the relevant feature folder
15
- - Specs: `*.spec.ts` in the same folder
16
- - Seed/setup reference: `app/__tests__/e2e/seed.spec.ts`
18
+ - Test plans/specs: `*.cases.md` files under `app/__tests__/e2e/**`
19
+ - Executable tests: `*.spec.ts` files under `app/__tests__/e2e/**`
20
+ - Seed test: `app/__tests__/e2e/seed.spec.ts`
17
21
 
18
- ## Work
22
+ When you create or update a test plan:
19
23
 
20
- 1. Read the task brief and existing `*.cases.md` files for the affected area.
21
- 2. Explore the UI only when a running app/browser context is available.
22
- 3. Add or update scenarios covering happy path, edge cases, validation, and error states.
23
- 4. Keep scenarios independent and specific enough for a generator or human tester.
24
+ - Use the appropriate `*.cases.md` file under `app/__tests__/e2e/**` (for example,
25
+ `app/__tests__/e2e/OrderHistory/order-history.cases.md`) instead of creating files in a separate `specs/` folder.
26
+ - Treat these `*.cases.md` files as the canonical, human-readable test plans for the Generator and Healer agents.
24
27
 
25
- ## Output
28
+ You will:
26
29
 
27
- Write or update the relevant `*.cases.md` file. If this is part of an agent team task, summarize changed plans and update `.claude/team/tasks/<slug>/status.json`.
30
+ 1. **Navigate and Explore**
31
+ - Invoke the `planner_setup_page` tool once to set up page before using any other tools
32
+ - Explore the browser snapshot
33
+ - Do not take screenshots unless absolutely necessary
34
+ - Use `browser_*` tools to navigate and discover interface
35
+ - Thoroughly explore the interface, identifying all interactive elements, forms, navigation paths, and functionality
36
+
37
+ 2. **Analyze User Flows**
38
+ - Map out the primary user journeys and identify critical paths through the application
39
+ - Consider different user types and their typical behaviors
40
+
41
+ 3. **Design Comprehensive Scenarios**
42
+
43
+ Create detailed test scenarios that cover:
44
+ - Happy path scenarios (normal user behavior)
45
+ - Edge cases and boundary conditions
46
+ - Error handling and validation
47
+
48
+ 4. **Structure Test Plans**
49
+
50
+ Each scenario must include:
51
+ - Clear, descriptive title
52
+ - Detailed step-by-step instructions
53
+ - Expected outcomes where appropriate
54
+ - Assumptions about starting state (always assume blank/fresh state)
55
+ - Success criteria and failure conditions
56
+
57
+ 5. **Create Documentation**
58
+
59
+ Submit your test plan using `planner_save_plan` tool.
60
+
61
+ **Quality Standards**:
62
+ - Write steps that are specific enough for any tester to follow
63
+ - Include negative testing scenarios
64
+ - Ensure scenarios are independent and can be run in any order
65
+
66
+ **Output Format**: Always save the complete test plan as a markdown file with clear headings, numbered steps, and
67
+ professional formatting suitable for sharing with development and QA teams.
@@ -1,13 +1,5 @@
1
1
  # `.claude/commands` (preset next)
2
2
 
3
- Определения slash-команд и on-demand сценариев. Копируются в `.claude/commands/` при `ai-rules init claude --preset next`.
3
+ Определения slash-команд для проекта. Копируются в `.claude/commands/` при `ai-rules init claude --preset next`.
4
4
 
5
- | Файл | Назначение |
6
- |------|------------|
7
- | `task.md` | Единая точка входа: router → dynamic pipeline → первый agent |
8
- | `task-continue.md` | Продолжение после human gate / паузы по `pipeline.json` |
9
- | `feature-start.md` | Legacy analyst-only старт без router |
10
- | `feature-continue.md` | Legacy продолжение; для `pipeline.json` делегирует смысл `/task-continue` |
11
- | `technical-retro.md` | Фасилитация технического ретро, включая блок «Работа агентов» |
12
-
13
- См. также корневой `README.md` пресета — у Claude Code помимо `rules/` и `commands/` используются `skills/`, `agents/`, `hooks/`, `team/`.
5
+ См. также корневой `README.md` пресета — у Claude Code помимо `rules/` и `commands/` часто используются `skills/`, `agents/`, `hooks/`.
@@ -1,8 +1,5 @@
1
1
  # `.claude/hooks` (preset next)
2
2
 
3
- | File | Purpose |
4
- |------|---------|
5
- | `chain-team-phases.sh` | Pipeline chaining after subagent stop; `skipIf`, parallel, `validation_failed`, `retryAfterFix` |
6
- | `guard-shell-command.sh` | Destructive git / package-manager guard |
3
+ Событийные хуки автоматизации Claude Code — по документации продукта, если включены в репозитории.
7
4
 
8
- Wire into Claude Code hooks per project documentation when enabling agent team auto-chain.
5
+ Папка копируется в `.claude/hooks/` при `ai-rules init claude --preset next`, если существует.
@@ -1,34 +1,16 @@
1
1
  # `.claude/rules` (preset next)
2
2
 
3
- В Claude Code все `.md` под `rules/` **обнаруживаются рекурсивно**. Правила без YAML frontmatter загружаются **в начале сессии**; с `paths:` — **только при работе** с matching-файлами.
3
+ В Claude Code все `.md` под `rules/` **обнаруживаются рекурсивно** подпапки по темам уместнее, чем один длинный файл.
4
4
 
5
- ## Loading strategy
5
+ Соответствие темам из пресета Cursor (для переноса смысла из `.mdc`):
6
6
 
7
- - **Session start (no `paths:`):** `stack/next-app-core`, `tooling-and-review/post-change-lint`, `tooling-and-review/package-manager`, `tooling-and-review/code-quality` — **4 files only**
8
- - **On-demand (`paths:` or via commands):** `agent-team-intake`, `agent-team-orchestrator`, `code-review-mr`, architecture, imports, UI, tests, feature-delivery-workflow, reference-features, next-app-router, react-a11y-coding
9
- - **Skills:** long workflows (`feature-delivery`, `code-review`, …)
7
+ | Папка | О чём |
8
+ |-------|--------|
9
+ | `stack/` | Next.js, React, TypeScript |
10
+ | `architecture/` | границы слоёв, модули |
11
+ | `api-and-data/` | сервисы, API, данные |
12
+ | `testing/` | unit, e2e, Playwright |
13
+ | `ui-and-accessibility/` | UI, a11y, без spread props там, где это правило команды |
14
+ | `tooling-and-review/` | качество кода, ревью MR |
10
15
 
11
- ### UI edit bundle (consolidated paths)
12
-
13
- При правке `app/src/ui/**/*.tsx` — уменьшенный набор paths (см. `ui-and-accessibility/react-ui.md`, `architecture/architecture-boundaries-ui.md`, `stack/navigation-router-ui.md`). Полные правила `architecture-boundaries`, `layer-barrel-exports`, `navigation-router` — только на соответствующих путях (api/store/types/lib, `index.ts`, `app/src/app/**`).
14
-
15
- ## С чего начать
16
-
17
- - **`commands/task.md`** — router → `pipeline.json` → agents
18
- - **`architecture/reference-features.md`** — заполнить TBD после init
19
- - **`architecture/feature-delivery-workflow.md`** — порядок слоёв
20
-
21
- ## Каталог (новые и ключевые)
22
-
23
- | Файл | Назначение |
24
- |------|------------|
25
- | `architecture/reference-features.md` | Эталонные пути UI/store/API |
26
- | `stack/next-app-router.md` | App Router, RSC |
27
- | `ui-and-accessibility/react-a11y-coding.md` | A11y при кодинге UI |
28
- | `architecture/feature-delivery-workflow.md` | Сквозной чеклист (paths) |
29
- | `tooling-and-review/agent-team-orchestrator.md` | Pipeline, build-verifier, parallel |
30
- | `agents/build-verifier.md` | Validation gate agent |
31
-
32
- Полный список — см. подпапки `architecture/`, `stack/`, `api-and-data/`, `ui-and-accessibility/`, `testing/`, `tooling-and-review/`.
33
-
34
- **Коллизии:** импорт типов и API — **`architecture/public-imports.md`**.
16
+ Добавляйте сюда `.md` файлы с осмысленными именами (`testing.md`, `api-design.md`, …).
@@ -1,9 +1,3 @@
1
1
  # API and data
2
2
 
3
- HTTP-транспорт, сервисы, Redux store.
4
-
5
- | Файл | Содержание | `paths:` |
6
- |------|------------|----------|
7
- | `http-client.md` | Единый HTTP-клиент, ошибки, связь со store | `app/src/lib/clients/**`, `app/src/api/clients/**` |
8
- | `api-services.md` | Сервисы, мапперы, DTO → домен | `app/src/api/services/**` |
9
- | `store-rtk.md` | Redux Toolkit, thunk'и, типизация | `app/src/store/**` |
3
+ Конвенции сервисов, API-слоя и работы с данными.
@@ -1,11 +1,3 @@
1
- # Architecture rules
1
+ # Architecture
2
2
 
3
- | Файл | Назначение |
4
- |------|------------|
5
- | `public-imports.md` | Импорты `@/types`, `@/types/enums`, `@/api` (вне `app/src/api/**`) |
6
- | `types-public-imports.md`, `api-public-imports.md` | Deprecated stubs → `public-imports.md` |
7
- | `architecture-boundaries-ui.md` | Slim границы UI при правках компонентов |
8
- | `architecture-boundaries.md` | Полная карта UI / store / API (api, store, types, lib) |
9
- | `layer-barrel-exports.md` | Двухуровневые barrel для слоёв с public API |
10
- | `feature-delivery-workflow.md` | Сквозной чеклист новой фичи |
11
- | `reference-features.md` | Эталонные пути UI/store/API/types |
3
+ Границы модулей, слоёв и зависимостей (аналог темы architecture / boundaries в Cursor-пресете).
@@ -1,12 +1,3 @@
1
1
  # Stack (Next.js, React, TypeScript)
2
2
 
3
- Правила уровня фреймворка и языка.
4
-
5
- | Файл | Содержание | Загрузка |
6
- |------|------------|----------|
7
- | `next-app-core.md` | Стек, структура `app/`, слои, принципы агента | session start |
8
- | `arrow-functions.md` | Стрелочный синтаксис | session start |
9
- | `no-type-assertion.md` | Ограничение `as` на границах модулей | session start |
10
- | `navigation-router-ui.md` | Навигация в UI-компонентах (slim) | `paths: app/src/ui/**/*.tsx` |
11
- | `navigation-router.md` | Полный аудит стека навигации | `paths: app/src/app/**` |
12
- | `types-jsdoc.md` | JSDoc в `app/src/types` | `paths: app/src/types/**/*.ts` |
3
+ Правила уровня фреймворка и языка для пресета `next`.
@@ -1,11 +1,3 @@
1
1
  # Testing
2
2
 
3
- Unit, e2e, Playwright agents.
4
-
5
- | Файл | Содержание | Загрузка |
6
- |------|------------|----------|
7
- | `playwright-agents.md` | Planner / generator / healer — структура e2e | session start |
8
- | `tests-unit.md` | Unit/integration, именование на русском | `paths: app/src/**/*.spec.*`, `*.test.*` |
9
- | `tests-e2e-structure.md` | `*.cases.md`, page objects, data-testid | `paths: app/__tests__/e2e/**` |
10
-
11
- См. также `.claude/agents/playwright-test-*.md` после `ai-rules init`.
3
+ Unit-тесты, e2e, структура Playwright-агентов — по отдельным `.md` при необходимости.