@rt-tools/agent-kit 0.3.0 → 0.4.0

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 (201) hide show
  1. package/README.md +194 -30
  2. package/assets/agents/business-analyst.md +74 -0
  3. package/assets/agents/project-manager.md +70 -0
  4. package/assets/agents/qa-engineer.md +72 -0
  5. package/assets/agents/skill-curator.md +110 -0
  6. package/assets/agents/spec-critic.md +44 -0
  7. package/assets/agents/spec-writer.md +50 -0
  8. package/assets/checks/board.github.mjs +286 -0
  9. package/assets/checks/check-board.github.mjs +188 -0
  10. package/assets/checks/check-doc-paths.mjs +163 -0
  11. package/assets/checks/check-dupes.mjs +277 -0
  12. package/assets/checks/check-lib-layers.mjs +573 -0
  13. package/assets/checks/check-reuse.mjs +208 -0
  14. package/assets/checks/check-schema-drift.mjs +186 -0
  15. package/assets/checks/check-specs.mjs +1007 -0
  16. package/assets/checks/check-styles.mjs +109 -0
  17. package/assets/checks/rt-kit-checks.config.mjs +134 -0
  18. package/assets/checks/task-new.github.mjs +198 -0
  19. package/assets/commands/skill-curator.md +70 -0
  20. package/assets/defaults/gate-map.sh +100 -0
  21. package/assets/defaults/project.sh +179 -0
  22. package/assets/hooks/browser-device-id.sh +0 -0
  23. package/assets/hooks/browser-guard-device-id.sh +2 -1
  24. package/assets/hooks/browser-guard-no-asking.sh +27 -0
  25. package/assets/hooks/browser-guard-no-listing.sh +2 -1
  26. package/assets/hooks/browser-guard-no-other-drivers.sh +2 -1
  27. package/assets/hooks/browser-guard-require-select.sh +2 -1
  28. package/assets/hooks/commit-msg.sh +1 -1
  29. package/assets/hooks/constitution-index.sh +5 -4
  30. package/assets/hooks/dev-server-guard.sh +8 -6
  31. package/assets/hooks/docs-guard.sh +223 -37
  32. package/assets/hooks/git-guard-delivery.sh +86 -29
  33. package/assets/hooks/git-guard-main.sh +1 -0
  34. package/assets/hooks/git-guard-push-tests.sh +34 -13
  35. package/assets/hooks/glossary-load.sh +23 -0
  36. package/assets/hooks/lint-after-edit.sh +155 -30
  37. package/assets/hooks/qa-dataid-guard.sh +72 -32
  38. package/assets/hooks/reuse-first-guard.sh +105 -34
  39. package/assets/hooks/skill-gate-rearm.sh +1 -0
  40. package/assets/hooks/skill-gate.sh +75 -15
  41. package/assets/hooks/skill-loaded.sh +1 -0
  42. package/assets/hooks/sql-guard.sh +606 -56
  43. package/assets/hooks/task-context-load.sh +100 -0
  44. package/assets/hooks/task-flow-guard.sh +107 -0
  45. package/assets/laws/{access.md → application/access.md} +1 -4
  46. package/assets/laws/{locales.md → application/locales.md} +1 -3
  47. package/assets/laws/application/money.md +41 -0
  48. package/assets/laws/application/ownership.md +32 -0
  49. package/assets/laws/{search-visibility.md → application/search-visibility.md} +1 -1
  50. package/assets/laws/code-structure.md +7 -6
  51. package/assets/laws/delivery.md +53 -3
  52. package/assets/laws/entity-editing.md +49 -55
  53. package/assets/laws/entity-models.md +4 -14
  54. package/assets/laws/frontend-application.md +5 -5
  55. package/assets/laws/lib-imports.md +14 -1
  56. package/assets/laws/lists.md +33 -0
  57. package/assets/laws/navigation.md +40 -0
  58. package/assets/laws/project-documentation.md +17 -8
  59. package/assets/laws/reuse-first.md +26 -21
  60. package/assets/laws/shared-code.md +13 -1
  61. package/assets/laws/verifiability.md +17 -1
  62. package/assets/laws/work-conduct.md +48 -0
  63. package/assets/patterns/admin-lists-screen.md +131 -0
  64. package/assets/patterns/admin-nav-item.md +71 -0
  65. package/assets/patterns/angular-patterns-state.md +29 -22
  66. package/assets/patterns/api-layer-pair.md +40 -30
  67. package/assets/patterns/browser-verification-measure.md +41 -38
  68. package/assets/patterns/browser-verification-stand.md +106 -42
  69. package/assets/patterns/component-structure-new.md +33 -32
  70. package/assets/patterns/dependencies-upgrade.md +65 -0
  71. package/assets/patterns/doc-style-sweep.md +65 -28
  72. package/assets/patterns/doc-style-write.md +36 -33
  73. package/assets/patterns/entity-aside.md +136 -0
  74. package/assets/patterns/entity-models-new.md +124 -0
  75. package/assets/patterns/entity-store.md +91 -0
  76. package/assets/patterns/git-workflow-commit.azure.md +259 -0
  77. package/assets/patterns/git-workflow-commit.github.md +333 -0
  78. package/assets/patterns/git-workflow-commit.gitlab.md +283 -0
  79. package/assets/patterns/git-workflow-merge.md +42 -25
  80. package/assets/patterns/git-workflow-migration.md +61 -31
  81. package/assets/patterns/git-workflow-restart.md +20 -20
  82. package/assets/patterns/lib-layers-move.md +50 -32
  83. package/assets/patterns/lib-layers-new.md +41 -29
  84. package/assets/patterns/ownership-scope-resolve.md +69 -0
  85. package/assets/patterns/permissions-procedure.md +35 -33
  86. package/assets/patterns/platform-access-di.md +39 -25
  87. package/assets/patterns/pricing-quote.md +71 -0
  88. package/assets/patterns/reuse-first-extend.md +22 -22
  89. package/assets/patterns/seo-page.md +52 -40
  90. package/assets/patterns/seo-verify.md +48 -29
  91. package/assets/patterns/shared-code-new.md +37 -31
  92. package/assets/patterns/spec-driven-domain.md +44 -37
  93. package/assets/patterns/spec-driven-rule.md +55 -40
  94. package/assets/patterns/styling-bem-component.md +43 -32
  95. package/assets/patterns/styling-bem-layout.md +30 -24
  96. package/assets/patterns/task-flow-close.md +90 -0
  97. package/assets/patterns/task-flow-resume.md +94 -0
  98. package/assets/patterns/task-flow-start.md +117 -0
  99. package/assets/patterns/testing-e2e.md +53 -51
  100. package/assets/patterns/testing-unit.md +70 -46
  101. package/assets/patterns/translations-key.md +32 -19
  102. package/assets/patterns/ts-procedure.md +24 -25
  103. package/assets/rules/angular-patterns.md +46 -27
  104. package/assets/rules/api-layer.md +46 -28
  105. package/assets/rules/browser-verification.md +66 -48
  106. package/assets/rules/component-structure.md +43 -27
  107. package/assets/rules/dependencies.md +66 -0
  108. package/assets/rules/doc-style.md +81 -39
  109. package/assets/rules/entity-conventions.md +78 -0
  110. package/assets/rules/entity-models.md +70 -0
  111. package/assets/rules/git-workflow.azure.md +116 -0
  112. package/assets/rules/git-workflow.github.md +123 -0
  113. package/assets/rules/git-workflow.gitlab.md +113 -0
  114. package/assets/rules/lib-layers.md +56 -30
  115. package/assets/rules/lists.md +73 -0
  116. package/assets/rules/navigation.md +78 -0
  117. package/assets/rules/ownership-scope.md +63 -0
  118. package/assets/rules/permissions.md +43 -25
  119. package/assets/rules/platform-access.md +57 -29
  120. package/assets/rules/pricing.md +64 -0
  121. package/assets/rules/reuse-first.md +57 -43
  122. package/assets/rules/seo.md +51 -30
  123. package/assets/rules/shared-code.md +51 -26
  124. package/assets/rules/spec-driven.md +96 -50
  125. package/assets/rules/styling-bem.md +54 -39
  126. package/assets/rules/task-flow.md +110 -0
  127. package/assets/rules/testing.md +78 -47
  128. package/assets/rules/translations.md +48 -31
  129. package/assets/rules/typescript-conventions.md +57 -27
  130. package/assets/skills/agent-kit.md +81 -0
  131. package/assets/skills/write-a-skill.md +108 -0
  132. package/assets/templates/gate-map.sh +23 -15
  133. package/assets/templates/implementation.md +14 -8
  134. package/assets/templates/pattern.md +1 -1
  135. package/assets/templates/project.sh +32 -19
  136. package/assets/templates/rule.md +1 -1
  137. package/assets/variants.json +20 -0
  138. package/assets/workflows/feature.js +134 -0
  139. package/assets/workflows/plan.js +150 -0
  140. package/bin/agent-kit.d.ts.map +1 -1
  141. package/bin/agent-kit.js +78 -5
  142. package/bin/agent-kit.js.map +1 -1
  143. package/bin/prompt.d.ts +5 -0
  144. package/bin/prompt.d.ts.map +1 -1
  145. package/bin/prompt.js +19 -7
  146. package/bin/prompt.js.map +1 -1
  147. package/index.d.ts +1 -0
  148. package/index.d.ts.map +1 -1
  149. package/index.js +1 -0
  150. package/index.js.map +1 -1
  151. package/lib/assets.d.ts +8 -3
  152. package/lib/assets.d.ts.map +1 -1
  153. package/lib/assets.js +13 -3
  154. package/lib/assets.js.map +1 -1
  155. package/lib/catalog.d.ts +52 -5
  156. package/lib/catalog.d.ts.map +1 -1
  157. package/lib/catalog.js +104 -16
  158. package/lib/catalog.js.map +1 -1
  159. package/lib/commands.d.ts +22 -1
  160. package/lib/commands.d.ts.map +1 -1
  161. package/lib/commands.js +202 -14
  162. package/lib/commands.js.map +1 -1
  163. package/lib/companion.d.ts +5 -1
  164. package/lib/companion.d.ts.map +1 -1
  165. package/lib/companion.js +29 -2
  166. package/lib/companion.js.map +1 -1
  167. package/lib/config.d.ts +26 -9
  168. package/lib/config.d.ts.map +1 -1
  169. package/lib/config.js +41 -15
  170. package/lib/config.js.map +1 -1
  171. package/lib/freshness.d.ts +14 -0
  172. package/lib/freshness.d.ts.map +1 -0
  173. package/lib/freshness.js +116 -0
  174. package/lib/freshness.js.map +1 -0
  175. package/lib/hooks-map.d.ts +24 -0
  176. package/lib/hooks-map.d.ts.map +1 -0
  177. package/lib/hooks-map.js +72 -0
  178. package/lib/hooks-map.js.map +1 -0
  179. package/lib/integrity.d.ts +36 -0
  180. package/lib/integrity.d.ts.map +1 -0
  181. package/lib/integrity.js +44 -0
  182. package/lib/integrity.js.map +1 -0
  183. package/lib/picker.d.ts +11 -1
  184. package/lib/picker.d.ts.map +1 -1
  185. package/lib/picker.js +44 -6
  186. package/lib/picker.js.map +1 -1
  187. package/lib/sync.d.ts +26 -0
  188. package/lib/sync.d.ts.map +1 -1
  189. package/lib/sync.js +59 -4
  190. package/lib/sync.js.map +1 -1
  191. package/lib/variants.d.ts +44 -0
  192. package/lib/variants.d.ts.map +1 -0
  193. package/lib/variants.js +82 -0
  194. package/lib/variants.js.map +1 -0
  195. package/package.json +1 -1
  196. package/rt-tools-agent-kit-0.4.0.tgz +0 -0
  197. package/assets/laws/admin-lists.md +0 -35
  198. package/assets/laws/admin-navigation.md +0 -38
  199. package/assets/patterns/git-workflow-commit.md +0 -175
  200. package/assets/rules/git-workflow.md +0 -106
  201. package/rt-tools-agent-kit-0.3.0.tgz +0 -0
