@bonesofspring/ai-rules 0.1.36 → 0.1.39

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 (90) hide show
  1. package/README.md +7 -3
  2. package/bin/cli.js +55 -31
  3. package/package.json +1 -1
  4. package/presets/claude/next/CLAUDE.md +24 -5
  5. package/presets/claude/next/agents/code-reviewer.md +56 -0
  6. package/presets/claude/next/agents/debugger.md +58 -0
  7. package/presets/claude/next/agents/feature-developer.md +45 -0
  8. package/presets/claude/next/agents/qa-tester.md +54 -0
  9. package/presets/claude/next/agents/solution-architect.md +70 -0
  10. package/presets/claude/next/agents/task-analyst.md +105 -0
  11. package/presets/claude/next/agents/task-router.md +105 -0
  12. package/presets/claude/next/commands/README.md +5 -1
  13. package/presets/claude/next/commands/feature-continue.md +46 -0
  14. package/presets/claude/next/commands/feature-start.md +25 -0
  15. package/presets/claude/next/commands/task-continue.md +43 -0
  16. package/presets/claude/next/commands/task.md +40 -0
  17. package/presets/claude/next/commands/technical-retro.md +53 -0
  18. package/presets/claude/next/rules/README.md +47 -11
  19. package/presets/claude/next/rules/api-and-data/README.md +7 -1
  20. package/presets/claude/next/rules/api-and-data/api-services.md +57 -0
  21. package/presets/claude/next/rules/api-and-data/http-client.md +40 -0
  22. package/presets/claude/next/rules/api-and-data/store-rtk.md +65 -0
  23. package/presets/claude/next/rules/architecture/README.md +11 -1
  24. package/presets/claude/next/rules/architecture/api-public-imports.md +25 -0
  25. package/presets/claude/next/rules/architecture/architecture-boundaries.md +67 -0
  26. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +99 -0
  27. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +53 -0
  28. package/presets/claude/next/rules/architecture/types-public-imports.md +28 -0
  29. package/presets/claude/next/rules/stack/README.md +9 -1
  30. package/presets/claude/next/rules/stack/arrow-functions.md +40 -0
  31. package/presets/claude/next/rules/stack/navigation-router.md +56 -0
  32. package/presets/claude/next/rules/stack/next-app-core.md +83 -0
  33. package/presets/claude/next/rules/stack/no-type-assertion.md +52 -0
  34. package/presets/claude/next/rules/stack/types-jsdoc.md +37 -0
  35. package/presets/claude/next/rules/testing/README.md +9 -1
  36. package/presets/claude/next/rules/testing/playwright-agents.md +69 -0
  37. package/presets/claude/next/rules/testing/tests-e2e-structure.md +52 -0
  38. package/presets/claude/next/rules/testing/tests-unit.md +66 -0
  39. package/presets/claude/next/rules/tooling-and-review/README.md +12 -1
  40. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +9 -0
  41. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +97 -0
  42. package/presets/claude/next/rules/tooling-and-review/code-quality.md +50 -0
  43. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +67 -0
  44. package/presets/claude/next/rules/tooling-and-review/package-manager.md +20 -0
  45. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +43 -0
  46. package/presets/claude/next/rules/ui-and-accessibility/README.md +8 -1
  47. package/presets/claude/next/rules/ui-and-accessibility/component-styles.md +50 -0
  48. package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +20 -0
  49. package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +52 -0
  50. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +90 -0
  51. package/presets/claude/next/team/README.md +64 -0
  52. package/presets/claude/next/team/tasks/.gitkeep +1 -0
  53. package/presets/cursor/next/agents/README.md +25 -0
  54. package/presets/cursor/next/agents/code-reviewer.md +57 -0
  55. package/presets/cursor/next/agents/debugger.md +59 -0
  56. package/presets/cursor/next/agents/feature-developer.md +46 -0
  57. package/presets/cursor/next/agents/qa-tester.md +55 -0
  58. package/presets/cursor/next/agents/solution-architect.md +71 -0
  59. package/presets/cursor/next/agents/task-analyst.md +111 -0
  60. package/presets/cursor/next/agents/task-router.md +106 -0
  61. package/presets/cursor/next/commands/README.md +33 -1
  62. package/presets/cursor/next/commands/feature-continue.md +14 -0
  63. package/presets/cursor/next/commands/feature-start.md +28 -0
  64. package/presets/cursor/next/commands/task-continue.md +43 -0
  65. package/presets/cursor/next/commands/task.md +40 -0
  66. package/presets/cursor/next/commands/technical-retro.md +76 -0
  67. package/presets/cursor/next/hooks/chain-team-phases.sh +216 -0
  68. package/presets/cursor/next/hooks.json +11 -0
  69. package/presets/cursor/next/rules/README.md +11 -3
  70. package/presets/cursor/next/rules/agent-team-intake.mdc +14 -0
  71. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +102 -0
  72. package/presets/cursor/next/rules/api-public-imports.mdc +1 -0
  73. package/presets/cursor/next/rules/api-services.mdc +1 -0
  74. package/presets/cursor/next/rules/architecture-boundaries.mdc +1 -1
  75. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +9 -0
  76. package/presets/cursor/next/rules/code-review-mr.mdc +6 -7
  77. package/presets/cursor/next/rules/css-property-order-stylelint.mdc +25 -0
  78. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +5 -5
  79. package/presets/cursor/next/rules/layer-barrel-exports.mdc +58 -0
  80. package/presets/cursor/next/rules/next-app-core.mdc +1 -1
  81. package/presets/cursor/next/rules/no-cross-component-styles-import.mdc +55 -0
  82. package/presets/cursor/next/rules/no-props-spread.mdc +26 -3
  83. package/presets/cursor/next/rules/package-manager.mdc +25 -0
  84. package/presets/cursor/next/rules/post-change-lint.mdc +48 -0
  85. package/presets/cursor/next/rules/react-ui.mdc +31 -2
  86. package/presets/cursor/next/rules/technical-retro.mdc +5 -51
  87. package/presets/cursor/next/rules/tests-unit.mdc +1 -0
  88. package/presets/cursor/next/rules/types-public-imports.mdc +1 -0
  89. package/presets/cursor/next/team/README.md +106 -0
  90. package/presets/cursor/next/team/tasks/.gitkeep +0 -0
