@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
@@ -1,91 +0,0 @@
1
- ---
2
- paths:
3
- - app/src/ui/**/*.tsx
4
- - app/src/ui/**/*.ts
5
- ---
6
-
7
- # Общие правила компонентов
8
-
9
- - Использовать **функциональные компоненты** с хуками, без классов.
10
- - Компонент должен:
11
- - быть максимально «тонким» по бизнес‑логике;
12
- - делегировать состояние в store/хуки, если оно нужно в нескольких местах;
13
- - опираться на **общие UI‑примитивы дизайна проекта** (пакеты или локальная библиотека компонентов), если они есть.
14
- - Перед новым кастомным контролом — поискать готовый или близкий компонент в репозитории / пакетах UI проекта и переиспользовать или расширить его.
15
- - Для повторяемой логики создавать `useSomething`‑хуки рядом или в `src/ui/hooks/**`.
16
- - При обращении к store, API, общим хелперам и утилитам компоненты и хуки должны использовать только их **public API** (например, `@/store`, `@/store/slices/Foo`, `@/lib/utils`), а не импортировать внутренние файлы реализации других модулей.
17
-
18
- # Структура файлов
19
-
20
- Для страницы/крупного блока:
21
-
22
- - `FeatureBlock.tsx` — JSX и композиция.
23
- - `styles.ts` или соседний модуль стилей — по конвенции репозитория (CSS Modules, CSS-in-JS, и т.д.).
24
- - `index.ts` — реэкспорт (если нужно наружу).
25
-
26
- ## Дочерние компоненты (`./components`)
27
-
28
- - Локальные подкомпоненты, используемые только этим блоком, выносятся в **`./components/<ComponentName>/`** относительно папки родительского компонента (не оставлять крупные куски JSX и «внутренние» компоненты в том же файле, что и родитель).
29
- - У каждого такого подкомпонента — **своя** папка с тем же именем, что и публичное имя компонента:
30
- - `ComponentName.tsx` — разметка и композиция;
31
- - `styles.ts` — только стили этого подкомпонента (не тянуть `styles` соседних компонентов — см. § Стили ниже);
32
- - при необходимости — `ComponentName.data.ts`, `ComponentName.utils.ts`, `ComponentName.hooks.ts` по тем же правилам префикса, что и у родителя;
33
- - опционально `index.ts` с реэкспортом.
34
- - Родитель импортирует подкомпонент из `./components/...`, а не держит его реализацию inline.
35
-
36
- Для переиспользуемого компонента:
37
-
38
- - Папка с именем компонента:
39
- - `ComponentName.tsx`
40
- - файлы стилей по принятой схеме;
41
- - опционально: `types.ts`, `ComponentName.hooks.ts` (см. ниже про префикс).
42
-
43
- ## Вспомогательные модули рядом с компонентом (именование)
44
-
45
- **Префикс имени файла = публичное имя компонента** (как у `ComponentName.tsx` в этой папке), в **PascalCase**. Не вводить отдельные «говорящие» имена файлов по смыслу содержимого (`analysisPreparationIconMap.ts`, `buildAnalysisIdToNameMap.ts` и т.п.) — так теряется связь с компонентом и плодятся одноразовые названия.
46
-
47
- **Суффикс по роли:**
48
-
49
- | Суффикс | Назначение | Примеры содержимого |
50
- |--------|------------|---------------------|
51
- | `ComponentName.data.ts` | Статические данные и конфигурация для UI | мапы `id → иконка/лейбл`, константы списков, таблицы соответствий для отображения |
52
- | `ComponentName.utils.ts` | Чистые функции без React | форматирование, предобработка пропсов/данных для рендера, `build…`/`map…`‑хелперы |
53
- | `ComponentName.hooks.ts` | Хуки, используемые только этим блоком | локальные `use…` (если не вынесены в `src/ui/hooks/**`) |
54
-
55
- - Несколько констант/мапов или несколько функций — **по-прежнему один** `.data.ts` и один `.utils.ts`, не дробить по «темам» отдельными файлами без веской причины (размер, разные зоны ответственности на уровне подкомпонентов).
56
- - Если логика принадлежит **подкомпоненту** в подпапке (`components/Child/Child.tsx`), те же правила применяются к **`Child.data.ts`**, **`Child.utils.ts`** относительно этого подкомпонента.
57
- - Тесты для утилит и данных — рядом в `__tests__/` или с суффиксом `.test.ts`, согласно `testing/tests-unit.md`, с тем же префиксом (`RequestForAnalysisRecommendations.utils.test.ts` и т.д.).
58
-
59
- # Стили и дизайн‑токены
60
-
61
- - **Корневой** styled в соседнем `styles` — экспорт **`Root`**; в JSX: `<s.Root>` при `import * as s from './styles'`. Вложенные — `Title`, `List` и т.д. Не `Container`/`Wrapper` для единственной обёртки.
62
- - **Запрещено** импортировать `styles` другого компонента (`../Other/styles`, `../../styles`). Разрешено: `./styles`, общие примитивы из `@/ui/components/...` или пакетов дизайн-системы.
63
- - Порядок CSS / `styled` — Stylelint idiomatic-order: `ui-and-accessibility/css-property-order.md` (грузится на `styles.ts` / `.css`).
64
- - Для визуала использовать **тот стек стилей и токенов, который уже в проекте** (переменные, тема, общие классы, дизайн‑пакет).
65
- - Избегать:
66
- - inline‑стилей, кроме простых случаев;
67
- - дублирования оформления, уже закрытого общими примитивами;
68
- - «магических» литералов (`#xxxxxx`, произвольные `17px` / `23px`), если в проекте есть токены или масштаб.
69
- - Если подходящего токена нет — локальный примитив **в одном месте** с последующим выравниванием под систему дизайна при возможности.
70
-
71
- # Пропсы и типизация
72
-
73
- - **Не передавать пропы в компоненты через spread** (`<Foo {...x} />`). Только явные атрибуты; подробности — `ui-and-accessibility/no-props-spread.md` (в `app/src/ui` это дополнительно ловит ESLint).
74
- - Описывать пропсы через `type Props = { ... }` или `interface Props { ... }`.
75
- - Не использовать `any`; при необходимости — обобщения (`<T>`), `unknown`, type guards.
76
- - Для доменных сущностей использовать типы из `@/types` (и enum из `@/types/enums`), а не описывать их заново (`architecture/public-imports.md`).
77
-
78
- # Логика и side effects
79
-
80
- - Side effects и асинхронщина — по возможности в store (thunk’и, middleware) или в отдельные хуки.
81
- - Компоненты не должны:
82
- - напрямую знать детали API (URL, структура DTO);
83
- - заниматься маппингом «сырых» DTO — только доменные типы;
84
- - содержать нетривиальные вычисления и преобразования данных (булевы флаги, сложная склейка строк, агрегаты и т.п.). Данные для отображения должны быть подготовлены на этапах маппинга/подготовки (API → доменная модель → store).
85
-
86
- # Тестирование UI
87
-
88
- - Для нетривиальных компонентов добавлять тесты:
89
- - **Testing Library** для React, как принято в проекте;
90
- - проверять поведение и бизнес‑правила, а не конкретные CSS‑классы.
91
- - В тестах ориентироваться на текст, роли и aria‑атрибуты.
@@ -1,36 +0,0 @@
1
- ---
2
- name: ci-investigation
3
- description: Investigates failing CI checks on PRs and branches — lint, type-check, unit, e2e — with local reproduction and minimal fixes. Use when CI is red or for ci-fix pipeline tasks.
4
- ---
5
-
6
- # CI Investigation
7
-
8
- ## Workflow
9
-
10
- 1. Identify the **first failing check** (lint, type-check, unit, e2e, build).
11
- 2. Capture error output — ignore cascading failures until root cause is found.
12
- 3. Reproduce locally with the same commands CI uses from `app/`:
13
- - `lint:js`, `lint:css`, `type-check`
14
- - targeted unit test file or suite
15
- - affected Playwright spec if e2e 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:
22
-
23
- - Failed check name and link/log excerpt
24
- - Root cause classification
25
- - Fix applied (or handoff to feature-developer)
26
- - Validation commands and results
27
-
28
- ## Handoff Rules
29
-
30
- - Config-only or one-line fixes → fix in place, re-run check.
31
- - Missing tests or architecture work → document and route to `feature-developer` or `qa-tester`.
32
- - Flaky e2e → prefer `playwright-test-healer` after ci-investigator identifies the spec.
33
-
34
- ## Validation
35
-
36
- Always re-run the failing command locally before marking complete. If environment blocks execution, state the exact command and blocker.
@@ -1,26 +0,0 @@
1
- ---
2
- name: code-review
3
- description: Reviews pull requests, merge requests, git diffs, and branch changes using the preset's architecture, import, UI, API, and testing standards. Use when the user asks for review or when code-reviewer runs in an agent pipeline.
4
- ---
5
-
6
- # Code Review
7
-
8
- ## Inputs
9
-
10
- Use the local repository as the source of truth: `git status`, `git diff`, task artifacts under `.claude/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 layers.
15
- 2. Check correctness and regressions first.
16
- 3. Verify architecture boundaries: UI does not know DTO/transport, store does not depend on UI, API services do not pull UI/store.
17
- 4. Check public imports through `@/types` and `@/api`, plus barrel updates for new public symbols.
18
- 5. Review UI consistency, styling conventions, and prop shape.
19
- 6. Check tests: unit for mapper/domain logic, behavior tests for HTTP client changes, e2e plan/spec updates for user flows.
20
- 7. Report validation gaps: lint, stylelint, type-check, or relevant tests not run.
21
-
22
- ## Output
23
-
24
- 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.
25
-
26
- For agent team tasks, write `.claude/team/tasks/<slug>/review.md` and set `status.json` to `completed` or `changes_requested`.
@@ -1,28 +0,0 @@
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
7
-
8
- ## Process
9
-
10
- 1. Reproduce the issue or collect the closest available evidence: error output, failing test, browser snapshot, logs, or user steps.
11
- 2. Define expected vs actual behavior in one sentence.
12
- 3. Trace the failing path through the smallest relevant slice of the codebase.
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 test when the behavior is user-facing or likely to recur.
16
- 7. Run the narrow failing check first, then relevant lint/type/test validation.
17
-
18
- ## Artifacts
19
-
20
- For agent team tasks, write `.claude/team/tasks/<slug>/debug-report.md` with:
21
-
22
- - Reproduction steps or evidence source.
23
- - Root cause.
24
- - Fix scope.
25
- - Regression coverage.
26
- - Remaining risk.
27
-
28
- Update `status.json` when complete.
@@ -1,15 +0,0 @@
1
- ---
2
- name: feature-delivery
3
- description: Delivers Next.js frontend features end-to-end across domain types, API services, store, UI, mocks, tests, and validation. Use when implementing or extending a feature, especially through /task or feature-developer.
4
- ---
5
-
6
- # Feature Delivery
7
-
8
- 1. Read task brief, acceptance criteria, and decomposition if present.
9
- 2. Read **`rules/architecture/feature-delivery-workflow.md`** and **`rules/architecture/reference-features.md`** — follow layer order and mirror closest reference feature.
10
- 3. Add or update focused tests for changed behavior.
11
- 4. Validation from `app/`: see **`rules/tooling-and-review/post-change-lint.md`** (pipeline: scoped lint OK if next step is `build-verifier`).
12
-
13
- ## Handoff
14
-
15
- Summarize by layer, validation results, and known gaps. Agent team: update `.claude/team/tasks/<slug>/status.json`.
@@ -1,31 +0,0 @@
1
- ---
2
- name: playwright-e2e
3
- description: Plans, generates, and heals Playwright e2e tests using this preset's app/__tests__/e2e layout, *.cases.md plans, page objects, and shared helpers. Use for e2e planning, test generation, or fixing failing browser tests.
4
- ---
5
-
6
- # Playwright E2E
7
-
8
- ## Project Layout
9
-
10
- - Test root: `app/__tests__/e2e`.
11
- - Test plans: `*.cases.md` files under the matching feature folder.
12
- - Executable specs: `*.spec.ts` files in the same folder.
13
- - Seed/setup reference: `app/__tests__/e2e/seed.spec.ts`.
14
-
15
- Do not introduce top-level `specs/` or `tests/` folders for real coverage unless the user explicitly asks for a sandbox.
16
-
17
- ## Planner
18
-
19
- Create or update the relevant `*.cases.md` file. Each scenario should include title, preconditions, steps, and expected result. Cover happy path, important edge cases, validation, and error states.
20
-
21
- ## Generator
22
-
23
- Generate specs from `*.cases.md` into the same folder. Reuse existing page objects and `_shared/` helpers. Keep test names aligned with scenario names.
24
-
25
- ## Healer
26
-
27
- Fix selectors, waits, setup, or page-object details without weakening business assertions. Use the matching `*.cases.md` file as the behavior contract.
28
-
29
- ## Validation
30
-
31
- Run the affected spec when feasible. If the environment blocks execution, report the command that should be run and the blocker.
@@ -1,40 +0,0 @@
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
- ## Inputs
9
-
10
- Ask for missing period, focus, task slug, participants, or format constraints. If a slug is provided, read `.claude/team/tasks/<slug>/` artifacts and local git status/diff. Do not invent facts not present in artifacts or the user's message.
11
-
12
- ## Facilitation Principles
13
-
14
- - Focus on process and system behavior, not blame.
15
- - Separate facts, interpretations, and proposed actions.
16
- - Balance what worked with what slowed delivery.
17
- - Keep action items concrete, owned, and measurable.
18
-
19
- ## Default Structure
20
-
21
- 1. Goal and scope.
22
- 2. Timeline or factual observations.
23
- 3. What worked.
24
- 4. What hurt quality, speed, or confidence.
25
- 5. Root causes for the top one or two issues.
26
- 6. Experiments and action items.
27
-
28
- ## Agent Team Block
29
-
30
- For `/task` pipelines, include router, analyst, developer, **build-verifier**, reviewer, QA/e2e, hooks, and rules.
31
-
32
- ## Preset feedback loop
33
-
34
- If the same issue appeared in 2+ tasks, add section **Preset updates**:
35
-
36
- - Proposed change to `.claude/rules/`, `.claude/agents/`, or `.claude/skills/`
37
- - One concrete diff or file path to update
38
- - Whether it belongs in session-start rules vs `paths:` vs skill
39
-
40
- Do not apply preset changes without user approval.
@@ -1,32 +0,0 @@
1
- ---
2
- name: unit-testing
3
- description: Plans, generates, and heals unit tests for mappers, thunks, HTTP client behavior, and React components using colocated *.spec.ts files and tests-unit rules. Use for unit test planning, generation, or fixing failing unit tests.
4
- ---
5
-
6
- # Unit Testing
7
-
8
- ## Project Layout
9
-
10
- - Specs colocated with source: `*.spec.ts` / `*.spec.tsx` next to the module under test.
11
- - Legacy `*.test.ts` / `*.test.tsx` — do not rename without a separate task.
12
- - Runner: Jest or Vitest as configured in the target repo; components use `@testing-library/react`.
13
-
14
- Follow **`rules/testing/tests-unit.md`**.
15
-
16
- ## Planner
17
-
18
- Write or update `.claude/team/tasks/<slug>/unit-test-plan.md`.
19
-
20
- Each scenario needs a Russian `it()` title (capital letter after each sentence). Cover mappers, thunks, client behavior branches, and component interactions per AC.
21
-
22
- ## Generator
23
-
24
- Implement specs from `unit-test-plan.md`. Reuse project test-store, HTTP mocks, and existing test utilities. Do not change production code.
25
-
26
- ## Healer
27
-
28
- Fix mocks, async timing, selectors, and setup — preserve business assertions. Use `unit-test-plan.md` and `brief.md` as the behavior contract.
29
-
30
- ## Validation
31
-
32
- Run affected unit tests from `app/` when feasible. Report command, pass/fail, and remaining gaps vs plan.
@@ -1,47 +0,0 @@
1
- # Agent team artifacts
2
-
3
- Каталог артефактов пайплайна «команда агентов» Claude Code.
4
-
5
- ## Layout
6
-
7
- ```
8
- .claude/team/
9
- active-task.json
10
- fixtures/ # pipeline profile examples (feature-full, feature-light, bugfix-standard)
11
- tasks/
12
- <slug>/
13
- pipeline.json
14
- status.json
15
- brief.md
16
- decomposition.md
17
- debug-report.md
18
- validation-report.md
19
- architecture.md
20
- migration-plan.md
21
- ci-report.md
22
- a11y-review.md
23
- perf-report.md
24
- security-review.md
25
- api-contract-review.md
26
- unit-test-plan.md
27
- documentation.md
28
- review.md
29
- ```
30
-
31
- ## pipeline.json schema
32
-
33
- Same as Cursor preset — see `agents/task-router.md` for examples with `build-verifier`, `skipIf`, and `parallel` steps.
34
-
35
- ## status.json
36
-
37
- Use **`phase: executing`** in pipeline mode. Optional fields: `parallelCompleted`, `retryAfterFix`, `validation_failed` state.
38
-
39
- ## Workflow entry
40
-
41
- ```bash
42
- /task <описание>
43
- /task-continue <slug>
44
- /technical-retro <slug>
45
- ```
46
-
47
- Legacy: `/feature-start`, `/feature-continue`.
@@ -1,15 +0,0 @@
1
- {
2
- "slug": "example-bugfix-standard",
3
- "intent": "bugfix",
4
- "profile": "standard",
5
- "summary": "Regression fix with review",
6
- "steps": [
7
- { "agent": "debugger", "label": "Root cause" },
8
- { "agent": "feature-developer", "label": "Fix if needed", "skipIf": "debugger.fixed" },
9
- { "agent": "build-verifier", "label": "Validation gate" },
10
- { "agent": "code-reviewer", "label": "Code review" }
11
- ],
12
- "humanGates": [],
13
- "autoChain": true,
14
- "skipped": []
15
- }
@@ -1,16 +0,0 @@
1
- {
2
- "slug": "example-feature-full",
3
- "intent": "feature",
4
- "profile": "full",
5
- "summary": "Multi-layer feature with e2e coverage",
6
- "steps": [
7
- { "agent": "task-analyst", "label": "Clarify and decompose" },
8
- { "agent": "feature-developer", "label": "Implement + unit tests", "scope": "unit-in-dev" },
9
- { "agent": "build-verifier", "label": "Validation gate" },
10
- { "agent": "code-reviewer", "label": "Code review" },
11
- { "agent": "qa-tester", "label": "E2E", "scope": "e2e-only" }
12
- ],
13
- "humanGates": ["after:task-analyst"],
14
- "autoChain": true,
15
- "skipped": []
16
- }
@@ -1,17 +0,0 @@
1
- {
2
- "slug": "example-feature-light",
3
- "intent": "feature",
4
- "profile": "light",
5
- "summary": "Trivial single-file change with explicit AC",
6
- "steps": [
7
- { "agent": "feature-developer", "label": "Implement" },
8
- { "agent": "build-verifier", "label": "Validation gate" }
9
- ],
10
- "humanGates": [],
11
- "autoChain": true,
12
- "skipped": [
13
- { "agent": "task-analyst", "reason": "Explicit AC and single-file scope" },
14
- { "agent": "code-reviewer", "reason": "Light profile — non-trivial app changes should use standard" },
15
- { "agent": "qa-tester", "reason": "No e2e AC" }
16
- ]
17
- }
@@ -1 +0,0 @@
1
- # Keep the task artifact directory in the published preset.
@@ -1,36 +0,0 @@
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` |
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`.
@@ -1,16 +0,0 @@
1
- # Cursor Bugbot Review Guidelines
2
-
3
- Follow the **`code-review` skill** and **`code-review-mr.mdc`** for the full checklist.
4
-
5
- ## Priorities
6
-
7
- 1. Correctness regressions and runtime bugs.
8
- 2. Architecture boundary violations (`architecture-boundaries.mdc`).
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,159 +0,0 @@
1
- # `.cursor/agents` (preset next)
2
-
3
- Ролевые subagents для командного пайплайна Cursor.
4
-
5
- ## Planning and routing
6
-
7
- | Agent | Файл | Production-код |
8
- |-------|------|----------------|
9
- | Router | `task-router.md` | no |
10
- | Аналитик | `task-analyst.md` | no |
11
- | Архитектор | `solution-architect.md` | no |
12
- | Migration planner | `migration-specialist.md` | no |
13
- | API contract reviewer | `api-contract-reviewer.md` | no |
14
-
15
- ## Implementation and CI
16
-
17
- | Agent | Файл | Production-код |
18
- |-------|------|----------------|
19
- | Debugger | `debugger.md` | minimal fix only |
20
- | CI investigator | `ci-investigator.md` | minimal CI fix only |
21
- | Build verifier | `build-verifier.md` | no |
22
- | Разработчик | `feature-developer.md` | yes |
23
-
24
- ## Review specialists
25
-
26
- | Agent | Файл | Production-код |
27
- |-------|------|----------------|
28
- | Ревьюер | `code-reviewer.md` | no |
29
- | A11y reviewer | `accessibility-reviewer.md` | no |
30
- | Security reviewer | `security-reviewer.md` | no |
31
- | Performance auditor | `performance-auditor.md` | no |
32
-
33
- ## Testing
34
-
35
- | Agent | Файл | Production-код |
36
- |-------|------|----------------|
37
- | QA | `qa-tester.md` | tests only |
38
- | Unit planner | `unit-test-planner.md` | no |
39
- | Unit generator | `unit-test-generator.md` | tests only |
40
- | Unit healer | `unit-test-healer.md` | tests only |
41
- | Playwright planner | `playwright-test-planner.md` | e2e plans only |
42
- | Playwright generator | `playwright-test-generator.md` | e2e tests only |
43
- | Playwright healer | `playwright-test-healer.md` | e2e fixes only |
44
-
45
- ## Documentation
46
-
47
- | Agent | Файл | Production-код |
48
- |-------|------|----------------|
49
- | Tech writer | `tech-writer.md` | docs only |
50
-
51
- Копируется в `.cursor/agents/` при `ai-rules init cursor --preset next`.
52
-
53
- ## Оркестрация
54
-
55
- | Command | Назначение |
56
- |---------|------------|
57
- | `/task <desc>` | Router → dynamic pipeline → первый agent |
58
- | `/task-continue <slug>` | После human gate |
59
- | `/feature-start`, `/feature-continue` | Legacy (совместимость) |
60
-
61
- Правило: `agent-team-orchestrator.mdc`. План: `pipeline.json` в `.cursor/team/tasks/<slug>/`.
62
-
63
- ## Pipeline routing
64
-
65
- **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.
66
-
67
- ## pipeline.json reference
68
-
69
- ### Top-level fields
70
-
71
- | Field | Required | Description |
72
- |-------|----------|-------------|
73
- | `slug` | yes | Task identifier |
74
- | `intent` | yes | From router intent detection |
75
- | `profile` | no | `full` \| `standard` \| `light` — see `task-router.md` § Pipeline profiles |
76
- | `summary` | yes | One-line task summary |
77
- | `steps` | yes | Ordered agent steps |
78
- | `humanGates` | no | e.g. `["after:task-analyst"]` |
79
- | `autoChain` | no | Default `true` |
80
- | `skipped` | no | Roles skipped with reason |
81
-
82
- ### Step fields
83
-
84
- | Field | Required | Description |
85
- |-------|----------|-------------|
86
- | `agent` | yes | Subagent name (kebab-case) or array for `parallel: true` |
87
- | `label` | yes | Short human-readable step name |
88
- | `scope` | no | e.g. `unit-in-dev`, `e2e-only`, `regression`, `full` |
89
- | `skipIf` | no | `debugger.fixed` \| `ci-investigator.resolved` |
90
- | `parallel` | no | When `true` and `agent` is array — invoke all in one turn |
91
-
92
- ### Minimal template
93
-
94
- ```json
95
- {
96
- "slug": "<slug>",
97
- "intent": "feature",
98
- "summary": "One-line task summary",
99
- "steps": [
100
- { "agent": "task-analyst", "label": "Clarify and decompose" },
101
- { "agent": "feature-developer", "label": "Implement + unit tests", "scope": "unit-in-dev" },
102
- { "agent": "build-verifier", "label": "Lint, type-check, unit smoke" },
103
- { "agent": "code-reviewer", "label": "Code review" }
104
- ],
105
- "humanGates": ["after:task-analyst"],
106
- "autoChain": true,
107
- "skipped": []
108
- }
109
- ```
110
-
111
- ### Example: parallel reviewers
112
-
113
- ```json
114
- {
115
- "intent": "feature",
116
- "steps": [
117
- { "agent": "task-analyst", "label": "Clarify" },
118
- { "agent": "feature-developer", "label": "Implement", "scope": "unit-in-dev" },
119
- { "agent": "build-verifier", "label": "Validation gate" },
120
- {
121
- "agent": ["accessibility-reviewer", "security-reviewer"],
122
- "parallel": true,
123
- "label": "A11y and security"
124
- },
125
- { "agent": "code-reviewer", "label": "Review" }
126
- ],
127
- "humanGates": ["after:task-analyst"]
128
- }
129
- ```
130
-
131
- ### Example: bugfix skipIf
132
-
133
- ```json
134
- {
135
- "intent": "bugfix",
136
- "steps": [
137
- { "agent": "debugger", "label": "Root cause" },
138
- { "agent": "feature-developer", "label": "Fix if needed", "skipIf": "debugger.fixed" },
139
- { "agent": "build-verifier", "label": "Validation" },
140
- { "agent": "code-reviewer", "label": "Review" }
141
- ],
142
- "humanGates": []
143
- }
144
- ```
145
-
146
- ### Initial status.json
147
-
148
- ```json
149
- {
150
- "slug": "<slug>",
151
- "intent": "<intent>",
152
- "pipelineIndex": 0,
153
- "currentAgent": "<steps[0].agent>",
154
- "phase": "executing",
155
- "state": "in_progress",
156
- "awaitingHumanGate": false,
157
- "updatedAt": "<ISO8601>"
158
- }
159
- ```