@@ -1,106 +0,0 @@
1
- ---
2
- name: git-workflow
3
- kind: rule
4
- law: delivery
5
- description: Правило под закон «Поставка». Брать на заведение задачи, ветки, коммит, пуш, создание PR, слияние, а также на правку схемы хранилища и её миграций. Задача как начало работы, колонка задачи как ход работы, соответствие задачи и ветки один к одному, формат коммита, обязательный состав PR, сторожевые хуки. Готовый код — в паттернах git-workflow-commit, git-workflow-merge, git-workflow-migration и git-workflow-restart. Чем это названо здесь — в implementation.md рядом.
6
- ---
7
-
8
- # Поставка — каким приёмом
9
-
10
- Правило под закон `{{lawsDir}}/delivery.md`. Закон говорит, что должно быть верно; здесь — каким
11
- приёмом это держится. Как названы главная ветка, борда, колонки, формат имени ветки и учётная
12
- запись машинной работы — `implementation.md` рядом.
13
-
14
- ## Когда берётся
15
-
16
- Заведение задачи и ветки, коммит, пуш, открытие PR, слияние, правка схемы хранилища и её
17
- миграций, ручной перезапуск прода.
18
-
19
- ## Что здесь действует
20
-
21
- - **Коммит в главную ветку отбивается гардом.** Гард ищет вызов коммита в любом месте команды и
22
- смотрит текущую ветку на момент запуска, поэтому составная «создать ветку и сразу коммитить»
23
- отклоняется целиком: ветки в момент разбора ещё нет.
24
- - **Ветка без номера задачи PR не открывает.** Локально такая ветка законна, но правка из неё —
25
- это выкатка, за которой в очереди работ ничего не стоит.
26
- - **Номер ветки и номер в заголовке PR сверяются на месте, а состояние задачи — по борде.**
27
- Формат читается из текста команды и работает без сети; существование задачи, её присутствие в
28
- очереди, исполнитель и то, что она ещё открыта, — только когда есть чем спросить. Нет сети
29
- или нет токена — второй ярус молча пропускается: проверка, падающая в самолёте, перестаёт
30
- что-либо значить.
31
- - **Колонка задачи двигается тем же движением, что и работа.** Ветка заведена — задача
32
- переставляется во взятые в работу, PR открыт — в разбор. Перевод идёт сразу за шагом, который
33
- его вызвал: очередь работ читают между шагами, а не после них.
34
- - **Отставшая колонка находится сверкой очереди, а не глазами.** Сверка судит колонку по отчёту
35
- в обе стороны: открытый PR при задаче не в разборе и разбор без открытого PR — оба
36
- расхождения.
37
- - **Задачи, чинящиеся одной правкой, сливаются до слияния ветки.** Недостающее из поглощённой
38
- дописывается в первую, а сама она уходит из очереди. После слияния ветки слить уже нельзя:
39
- она въехала, и откатывается целиком.
40
- - **Слияние в главную ветку выкатывает прод.** Исключения по путям покрывают только документы,
41
- поэтому переменные окружения, секреты и записи имён ставятся до слияния, а не после.
42
- - **Признак режима объявлен в образе, а не только в составе прода.** Значение, заданное
43
- составом, действует лишь на контейнер, поднятый этим составом; ручной прогон того же образа
44
- идёт с пустым значением, а пусто здесь означает разработку — со всеми отладочными
45
- умолчаниями, которые она разрешает.
46
- - **Образы выкатываются по хешу коммита, а не по метке «последний».** Метка в реестре отстаёт
47
- от главной ветки, и прод молча возвращается к прежней версии, продолжая отвечать.
48
- - **Цепочка миграций прогоняется с пустого хранилища до слияния.** Порядок применения
49
- лексикографический по имени каталога, а метку времени ставит момент создания: миграция из
50
- ветки, начатой раньше, встаёт перед той, от которой зависит.
51
- - **Документ едет в том же коммите, что и правка.** Обход — отметка с причиной в теле коммита;
52
- пустая причина не принимается.
53
- - **Заголовок коммита сверяется с форматом на месте.** Разобранный по типу и области заголовок
54
- читается списком, а свободный текст — только целиком.
55
- - **Перед пушем прогоняются все линтеры, а не один.** Линтер кода обычно не читает файлы стилей
56
- вовсе, и правила оформления без второго прогона не проверяет ничто.
57
-
58
- ## Паттерны
59
-
60
- - `git-workflow-commit` — ветка, коммит, пуш и PR от учётной записи машинной работы.
61
- - `git-workflow-merge` — влить главную ветку в ветку задачи и разрешить конфликт.
62
- - `git-workflow-migration` — файл миграции и прогон цепочки на одноразовом хранилище.
63
- - `git-workflow-restart` — ручной перезапуск прода без отката на прежний образ.
64
-
65
- ## Ловушки
66
-
67
- - **Одна работа — одна задача, сколько бы файлов она ни задела.** Числа, за которым правка
68
- становится второй задачей, нет: делится то, что придётся откатывать порознь. Сплошная правка,
69
- разделённая «по объёму», кончается стиранием лишних задач, закрытием их PR и переносом
70
- коммитов с конфликтами.
71
- - **Задача заводится одной командой, а не набором вызовов подряд.** Очередь работ к репозиторию
72
- обычно не привязана, и задача попадает в неё только явным добавлением: переписанный руками
73
- шаг оставляет её вне очереди, и заметить это нечем.
74
- - **Ветка заводится вторым вызовом, а не тем же.** Гард главной ветки отклоняет составную
75
- «создать ветку и сразу коммитить» целиком.
76
- - **Колонка, приведённая в порядок задним числом, ничего не значила ровно тогда, когда очередь
77
- читали.** Перевод стоит одной команды и делается на месте, а не собирается в уборку под
78
- конец: очередь для того и ведётся, чтобы отвечать в любой момент.
79
- - **Сторона конфликта бывает удалением, и «сохранить обе стороны» заводит второе объявление.**
80
- Главная ветка снимает объявление, потому что символ переехал, — в конфликте это выглядит как
81
- сторона, которая ничего не дописала. Разбирается чтением версии главной ветки целиком, а не
82
- по куску: обе копии сами по себе исправны, сборка и линтер зелёные.
83
- - **Конфликт при вливании главной ветки почти всегда лежит в текстах, а не в коде.** Соседние
84
- ветки дописывают в конец одних и тех же списков; зелёная сборка после слияния про такой
85
- конфликт не говорит ничего.
86
- - **PR без ревьювера, исполнителя и меток открывать нельзя.** Ревьювер не узнаёт, что его ждут,
87
- а метки — единственное, по чему в очереди из полутора десятков PR видно род правки и её
88
- область.
89
- - **Заголовок PR без номера задачи не сопоставить с очередью.** В списке PR тела не видно, а
90
- строка о закрытии задачи живёт именно там. Название при этом идёт в сделанном: задача просит
91
- исправить, PR отчитывается, что исправлено.
92
- - **На самом PR не гоняется ничто.** Выкатка запускается пушем в главную ветку, и выборочный
93
- прогон по затронутому до PR не доходит: сборки, проверки текстов и браузер идут до
94
- публикации.
95
- - **Субагентам работа с историей запрещена полностью, включая чтение состояния.** Отложенные
96
- изменения, спрятанные субагентом, выглядят как потеря всей работы. Историю ведёт главный
97
- агент.
98
- - **Подъём контейнера без явного тега образа подставляет «последний».** Приложение при этом
99
- отвечает, и подмену видно только по пропавшим строкам нового кода в журнале.
100
- - **Команда разработчика для миграций на живом хранилище не запускается.** Любое расхождение
101
- состояния она лечит предложением сбросить хранилище, а в нём лежат данные владельца.
102
- - **Переименованная миграция остаётся в хранилище под прежним именем.** Накат падает на «объект
103
- уже существует» и лечится отметкой о применении, а не повторным накатом.
104
- - **Флаги инструмента миграций не те, что в примерах из сети.** На неизвестный флаг команда
105
- печатает справку, а не строку ошибки, — промах виден только в ней. Какие флаги есть сейчас,
106
- смотрят в её собственной справке, а не в этом тексте.
Binary file