@@ -1,58 +1,12 @@
1
1
  ---
2
- description: Роль агента для проведения технического ретроспективы (retro) команды / спринта
2
+ description: Роль агента для проведения технического ретроспективы (retro) команды / спринта. On-demand — предпочтительнее slash-команда /technical-retro.
3
3
  alwaysApply: false
4
4
  ---
5
5
 
6
- # Техническое ретро — роль агента
6
+ # Техническое ретро — rule alias
7
7
 
8
- Агент выступает как **нейтральный фасилитатор технической ретроспективы**, а не как ревьюер кода или оценщик людей. Цель вынести уроки, согласовать действия и улучшить процесс разработки.
8
+ Полный сценарий (включая блок **«Работа агентов»** для slug из `.cursor/team/tasks/`)в slash-комmand:
9
9
 
10
- ## Когда включать
10
+ **`.cursor/commands/technical-retro.md`** `/technical-retro`
11
11
 
12
- - Пользователь просит: «ретро», «техническое ретро», «разбор спринта/итерации», «что пошло хорошо / плохо», «action items после релиза».
13
- - Есть контекст: период (спринт, квартал), тема (релиз, инцидент, миграция), или приложены заметки/линки.
14
-
15
- ## Входные данные (запросить при нехватке)
16
-
17
- - **Период и фокус** (например: две недели, релиз X, постмортем).
18
- - **Участники/роли** (если важно для формулировок): только разработка или весь кросс‑функциональный поток.
19
- - **Ограничения**: время (15 / 30 / 60 мин), формат (async в чате vs синхронная повестка).
20
- - По желанию: список deliverables, метрики, ссылки на тикеты/MR — **без выдумывания** фактов, которых нет в сообщении или репозитории.
21
-
22
- Если контекста мало — задать **1–3 коротких уточняющих вопроса**, затем продолжить с явными допущениями в шапке вывода.
23
-
24
- ## Принципы фасилитации
25
-
26
- - **Безопасность и нейтральность**: формулировки про процесс и систему, не про «виноватых»; избегать ярлыков к людям.
27
- - **Конкретика**: от абстрактного «надо лучше общаться» — к наблюдаемым событиям и договорённостям.
28
- - **Баланс**: зафиксировать и позитив (что усилить), и зоны роста.
29
- - **Один владелец и срок** у каждого action item; избегать списка «сделает команда» без имени/роли.
30
- - **Не смешивать с code review**: ретро не заменяет построчный разбор диффа; при запросе «и ретро, и ревью» — развести два блока в ответе.
31
-
32
- ## Рекомендуемая структура сессии (по умолчанию)
33
-
34
- Подстроить под указанное время. Для короткого async‑формата — сжать до шагов 2–4.
35
-
36
- 1. **Цель и рамки** (1–2 предложения): зачем встреча, что в фокусе / что вне скоупа.
37
- 2. **Сбор фактов** (молча в чате — списком от пользователя; агент структурирует):
38
- - что шло хорошо,
39
- - что мешало / вызывало риски,
40
- - сюрпризы (технический долг, узкие места, зависимости).
41
- 3. **Группировка тем**: объединить дубли, выделить 3–7 тем для обсуждения (приоритет — влияние × изменяемость).
42
- 4. **Корневые причины (легко)**: для 1–2 самых болезненных тем — кратко «5 почему» или «что в процессе/артефактах позволило этому случиться», без морализаторства.
43
- 5. **Эксперименты на следующий цикл**: не больше 1–3 изменений процесса/инструментов; каждое — измеримое или с явным критерием «успех/не успех».
44
- 6. **Action items**: таблица или список с **что / владелец / до когда / как поймём, что сработало**.
45
-
46
- ## Формат ответа агента
47
-
48
- - Краткая **шапка**: период, фокус, допущения (если были).
49
- - **Повестка** или итог по этапам выше.
50
- - **Темы** — буллеты; по спорным местам — **вопросы команде**, а не окончательные выводы без данных.
51
- - **Решения и эксперименты** отдельным блоком.
52
- - **Action items** — в конце, каждый пункт с владельцем и дедлайном (или пометка «нужно назначить на встрече»).
53
-
54
- ## Ограничения
55
-
56
- - Не приписывать команде цитаты или факты, которых не было во входе.
57
- - Не выдавать юридические/HR‑рекомендации; при явных конфликтах или токсичности — мягко предложить эскалацию человеку, ответственному за команду, без детализации «наказаний».
58
- - Если пользователь просит только шаблон — выдать **шаблон повестки и доски** (колонки, таймбоксы) без выдуманного контента.
12
+ Используй rule только если command недоступен. Не дублируй содержимое command в ответе следуй command-файлу.
@@ -15,6 +15,7 @@ alwaysApply: false
15
15
  - **Именование unit‑тестов** (строки в `describe` / `it` / `test`):
16
16
  - формулировки **только на русском языке** — понятные бизнес‑фразы (что проверяется и какой ожидается результат);
17
17
  - **каждое предложение** в названии **начинается с заглавной буквы** (в том числе после `.`, `!`, `?` и при нескольких предложениях в одной строке); первая буква всей строки — тоже заглавная.
18
+ - **Проверка в CI:** ESLint (`jest/valid-title` в `app/eslint.config.mjs`) требует, чтобы строка начиналась с русской заглавной (А–Я, Ё), и запрещает пробел после точки, за которым сразу идёт строчная буква (типичный случай нарушения «с заглавной после точки»).
18
19
 
19
20
  ```typescript
20
21
  // ✅ Хорошо
@@ -27,3 +27,4 @@ import { TransportError } from '@/types/TransportError'
27
27
  ```
28
28
 
29
29
  При ревью и правках кода **не добавлять** новые импорты типов из `@/types/...` кроме `@/types` и `@/types/enums`.
30
+ - Новые публичные типы — реэкспорт в `app/src/types/index.ts` по **`layer-barrel-exports.mdc`**.
@@ -0,0 +1,106 @@
1
+ # Agent team artifacts
2
+
3
+ Каталог артефактов пайплайна «команда агентов» Cursor.
4
+
5
+ ## Layout
6
+
7
+ ```
8
+ .cursor/team/
9
+ active-task.json # { "slug": "current-task-slug" }
10
+ tasks/
11
+ <slug>/
12
+ pipeline.json # Router: intent, steps, humanGates
13
+ status.json # Current step and state machine
14
+ brief.md # Analyst: Definition of Ready
15
+ decomposition.md # Analyst: task breakdown
16
+ debug-report.md # Debugger (bugfix)
17
+ architecture.md # Solution architect (spike / complex)
18
+ ```
19
+
20
+ ## Slug
21
+
22
+ - kebab-case, derived from task title
23
+ - max 48 characters
24
+ - example: `order-history-date-filter`
25
+
26
+ ## pipeline.json schema
27
+
28
+ ```json
29
+ {
30
+ "slug": "order-history-date-filter",
31
+ "intent": "feature",
32
+ "summary": "Add date filter to Order History",
33
+ "steps": [
34
+ { "agent": "task-analyst", "label": "Clarify and decompose" },
35
+ { "agent": "feature-developer", "label": "Implement" },
36
+ { "agent": "code-reviewer", "label": "Code review" },
37
+ { "agent": "qa-tester", "label": "Tests", "scope": "full" }
38
+ ],
39
+ "humanGates": ["after:task-analyst"],
40
+ "autoChain": true,
41
+ "skipped": []
42
+ }
43
+ ```
44
+
45
+ ### intent values
46
+
47
+ `feature` | `bugfix` | `review-only` | `test-only` | `refactor` | `spike` | `retro`
48
+
49
+ ## status.json schema (pipeline mode)
50
+
51
+ ```json
52
+ {
53
+ "slug": "order-history-date-filter",
54
+ "intent": "feature",
55
+ "pipelineIndex": 0,
56
+ "currentAgent": "task-analyst",
57
+ "phase": "executing",
58
+ "state": "in_progress",
59
+ "awaitingHumanGate": false,
60
+ "updatedAt": "2026-05-29T12:00:00.000Z"
61
+ }
62
+ ```
63
+
64
+ ### phase
65
+
66
+ | Value | Description |
67
+ |-------|-------------|
68
+ | `executing` | Pipeline step in progress (preferred) |
69
+ | `analysis` | Legacy: analyst phase |
70
+ | `development` | Legacy: developer phase |
71
+ | `review` | Legacy: review phase |
72
+ | `testing` | Legacy: QA phase |
73
+ | `done` | All steps complete |
74
+
75
+ ### state
76
+
77
+ | Value | Description |
78
+ |-------|-------------|
79
+ | `in_progress` | Current step running |
80
+ | `completed` | Current step finished |
81
+ | `awaiting_approval` | Human gate; use `/task-continue` |
82
+ | `changes_requested` | Reviewer requires fixes |
83
+ | `approved` | Legacy: approved via continue |
84
+
85
+ ## Git
86
+
87
+ Commit task artifacts if you want them to survive `ai-rules clean cursor`. Alternatively copy finished tasks to `docs/agent-workflow/tasks/<slug>/`.
88
+
89
+ ## Workflow entry
90
+
91
+ ```bash
92
+ /task <описание задачи>
93
+ # при human gate после analyst:
94
+ /task-continue <slug>
95
+ # или
96
+ /feature-continue <slug>
97
+ # после пайплайна:
98
+ /technical-retro <slug>
99
+ ```
100
+
101
+ Legacy:
102
+
103
+ ```bash
104
+ /feature-start <описание>
105
+ /feature-continue <slug>
106
+ ```
File without changes