@atlashub/smartstack-cli 4.80.0 → 5.0.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 (1008) hide show
  1. package/.documentation/agents.html +124 -585
  2. package/.documentation/ba-develop.html +852 -0
  3. package/.documentation/ba-skills.html +465 -0
  4. package/.documentation/business-analyse.html +385 -1570
  5. package/.documentation/cli-commands.html +162 -799
  6. package/.documentation/commands.html +902 -1338
  7. package/.documentation/css/styles.css +34 -1
  8. package/.documentation/efcore.html +161 -2599
  9. package/.documentation/gitflow.html +62 -105
  10. package/.documentation/hooks.html +94 -343
  11. package/.documentation/index.html +116 -385
  12. package/.documentation/init.html +217 -1566
  13. package/.documentation/installation.html +121 -1470
  14. package/.documentation/license.html +90 -450
  15. package/.documentation/ralph-loop.html +105 -602
  16. package/dist/index.js +9421 -79036
  17. package/dist/index.js.map +1 -1
  18. package/package.json +5 -20
  19. package/scripts/generate-docs/README.md +87 -0
  20. package/scripts/generate-docs/index.ts +175 -0
  21. package/scripts/generate-docs/lib/context-builder.ts +81 -0
  22. package/scripts/generate-docs/lib/handlebars-setup.ts +162 -0
  23. package/scripts/generate-docs/lib/markdown-parser.ts +86 -0
  24. package/scripts/generate-docs/lib/sidebar-builder.ts +80 -0
  25. package/scripts/generate-docs/lib/skill-parser.ts +171 -0
  26. package/scripts/generate-docs/lib/stats.ts +32 -0
  27. package/scripts/generate-docs/lib/version.ts +17 -0
  28. package/scripts/generate-docs/templates/layout.hbs +33 -0
  29. package/scripts/generate-docs/templates/pages/_generic.hbs +12 -0
  30. package/scripts/generate-docs/templates/pages/ba-develop.hbs +10 -0
  31. package/scripts/generate-docs/templates/pages/ba-skills.hbs +8 -0
  32. package/scripts/generate-docs/templates/pages/business-analyse.hbs +1 -0
  33. package/scripts/generate-docs/templates/pages/commands.hbs +13 -0
  34. package/scripts/generate-docs/templates/pages/gitflow.hbs +2164 -0
  35. package/scripts/generate-docs/templates/pages/index.hbs +5 -0
  36. package/scripts/generate-docs/templates/partials/breadcrumb.hbs +6 -0
  37. package/scripts/generate-docs/templates/partials/header.hbs +22 -0
  38. package/scripts/generate-docs/templates/partials/sidebar.hbs +32 -0
  39. package/scripts/generate-docs/templates/partials/skill-card.hbs +22 -0
  40. package/scripts/generate-docs/templates/partials/skill-grid.hbs +5 -0
  41. package/scripts/generate-docs/templates/partials/skill-table.hbs +18 -0
  42. package/scripts/generate-docs/templates/partials/stats-bar.hbs +20 -0
  43. package/scripts/test-migration-program-cs.mts +94 -0
  44. package/templates/agents/explore-codebase.md +2 -3
  45. package/templates/agents/explore-docs.md +5 -5
  46. package/templates/hooks/hooks.json +0 -9
  47. package/templates/project/Program.cs.template +17 -5
  48. package/templates/project/appsettings.json.template +208 -195
  49. package/templates/project/claude-md/api.CLAUDE.md.template +27 -2
  50. package/templates/project/patch-smartstack-theme.cjs.template +42 -0
  51. package/templates/scripts/statusline/README.md +47 -0
  52. package/templates/scripts/statusline/index.js +224 -0
  53. package/templates/skills/CLAUDE.md +235 -0
  54. package/templates/skills/ba-develop/SKILL.md +310 -0
  55. package/templates/skills/ba-develop/cli/compute-page-diff/__tests__/compute-page-diff.test.ts +177 -0
  56. package/templates/skills/ba-develop/cli/compute-page-diff/compute-diff.ts +51 -0
  57. package/templates/skills/ba-develop/cli/compute-page-diff/disk-drift.ts +55 -0
  58. package/templates/skills/ba-develop/cli/compute-page-diff/index.ts +89 -0
  59. package/templates/skills/ba-develop/cli/compute-page-diff/scan-pagespecs.ts +115 -0
  60. package/templates/skills/ba-develop/cli/compute-page-diff/types.ts +63 -0
  61. package/templates/skills/ba-develop/cli/compute-page-diff/validate.ts +20 -0
  62. package/templates/skills/ba-develop/cli/update-snapshot/__tests__/update-snapshot.test.ts +73 -0
  63. package/templates/skills/ba-develop/cli/update-snapshot/execute.ts +24 -0
  64. package/templates/skills/ba-develop/cli/update-snapshot/index.ts +61 -0
  65. package/templates/skills/ba-develop/cli/update-snapshot/types.ts +40 -0
  66. package/templates/skills/ba-develop/cli/update-snapshot/validate.ts +17 -0
  67. package/templates/skills/ba-develop/references/anti-patterns.md +101 -0
  68. package/templates/skills/ba-develop/references/auto-healing.md +191 -0
  69. package/templates/skills/ba-develop/references/commit-checkpoints.md +79 -0
  70. package/templates/skills/ba-develop/references/gates.md +380 -0
  71. package/templates/skills/ba-develop/references/output-contract.md +95 -0
  72. package/templates/skills/ba-develop/references/phases-detail.md +592 -0
  73. package/templates/skills/ba-develop-plan/SKILL.md +239 -0
  74. package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/__tests__/validate.test.ts +225 -0
  75. package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/index.ts +102 -0
  76. package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/types.ts +121 -0
  77. package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/validate.ts +261 -0
  78. package/templates/skills/business-analyse/_workflow/README.md +34 -0
  79. package/templates/skills/business-analyse/_workflow/ba-files.md +174 -0
  80. package/templates/skills/business-analyse/_workflow/code-discipline.md +104 -0
  81. package/templates/skills/business-analyse/_workflow/communication.md +63 -0
  82. package/templates/skills/business-analyse/_workflow/completeAuto-discipline.md +79 -0
  83. package/templates/skills/business-analyse/_workflow/context-documents.md +45 -0
  84. package/templates/skills/business-analyse/_workflow/doc-templates.md +318 -0
  85. package/templates/skills/business-analyse/audit-actors/SKILL.md +97 -0
  86. package/templates/skills/business-analyse/audit-cross-dimension/SKILL.md +127 -0
  87. package/templates/skills/business-analyse/audit-cross-ref-code/SKILL.md +119 -0
  88. package/templates/skills/business-analyse/audit-data-model/SKILL.md +343 -0
  89. package/templates/skills/business-analyse/audit-menu/SKILL.md +97 -0
  90. package/templates/skills/business-analyse/audit-prd/SKILL.md +479 -0
  91. package/templates/skills/business-analyse/audit-pre-dev/SKILL.md +135 -0
  92. package/templates/skills/business-analyse/audit-rbac/SKILL.md +93 -0
  93. package/templates/skills/business-analyse/audit-rules/SKILL.md +182 -0
  94. package/templates/skills/business-analyse/audit-screens/SKILL.md +169 -0
  95. package/templates/skills/business-analyse/audit-sections/SKILL.md +174 -0
  96. package/templates/skills/business-analyse/audit-use-cases/SKILL.md +245 -0
  97. package/templates/skills/business-analyse/create-actors/SKILL.md +129 -0
  98. package/templates/skills/business-analyse/create-ba-order/SKILL.md +182 -0
  99. package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/generate.test.ts +151 -0
  100. package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/graph.test.ts +173 -0
  101. package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/generate.ts +273 -0
  102. package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/graph.ts +193 -0
  103. package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/index.ts +108 -0
  104. package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/types.ts +106 -0
  105. package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/validate.ts +79 -0
  106. package/templates/skills/business-analyse/create-business-rules/SKILL.md +302 -0
  107. package/templates/skills/business-analyse/create-business-rules/levels/access-rules.md +105 -0
  108. package/templates/skills/business-analyse/create-business-rules/levels/elaborate.md +193 -0
  109. package/templates/skills/business-analyse/create-business-rules/levels/identify.md +157 -0
  110. package/templates/skills/business-analyse/create-business-rules/levels/link.md +86 -0
  111. package/templates/skills/business-analyse/create-data-model/SKILL.md +319 -0
  112. package/templates/skills/business-analyse/create-data-model/levels/attributes.md +130 -0
  113. package/templates/skills/business-analyse/create-data-model/levels/identify.md +100 -0
  114. package/templates/skills/business-analyse/create-data-model/levels/relationships.md +97 -0
  115. package/templates/skills/business-analyse/create-menu/SKILL.md +191 -0
  116. package/templates/skills/business-analyse/create-menu/levels/applications.md +85 -0
  117. package/templates/skills/business-analyse/create-menu/levels/modules.md +81 -0
  118. package/templates/skills/business-analyse/create-menu/levels/resources.md +75 -0
  119. package/templates/skills/business-analyse/create-menu/levels/sections.md +82 -0
  120. package/templates/skills/business-analyse/create-plan-development/SKILL.md +93 -0
  121. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/graph.test.ts +271 -0
  122. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/parse.test.ts +177 -0
  123. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/generate.ts +317 -0
  124. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/graph.ts +233 -0
  125. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/index.ts +106 -0
  126. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/parse.ts +346 -0
  127. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/types.ts +160 -0
  128. package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/validate.ts +118 -0
  129. package/templates/skills/business-analyse/create-prd/SKILL.md +228 -0
  130. package/templates/skills/business-analyse/create-rbac/SKILL.md +255 -0
  131. package/templates/skills/business-analyse/create-rbac/levels/detail.md +86 -0
  132. package/templates/skills/business-analyse/create-rbac/levels/discovery.md +63 -0
  133. package/templates/skills/business-analyse/create-rbac/levels/review.md +66 -0
  134. package/templates/skills/business-analyse/create-screen/SKILL.md +386 -0
  135. package/templates/skills/business-analyse/create-screen/levels/dashboard-screens.md +94 -0
  136. package/templates/skills/business-analyse/create-screen/levels/form-screens.md +142 -0
  137. package/templates/skills/business-analyse/create-screen/levels/home-screens.md +151 -0
  138. package/templates/skills/business-analyse/create-screen/levels/kanban-screens.md +86 -0
  139. package/templates/skills/business-analyse/create-screen/levels/list-screens.md +134 -0
  140. package/templates/skills/business-analyse/create-screen/references/post-check.md +101 -0
  141. package/templates/skills/business-analyse/create-screen/references/react-templates.md +252 -0
  142. package/templates/skills/business-analyse/create-screen/references/smartcomponents.md +419 -0
  143. package/templates/skills/business-analyse/create-screen/references/type-mapping.md +150 -0
  144. package/templates/skills/business-analyse/create-use-case/SKILL.md +347 -0
  145. package/templates/skills/business-analyse/create-use-case/levels/detail.md +136 -0
  146. package/templates/skills/business-analyse/create-use-case/levels/discovery.md +110 -0
  147. package/templates/skills/business-analyse/loop/SKILL.md +401 -0
  148. package/templates/skills/business-analyse/modeling-detail/SKILL.md +241 -0
  149. package/templates/skills/business-analyse/modeling-inventory/SKILL.md +174 -0
  150. package/templates/skills/business-analyse/reconcile-menu/SKILL.md +180 -0
  151. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/clean.test.ts +266 -0
  152. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/detect.test.ts +231 -0
  153. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/scan.test.ts +154 -0
  154. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/clean.ts +319 -0
  155. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/detect.ts +256 -0
  156. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/index.ts +126 -0
  157. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/scan.ts +175 -0
  158. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/types.ts +136 -0
  159. package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/validate.ts +32 -0
  160. package/templates/skills/check-version/SKILL.md +196 -196
  161. package/templates/skills/cli-app-sync/SKILL.md +9 -9
  162. package/templates/skills/cli-app-sync/references/comparison-map.md +4 -4
  163. package/templates/skills/cli-app-sync/references/diff-entities.md +6 -6
  164. package/templates/skills/conventions/SKILL.md +64 -0
  165. package/templates/skills/dev-start/SKILL.md +190 -237
  166. package/templates/skills/development/SKILL.md +87 -0
  167. package/templates/skills/development/audit/SKILL.md +156 -0
  168. package/templates/skills/development/audit/routing-dynamic/SKILL.md +196 -0
  169. package/templates/skills/development/audit-dev-api/SKILL.md +331 -0
  170. package/templates/skills/development/audit-dev-api/cli/audit-dev-api/__tests__/end-to-end.test.ts +364 -0
  171. package/templates/skills/development/audit-dev-api/cli/audit-dev-api/audit.ts +646 -0
  172. package/templates/skills/development/audit-dev-api/cli/audit-dev-api/index.ts +140 -0
  173. package/templates/skills/development/audit-dev-api/cli/audit-dev-api/types.ts +158 -0
  174. package/templates/skills/development/audit-dev-api/cli/audit-dev-api/validate.ts +45 -0
  175. package/templates/skills/development/audit-dev-core/SKILL.md +182 -0
  176. package/templates/skills/development/audit-dev-data/SKILL.md +195 -0
  177. package/templates/skills/development/audit-dev-domain/SKILL.md +184 -0
  178. package/templates/skills/development/audit-dev-frontend/SKILL.md +530 -0
  179. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/__tests__/end-to-end.test.ts +202 -0
  180. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/apply.ts +31 -0
  181. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/audit.ts +734 -0
  182. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/index.ts +125 -0
  183. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/types.ts +165 -0
  184. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/validate.ts +36 -0
  185. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/__tests__/dev-ui-022.test.ts +193 -0
  186. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/apply.ts +374 -0
  187. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/audit.ts +1126 -0
  188. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/index.ts +141 -0
  189. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/types.ts +218 -0
  190. package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/validate.ts +80 -0
  191. package/templates/skills/development/audit-dev-tests/SKILL.md +82 -0
  192. package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/__tests__/audit.test.ts +220 -0
  193. package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/audit.ts +185 -0
  194. package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/index.ts +84 -0
  195. package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/types.ts +48 -0
  196. package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/validate.ts +36 -0
  197. package/templates/skills/development/audit-dev-wire/SKILL.md +144 -0
  198. package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/__tests__/audit.test.ts +171 -0
  199. package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/audit.ts +307 -0
  200. package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/index.ts +139 -0
  201. package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/types.ts +110 -0
  202. package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/validate.ts +16 -0
  203. package/templates/skills/development/backend/business-layer/SKILL.md +255 -0
  204. package/templates/skills/development/backend/business-layer/cli/scaffold-business/__tests__/generate.test.ts +254 -0
  205. package/templates/skills/development/backend/business-layer/cli/scaffold-business/generate.ts +842 -0
  206. package/templates/skills/development/backend/business-layer/cli/scaffold-business/index.ts +56 -0
  207. package/templates/skills/development/backend/business-layer/cli/scaffold-business/types.ts +112 -0
  208. package/templates/skills/development/backend/business-layer/cli/scaffold-business/validate.ts +24 -0
  209. package/templates/skills/development/backend/controller/SKILL.md +154 -0
  210. package/templates/skills/development/backend/controller/cli/scaffold-controller/__tests__/generate.test.ts +345 -0
  211. package/templates/skills/development/backend/controller/cli/scaffold-controller/generate.ts +280 -0
  212. package/templates/skills/development/backend/controller/cli/scaffold-controller/index.ts +49 -0
  213. package/templates/skills/development/backend/controller/cli/scaffold-controller/types.ts +72 -0
  214. package/templates/skills/development/backend/controller/cli/scaffold-controller/validate.ts +14 -0
  215. package/templates/skills/development/backend/core-seed/SKILL.md +177 -0
  216. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/build-spec.test.ts +163 -0
  217. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/generate.test.ts +330 -0
  218. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/validate.test.ts +126 -0
  219. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/build-spec.ts +287 -0
  220. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/generate.ts +826 -0
  221. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/index.ts +188 -0
  222. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/types.ts +163 -0
  223. package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/validate.ts +129 -0
  224. package/templates/skills/development/backend/data-layer/SKILL.md +163 -0
  225. package/templates/skills/development/backend/data-layer/cli/scaffold-entity/__tests__/generate.test.ts +155 -0
  226. package/templates/skills/development/backend/data-layer/cli/scaffold-entity/generate.ts +232 -0
  227. package/templates/skills/development/backend/data-layer/cli/scaffold-entity/index.ts +34 -0
  228. package/templates/skills/development/backend/data-layer/cli/scaffold-entity/types.ts +60 -0
  229. package/templates/skills/development/backend/data-layer/cli/scaffold-entity/validate.ts +42 -0
  230. package/templates/skills/development/backend/data-layer/cli/scaffold-migration/execute.ts +13 -0
  231. package/templates/skills/development/backend/data-layer/cli/scaffold-migration/index.ts +25 -0
  232. package/templates/skills/development/backend/data-layer/cli/scaffold-migration/types.ts +11 -0
  233. package/templates/skills/development/backend/data-layer/cli/scaffold-migration/validate.ts +9 -0
  234. package/templates/skills/development/backend/screen-controller/SKILL.md +169 -0
  235. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/generate.test.ts +329 -0
  236. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/hub-views.test.ts +105 -0
  237. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/parse-pagespec.test.ts +137 -0
  238. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/generate.ts +437 -0
  239. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/index.ts +108 -0
  240. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/parse-pagespec.ts +104 -0
  241. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/types.ts +101 -0
  242. package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/validate.ts +26 -0
  243. package/templates/skills/development/backend/seed-data/SKILL.md +91 -0
  244. package/templates/skills/development/backend/seed-data/cli/scaffold-seed/generate.ts +471 -0
  245. package/templates/skills/development/backend/seed-data/cli/scaffold-seed/index.ts +74 -0
  246. package/templates/skills/development/backend/seed-data/cli/scaffold-seed/types.ts +104 -0
  247. package/templates/skills/development/backend/seed-data/cli/scaffold-seed/validate.ts +63 -0
  248. package/templates/skills/development/backend/structure/SKILL.md +47 -0
  249. package/templates/skills/development/debug/SKILL.md +62 -0
  250. package/templates/skills/development/debug/audit-bug/SKILL.md +185 -0
  251. package/templates/skills/development/debug/backend/SKILL.md +114 -0
  252. package/templates/skills/development/debug/discuss-bug/SKILL.md +193 -0
  253. package/templates/skills/development/debug/fix-bug/SKILL.md +172 -0
  254. package/templates/skills/development/debug/frontend/SKILL.md +215 -0
  255. package/templates/skills/development/frontend/api-client/SKILL.md +158 -0
  256. package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/generate.test.ts +1180 -0
  257. package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/screen-strata-contract.test.ts +261 -0
  258. package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/url-parity.test.ts +201 -0
  259. package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/generate.ts +875 -0
  260. package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/index.ts +36 -0
  261. package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/types.ts +251 -0
  262. package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/validate.ts +10 -0
  263. package/templates/skills/development/frontend/auth/SKILL.md +77 -0
  264. package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/generate.ts +306 -0
  265. package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/index.ts +179 -0
  266. package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/types.ts +22 -0
  267. package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/validate.ts +37 -0
  268. package/templates/skills/development/frontend/component/SKILL.md +347 -0
  269. package/templates/skills/development/frontend/component/cli/scaffold-component/__tests__/generate.test.ts +1237 -0
  270. package/templates/skills/development/frontend/component/cli/scaffold-component/generate.ts +1923 -0
  271. package/templates/skills/development/frontend/component/cli/scaffold-component/index.ts +155 -0
  272. package/templates/skills/development/frontend/component/cli/scaffold-component/types.ts +290 -0
  273. package/templates/skills/development/frontend/component/cli/scaffold-component/validate.ts +16 -0
  274. package/templates/skills/development/frontend/component/cli/validate-page/__tests__/execute.test.ts +231 -0
  275. package/templates/skills/development/frontend/component/cli/validate-page/execute.ts +598 -0
  276. package/templates/skills/development/frontend/component/cli/validate-page/index.ts +88 -0
  277. package/templates/skills/development/frontend/component/cli/validate-page/types.ts +58 -0
  278. package/templates/skills/development/frontend/component/cli/validate-page/validate.ts +28 -0
  279. package/templates/skills/development/frontend/component/patterns/README.md +42 -0
  280. package/templates/skills/development/frontend/component/patterns/detail-page.md +133 -0
  281. package/templates/skills/development/frontend/component/patterns/entity-card.md +148 -0
  282. package/templates/skills/development/frontend/component/patterns/form-page.md +191 -0
  283. package/templates/skills/development/frontend/component/patterns/kanban-board.md +195 -0
  284. package/templates/skills/development/frontend/component/patterns/list-page.md +175 -0
  285. package/templates/skills/development/frontend/extension-config/SKILL.md +108 -0
  286. package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/generate.ts +64 -0
  287. package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/index.ts +70 -0
  288. package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/types.ts +27 -0
  289. package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/validate.ts +16 -0
  290. package/templates/skills/development/frontend/layout/SKILL.md +52 -0
  291. package/templates/skills/development/frontend/layout/cli/scaffold-layout/__tests__/generate.test.ts +66 -0
  292. package/templates/skills/development/frontend/layout/cli/scaffold-layout/generate.ts +175 -0
  293. package/templates/skills/development/frontend/layout/cli/scaffold-layout/index.ts +104 -0
  294. package/templates/skills/development/frontend/layout/cli/scaffold-layout/types.ts +17 -0
  295. package/templates/skills/development/frontend/layout/cli/scaffold-layout/validate.ts +37 -0
  296. package/templates/skills/development/frontend/routes/SKILL.md +152 -0
  297. package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/generate.ts +216 -0
  298. package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/index.ts +121 -0
  299. package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/types.ts +69 -0
  300. package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/validate.ts +23 -0
  301. package/templates/skills/development/frontend/routes/cli/scaffold-routes/__tests__/generate.test.ts +292 -0
  302. package/templates/skills/development/frontend/routes/cli/scaffold-routes/generate.ts +270 -0
  303. package/templates/skills/development/frontend/routes/cli/scaffold-routes/index.ts +42 -0
  304. package/templates/skills/development/frontend/routes/cli/scaffold-routes/types.ts +114 -0
  305. package/templates/skills/development/frontend/routes/cli/scaffold-routes/validate.ts +68 -0
  306. package/templates/skills/development/frontend/structure/SKILL.md +119 -0
  307. package/templates/skills/development/frontend/theme/SKILL.md +48 -0
  308. package/templates/skills/development/frontend/theme/cli/scaffold-theme/__tests__/generate.test.ts +53 -0
  309. package/templates/skills/development/frontend/theme/cli/scaffold-theme/generate.ts +129 -0
  310. package/templates/skills/development/frontend/theme/cli/scaffold-theme/index.ts +102 -0
  311. package/templates/skills/development/frontend/theme/cli/scaffold-theme/types.ts +48 -0
  312. package/templates/skills/development/frontend/theme/cli/scaffold-theme/validate.ts +37 -0
  313. package/templates/skills/development/frontend/ui-polish/SKILL.md +192 -0
  314. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r18.test.ts +153 -0
  315. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r19.test.ts +307 -0
  316. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r20.test.ts +167 -0
  317. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/shared-scan.test.ts +262 -0
  318. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/apply.ts +580 -0
  319. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/audit.ts +825 -0
  320. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/index.ts +133 -0
  321. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/types.ts +121 -0
  322. package/templates/skills/development/frontend/ui-polish/cli/ui-polish/validate.ts +73 -0
  323. package/templates/skills/development/frontend/ui-polish/tokens.json +292 -0
  324. package/templates/skills/development/frontend/ui-primitives/SKILL.md +88 -0
  325. package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/__tests__/generate.test.ts +158 -0
  326. package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/generate.ts +345 -0
  327. package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/index.ts +142 -0
  328. package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/types.ts +27 -0
  329. package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/validate.ts +37 -0
  330. package/templates/skills/development/run/SKILL.md +61 -0
  331. package/templates/skills/development/run/backend/SKILL.md +106 -0
  332. package/templates/skills/development/run/frontend/SKILL.md +116 -0
  333. package/templates/skills/development/smoke-test/SKILL.md +99 -0
  334. package/templates/skills/development/smoke-test/cli/run-smoke/execute.ts +424 -0
  335. package/templates/skills/development/smoke-test/cli/run-smoke/index.ts +75 -0
  336. package/templates/skills/development/smoke-test/cli/run-smoke/types.ts +100 -0
  337. package/templates/skills/development/testing/SKILL.md +148 -0
  338. package/templates/skills/development/testing/cli/scaffold-tests/generate.ts +530 -0
  339. package/templates/skills/development/testing/cli/scaffold-tests/index.ts +83 -0
  340. package/templates/skills/development/testing/cli/scaffold-tests/types.ts +51 -0
  341. package/templates/skills/development/testing/cli/scaffold-tests/validate.ts +33 -0
  342. package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/generate.test.ts +188 -0
  343. package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/parse-ac.test.ts +191 -0
  344. package/templates/skills/development/testing/cli/scaffold-tests-from-ac/generate.ts +190 -0
  345. package/templates/skills/development/testing/cli/scaffold-tests-from-ac/index.ts +138 -0
  346. package/templates/skills/development/testing/cli/scaffold-tests-from-ac/parse-ac.ts +172 -0
  347. package/templates/skills/development/testing/cli/scaffold-tests-from-ac/types.ts +104 -0
  348. package/templates/skills/development/testing/cli/scaffold-tests-from-ac/validate.ts +57 -0
  349. package/templates/skills/development/testing/cli/test-report/execute.ts +140 -0
  350. package/templates/skills/development/testing/cli/test-report/index.ts +96 -0
  351. package/templates/skills/development/testing/cli/test-report/types.ts +52 -0
  352. package/templates/skills/development/testing/cli/test-report/validate.ts +26 -0
  353. package/templates/skills/development/testing/fix-build/SKILL.md +81 -0
  354. package/templates/skills/development/testing/smoke-http/SKILL.md +123 -0
  355. package/templates/skills/development/testing/smoke-http/cli/smoke-http/execute.ts +129 -0
  356. package/templates/skills/development/testing/smoke-http/cli/smoke-http/index.ts +113 -0
  357. package/templates/skills/development/testing/smoke-http/cli/smoke-http/types.ts +62 -0
  358. package/templates/skills/development/testing/smoke-http/cli/smoke-http/validate.ts +36 -0
  359. package/templates/skills/development/testing/ui-test/SKILL.md +128 -0
  360. package/templates/skills/development/testing/ui-test/cli/build-manifest/generate.ts +129 -0
  361. package/templates/skills/development/testing/ui-test/cli/build-manifest/index.ts +80 -0
  362. package/templates/skills/development/testing/ui-test/cli/build-manifest/types.ts +72 -0
  363. package/templates/skills/development/testing/ui-test/cli/build-manifest/validate.ts +44 -0
  364. package/templates/skills/development/testing/ui-test/cli/run-ui-test/execute.ts +136 -0
  365. package/templates/skills/development/testing/ui-test/cli/run-ui-test/index.ts +75 -0
  366. package/templates/skills/development/testing/ui-test/cli/run-ui-test/lib/dev-browser-driver.ts +250 -0
  367. package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/delete.js.hbs +83 -0
  368. package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/detail.js.hbs +87 -0
  369. package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/edit.js.hbs +91 -0
  370. package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/form-submit.js.hbs +82 -0
  371. package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/list.js.hbs +125 -0
  372. package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/permission-negative.js.hbs +65 -0
  373. package/templates/skills/development/testing/ui-test/cli/run-ui-test/types.ts +57 -0
  374. package/templates/skills/development/testing/ui-test/cli/run-ui-test/validate.ts +56 -0
  375. package/templates/skills/documentation/SKILL.md +168 -139
  376. package/templates/skills/documentation/cli/extract-doc/__tests__/forbidden.test.ts +136 -0
  377. package/templates/skills/documentation/cli/extract-doc/__tests__/overflow.test.ts +76 -0
  378. package/templates/skills/documentation/cli/extract-doc/__tests__/required.test.ts +147 -0
  379. package/templates/skills/documentation/cli/extract-doc/extract.ts +657 -0
  380. package/templates/skills/documentation/cli/extract-doc/index.ts +102 -0
  381. package/templates/skills/documentation/cli/extract-doc/types.ts +133 -0
  382. package/templates/skills/documentation/cli/extract-doc/validate.ts +35 -0
  383. package/templates/skills/documentation/cli/scaffold-doc/generate.ts +198 -0
  384. package/templates/skills/documentation/cli/scaffold-doc/index.ts +61 -0
  385. package/templates/skills/documentation/cli/scaffold-doc/types.ts +72 -0
  386. package/templates/skills/documentation/cli/scaffold-doc/validate.ts +33 -0
  387. package/templates/skills/documentation/data-schema.md +18 -38
  388. package/templates/skills/documentation/steps/step-01-scan.md +59 -113
  389. package/templates/skills/documentation/steps/step-02-generate.md +158 -231
  390. package/templates/skills/documentation/steps/step-03-validate.md +101 -280
  391. package/templates/skills/documentation/templates.md +403 -92
  392. package/templates/skills/efcore/SKILL.md +88 -308
  393. package/templates/skills/efcore/_shared.md +140 -0
  394. package/templates/skills/efcore/agents/create.md +69 -0
  395. package/templates/skills/efcore/agents/db-update.md +58 -0
  396. package/templates/skills/efcore/agents/list.md +35 -0
  397. package/templates/skills/efcore/agents/rebase-snapshot.md +50 -0
  398. package/templates/skills/efcore/agents/recreate-db.md +78 -0
  399. package/templates/skills/efcore/agents/squash.md +78 -0
  400. package/templates/skills/efcore/agents/status.md +35 -0
  401. package/templates/skills/efcore/cli/create/execute.ts +164 -0
  402. package/templates/skills/efcore/cli/create/index.ts +51 -0
  403. package/templates/skills/efcore/cli/create/types.ts +35 -0
  404. package/templates/skills/efcore/cli/create/validate.ts +29 -0
  405. package/templates/skills/efcore/cli/lib/detect-dbcontexts.ts +195 -0
  406. package/templates/skills/efcore/cli/lib/ef-runner.ts +144 -0
  407. package/templates/skills/efcore/cli/lib/migration-name.ts +56 -0
  408. package/templates/skills/efcore/cli/lib/parse-csproj-version.ts +45 -0
  409. package/templates/skills/efcore/cli/list/execute.ts +83 -0
  410. package/templates/skills/efcore/cli/list/index.ts +60 -0
  411. package/templates/skills/efcore/cli/list/types.ts +46 -0
  412. package/templates/skills/efcore/cli/list/validate.ts +20 -0
  413. package/templates/skills/efcore/cli/rebase-snapshot/execute.ts +21 -0
  414. package/templates/skills/efcore/cli/rebase-snapshot/index.ts +53 -0
  415. package/templates/skills/efcore/cli/rebase-snapshot/types.ts +20 -0
  416. package/templates/skills/efcore/cli/rebase-snapshot/validate.ts +25 -0
  417. package/templates/skills/efcore/cli/squash/execute.ts +298 -0
  418. package/templates/skills/efcore/cli/squash/index.ts +57 -0
  419. package/templates/skills/efcore/cli/squash/types.ts +38 -0
  420. package/templates/skills/efcore/cli/squash/validate.ts +30 -0
  421. package/templates/skills/efcore/cli/status/execute.ts +152 -0
  422. package/templates/skills/efcore/cli/status/index.ts +45 -0
  423. package/templates/skills/efcore/cli/status/types.ts +32 -0
  424. package/templates/skills/efcore/cli/status/validate.ts +20 -0
  425. package/templates/skills/external/context7/SKILL.md +121 -0
  426. package/templates/skills/external/dev-browser/SKILL.md +134 -0
  427. package/templates/skills/gitflow/SKILL.md +139 -392
  428. package/templates/skills/gitflow/_shared.md +24 -620
  429. package/templates/skills/gitflow/agents/abort.md +47 -0
  430. package/templates/skills/gitflow/agents/cleanup.md +50 -0
  431. package/templates/skills/gitflow/agents/commit.md +41 -0
  432. package/templates/skills/gitflow/agents/finish.md +47 -0
  433. package/templates/skills/gitflow/agents/init.md +41 -0
  434. package/templates/skills/gitflow/agents/merge.md +44 -0
  435. package/templates/skills/gitflow/agents/pr.md +39 -0
  436. package/templates/skills/gitflow/agents/start.md +42 -0
  437. package/templates/skills/gitflow/agents/status.md +39 -0
  438. package/templates/skills/gitflow/agents/sync.md +38 -0
  439. package/templates/skills/gitflow/cli/abort/execute.ts +61 -0
  440. package/templates/skills/gitflow/cli/abort/index.ts +116 -0
  441. package/templates/skills/gitflow/cli/abort/types.ts +21 -0
  442. package/templates/skills/gitflow/cli/abort/validate.ts +38 -0
  443. package/templates/skills/gitflow/cli/cleanup/execute.ts +107 -0
  444. package/templates/skills/gitflow/cli/cleanup/index.ts +122 -0
  445. package/templates/skills/gitflow/cli/cleanup/types.ts +26 -0
  446. package/templates/skills/gitflow/cli/cleanup/validate.ts +33 -0
  447. package/templates/skills/gitflow/cli/commit/execute.ts +146 -0
  448. package/templates/skills/gitflow/cli/commit/index.ts +77 -0
  449. package/templates/skills/gitflow/cli/commit/types.ts +36 -0
  450. package/templates/skills/gitflow/cli/commit/validate.ts +38 -0
  451. package/templates/skills/gitflow/cli/finish/execute.ts +127 -0
  452. package/templates/skills/gitflow/cli/finish/index.ts +106 -0
  453. package/templates/skills/gitflow/cli/finish/types.ts +25 -0
  454. package/templates/skills/gitflow/cli/finish/validate.ts +44 -0
  455. package/templates/skills/gitflow/cli/generate-msg/execute.ts +51 -0
  456. package/templates/skills/gitflow/cli/generate-msg/index.ts +73 -0
  457. package/templates/skills/gitflow/cli/generate-msg/types.ts +37 -0
  458. package/templates/skills/gitflow/cli/generate-msg/validate.ts +42 -0
  459. package/templates/skills/gitflow/cli/init/execute.ts +186 -0
  460. package/templates/skills/gitflow/cli/init/index.ts +127 -0
  461. package/templates/skills/gitflow/cli/init/types.ts +63 -0
  462. package/templates/skills/gitflow/cli/init/validate.ts +56 -0
  463. package/templates/skills/gitflow/cli/lib/branch.ts +83 -0
  464. package/templates/skills/gitflow/cli/lib/config.ts +149 -0
  465. package/templates/skills/gitflow/cli/lib/efcore.ts +136 -0
  466. package/templates/skills/gitflow/cli/lib/git.ts +212 -0
  467. package/templates/skills/gitflow/cli/lib/output.ts +49 -0
  468. package/templates/skills/gitflow/cli/lib/paths.ts +54 -0
  469. package/templates/skills/gitflow/cli/lib/platform.ts +44 -0
  470. package/templates/skills/gitflow/cli/lib/provider.ts +147 -0
  471. package/templates/skills/gitflow/cli/lib/types.ts +189 -0
  472. package/templates/skills/gitflow/cli/lib/version.ts +152 -0
  473. package/templates/skills/gitflow/cli/lib/worktree.ts +170 -0
  474. package/templates/skills/gitflow/cli/merge/execute.ts +93 -0
  475. package/templates/skills/gitflow/cli/merge/index.ts +109 -0
  476. package/templates/skills/gitflow/cli/merge/types.ts +24 -0
  477. package/templates/skills/gitflow/cli/merge/validate.ts +33 -0
  478. package/templates/skills/gitflow/cli/pr/execute.ts +131 -0
  479. package/templates/skills/gitflow/cli/pr/index.ts +115 -0
  480. package/templates/skills/gitflow/cli/pr/types.ts +27 -0
  481. package/templates/skills/gitflow/cli/pr/validate.ts +27 -0
  482. package/templates/skills/gitflow/cli/start/execute.ts +98 -0
  483. package/templates/skills/gitflow/cli/start/index.ts +75 -0
  484. package/templates/skills/gitflow/cli/start/types.ts +26 -0
  485. package/templates/skills/gitflow/cli/start/validate.ts +47 -0
  486. package/templates/skills/gitflow/cli/status/execute.ts +251 -0
  487. package/templates/skills/gitflow/cli/status/index.ts +154 -0
  488. package/templates/skills/gitflow/cli/status/types.ts +75 -0
  489. package/templates/skills/gitflow/cli/status/validate.ts +38 -0
  490. package/templates/skills/gitflow/cli/sync/execute.ts +84 -0
  491. package/templates/skills/gitflow/cli/sync/index.ts +75 -0
  492. package/templates/skills/gitflow/cli/sync/types.ts +25 -0
  493. package/templates/skills/gitflow/cli/sync/validate.ts +34 -0
  494. package/templates/skills/gitflow/commit-message.md +46 -0
  495. package/templates/skills/init/SKILL.md +54 -0
  496. package/templates/skills/lib/__tests__/canonical-hash.test.ts +45 -0
  497. package/templates/skills/lib/__tests__/page-spec-actions.test.ts +232 -0
  498. package/templates/skills/lib/canonical-hash.ts +40 -0
  499. package/templates/skills/lib/detector.ts +243 -0
  500. package/templates/skills/lib/dotnet.ts +238 -0
  501. package/templates/skills/lib/frontend-fixers.ts +151 -0
  502. package/templates/skills/lib/fs.ts +238 -0
  503. package/templates/skills/lib/git.ts +134 -0
  504. package/templates/skills/lib/graph.ts +138 -0
  505. package/templates/skills/lib/navroute-parser.ts +51 -0
  506. package/templates/skills/lib/output.ts +117 -0
  507. package/templates/skills/lib/page-spec-actions.ts +350 -0
  508. package/templates/skills/lib/skill-slug.ts +121 -0
  509. package/templates/skills/lib/string-utils.ts +140 -0
  510. package/templates/skills/lib/template-loader.ts +115 -0
  511. package/templates/skills/lib/url-conventions.ts +151 -0
  512. package/templates/skills/package.json +5 -0
  513. package/templates/skills/quick-search/SKILL.md +99 -99
  514. package/templates/skills/review/SKILL.md +56 -0
  515. package/templates/skills/smoke-generation/SKILL.md +18 -16
  516. package/templates/skills/ui-components/SKILL.md +136 -457
  517. package/templates/skills/upgrade/SKILL.md +36 -0
  518. package/templates/skills/utils/SKILL.md +45 -44
  519. package/templates/skills/utils/subcommands/test-web-config.md +152 -152
  520. package/templates/skills/utils/subcommands/test-web.md +123 -123
  521. package/templates/skills/validate-feature/SKILL.md +102 -101
  522. package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -140
  523. package/templates/skills/validate-feature/references/db-validation-checks.md +180 -180
  524. package/templates/skills/validate-feature/steps/step-00-dependencies.md +121 -121
  525. package/templates/skills/validate-feature/steps/step-01-compile.md +39 -39
  526. package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -45
  527. package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -53
  528. package/templates/skills/validate-feature/steps/step-04-api-smoke.md +94 -94
  529. package/templates/skills/validate-feature/steps/step-05-db-validation.md +149 -149
  530. package/templates/skills/validation/conventions/SKILL.md +193 -0
  531. package/templates/skills/validation/conventions/cli/validate-conventions/execute.ts +368 -0
  532. package/templates/skills/validation/conventions/cli/validate-conventions/index.ts +67 -0
  533. package/templates/skills/validation/conventions/cli/validate-conventions/types.ts +91 -0
  534. package/templates/skills/validation/conventions/cli/validate-conventions/validate.ts +36 -0
  535. package/templates/skills/validation/cross-validate/SKILL.md +83 -0
  536. package/templates/skills/validation/cross-validate/cli/execute.ts +576 -0
  537. package/templates/skills/validation/cross-validate/cli/index.ts +87 -0
  538. package/templates/skills/validation/cross-validate/cli/types.ts +85 -0
  539. package/templates/skills/validation/cross-validate/cli/validate.ts +54 -0
  540. package/templates/skills/validation/eslint/SKILL.md +65 -0
  541. package/templates/skills/validation/eslint/cli/execute.ts +413 -0
  542. package/templates/skills/validation/eslint/cli/index.ts +102 -0
  543. package/templates/skills/validation/eslint/cli/types.ts +48 -0
  544. package/templates/skills/validation/eslint/cli/validate.ts +43 -0
  545. package/templates/skills/validation/project-inventory/SKILL.md +166 -0
  546. package/templates/skills/validation/project-inventory/cli/project-inventory/execute.ts +397 -0
  547. package/templates/skills/validation/project-inventory/cli/project-inventory/index.ts +80 -0
  548. package/templates/skills/validation/project-inventory/cli/project-inventory/types.ts +89 -0
  549. package/templates/skills/validation/project-inventory/cli/project-inventory/validate.ts +35 -0
  550. package/templates/skills/validation/readiness-report/SKILL.md +109 -0
  551. package/templates/skills/validation/readiness-report/cli/execute.ts +236 -0
  552. package/templates/skills/validation/readiness-report/cli/index.ts +234 -0
  553. package/templates/skills/validation/readiness-report/cli/types.ts +61 -0
  554. package/templates/skills/validation/readiness-report/cli/validate.ts +54 -0
  555. package/templates/skills/validation/roslyn/SKILL.md +103 -0
  556. package/templates/skills/validation/roslyn/cli/execute.ts +616 -0
  557. package/templates/skills/validation/roslyn/cli/index.ts +86 -0
  558. package/templates/skills/validation/roslyn/cli/types.ts +50 -0
  559. package/templates/skills/validation/roslyn/cli/validate.ts +43 -0
  560. package/.documentation/apex.html +0 -649
  561. package/dist/mcp-entry.mjs +0 -68888
  562. package/dist/mcp-entry.mjs.map +0 -1
  563. package/scripts/extract-api-endpoints.ts +0 -325
  564. package/scripts/extract-business-rules.ts +0 -440
  565. package/scripts/generate-doc-with-mock-ui.ts +0 -804
  566. package/templates/agents/ba-reader.md +0 -386
  567. package/templates/agents/ba-writer.md +0 -810
  568. package/templates/agents/efcore/migration.md +0 -204
  569. package/templates/agents/efcore/rebase-snapshot.md +0 -202
  570. package/templates/agents/efcore/squash.md +0 -269
  571. package/templates/agents/gitflow/abort.md +0 -45
  572. package/templates/agents/gitflow/cleanup.md +0 -107
  573. package/templates/agents/gitflow/commit.md +0 -236
  574. package/templates/agents/gitflow/exec.md +0 -48
  575. package/templates/agents/gitflow/finish.md +0 -146
  576. package/templates/agents/gitflow/init-clone.md +0 -199
  577. package/templates/agents/gitflow/init-detect.md +0 -137
  578. package/templates/agents/gitflow/init-validate.md +0 -225
  579. package/templates/agents/gitflow/init.md +0 -509
  580. package/templates/agents/gitflow/merge.md +0 -145
  581. package/templates/agents/gitflow/plan.md +0 -42
  582. package/templates/agents/gitflow/pr.md +0 -191
  583. package/templates/agents/gitflow/review.md +0 -49
  584. package/templates/agents/gitflow/start.md +0 -147
  585. package/templates/agents/gitflow/status.md +0 -95
  586. package/templates/agents/mcp-healthcheck.md +0 -163
  587. package/templates/hooks/docs-drift-check.md +0 -96
  588. package/templates/hooks/ef-migration-check.md +0 -139
  589. package/templates/hooks/mcp-check.md +0 -64
  590. package/templates/hooks/ralph-mcp-logger.sh +0 -46
  591. package/templates/mcp-scaffolding/component.tsx.hbs +0 -318
  592. package/templates/mcp-scaffolding/controller.cs.hbs +0 -118
  593. package/templates/mcp-scaffolding/entity-extension.cs.hbs +0 -239
  594. package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +0 -117
  595. package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +0 -133
  596. package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +0 -261
  597. package/templates/mcp-scaffolding/service-extension.cs.hbs +0 -53
  598. package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +0 -436
  599. package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +0 -239
  600. package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +0 -441
  601. package/templates/mcp-scaffolding/tests/security.test.cs.hbs +0 -442
  602. package/templates/mcp-scaffolding/tests/service.test.cs.hbs +0 -402
  603. package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +0 -428
  604. package/templates/skills/_resources/config-safety.md +0 -61
  605. package/templates/skills/_resources/context-digest-template.md +0 -53
  606. package/templates/skills/_resources/doc-context-cache.md +0 -60
  607. package/templates/skills/_resources/docs-manifest-schema.md +0 -155
  608. package/templates/skills/_resources/formatting-guide.md +0 -124
  609. package/templates/skills/_resources/mcp-validate-documentation-spec.md +0 -181
  610. package/templates/skills/_shared.md +0 -228
  611. package/templates/skills/admin/SKILL.md +0 -48
  612. package/templates/skills/ai-prompt/SKILL.md +0 -171
  613. package/templates/skills/ai-prompt/references/ai-agent-modes.md +0 -89
  614. package/templates/skills/ai-prompt/references/eval-framework.md +0 -129
  615. package/templates/skills/ai-prompt/steps/step-00-init.md +0 -47
  616. package/templates/skills/ai-prompt/steps/step-01-implementation.md +0 -122
  617. package/templates/skills/apex/SKILL.md +0 -234
  618. package/templates/skills/apex/_shared.md +0 -197
  619. package/templates/skills/apex/references/analysis-methods.md +0 -178
  620. package/templates/skills/apex/references/challenge-questions.md +0 -359
  621. package/templates/skills/apex/references/checks/architecture-checks.sh +0 -154
  622. package/templates/skills/apex/references/checks/backend-checks.sh +0 -208
  623. package/templates/skills/apex/references/checks/frontend-checks.sh +0 -560
  624. package/templates/skills/apex/references/checks/infrastructure-checks.sh +0 -292
  625. package/templates/skills/apex/references/checks/security-checks.sh +0 -153
  626. package/templates/skills/apex/references/checks/seed-checks.sh +0 -610
  627. package/templates/skills/apex/references/code-generation.md +0 -412
  628. package/templates/skills/apex/references/core-seed-data.md +0 -1502
  629. package/templates/skills/apex/references/domain-events-pattern.md +0 -45
  630. package/templates/skills/apex/references/entity-hooks-pattern.md +0 -68
  631. package/templates/skills/apex/references/error-classification.md +0 -168
  632. package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +0 -91
  633. package/templates/skills/apex/references/licensing-enforcement.md +0 -52
  634. package/templates/skills/apex/references/parallel-execution.md +0 -187
  635. package/templates/skills/apex/references/person-extension-pattern.md +0 -619
  636. package/templates/skills/apex/references/post-checks.md +0 -162
  637. package/templates/skills/apex/references/smartstack-api.md +0 -591
  638. package/templates/skills/apex/references/smartstack-frontend-compliance.md +0 -616
  639. package/templates/skills/apex/references/smartstack-frontend.md +0 -442
  640. package/templates/skills/apex/references/smartstack-layers.md +0 -551
  641. package/templates/skills/apex/steps/step-00-init.md +0 -405
  642. package/templates/skills/apex/steps/step-01-analyze.md +0 -210
  643. package/templates/skills/apex/steps/step-02-plan.md +0 -303
  644. package/templates/skills/apex/steps/step-03-execute.md +0 -194
  645. package/templates/skills/apex/steps/step-03a-layer0-domain.md +0 -144
  646. package/templates/skills/apex/steps/step-03b-layer1-seed.md +0 -339
  647. package/templates/skills/apex/steps/step-03c-layer2-backend.md +0 -401
  648. package/templates/skills/apex/steps/step-03d-layer3-frontend.md +0 -562
  649. package/templates/skills/apex/steps/step-03e-layer4-devdata.md +0 -46
  650. package/templates/skills/apex/steps/step-04-examine.md +0 -404
  651. package/templates/skills/apex/steps/step-05-deep-review.md +0 -140
  652. package/templates/skills/apex/steps/step-06-resolve.md +0 -120
  653. package/templates/skills/apex/steps/step-07-tests.md +0 -271
  654. package/templates/skills/apex/steps/step-08-run-tests.md +0 -135
  655. package/templates/skills/apex-verify/SKILL.md +0 -110
  656. package/templates/skills/apex-verify/references/audit-rules.md +0 -50
  657. package/templates/skills/apex-verify/steps/step-00-init.md +0 -119
  658. package/templates/skills/apex-verify/steps/step-01-nav-audit.md +0 -96
  659. package/templates/skills/apex-verify/steps/step-02-crud-audit.md +0 -127
  660. package/templates/skills/apex-verify/steps/step-03-perm-audit.md +0 -119
  661. package/templates/skills/apex-verify/steps/step-04-route-audit.md +0 -98
  662. package/templates/skills/apex-verify/steps/step-05-report.md +0 -110
  663. package/templates/skills/application/SKILL.md +0 -241
  664. package/templates/skills/application/references/application-roles-template.md +0 -228
  665. package/templates/skills/application/references/backend-controller-hierarchy.md +0 -68
  666. package/templates/skills/application/references/backend-entity-seeding.md +0 -73
  667. package/templates/skills/application/references/backend-seeding-and-dto-output.md +0 -83
  668. package/templates/skills/application/references/backend-table-prefix-mapping.md +0 -80
  669. package/templates/skills/application/references/backend-verification.md +0 -88
  670. package/templates/skills/application/references/contexts-cheatsheet.md +0 -86
  671. package/templates/skills/application/references/extensions-system.md +0 -158
  672. package/templates/skills/application/references/frontend-i18n-and-output.md +0 -67
  673. package/templates/skills/application/references/frontend-route-naming.md +0 -123
  674. package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +0 -91
  675. package/templates/skills/application/references/frontend-verification.md +0 -158
  676. package/templates/skills/application/references/init-parameter-detection.md +0 -121
  677. package/templates/skills/application/references/migration-checklist-troubleshooting.md +0 -88
  678. package/templates/skills/application/references/nav-fallback-procedure.md +0 -198
  679. package/templates/skills/application/references/provider-template.md +0 -191
  680. package/templates/skills/application/references/roles-client-project-handling.md +0 -55
  681. package/templates/skills/application/references/roles-fallback-procedure.md +0 -144
  682. package/templates/skills/application/references/smartstack-provider.md +0 -118
  683. package/templates/skills/application/references/test-coverage-requirements.md +0 -213
  684. package/templates/skills/application/references/test-frontend.md +0 -73
  685. package/templates/skills/application/references/test-prerequisites.md +0 -72
  686. package/templates/skills/application/references/themes-db-driven.md +0 -484
  687. package/templates/skills/application/steps/step-00-init.md +0 -130
  688. package/templates/skills/application/steps/step-01-navigation.md +0 -170
  689. package/templates/skills/application/steps/step-02-permissions.md +0 -196
  690. package/templates/skills/application/steps/step-03-roles.md +0 -182
  691. package/templates/skills/application/steps/step-03b-provider.md +0 -134
  692. package/templates/skills/application/steps/step-04-backend.md +0 -174
  693. package/templates/skills/application/steps/step-05-frontend.md +0 -189
  694. package/templates/skills/application/steps/step-06-migration.md +0 -189
  695. package/templates/skills/application/steps/step-07-tests.md +0 -356
  696. package/templates/skills/application/steps/step-08-documentation.md +0 -137
  697. package/templates/skills/application/templates-backend.md +0 -463
  698. package/templates/skills/application/templates-frontend.md +0 -950
  699. package/templates/skills/application/templates-i18n.md +0 -520
  700. package/templates/skills/application/templates-seed.md +0 -1110
  701. package/templates/skills/audit-route/SKILL.md +0 -107
  702. package/templates/skills/audit-route/references/routing-pattern.md +0 -131
  703. package/templates/skills/audit-route/steps/step-00-init.md +0 -128
  704. package/templates/skills/audit-route/steps/step-01-inventory.md +0 -157
  705. package/templates/skills/audit-route/steps/step-02-conformity.md +0 -193
  706. package/templates/skills/audit-route/steps/step-03-report.md +0 -201
  707. package/templates/skills/business-analyse/SKILL.md +0 -252
  708. package/templates/skills/business-analyse/_shared.md +0 -276
  709. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +0 -560
  710. package/templates/skills/business-analyse/questionnaire/01-context.md +0 -43
  711. package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +0 -111
  712. package/templates/skills/business-analyse/questionnaire/03-data-ui.md +0 -125
  713. package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +0 -6
  714. package/templates/skills/business-analyse/questionnaire/05-cross-module.md +0 -69
  715. package/templates/skills/business-analyse/questionnaire.md +0 -156
  716. package/templates/skills/business-analyse/react/application-viewer.md +0 -242
  717. package/templates/skills/business-analyse/react/components.md +0 -532
  718. package/templates/skills/business-analyse/react/i18n-template.md +0 -306
  719. package/templates/skills/business-analyse/react/schema.md +0 -831
  720. package/templates/skills/business-analyse/references/03-json-schemas.md +0 -221
  721. package/templates/skills/business-analyse/references/03-post-check-validation.md +0 -208
  722. package/templates/skills/business-analyse/references/03-smartstack-entity-guards.md +0 -32
  723. package/templates/skills/business-analyse/references/04-cross-module-validation.md +0 -95
  724. package/templates/skills/business-analyse/references/04-file-allocation.md +0 -162
  725. package/templates/skills/business-analyse/references/04-naming-audit-checks.md +0 -174
  726. package/templates/skills/business-analyse/references/04-semantic-validation-matrix.md +0 -118
  727. package/templates/skills/business-analyse/references/acceptance-criteria.md +0 -164
  728. package/templates/skills/business-analyse/references/analysis-semantic-checks.md +0 -190
  729. package/templates/skills/business-analyse/references/canonical-json-formats.md +0 -204
  730. package/templates/skills/business-analyse/references/compilation-structure-cards.md +0 -297
  731. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +0 -124
  732. package/templates/skills/business-analyse/references/detection-strategies.md +0 -424
  733. package/templates/skills/business-analyse/references/domain-research-playbook.md +0 -234
  734. package/templates/skills/business-analyse/references/entity-architecture-decision.md +0 -240
  735. package/templates/skills/business-analyse/references/entity-sourcing-presentation.md +0 -166
  736. package/templates/skills/business-analyse/references/init-resume-logic.md +0 -70
  737. package/templates/skills/business-analyse/references/init-schema-deployment.md +0 -65
  738. package/templates/skills/business-analyse/references/module-completeness-challenge.md +0 -174
  739. package/templates/skills/business-analyse/references/multi-app-detection.md +0 -149
  740. package/templates/skills/business-analyse/references/naming-conventions.md +0 -253
  741. package/templates/skills/business-analyse/references/portal-classification.md +0 -52
  742. package/templates/skills/business-analyse/references/robustness-checks.md +0 -426
  743. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +0 -85
  744. package/templates/skills/business-analyse/references/ui-resource-cards.md +0 -259
  745. package/templates/skills/business-analyse/references/validation-checklist.md +0 -378
  746. package/templates/skills/business-analyse/schemas/application-schema.json +0 -481
  747. package/templates/skills/business-analyse/schemas/feature-schema.json +0 -53
  748. package/templates/skills/business-analyse/schemas/index-schema.json +0 -47
  749. package/templates/skills/business-analyse/schemas/project-schema.json +0 -481
  750. package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +0 -245
  751. package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +0 -80
  752. package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +0 -82
  753. package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +0 -70
  754. package/templates/skills/business-analyse/schemas/sections/specification-schema.json +0 -567
  755. package/templates/skills/business-analyse/schemas/sections/validation-schema.json +0 -93
  756. package/templates/skills/business-analyse/schemas/shared/common-defs.json +0 -227
  757. package/templates/skills/business-analyse/steps/step-00-init.md +0 -463
  758. package/templates/skills/business-analyse/steps/step-01-cadrage.md +0 -901
  759. package/templates/skills/business-analyse/steps/step-02-structure.md +0 -315
  760. package/templates/skills/business-analyse/steps/step-03-specify.md +0 -986
  761. package/templates/skills/business-analyse/steps/step-04-consolidate.md +0 -928
  762. package/templates/skills/business-analyse/templates/tpl-frd.md +0 -168
  763. package/templates/skills/business-analyse/templates/tpl-handoff.md +0 -189
  764. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +0 -59
  765. package/templates/skills/business-analyse/templates-frd.md +0 -476
  766. package/templates/skills/business-analyse/templates-react.md +0 -574
  767. package/templates/skills/business-analyse-design/SKILL.md +0 -101
  768. package/templates/skills/business-analyse-design/references/screens-post-check.md +0 -221
  769. package/templates/skills/business-analyse-design/references/screens-type-mapping.md +0 -138
  770. package/templates/skills/business-analyse-design/references/smartcomponents-templates.md +0 -225
  771. package/templates/skills/business-analyse-design/references/spec-auto-inference.md +0 -117
  772. package/templates/skills/business-analyse-design/steps/step-01-screens.md +0 -108
  773. package/templates/skills/business-analyse-design/steps/step-02-wireframes.md +0 -155
  774. package/templates/skills/business-analyse-design/steps/step-03-navigation.md +0 -189
  775. package/templates/skills/business-analyse-develop/SKILL.md +0 -250
  776. package/templates/skills/business-analyse-develop/references/category-completeness.md +0 -326
  777. package/templates/skills/business-analyse-develop/references/category-rules.md +0 -109
  778. package/templates/skills/business-analyse-develop/references/compact-loop.md +0 -478
  779. package/templates/skills/business-analyse-develop/references/handoff-quality-gate.md +0 -132
  780. package/templates/skills/business-analyse-develop/references/init-resume-recovery.md +0 -183
  781. package/templates/skills/business-analyse-develop/references/module-transition.md +0 -246
  782. package/templates/skills/business-analyse-develop/references/multi-module-queue.md +0 -171
  783. package/templates/skills/business-analyse-develop/references/parallel-execution.md +0 -246
  784. package/templates/skills/business-analyse-develop/references/prd-v3-transformation.md +0 -326
  785. package/templates/skills/business-analyse-develop/references/quality-gates.md +0 -160
  786. package/templates/skills/business-analyse-develop/references/report-reconciliation.md +0 -140
  787. package/templates/skills/business-analyse-develop/references/report-template.md +0 -142
  788. package/templates/skills/business-analyse-develop/references/section-splitting.md +0 -439
  789. package/templates/skills/business-analyse-develop/references/task-transform-legacy.md +0 -256
  790. package/templates/skills/business-analyse-develop/references/team-orchestration.md +0 -547
  791. package/templates/skills/business-analyse-develop/steps/step-00-init.md +0 -242
  792. package/templates/skills/business-analyse-develop/steps/step-01-task.md +0 -182
  793. package/templates/skills/business-analyse-develop/steps/step-01-v4-execute.md +0 -139
  794. package/templates/skills/business-analyse-develop/steps/step-02-execute.md +0 -216
  795. package/templates/skills/business-analyse-develop/steps/step-02-v4-verify.md +0 -176
  796. package/templates/skills/business-analyse-develop/steps/step-03-commit.md +0 -107
  797. package/templates/skills/business-analyse-develop/steps/step-04-check.md +0 -419
  798. package/templates/skills/business-analyse-develop/steps/step-05-report.md +0 -137
  799. package/templates/skills/business-analyse-handoff/SKILL.md +0 -101
  800. package/templates/skills/business-analyse-handoff/references/acceptance-criteria.md +0 -318
  801. package/templates/skills/business-analyse-handoff/references/agent-handoff-transform-prompt.md +0 -211
  802. package/templates/skills/business-analyse-handoff/references/context-isolation-pattern.md +0 -47
  803. package/templates/skills/business-analyse-handoff/references/entity-canonicalization.md +0 -158
  804. package/templates/skills/business-analyse-handoff/references/entity-domain-mapping.md +0 -115
  805. package/templates/skills/business-analyse-handoff/references/handoff-file-inventory.md +0 -49
  806. package/templates/skills/business-analyse-handoff/references/handoff-file-templates.md +0 -197
  807. package/templates/skills/business-analyse-handoff/references/handoff-global-validation.md +0 -142
  808. package/templates/skills/business-analyse-handoff/references/handoff-mappings.md +0 -108
  809. package/templates/skills/business-analyse-handoff/references/handoff-seeddata-generation.md +0 -314
  810. package/templates/skills/business-analyse-handoff/references/prd-generation.md +0 -362
  811. package/templates/skills/business-analyse-handoff/references/prd-validation-checks.md +0 -125
  812. package/templates/skills/business-analyse-handoff/references/project-index-update.md +0 -98
  813. package/templates/skills/business-analyse-handoff/references/readiness-scoring.md +0 -95
  814. package/templates/skills/business-analyse-handoff/schemas/handoff-schema.json +0 -95
  815. package/templates/skills/business-analyse-handoff/steps/step-00-validate.md +0 -158
  816. package/templates/skills/business-analyse-handoff/steps/step-01-transform.md +0 -85
  817. package/templates/skills/business-analyse-handoff/steps/step-02-export.md +0 -169
  818. package/templates/skills/business-analyse-handoff/templates/tpl-progress.md +0 -172
  819. package/templates/skills/business-analyse-html/SKILL.md +0 -89
  820. package/templates/skills/business-analyse-html/html/ba-interactive.html +0 -6134
  821. package/templates/skills/business-analyse-html/html/build-html.js +0 -137
  822. package/templates/skills/business-analyse-html/html/src/partials/cadrage-context.html +0 -34
  823. package/templates/skills/business-analyse-html/html/src/partials/cadrage-scope.html +0 -27
  824. package/templates/skills/business-analyse-html/html/src/partials/cadrage-stakeholders.html +0 -55
  825. package/templates/skills/business-analyse-html/html/src/partials/cadrage-success.html +0 -34
  826. package/templates/skills/business-analyse-html/html/src/partials/consol-datamodel.html +0 -8
  827. package/templates/skills/business-analyse-html/html/src/partials/consol-flows.html +0 -29
  828. package/templates/skills/business-analyse-html/html/src/partials/consol-interactions.html +0 -8
  829. package/templates/skills/business-analyse-html/html/src/partials/consol-permissions.html +0 -8
  830. package/templates/skills/business-analyse-html/html/src/partials/decomp-dependencies.html +0 -38
  831. package/templates/skills/business-analyse-html/html/src/partials/decomp-modules.html +0 -43
  832. package/templates/skills/business-analyse-html/html/src/partials/handoff-summary.html +0 -24
  833. package/templates/skills/business-analyse-html/html/src/partials/module-spec-container.html +0 -4
  834. package/templates/skills/business-analyse-html/html/src/scripts/01-data-init.js +0 -313
  835. package/templates/skills/business-analyse-html/html/src/scripts/02-navigation.js +0 -316
  836. package/templates/skills/business-analyse-html/html/src/scripts/03-render-cadrage.js +0 -162
  837. package/templates/skills/business-analyse-html/html/src/scripts/04-render-modules.js +0 -203
  838. package/templates/skills/business-analyse-html/html/src/scripts/05-render-specs.js +0 -866
  839. package/templates/skills/business-analyse-html/html/src/scripts/06-render-consolidation.js +0 -196
  840. package/templates/skills/business-analyse-html/html/src/scripts/06-render-mockups.js +0 -564
  841. package/templates/skills/business-analyse-html/html/src/scripts/07-render-handoff.js +0 -108
  842. package/templates/skills/business-analyse-html/html/src/scripts/08-editing.js +0 -137
  843. package/templates/skills/business-analyse-html/html/src/scripts/09-export.js +0 -138
  844. package/templates/skills/business-analyse-html/html/src/scripts/10-comments.js +0 -221
  845. package/templates/skills/business-analyse-html/html/src/scripts/11-review-panel.js +0 -167
  846. package/templates/skills/business-analyse-html/html/src/scripts/12-render-diagrams.js +0 -162
  847. package/templates/skills/business-analyse-html/html/src/styles/01-variables.css +0 -38
  848. package/templates/skills/business-analyse-html/html/src/styles/02-layout.css +0 -216
  849. package/templates/skills/business-analyse-html/html/src/styles/03-navigation.css +0 -120
  850. package/templates/skills/business-analyse-html/html/src/styles/04-cards.css +0 -194
  851. package/templates/skills/business-analyse-html/html/src/styles/05-modules.css +0 -518
  852. package/templates/skills/business-analyse-html/html/src/styles/06-wireframes.css +0 -263
  853. package/templates/skills/business-analyse-html/html/src/styles/07-comments.css +0 -184
  854. package/templates/skills/business-analyse-html/html/src/styles/08-review-panel.css +0 -241
  855. package/templates/skills/business-analyse-html/html/src/styles/09-mockups-html.css +0 -220
  856. package/templates/skills/business-analyse-html/html/src/styles/10-diagrams.css +0 -73
  857. package/templates/skills/business-analyse-html/html/src/template.html +0 -449
  858. package/templates/skills/business-analyse-html/references/02-embedded-artifacts-building.md +0 -144
  859. package/templates/skills/business-analyse-html/references/02-feature-data-building.md +0 -143
  860. package/templates/skills/business-analyse-html/references/02-mapping-tables.md +0 -442
  861. package/templates/skills/business-analyse-html/references/02-normalization-helpers.md +0 -139
  862. package/templates/skills/business-analyse-html/references/02-screen-format-detection.md +0 -283
  863. package/templates/skills/business-analyse-html/references/02-self-check-validation.md +0 -199
  864. package/templates/skills/business-analyse-html/references/data-build.md +0 -215
  865. package/templates/skills/business-analyse-html/references/data-mapping.md +0 -452
  866. package/templates/skills/business-analyse-html/references/output-modes.md +0 -119
  867. package/templates/skills/business-analyse-html/references/wireframe-svg-style-guide.md +0 -335
  868. package/templates/skills/business-analyse-html/steps/step-01-collect.md +0 -140
  869. package/templates/skills/business-analyse-html/steps/step-02-build-data.md +0 -76
  870. package/templates/skills/business-analyse-html/steps/step-03-render.md +0 -95
  871. package/templates/skills/business-analyse-html/steps/step-04-verify.md +0 -224
  872. package/templates/skills/business-analyse-quick/SKILL.md +0 -807
  873. package/templates/skills/business-analyse-quick/references/domain-heuristics.md +0 -172
  874. package/templates/skills/business-analyse-quick/references/prd-schema.md +0 -268
  875. package/templates/skills/business-analyse-review/SKILL.md +0 -71
  876. package/templates/skills/business-analyse-review/references/review-data-mapping.md +0 -367
  877. package/templates/skills/business-analyse-review/steps/step-00-init.md +0 -111
  878. package/templates/skills/business-analyse-review/steps/step-01-apply.md +0 -304
  879. package/templates/skills/business-analyse-status/SKILL.md +0 -136
  880. package/templates/skills/cc-agent/SKILL.md +0 -129
  881. package/templates/skills/cc-agent/references/agent-behavior-patterns.md +0 -95
  882. package/templates/skills/cc-agent/references/agent-frontmatter.md +0 -213
  883. package/templates/skills/cc-agent/references/permission-modes.md +0 -102
  884. package/templates/skills/cc-agent/references/tools-reference.md +0 -144
  885. package/templates/skills/cc-agent/steps/step-00-init.md +0 -134
  886. package/templates/skills/cc-agent/steps/step-01-design.md +0 -186
  887. package/templates/skills/cc-agent/steps/step-02-generate.md +0 -131
  888. package/templates/skills/cc-agent/steps/step-03-validate.md +0 -130
  889. package/templates/skills/cc-agent/templates/agent-categorized.md +0 -67
  890. package/templates/skills/cc-agent/templates/agent-standalone.md +0 -56
  891. package/templates/skills/cc-agent/templates/agent-with-skills.md +0 -94
  892. package/templates/skills/cc-audit/SKILL.md +0 -108
  893. package/templates/skills/cc-audit/references/agent-checklist.md +0 -91
  894. package/templates/skills/cc-audit/references/hook-checklist.md +0 -110
  895. package/templates/skills/cc-audit/references/skill-checklist.md +0 -70
  896. package/templates/skills/cc-audit/steps/step-00-init.md +0 -98
  897. package/templates/skills/cc-audit/steps/step-01-scan.md +0 -142
  898. package/templates/skills/cc-audit/steps/step-02-analyze.md +0 -158
  899. package/templates/skills/cc-audit/steps/step-03-report.md +0 -142
  900. package/templates/skills/cc-skill/SKILL.md +0 -134
  901. package/templates/skills/cc-skill/references/best-practices.md +0 -167
  902. package/templates/skills/cc-skill/references/frontmatter-reference.md +0 -182
  903. package/templates/skills/cc-skill/references/skill-patterns.md +0 -199
  904. package/templates/skills/cc-skill/steps/step-00-init.md +0 -119
  905. package/templates/skills/cc-skill/steps/step-01-design.md +0 -199
  906. package/templates/skills/cc-skill/steps/step-02-generate.md +0 -145
  907. package/templates/skills/cc-skill/steps/step-03-steps.md +0 -151
  908. package/templates/skills/cc-skill/steps/step-04-validate.md +0 -124
  909. package/templates/skills/cc-skill/templates/skill-forked.md +0 -85
  910. package/templates/skills/cc-skill/templates/skill-progressive.md +0 -102
  911. package/templates/skills/cc-skill/templates/skill-simple.md +0 -75
  912. package/templates/skills/cc-skill/templates/step-template.md +0 -82
  913. package/templates/skills/controller/SKILL.md +0 -162
  914. package/templates/skills/controller/postman-templates.md +0 -614
  915. package/templates/skills/controller/references/controller-code-templates.md +0 -162
  916. package/templates/skills/controller/references/mcp-scaffold-workflow.md +0 -237
  917. package/templates/skills/controller/references/permission-sync-templates.md +0 -149
  918. package/templates/skills/controller/steps/step-00-init.md +0 -193
  919. package/templates/skills/controller/steps/step-01-analyze.md +0 -152
  920. package/templates/skills/controller/steps/step-02-plan.md +0 -176
  921. package/templates/skills/controller/steps/step-03-generate.md +0 -189
  922. package/templates/skills/controller/steps/step-04-perms.md +0 -80
  923. package/templates/skills/controller/steps/step-05-validate.md +0 -107
  924. package/templates/skills/controller/templates.md +0 -1556
  925. package/templates/skills/debug/SKILL.md +0 -70
  926. package/templates/skills/debug/references/team-protocol.md +0 -232
  927. package/templates/skills/debug/steps/step-00-init.md +0 -57
  928. package/templates/skills/debug/steps/step-01-analyze.md +0 -219
  929. package/templates/skills/debug/steps/step-02-resolve.md +0 -85
  930. package/templates/skills/efcore/references/database-operations.md +0 -66
  931. package/templates/skills/efcore/references/reset-operations.md +0 -81
  932. package/templates/skills/efcore/references/seed-methods.md +0 -86
  933. package/templates/skills/efcore/references/shared-init-functions.md +0 -250
  934. package/templates/skills/efcore/references/sql-objects-injection.md +0 -19
  935. package/templates/skills/efcore/references/troubleshooting.md +0 -81
  936. package/templates/skills/efcore/references/zero-downtime-patterns.md +0 -229
  937. package/templates/skills/explore/SKILL.md +0 -98
  938. package/templates/skills/feature-full/SKILL.md +0 -111
  939. package/templates/skills/feature-full/steps/step-00-init.md +0 -57
  940. package/templates/skills/feature-full/steps/step-01-implementation.md +0 -133
  941. package/templates/skills/gitflow/phases/abort.md +0 -189
  942. package/templates/skills/gitflow/phases/cleanup.md +0 -264
  943. package/templates/skills/gitflow/phases/status.md +0 -192
  944. package/templates/skills/gitflow/references/commit-message-generation.md +0 -58
  945. package/templates/skills/gitflow/references/commit-migration-validation.md +0 -53
  946. package/templates/skills/gitflow/references/finish-cleanup.md +0 -55
  947. package/templates/skills/gitflow/references/finish-version-bumping.md +0 -45
  948. package/templates/skills/gitflow/references/init-config-template.md +0 -143
  949. package/templates/skills/gitflow/references/init-environment-detection.md +0 -41
  950. package/templates/skills/gitflow/references/init-name-normalization.md +0 -118
  951. package/templates/skills/gitflow/references/init-questions.md +0 -193
  952. package/templates/skills/gitflow/references/init-structure-creation.md +0 -75
  953. package/templates/skills/gitflow/references/init-version-detection.md +0 -23
  954. package/templates/skills/gitflow/references/init-workspace-detection.md +0 -43
  955. package/templates/skills/gitflow/references/merge-ci-status.md +0 -36
  956. package/templates/skills/gitflow/references/merge-execution.md +0 -62
  957. package/templates/skills/gitflow/references/merge-pr-context.md +0 -76
  958. package/templates/skills/gitflow/references/plan-template.md +0 -69
  959. package/templates/skills/gitflow/references/pr-build-checks.md +0 -60
  960. package/templates/skills/gitflow/references/pr-generation.md +0 -58
  961. package/templates/skills/gitflow/references/start-branch-normalization.md +0 -28
  962. package/templates/skills/gitflow/references/start-efcore-preflight.md +0 -70
  963. package/templates/skills/gitflow/references/start-local-config.md +0 -113
  964. package/templates/skills/gitflow/references/start-worktree-creation.md +0 -50
  965. package/templates/skills/gitflow/references/sync-push-verify.md +0 -44
  966. package/templates/skills/gitflow/references/sync-rebase-conflicts.md +0 -38
  967. package/templates/skills/gitflow/steps/step-commit.md +0 -199
  968. package/templates/skills/gitflow/steps/step-finish.md +0 -147
  969. package/templates/skills/gitflow/steps/step-init.md +0 -230
  970. package/templates/skills/gitflow/steps/step-merge.md +0 -85
  971. package/templates/skills/gitflow/steps/step-plan.md +0 -151
  972. package/templates/skills/gitflow/steps/step-pr.md +0 -247
  973. package/templates/skills/gitflow/steps/step-start.md +0 -195
  974. package/templates/skills/gitflow/steps/step-sync.md +0 -161
  975. package/templates/skills/gitflow/templates/config.json +0 -72
  976. package/templates/skills/mcp/SKILL.md +0 -62
  977. package/templates/skills/mcp/steps/step-01-healthcheck.md +0 -108
  978. package/templates/skills/mcp/steps/step-02-tools.md +0 -73
  979. package/templates/skills/migrate/SKILL.md +0 -312
  980. package/templates/skills/migrate/references/v3.34-to-v3.46.md +0 -289
  981. package/templates/skills/notification/SKILL.md +0 -173
  982. package/templates/skills/refactor/SKILL.md +0 -56
  983. package/templates/skills/refactor/steps/step-01-discover.md +0 -60
  984. package/templates/skills/refactor/steps/step-02-execute.md +0 -67
  985. package/templates/skills/review-code/SKILL.md +0 -95
  986. package/templates/skills/review-code/references/clean-code-principles.md +0 -292
  987. package/templates/skills/review-code/references/code-quality-metrics.md +0 -174
  988. package/templates/skills/review-code/references/feedback-patterns.md +0 -149
  989. package/templates/skills/review-code/references/owasp-api-top10.md +0 -243
  990. package/templates/skills/review-code/references/security-checklist.md +0 -212
  991. package/templates/skills/review-code/references/smartstack-conventions.md +0 -568
  992. package/templates/skills/review-code/steps/step-01-smartstack.md +0 -96
  993. package/templates/skills/review-code/steps/step-02-detailed-review.md +0 -80
  994. package/templates/skills/review-code/steps/step-03-react.md +0 -44
  995. package/templates/skills/sketch/SKILL.md +0 -34
  996. package/templates/skills/ui-components/accessibility.md +0 -170
  997. package/templates/skills/ui-components/patterns/dashboard-chart.md +0 -327
  998. package/templates/skills/ui-components/patterns/data-table.md +0 -175
  999. package/templates/skills/ui-components/patterns/entity-card.md +0 -77
  1000. package/templates/skills/ui-components/patterns/grid-layout.md +0 -91
  1001. package/templates/skills/ui-components/patterns/kanban.md +0 -43
  1002. package/templates/skills/ui-components/references/component-catalog.md +0 -82
  1003. package/templates/skills/ui-components/responsive-guidelines.md +0 -278
  1004. package/templates/skills/ui-components/style-guide.md +0 -113
  1005. package/templates/skills/validate/SKILL.md +0 -181
  1006. package/templates/skills/workflow/SKILL.md +0 -196
  1007. package/templates/skills/workflow/steps/step-00-init.md +0 -57
  1008. package/templates/skills/workflow/steps/step-01-implementation.md +0 -84
@@ -0,0 +1,852 @@
1
+ <!DOCTYPE html>
2
+ <!--
3
+ AUTO-GENERATED by scripts/generate-docs — do not edit by hand.
4
+ Edit docs-src/ba-develop.md (or templates/skills/<skill>/SKILL.md for skill data)
5
+ and run `npm run build:docs`. CI enforces drift via `npm run docs:check`.
6
+ -->
7
+ <html lang="fr">
8
+ <head>
9
+ <meta charset="UTF-8">
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
+ <title>BA Develop — pipeline de génération de code - SmartStack CLI</title>
12
+ <link rel="stylesheet" href="css/styles.css">
13
+ </head>
14
+ <body>
15
+ <div class="app-container">
16
+ <!-- Global Header (single unified element) -->
17
+ <header class="global-header">
18
+ <div class="logo">SS</div>
19
+ <span class="site-title">SmartStack CLI</span>
20
+ <span class="version-badge">v5.0.0</span>
21
+ <div class="header-divider"></div>
22
+ <span class="page-title">BA Develop</span>
23
+ <!-- Language Select -->
24
+ <select class="lang-select" id="lang-select" onchange="setLanguage(this.value); localStorage.setItem('doc-language', this.value);">
25
+ <option value="fr">🇫🇷 FR</option>
26
+ <option value="en">🇬🇧 EN</option>
27
+ </select>
28
+ <!-- Search -->
29
+ <div class="header-search">
30
+ <div class="search-input-wrapper">
31
+ <span class="search-icon">&#128269;</span>
32
+ <input type="text" id="search-input" class="search-input" placeholder="Rechercher..." data-placeholder-fr="Rechercher..." data-placeholder-en="Search..." autocomplete="off">
33
+ <span class="search-shortcut">Ctrl+K</span>
34
+ </div>
35
+ <div id="search-results" class="search-results"></div>
36
+ </div>
37
+ </header>
38
+
39
+ <div class="app-body">
40
+ <!-- Sidebar -->
41
+ <aside class="sidebar">
42
+ <button class="sidebar-toggle" title="Toggle sidebar">
43
+ <span class="toggle-icon-collapse">«</span>
44
+ <span class="toggle-icon-expand">»</span>
45
+ </button>
46
+
47
+ <nav class="sidebar-nav">
48
+ <div class="nav-section">
49
+ <div class="nav-section-title">
50
+ <span data-lang="fr">Démarrage</span><span data-lang="en">Getting Started</span>
51
+ </div>
52
+ <a href="index.html" class="nav-item">
53
+ <span class="icon">🏠</span>
54
+ <span class="nav-text" data-lang="fr">Accueil</span><span class="nav-text" data-lang="en">Home</span>
55
+ </a>
56
+ <a href="installation.html" class="nav-item">
57
+ <span class="icon">📦</span>
58
+ <span class="nav-text" data-lang="fr">Installation</span><span class="nav-text" data-lang="en">Installation</span>
59
+ </a>
60
+ <a href="init.html" class="nav-item">
61
+ <span class="icon">🚀</span>
62
+ <span class="nav-text" data-lang="fr">Projet Client</span><span class="nav-text" data-lang="en">Client Project</span>
63
+ </a>
64
+ <a href="license.html" class="nav-item">
65
+ <span class="icon">🔐</span>
66
+ <span class="nav-text" data-lang="fr">Licence</span><span class="nav-text" data-lang="en">License</span>
67
+ </a>
68
+ </div>
69
+ <div class="nav-section">
70
+ <div class="nav-section-title">
71
+ <span data-lang="fr">Workflows</span><span data-lang="en">Workflows</span>
72
+ </div>
73
+ <a href="gitflow.html" class="nav-item">
74
+ <span class="icon">🔀</span>
75
+ <span class="nav-text" data-lang="fr">GitFlow</span><span class="nav-text" data-lang="en">GitFlow</span>
76
+ </a>
77
+ <a href="efcore.html" class="nav-item">
78
+ <span class="icon">🗄️</span>
79
+ <span class="nav-text" data-lang="fr">EF Core</span><span class="nav-text" data-lang="en">EF Core</span>
80
+ </a>
81
+ <a href="business-analyse.html" class="nav-item">
82
+ <span class="icon">📊</span>
83
+ <span class="nav-text" data-lang="fr">Business Analyse</span><span class="nav-text" data-lang="en">Business Analysis</span>
84
+ </a>
85
+ <a href="ba-develop.html" class="nav-item nav-item-child active">
86
+ <span class="icon">⚙️</span>
87
+ <span class="nav-text" data-lang="fr">BA Develop</span><span class="nav-text" data-lang="en">BA Develop</span>
88
+ </a>
89
+ <a href="ralph-loop.html" class="nav-item">
90
+ <span class="icon">🔄</span>
91
+ <span class="nav-text" data-lang="fr">Ralph Loop</span><span class="nav-text" data-lang="en">Ralph Loop</span>
92
+ </a>
93
+ </div>
94
+ <div class="nav-section">
95
+ <div class="nav-section-title">
96
+ <span data-lang="fr">Annuaire</span><span data-lang="en">Directory</span>
97
+ </div>
98
+ <a href="commands.html" class="nav-item">
99
+ <span class="icon">⚡</span>
100
+ <span class="nav-text" data-lang="fr">Commandes Claude</span><span class="nav-text" data-lang="en">Claude Commands</span>
101
+ </a>
102
+ <a href="cli-commands.html" class="nav-item">
103
+ <span class="icon">💻</span>
104
+ <span class="nav-text" data-lang="fr">CLI SmartStack</span><span class="nav-text" data-lang="en">SmartStack CLI</span>
105
+ </a>
106
+ <a href="ba-skills.html" class="nav-item">
107
+ <span class="icon">📋</span>
108
+ <span class="nav-text" data-lang="fr">Skills BA</span><span class="nav-text" data-lang="en">BA Skills</span>
109
+ </a>
110
+ <a href="agents.html" class="nav-item">
111
+ <span class="icon">🤖</span>
112
+ <span class="nav-text" data-lang="fr">Agents</span><span class="nav-text" data-lang="en">Agents</span>
113
+ </a>
114
+ <a href="hooks.html" class="nav-item">
115
+ <span class="icon">🔗</span>
116
+ <span class="nav-text" data-lang="fr">Hooks</span><span class="nav-text" data-lang="en">Hooks</span>
117
+ </a>
118
+ </div>
119
+ </nav>
120
+
121
+ </aside>
122
+
123
+ <main class="main-content">
124
+ <div class="content content-wide">
125
+ <nav class="breadcrumb">
126
+ <span class="breadcrumb-item"><span data-lang="fr">Workflows</span><span data-lang="en">Workflows</span></span>
127
+ <span class="breadcrumb-sep">›</span>
128
+ <span class="breadcrumb-item current">BA Develop</span>
129
+
130
+ </nav>
131
+ <h1><span data-lang="fr"><code>/ba-develop</code> — Du PRD au code</span><span data-lang="en"><code>/ba-develop</code> — From PRD to code</span></h1>
132
+ <p><span data-lang="fr">Une fois qu&#39;une PRD a passé l&#39;audit (score GO ≥ 80), <code>/ba-develop</code> orchestre 4 phases séquentielles pour générer le code complet d&#39;un module. <strong>C&#39;est la dernière commande que vous tapez</strong> : à sa sortie, le module est compilé, testé, et fonctionnel — aucune action manuelle requise derrière.</span>
133
+ <span data-lang="en">Once a PRD passes audit (GO score ≥ 80), <code>/ba-develop</code> orchestrates 4 sequential phases to generate the full module code. <strong>It is the last command you type</strong>: when it returns, the module compiles, passes tests, and is functional — no manual action required afterwards.</span></p>
134
+ <h2><span data-lang="fr">Vue d&#39;ensemble du pipeline</span><span data-lang="en">Pipeline at a glance</span></h2>
135
+ <p><span data-lang="fr">4 phases séquentielles, chacune isolée dans son propre subagent, séparées par des <strong>gates bloquants</strong> qui interdisent toute progression sur un drift détecté. Les deux audits symétriques (<code>audit-dev-api</code> en sortie de Phase 2 et <code>audit-dev-frontend</code> en sortie de Phase 3) verrouillent l&#39;alignement entre le pagespec (source de vérité métier) et le code généré.</span>
136
+ <span data-lang="en">4 sequential phases, each isolated in its own subagent, separated by <strong>blocking gates</strong> that forbid progression on any detected drift. The two symmetric audits (<code>audit-dev-api</code> exiting Phase 2 and <code>audit-dev-frontend</code> exiting Phase 3) lock the alignment between the pagespec (business source of truth) and the generated code.</span></p>
137
+ <div class="svg-diagram">
138
+ <svg viewBox="0 0 820 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="ba-develop pipeline overview">
139
+ <defs>
140
+ <marker id="ba-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
141
+ <path d="M0,0 L10,5 L0,10 z" fill="#475569"/>
142
+ </marker>
143
+ <marker id="ba-arrow-block" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
144
+ <path d="M0,0 L10,5 L0,10 z" fill="#06b6d4"/>
145
+ </marker>
146
+ </defs>
147
+ <!-- Input -->
148
+ <rect x="10" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#f97316" stroke-width="2"/>
149
+ <text x="70" y="148" text-anchor="middle" fill="#f97316" font-family="Inter,sans-serif" font-size="13" font-weight="600">PRD GO</text>
150
+ <text x="70" y="166" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">score ≥ 80</text>
151
+ <line x1="130" y1="150" x2="170" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
152
+ <!-- Phase 0 -->
153
+ <rect x="170" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
154
+ <text x="230" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 0</text>
155
+ <text x="230" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Core Seed</text>
156
+ <text x="230" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">nav · roles · perms</text>
157
+ <line x1="290" y1="150" x2="310" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
158
+ <!-- Phase 1 -->
159
+ <rect x="310" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
160
+ <text x="370" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 1</text>
161
+ <text x="370" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Domain + Data</text>
162
+ <text x="370" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">entities · EF · seed</text>
163
+ <line x1="430" y1="150" x2="450" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
164
+ <!-- Phase 2 -->
165
+ <rect x="450" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
166
+ <text x="510" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 2</text>
167
+ <text x="510" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Business + API</text>
168
+ <text x="510" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">CQRS · controllers</text>
169
+ <!-- Gate Phase 2 (down) -->
170
+ <line x1="510" y1="180" x2="510" y2="220" stroke="#06b6d4" stroke-width="2" marker-end="url(#ba-arrow-block)"/>
171
+ <rect x="430" y="220" width="160" height="50" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
172
+ <text x="510" y="240" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">Gate Phase 2</text>
173
+ <text x="510" y="256" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="10">audit-dev-api</text>
174
+ <text x="510" y="268" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">DEV-API-010 · 011</text>
175
+ <line x1="570" y1="150" x2="590" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
176
+ <!-- Phase 3 -->
177
+ <rect x="590" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
178
+ <text x="650" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 3</text>
179
+ <text x="650" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Frontend</text>
180
+ <text x="650" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">pages · hooks · btns</text>
181
+ <!-- Gate Phase 3 (down) -->
182
+ <line x1="650" y1="180" x2="650" y2="220" stroke="#06b6d4" stroke-width="2" marker-end="url(#ba-arrow-block)"/>
183
+ <rect x="570" y="220" width="160" height="50" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
184
+ <text x="650" y="240" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">Gate Phase 3</text>
185
+ <text x="650" y="256" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="10">audit-dev-frontend</text>
186
+ <text x="650" y="268" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">DEV-UI-019 · 020 · 021</text>
187
+ <line x1="710" y1="150" x2="740" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
188
+ <!-- Output -->
189
+ <rect x="740" y="120" width="70" height="60" rx="8" fill="#1e293b" stroke="#22c55e" stroke-width="2"/>
190
+ <text x="775" y="148" text-anchor="middle" fill="#22c55e" font-family="Inter,sans-serif" font-size="12" font-weight="600">Module</text>
191
+ <text x="775" y="164" text-anchor="middle" fill="#22c55e" font-family="Inter,sans-serif" font-size="12" font-weight="600">ready</text>
192
+ <text x="775" y="180" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">200 OK</text>
193
+ <!-- Legend bar -->
194
+ <rect x="10" y="30" width="800" height="50" rx="6" fill="#0f172a" stroke="#334155" stroke-width="1"/>
195
+ <text x="30" y="50" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11" font-weight="600">Symmetric blocking gates</text>
196
+ <text x="30" y="68" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">Every <tspan font-family="Fira Code,monospace" fill="#06b6d4">err</tspan> finding at a gate stops the pipeline with a precise message — no manual fix-up step is hidden after <tspan font-family="Fira Code,monospace" fill="#f97316">/ba-develop</tspan>.</text>
197
+ <circle cx="660" cy="50" r="6" fill="#6366f1"/>
198
+ <text x="675" y="54" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">Phase (subagent)</text>
199
+ <circle cx="660" cy="68" r="6" fill="#06b6d4"/>
200
+ <text x="675" y="72" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">Audit gate (CLI)</text>
201
+ </svg>
202
+ </div>
203
+
204
+ <h2><span data-lang="fr">Détail des 4 phases</span><span data-lang="en">The 4 phases in detail</span></h2>
205
+ <p><span data-lang="fr">Chaque phase est un subagent isolé qui reçoit UNE slice du PRD. Une porte (gate) vérifie compilation + tests + audit dédié avant d&#39;autoriser la phase suivante.</span>
206
+ <span data-lang="en">Each phase runs as an isolated subagent that receives ONE PRD slice. A gate verifies compile + tests + dedicated audit before allowing the next phase to start.</span></p>
207
+ <table>
208
+ <thead>
209
+ <tr>
210
+ <th><span data-lang="fr">Phase</span><span data-lang="en">Phase</span></th>
211
+ <th><span data-lang="fr">Nom</span><span data-lang="en">Name</span></th>
212
+ <th><span data-lang="fr">Skills mobilisées</span><span data-lang="en">Mobilised skills</span></th>
213
+ <th><span data-lang="fr">Sortie</span><span data-lang="en">Output</span></th>
214
+ <th><span data-lang="fr">Gate</span><span data-lang="en">Gate</span></th>
215
+ </tr>
216
+ </thead>
217
+ <tbody><tr>
218
+ <td>0</td>
219
+ <td><span data-lang="fr">Core Foundation Seed</span><span data-lang="en">Core Foundation Seed</span></td>
220
+ <td><code>backend-core-seed</code></td>
221
+ <td><span data-lang="fr">Navigation, rôles, permissions de l&#39;app</span><span data-lang="en">App navigation, roles, permissions</span></td>
222
+ <td>build + tests</td>
223
+ </tr>
224
+ <tr>
225
+ <td>1</td>
226
+ <td><span data-lang="fr">Domain + Data</span><span data-lang="en">Domain + Data</span></td>
227
+ <td><code>backend-data-layer</code>, <code>backend-seed-data</code></td>
228
+ <td><span data-lang="fr">Entités, EF configs, migrations, seed</span><span data-lang="en">Entities, EF configs, migrations, seed</span></td>
229
+ <td>build + tests</td>
230
+ </tr>
231
+ <tr>
232
+ <td>2</td>
233
+ <td><span data-lang="fr">Business + API</span><span data-lang="en">Business + API</span></td>
234
+ <td><code>backend-business-layer</code>, <code>backend-controller</code></td>
235
+ <td><span data-lang="fr">CQRS, validators, controllers RBAC, actions custom alignées sur le pagespec</span><span data-lang="en">CQRS, validators, RBAC controllers, custom actions aligned with the pagespec</span></td>
236
+ <td>build + tests + <code>/audit-dev-api</code> (DEV-API-010/011)</td>
237
+ </tr>
238
+ <tr>
239
+ <td>3</td>
240
+ <td><span data-lang="fr">Frontend</span><span data-lang="en">Frontend</span></td>
241
+ <td><code>scaffold-theme</code>, <code>scaffold-layout</code>, <code>frontend-component</code>, <code>frontend-api-client</code>, <code>frontend-auth</code></td>
242
+ <td><span data-lang="fr">Pages, routes, API client, hooks d&#39;auth, boutons custom (kind:api → hook, kind:navigate → <code>navigate()</code>)</span><span data-lang="en">Pages, routes, API client, auth hooks, custom buttons (kind:api → hook, kind:navigate → <code>navigate()</code>)</span></td>
243
+ <td>build + tests + <code>/audit-dev-frontend</code> (DEV-UI-019..021) + smoke-test</td>
244
+ </tr>
245
+ </tbody></table>
246
+ <p><span data-lang="fr">À la sortie de la phase 3, le module est livré et fonctionnel (compilation + tests OK, smoke-test HTTP vert sur toutes les routes).</span>
247
+ <span data-lang="en">At the end of phase 3, the module is delivered and functional (compile + tests OK, HTTP smoke-test green on all routes).</span></p>
248
+ <h2><span data-lang="fr">Garanties</span><span data-lang="en">Guarantees</span></h2>
249
+ <ul>
250
+ <li><span data-lang="fr"><strong>Aucun stub</strong> : règles métier et use cases sont implémentés, pas laissés vides.</span><span data-lang="en"><strong>No stubs</strong>: business rules and use cases are implemented, not left empty.</span></li>
251
+ <li><span data-lang="fr"><strong>FK réelles</strong> : <code>relations[]</code> du PRD se traduit en <code>HasForeignKey()</code> + navigation + <code>OnDelete</code>.</span><span data-lang="en"><strong>Real FKs</strong>: PRD <code>relations[]</code> map to <code>HasForeignKey()</code> + navigation + <code>OnDelete</code>.</span></li>
252
+ <li><span data-lang="fr"><strong>Phase 0 déterministe</strong> : la navigation + les rôles + les permissions sont écrites en un seul shot.</span><span data-lang="en"><strong>Deterministic Phase 0</strong>: navigation + roles + permissions are written in a single shot.</span></li>
253
+ <li><span data-lang="fr"><strong>Gates entre phases</strong> : compile + tests + coverage avant de passer à la suivante.</span><span data-lang="en"><strong>Gates between phases</strong>: compile + tests + coverage before moving to the next.</span></li>
254
+ </ul>
255
+ <h2><span data-lang="fr">Propagation des actions custom</span><span data-lang="en">Custom-action propagation</span></h2>
256
+ <p><span data-lang="fr">Quand un pagespec déclare des actions au-delà des CRUD standard (par exemple <code>syncFromPce</code> kind:api ou <code>openHistory</code> kind:navigate), <code>/ba-develop</code> les propage <strong>verbatim</strong> à toutes les couches qui doivent les voir. Le champ <code>endpoint</code> du pagespec est l&#39;unique source de vérité — il est compilé sans transformation dans le route attribute du Controller et dans l&#39;URL axios du service.</span>
257
+ <span data-lang="en">When a pagespec declares actions beyond the standard CRUD (e.g. <code>syncFromPce</code> kind:api or <code>openHistory</code> kind:navigate), <code>/ba-develop</code> propagates them <strong>verbatim</strong> to every layer that must see them. The pagespec&#39;s <code>endpoint</code> field is the single source of truth — it is compiled without transformation into the Controller route attribute and into the service&#39;s axios URL.</span></p>
258
+ <div class="svg-diagram">
259
+ <svg viewBox="0 0 820 420" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Custom action verbatim propagation">
260
+ <defs>
261
+ <marker id="ca-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
262
+ <path d="M0,0 L10,5 L0,10 z" fill="#475569"/>
263
+ </marker>
264
+ <marker id="ca-arrow-ok" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
265
+ <path d="M0,0 L10,5 L0,10 z" fill="#22c55e"/>
266
+ </marker>
267
+ </defs>
268
+ <!-- Source of truth -->
269
+ <rect x="220" y="20" width="380" height="80" rx="8" fill="#1e293b" stroke="#f97316" stroke-width="2"/>
270
+ <text x="410" y="45" text-anchor="middle" fill="#f97316" font-family="Inter,sans-serif" font-size="13" font-weight="600">pagespec.actions[]</text>
271
+ <text x="410" y="63" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">single source of truth (written by /ba-create-prd from screen.md)</text>
272
+ <rect x="240" y="72" width="340" height="20" rx="3" fill="#0d1117" stroke="#334155"/>
273
+ <text x="410" y="86" text-anchor="middle" fill="#06b6d4" font-family="Fira Code,monospace" font-size="11">endpoint: "sync-from-proconcept" · httpMethod: POST · kind: api</text>
274
+ <!-- Split -->
275
+ <line x1="320" y1="100" x2="170" y2="155" stroke="#475569" stroke-width="2" marker-end="url(#ca-arrow)"/>
276
+ <line x1="500" y1="100" x2="650" y2="155" stroke="#475569" stroke-width="2" marker-end="url(#ca-arrow)"/>
277
+ <text x="220" y="125" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">kind: api → 2 sides</text>
278
+ <text x="560" y="125" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">kind: api → 2 sides</text>
279
+ <!-- Backend column -->
280
+ <rect x="40" y="160" width="260" height="80" rx="8" fill="#0f172a" stroke="#6366f1" stroke-width="1.5"/>
281
+ <text x="170" y="180" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 2 — Backend (C#)</text>
282
+ <rect x="55" y="190" width="230" height="20" rx="3" fill="#0d1117" stroke="#334155"/>
283
+ <text x="170" y="204" text-anchor="middle" fill="#22c55e" font-family="Fira Code,monospace" font-size="10">[HttpPost("sync-from-proconcept")]</text>
284
+ <text x="170" y="226" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">Controller method + Business service stub</text>
285
+ <!-- Frontend column -->
286
+ <rect x="520" y="160" width="260" height="80" rx="8" fill="#0f172a" stroke="#6366f1" stroke-width="1.5"/>
287
+ <text x="650" y="180" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 3 — Frontend (TS)</text>
288
+ <rect x="535" y="190" width="230" height="20" rx="3" fill="#0d1117" stroke="#334155"/>
289
+ <text x="650" y="204" text-anchor="middle" fill="#22c55e" font-family="Fira Code,monospace" font-size="10">apiClient.post(".../sync-from-proconcept")</text>
290
+ <text x="650" y="226" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">service.ts method + useMutation hook + button</text>
291
+ <!-- Gate 2 -->
292
+ <line x1="170" y1="240" x2="170" y2="275" stroke="#06b6d4" stroke-width="2" marker-end="url(#ca-arrow-ok)"/>
293
+ <rect x="80" y="275" width="180" height="40" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
294
+ <text x="170" y="290" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">audit-dev-api</text>
295
+ <text x="170" y="305" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">DEV-API-010 / 011</text>
296
+ <!-- Gate 3 -->
297
+ <line x1="650" y1="240" x2="650" y2="275" stroke="#06b6d4" stroke-width="2" marker-end="url(#ca-arrow-ok)"/>
298
+ <rect x="560" y="275" width="180" height="40" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
299
+ <text x="650" y="290" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">audit-dev-frontend</text>
300
+ <text x="650" y="305" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">DEV-UI-019 / 020 / 021</text>
301
+ <!-- Navigate branch -->
302
+ <line x1="410" y1="100" x2="410" y2="335" stroke="#475569" stroke-width="2" stroke-dasharray="4,4" marker-end="url(#ca-arrow)"/>
303
+ <text x="425" y="220" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">kind: navigate</text>
304
+ <text x="425" y="234" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">→ frontend only</text>
305
+ <rect x="290" y="335" width="240" height="60" rx="8" fill="#0f172a" stroke="#eab308" stroke-width="1.5"/>
306
+ <text x="410" y="355" text-anchor="middle" fill="#eab308" font-family="Inter,sans-serif" font-size="12" font-weight="600">navigate(targetRoute)</text>
307
+ <text x="410" y="372" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">no axios · no hook · no Controller</text>
308
+ <text x="410" y="386" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">router-only button (e.g. "Open detail")</text>
309
+ </svg>
310
+ </div>
311
+
312
+ <table>
313
+ <thead>
314
+ <tr>
315
+ <th><span data-lang="fr">Phase</span><span data-lang="en">Phase</span></th>
316
+ <th><span data-lang="fr">Pour <code>kind: api</code></span><span data-lang="en">For <code>kind: api</code></span></th>
317
+ <th><span data-lang="fr">Pour <code>kind: navigate</code></span><span data-lang="en">For <code>kind: navigate</code></span></th>
318
+ </tr>
319
+ </thead>
320
+ <tbody><tr>
321
+ <td>2 (Business)</td>
322
+ <td><span data-lang="fr">Recette canonique ou stub <code>NotImplementedException</code> avec <code>// TODO[UC-…]</code></span><span data-lang="en">Canonical recipe or <code>NotImplementedException</code> stub with <code>// TODO[UC-…]</code></span></td>
323
+ <td>—</td>
324
+ </tr>
325
+ <tr>
326
+ <td>2 (Controller)</td>
327
+ <td><code>[HttpVerb(&quot;&lt;endpoint&gt;&quot;)]</code> + <code>[RequirePermission(&quot;…&quot;)]</code></td>
328
+ <td>—</td>
329
+ </tr>
330
+ <tr>
331
+ <td>3 (Service.ts)</td>
332
+ <td><code>apiClient.&lt;verb&gt;(&#39;/api/.../&lt;endpoint&gt;&#39;)</code> + <span data-lang="fr">hook React Query</span><span data-lang="en">React Query hook</span></td>
333
+ <td>—</td>
334
+ </tr>
335
+ <tr>
336
+ <td>3 (Bouton)</td>
337
+ <td><span data-lang="fr">Importe le hook + appelle <code>.mutate()</code> au clic</span><span data-lang="en">Imports the hook + calls <code>.mutate()</code> on click</span></td>
338
+ <td><span data-lang="fr">Importe <code>useNavigate</code> + appelle <code>navigate(targetRoute)</code>. <strong>Aucun hook, aucun appel axios.</strong></span><span data-lang="en">Imports <code>useNavigate</code> + calls <code>navigate(targetRoute)</code>. <strong>No hook, no axios call.</strong></span></td>
339
+ </tr>
340
+ <tr>
341
+ <td><span data-lang="fr">Gate Phase 2</span><span data-lang="en">Phase 2 gate</span></td>
342
+ <td><span data-lang="fr">Cross-check : chaque <code>kind:api</code> du pagespec doit avoir un <code>[HttpVerb("&lt;endpoint&gt;")]</code> matching côté Controller, sinon la phase échoue.</span><span data-lang="en">Cross-check: every pagespec <code>kind:api</code> action must have a matching <code>[HttpVerb("&lt;endpoint&gt;")]</code> on the Controller, otherwise the phase fails.</span></td>
343
+ <td></td>
344
+ </tr>
345
+ </tbody></table>
346
+ <p><span data-lang="fr">Les audits dev <strong>symétriques</strong> verrouillent l&#39;alignement après génération :</span>
347
+ <span data-lang="en">The <strong>symmetric</strong> dev audits lock the alignment after generation:</span></p>
348
+ <table>
349
+ <thead>
350
+ <tr>
351
+ <th><span data-lang="fr">Phase</span><span data-lang="en">Phase</span></th>
352
+ <th><span data-lang="fr">Audit exécuté automatiquement</span><span data-lang="en">Audit invoked automatically</span></th>
353
+ <th><span data-lang="fr">Règles bloquantes</span><span data-lang="en">Blocking rules</span></th>
354
+ </tr>
355
+ </thead>
356
+ <tbody><tr>
357
+ <td>2 (Backend)</td>
358
+ <td><code>audit-dev-api --mode audit</code></td>
359
+ <td>DEV-API-010 (pagespec → controller), DEV-API-011 (warn)</td>
360
+ </tr>
361
+ <tr>
362
+ <td>3 (Frontend)</td>
363
+ <td><code>audit-dev-frontend --mode audit</code></td>
364
+ <td>DEV-UI-019 / DEV-UI-020 / DEV-UI-021</td>
365
+ </tr>
366
+ </tbody></table>
367
+ <p><span data-lang="fr"><strong>Garantie de fin de pipeline</strong> — un drift entre pagespec et Controller (cas classique Gesa : <code>POST /sync-from-pce</code> côté frontend, <code>[HttpPost("sync-from-proconcept")]</code> côté backend → 405 garanti) est <strong>bloqué au gate</strong> avant Phase 3, avec un message précis (« Controller manquant pour action <code>&lt;endpoint&gt;</code> du pagespec <code>&lt;file&gt;</code> »). <strong>Aucune commande utilisateur n&#39;est requise après <code>/ba-develop</code></strong> — quand la commande retourne avec succès, le module est 100 % opérationnel.</span>
368
+ <span data-lang="en"><strong>End-of-pipeline guarantee</strong> — any drift between pagespec and Controller (classic Gesa case: <code>POST /sync-from-pce</code> on the frontend, <code>[HttpPost("sync-from-proconcept")]</code> on the backend → guaranteed 405) is <strong>blocked at the gate</strong> before Phase 3, with a precise message (&quot;Controller missing for action <code>&lt;endpoint&gt;</code> from pagespec <code>&lt;file&gt;</code>&quot;). <strong>No user command is required after <code>/ba-develop</code></strong> — when the command returns successfully, the module is 100 % operational.</span></p>
369
+ <h2><span data-lang="fr">Trois niveaux d&#39;orchestration</span><span data-lang="en">Three orchestration levels</span></h2>
370
+ <p><span data-lang="fr">Selon la portée du travail, trois entrées sont disponibles. Elles partagent toutes le même moteur (les 4 phases ci-dessus) mais varient en cardinalité.</span>
371
+ <span data-lang="en">Depending on the scope of work, three entry points are available. They all share the same engine (the 4 phases above) but vary in cardinality.</span></p>
372
+ <table>
373
+ <thead>
374
+ <tr>
375
+ <th><span data-lang="fr">Portée</span><span data-lang="en">Scope</span></th>
376
+ <th><span data-lang="fr">Skill</span><span data-lang="en">Skill</span></th>
377
+ <th><span data-lang="fr">Lit</span><span data-lang="en">Reads</span></th>
378
+ <th><span data-lang="fr">Effet</span><span data-lang="en">Effect</span></th>
379
+ </tr>
380
+ </thead>
381
+ <tbody><tr>
382
+ <td>1 <span data-lang="fr">module</span><span data-lang="en">module</span></td>
383
+ <td><code>/ba-develop &lt;APP&gt;/&lt;MODULE&gt;</code></td>
384
+ <td><code>prd.md</code> + slices + <code>pagespecs/*.md</code></td>
385
+ <td><span data-lang="fr">4 phases séquentielles sur ce module</span><span data-lang="en">4 sequential phases on that module</span></td>
386
+ </tr>
387
+ <tr>
388
+ <td>1+ <span data-lang="fr">applications</span><span data-lang="en">applications</span></td>
389
+ <td><code>/ba-create-plan-development &lt;APP1&gt; [APP2]…</code></td>
390
+ <td><code>entité.md</code> <span data-lang="fr">des apps</span><span data-lang="en">of the apps</span></td>
391
+ <td><span data-lang="fr">Construit le graphe FK cross-module + tri topologique → <code>dev-plan.md</code></span><span data-lang="en">Builds cross-module FK graph + topological sort → <code>dev-plan.md</code></span></td>
392
+ </tr>
393
+ <tr>
394
+ <td><span data-lang="fr">Exécution du plan</span><span data-lang="en">Plan execution</span></td>
395
+ <td><code>/ba-develop-plan [--waves 1,2]</code></td>
396
+ <td><code>dev-plan.json</code></td>
397
+ <td><span data-lang="fr">Lance une vague à la fois ; dans chaque vague, un <code>/ba-develop</code> par module en parallèle ; gate entre vagues</span><span data-lang="en">Runs one wave at a time; within a wave, one <code>/ba-develop</code> per module in parallel; gate between waves</span></td>
398
+ </tr>
399
+ </tbody></table>
400
+ <h3><span data-lang="fr">Cycle multi-module — comment ça marche</span><span data-lang="en">Multi-module cycle — how it works</span></h3>
401
+ <p><span data-lang="fr">Le multi-module fonctionne en deux temps :</span>
402
+ <span data-lang="en">Multi-module works in two steps:</span></p>
403
+ <ol>
404
+ <li><span data-lang="fr"><strong>Génération du plan</strong> : <code>/ba-create-plan-development APP_A APP_B</code> lit chaque <code>entité.md</code>, détecte les FK cross-module, trie les modules par dépendance en <strong>vagues parallélisables</strong>, et écrit <code>dev-plan.json</code>.</span><span data-lang="en"><strong>Plan generation</strong>: <code>/ba-create-plan-development APP_A APP_B</code> reads every <code>entité.md</code>, detects cross-module FKs, sorts modules by dependency into <strong>parallelisable waves</strong>, and writes <code>dev-plan.json</code>.</span></li>
405
+ <li><span data-lang="fr"><strong>Exécution du plan</strong> : <code>/ba-develop-plan</code> traite une vague à la fois. Dans chaque vague, il lance un subagent <code>/ba-develop</code> par module en parallèle ; une fois les N modules terminés, un gate compile + tests sur l&#39;ensemble doit passer avant la vague suivante.</span><span data-lang="en"><strong>Plan execution</strong>: <code>/ba-develop-plan</code> processes one wave at a time. Within each wave it launches one <code>/ba-develop</code> subagent per module in parallel; once the N modules complete, a compile + tests gate over the whole set must pass before the next wave starts.</span></li>
406
+ </ol>
407
+ <p><span data-lang="fr">Exemple : un plan à 3 vagues sur 2 applications.</span>
408
+ <span data-lang="en">Example: a 3-wave plan over 2 applications.</span></p>
409
+ <div class="svg-diagram">
410
+ <svg viewBox="0 0 820 360" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Multi-module waves execution">
411
+ <defs>
412
+ <marker id="w-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
413
+ <path d="M0,0 L10,5 L0,10 z" fill="#475569"/>
414
+ </marker>
415
+ <marker id="w-arrow-gate" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
416
+ <path d="M0,0 L10,5 L0,10 z" fill="#06b6d4"/>
417
+ </marker>
418
+ </defs>
419
+ <!-- Wave 1 column -->
420
+ <text x="120" y="30" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="13" font-weight="600">Wave 1</text>
421
+ <text x="120" y="46" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">3 modules in parallel</text>
422
+ <rect x="20" y="60" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
423
+ <text x="120" y="78" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_A/Module_A1</text>
424
+ <text x="120" y="92" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">/ba-develop subagent</text>
425
+ <rect x="20" y="110" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
426
+ <text x="120" y="128" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_A/Module_A2</text>
427
+ <text x="120" y="142" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">/ba-develop subagent</text>
428
+ <rect x="20" y="160" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
429
+ <text x="120" y="178" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_B/Module_B1</text>
430
+ <text x="120" y="192" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">/ba-develop subagent</text>
431
+ <!-- Wave 1 gate -->
432
+ <line x1="220" y1="130" x2="265" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
433
+ <rect x="265" y="105" width="60" height="50" rx="6" fill="#0f172a" stroke="#06b6d4"/>
434
+ <text x="295" y="125" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="10" font-weight="600">Gate</text>
435
+ <text x="295" y="140" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">compile</text>
436
+ <text x="295" y="152" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">tests</text>
437
+ <line x1="325" y1="130" x2="370" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
438
+ <!-- Wave 2 column -->
439
+ <text x="470" y="30" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="13" font-weight="600">Wave 2</text>
440
+ <text x="470" y="46" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">2 modules in parallel</text>
441
+ <rect x="370" y="85" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
442
+ <text x="470" y="103" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_A/Module_A3</text>
443
+ <text x="470" y="117" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">depends on A1</text>
444
+ <rect x="370" y="135" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
445
+ <text x="470" y="153" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_B/Module_B2</text>
446
+ <text x="470" y="167" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">depends on A2, B1</text>
447
+ <!-- Wave 2 gate -->
448
+ <line x1="570" y1="130" x2="615" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
449
+ <rect x="615" y="105" width="60" height="50" rx="6" fill="#0f172a" stroke="#06b6d4"/>
450
+ <text x="645" y="125" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="10" font-weight="600">Gate</text>
451
+ <text x="645" y="140" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">compile</text>
452
+ <text x="645" y="152" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">tests</text>
453
+ <line x1="675" y1="130" x2="720" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
454
+ <!-- Wave 3 column -->
455
+ <text x="760" y="30" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="13" font-weight="600">Wave 3</text>
456
+ <text x="760" y="46" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">1 module</text>
457
+ <rect x="720" y="110" width="90" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
458
+ <text x="765" y="128" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">B/B3</text>
459
+ <text x="765" y="142" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">depends on B2</text>
460
+ <!-- Final output -->
461
+ <line x1="765" y1="150" x2="765" y2="180" stroke="#22c55e" stroke-width="2" marker-end="url(#w-arrow)"/>
462
+ <rect x="690" y="180" width="150" height="40" rx="6" fill="#1e293b" stroke="#22c55e" stroke-width="2"/>
463
+ <text x="765" y="200" text-anchor="middle" fill="#22c55e" font-family="Inter,sans-serif" font-size="11" font-weight="600">Final smoke-test</text>
464
+ <text x="765" y="214" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">all apps green</text>
465
+ <!-- Caption -->
466
+ <rect x="20" y="260" width="790" height="80" rx="6" fill="#0f172a" stroke="#334155"/>
467
+ <text x="40" y="282" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="12" font-weight="600">Why waves?</text>
468
+ <text x="40" y="302" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">A module whose entity is referenced as a foreign key by another module must ship before its dependents.</text>
469
+ <text x="40" y="318" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">Waves encode that ordering (topological sort on the FK graph) while letting independent modules run in parallel.</text>
470
+ <text x="40" y="334" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">A gate between waves verifies the whole set compiles and passes its tests before unlocking the next wave.</text>
471
+ </svg>
472
+ </div>
473
+
474
+ <table>
475
+ <thead>
476
+ <tr>
477
+ <th><span data-lang="fr">Vague</span><span data-lang="en">Wave</span></th>
478
+ <th><span data-lang="fr">Modules développés en parallèle</span><span data-lang="en">Modules developed in parallel</span></th>
479
+ <th><span data-lang="fr">Gate de sortie</span><span data-lang="en">Exit gate</span></th>
480
+ </tr>
481
+ </thead>
482
+ <tbody><tr>
483
+ <td>1</td>
484
+ <td><code>APP_A/Module_A1</code>, <code>APP_A/Module_A2</code>, <code>APP_B/Module_B1</code></td>
485
+ <td><span data-lang="fr">compile + tests des 3 modules</span><span data-lang="en">compile + tests of the 3 modules</span></td>
486
+ </tr>
487
+ <tr>
488
+ <td>2</td>
489
+ <td><code>APP_A/Module_A3</code>, <code>APP_B/Module_B2</code></td>
490
+ <td><span data-lang="fr">compile + tests des 2 modules</span><span data-lang="en">compile + tests of the 2 modules</span></td>
491
+ </tr>
492
+ <tr>
493
+ <td>3</td>
494
+ <td><code>APP_B/Module_B3</code></td>
495
+ <td><span data-lang="fr">smoke-test final</span><span data-lang="en">final smoke-test</span></td>
496
+ </tr>
497
+ </tbody></table>
498
+ <p><span data-lang="fr"><strong>Pourquoi des vagues ?</strong> Un module qui possède une entité référencée comme FK par un autre module doit être livré avant ses dépendants. Les vagues encodent cet ordre tout en autorisant le maximum de parallélisme.</span>
499
+ <span data-lang="en"><strong>Why waves?</strong> A module whose entity is referenced as an FK by another module must ship before its dependents. Waves encode that ordering while allowing maximum parallelism.</span></p>
500
+ <h2><span data-lang="fr">Outil de remédiation — projets legacy</span><span data-lang="en">Remediation tool — legacy projects</span></h2>
501
+ <p><span data-lang="fr">Pour les projets qui ont été développés <strong>avant</strong> la propagation typée des actions (custom actions en texte libre dans <code>screen.md</code>, drifts <code>pagespec / Controller / service.ts</code> accumulés), un CLI standalone cartographie les désalignements sans rien modifier par défaut :</span>
502
+ <span data-lang="en">For projects developed <strong>before</strong> typed action propagation existed (free-text custom actions in <code>screen.md</code>, accumulated <code>pagespec / Controller / service.ts</code> drifts), a standalone CLI maps the misalignments without modifying anything by default:</span></p>
503
+ <pre><code class="language-pwsh">npx tsx templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/index.ts `
504
+ --project-path &quot;&lt;chemin&gt;/web/&lt;app&gt;-web&quot; `
505
+ --backend-path &quot;&lt;chemin&gt;&quot; `
506
+ --module-path &quot;&lt;chemin&gt;/.smartstack/ba/&lt;APP&gt;/&lt;MODULE&gt;&quot; `
507
+ --mode report-only
508
+ </code></pre>
509
+ <p><span data-lang="fr">Sortie : <code>_audit/actions-alignment.md</code> listant les drifts par catégorie (<code>ACTION-DRIFT-001..005</code>) avec, pour chaque drift, le pagespec / Controller / service concerné et la commande de correction. Le mode <code>--mode apply</code> existe (opt-in) avec <code>--source-of-truth pagespec|controller</code> pour choisir qui gagne — toujours à utiliser avec un commit propre derrière.</span>
510
+ <span data-lang="en">Output: <code>_audit/actions-alignment.md</code> listing drifts per category (<code>ACTION-DRIFT-001..005</code>) with, for each, the affected pagespec / Controller / service and the fix command. The <code>--mode apply</code> mode exists (opt-in) with <code>--source-of-truth pagespec|controller</code> to choose who wins — always use it with a clean commit behind.</span></p>
511
+ <p><span data-lang="fr"><strong>Quand l&#39;utiliser :</strong> on hérite d&#39;un projet ancien ; on observe un bug HTTP 405 / 404 sur un bouton ; on veut auditer un module avant de le migrer au format custom actions typé.</span>
512
+ <span data-lang="en"><strong>When to use it:</strong> inheriting an old project; observing a 405 / 404 HTTP bug on a button; auditing a module before migrating it to typed custom actions.</span></p>
513
+ <h2><span data-lang="fr">Skills orchestrées</span><span data-lang="en">Orchestrated skills</span></h2>
514
+ <p><span data-lang="fr">La table ci-dessous liste toutes les skills mobilisées (planification, backend, frontend, audits, tests) :</span>
515
+ <span data-lang="en">The table below lists every mobilised skill (planning, backend, frontend, audits, tests):</span></p>
516
+
517
+
518
+ <section class="skills-section">
519
+ <h2 data-lang="fr">Skills orchestrées par <code>/ba-develop</code></h2>
520
+ <h2 data-lang="en">Skills orchestrated by <code>/ba-develop</code></h2>
521
+ <h3 id="phase-business-analyse">business-analyse <span class="skill-count">(1)</span></h3>
522
+ <div class="skill-grid">
523
+ <div class="skill-card" id="skill-ba-create-plan-development">
524
+ <div class="skill-card-header">
525
+ <code class="skill-slug">/ba-create-plan-development</code>
526
+ <span class="skill-badge skill-badge-phase">business-analyse</span>
527
+ </div>
528
+ <p class="skill-description">Generates a phased development plan ordering modules by their cross-module data-model dependencies. Reads entité.md across selected applications, builds a dependency graph, topological-sorts into parallel development waves, and writes dev-plan.md. Invoke between the BA audit phase and /ba-develop.</p>
529
+ <div class="skill-args"><span class="skill-args-label">args:</span> <code>&lt;APP1&gt; [APP2] …</code></div>
530
+ <div class="skill-tools">
531
+ <span class="skill-tool-tag">Bash</span>
532
+ <span class="skill-tool-tag">Read</span>
533
+ <span class="skill-tool-tag">Glob</span>
534
+ </div>
535
+ </div>
536
+ </div>
537
+ <h3 id="phase-devapi">devApi <span class="skill-count">(1)</span></h3>
538
+ <div class="skill-grid">
539
+ <div class="skill-card" id="skill-audit-dev-api">
540
+ <div class="skill-card-header">
541
+ <code class="skill-slug">/audit-dev-api</code>
542
+ <span class="skill-badge skill-badge-phase">devApi</span>
543
+ </div>
544
+ <p class="skill-description">Audit code generated by the API phase against the PRD slice — controllers, routes, HTTP actions, RBAC attributes, DTOs, integration tests</p>
545
+ </div>
546
+ </div>
547
+ <h3 id="phase-devcore">devCore <span class="skill-count">(1)</span></h3>
548
+ <div class="skill-grid">
549
+ <div class="skill-card" id="skill-audit-dev-core">
550
+ <div class="skill-card-header">
551
+ <code class="skill-slug">/audit-dev-core</code>
552
+ <span class="skill-badge skill-badge-phase">devCore</span>
553
+ </div>
554
+ <p class="skill-description">Audit code generated by Phase 0 (Core Foundation Seed) — every PRD module must have nav + roles + permissions in the 5 Core providers, DI registration must be in place, and the providers must be deterministic (no hand-edits).</p>
555
+ </div>
556
+ </div>
557
+ <h3 id="phase-devdata">devData <span class="skill-count">(1)</span></h3>
558
+ <div class="skill-grid">
559
+ <div class="skill-card" id="skill-audit-dev-data">
560
+ <div class="skill-card-header">
561
+ <code class="skill-slug">/audit-dev-data</code>
562
+ <span class="skill-badge skill-badge-phase">devData</span>
563
+ </div>
564
+ <p class="skill-description">Audit code generated by the Data phase against the PRD slice — migrations, seed providers, navigation/permissions coverage, FK constraints, drift detection</p>
565
+ </div>
566
+ </div>
567
+ <h3 id="phase-devdomain">devDomain <span class="skill-count">(1)</span></h3>
568
+ <div class="skill-grid">
569
+ <div class="skill-card" id="skill-audit-dev-domain">
570
+ <div class="skill-card-header">
571
+ <code class="skill-slug">/audit-dev-domain</code>
572
+ <span class="skill-badge skill-badge-phase">devDomain</span>
573
+ </div>
574
+ <p class="skill-description">Audit code generated by the Domain phase against the PRD slice — entity files, FK pairing, naming, traceability, drift detection</p>
575
+ </div>
576
+ </div>
577
+ <h3 id="phase-development-audit">development/audit <span class="skill-count">(2)</span></h3>
578
+ <div class="skill-grid">
579
+ <div class="skill-card" id="skill-audit">
580
+ <div class="skill-card-header">
581
+ <code class="skill-slug">/audit</code>
582
+ <span class="skill-badge skill-badge-phase">development/audit</span>
583
+ </div>
584
+ <p class="skill-description">Audit du code genere contre les conventions SmartStack (i18n, React, structure, routing dynamique, RBAC, securite)</p>
585
+ </div>
586
+ <div class="skill-card" id="skill-audit-routing-dynamic">
587
+ <div class="skill-card-header">
588
+ <code class="skill-slug">/audit-routing-dynamic</code>
589
+ <span class="skill-badge skill-badge-phase">development/audit</span>
590
+ </div>
591
+ <p class="skill-description">Audit READ-ONLY des skills de developpement SmartStack pour verifier leur conformite a l&#x27;architecture de routing dynamique DB-driven (PageRegistry + componentRegistry + DynamicRouter). Produit un rapport textuel sans modifier aucun skill.</p>
592
+ </div>
593
+ </div>
594
+ <h3 id="phase-development-backend">development/backend <span class="skill-count">(6)</span></h3>
595
+ <div class="skill-grid">
596
+ <div class="skill-card" id="skill-backend-business-layer">
597
+ <div class="skill-card-header">
598
+ <code class="skill-slug">/backend-business-layer</code>
599
+ <span class="skill-badge skill-badge-phase">development/backend</span>
600
+ </div>
601
+ <p class="skill-description">Generates full CQRS stack — Commands, Queries, Handlers, DTOs, Validators, Service interface + implementation — on SmartStack NuGet abstractions (ICoreDbContext, MediatR, FluentValidation).</p>
602
+ </div>
603
+ <div class="skill-card" id="skill-backend-controller">
604
+ <div class="skill-card-header">
605
+ <code class="skill-slug">/backend-controller</code>
606
+ <span class="skill-badge skill-badge-phase">development/backend</span>
607
+ </div>
608
+ <p class="skill-description">Generates API controllers with NavRoute, RequirePermission, auto-mapped DTO → Command conversions, and module-scoped permission classes, consuming NuGet packages (SmartStack.Core, SmartStack.Api, MediatR).</p>
609
+ </div>
610
+ <div class="skill-card" id="skill-backend-core-seed">
611
+ <div class="skill-card-header">
612
+ <code class="skill-slug">/backend-core-seed</code>
613
+ <span class="skill-badge skill-badge-phase">development/backend</span>
614
+ </div>
615
+ <p class="skill-description">Phase 0 of /ba-develop — generates one Core Foundation Seed bundle per declared application (5 IClientSeedDataProvider classes per app covering navigation + roles + permissions + role-permission mappings + dev test users) by invoking the deterministic &#x60;scaffold-core-seed&#x60; CLI. Zero creative work for the agent: the spec is built by the Studio backend (&#x60;prepareCoreSeedContext&#x60;) from the BA menu / actors / permissions and dropped to a temp file before this skill runs.</p>
616
+ </div>
617
+ <div class="skill-card" id="skill-backend-data-layer">
618
+ <div class="skill-card-header">
619
+ <code class="skill-slug">/backend-data-layer</code>
620
+ <span class="skill-badge skill-badge-phase">development/backend</span>
621
+ </div>
622
+ <p class="skill-description">Generates Domain entities with BaseEntity (SmartStack.Core.Domain NuGet), domain events, soft-delete, EF Core configurations with schema targeting, and migrations.</p>
623
+ </div>
624
+ <div class="skill-card" id="skill-backend-seed-data">
625
+ <div class="skill-card-header">
626
+ <code class="skill-slug">/backend-seed-data</code>
627
+ <span class="skill-badge skill-badge-phase">development/backend</span>
628
+ </div>
629
+ <p class="skill-description">Generates module-scoped IClientSeedDataProvider implementations for reference data (lookup tables, enum codes) and per-module overrides. Cross-app navigation, roles, permissions, and role-permission mappings are NOT this skill&#x27;s job — they live in scaffold-core-seed (Phase 0). Output goes under Persistence/Seeding/Applications/{AppPascal}/Modules/{ModuleCode}/ to mirror the per-application module layout.</p>
630
+ </div>
631
+ <div class="skill-card" id="skill-dotnet-structure">
632
+ <div class="skill-card-header">
633
+ <code class="skill-slug">/dotnet-structure</code>
634
+ <span class="skill-badge skill-badge-phase">development/backend</span>
635
+ </div>
636
+ <p class="skill-description">.NET Clean Architecture 4-layer SmartStack</p>
637
+ </div>
638
+ </div>
639
+ <h3 id="phase-development-debug">development/debug <span class="skill-count">(6)</span></h3>
640
+ <div class="skill-grid">
641
+ <div class="skill-card" id="skill-audit-bug">
642
+ <div class="skill-card-header">
643
+ <code class="skill-slug">/audit-bug</code>
644
+ <span class="skill-badge skill-badge-phase">development/debug</span>
645
+ </div>
646
+ <p class="skill-description">Refine a user-reported bug — rephrase, classify, and cross-reference the code in the current worktree.</p>
647
+ </div>
648
+ <div class="skill-card" id="skill-debug">
649
+ <div class="skill-card-header">
650
+ <code class="skill-slug">/debug</code>
651
+ <span class="skill-badge skill-badge-phase">development/debug</span>
652
+ </div>
653
+ <p class="skill-description">Diagnose and auto-fix SmartStack dev-runner issues (backend + frontend)</p>
654
+ </div>
655
+ <div class="skill-card" id="skill-debug-backend">
656
+ <div class="skill-card-header">
657
+ <code class="skill-slug">/debug-backend</code>
658
+ <span class="skill-badge skill-badge-phase">development/debug</span>
659
+ </div>
660
+ <p class="skill-description">Diagnose and auto-fix SmartStack .NET backend failures</p>
661
+ </div>
662
+ <div class="skill-card" id="skill-debug-frontend">
663
+ <div class="skill-card-header">
664
+ <code class="skill-slug">/debug-frontend</code>
665
+ <span class="skill-badge skill-badge-phase">development/debug</span>
666
+ </div>
667
+ <p class="skill-description">Diagnose and auto-fix SmartStack React+Vite frontend failures</p>
668
+ </div>
669
+ <div class="skill-card" id="skill-discuss-bug">
670
+ <div class="skill-card-header">
671
+ <code class="skill-slug">/discuss-bug</code>
672
+ <span class="skill-badge skill-badge-phase">development/debug</span>
673
+ </div>
674
+ <p class="skill-description">Conversational triage on a tracked bug — answer the user, decide whether to reopen the fix or re-audit, never modify code directly.</p>
675
+ </div>
676
+ <div class="skill-card" id="skill-fix-bug">
677
+ <div class="skill-card-header">
678
+ <code class="skill-slug">/fix-bug</code>
679
+ <span class="skill-badge skill-badge-phase">development/debug</span>
680
+ </div>
681
+ <p class="skill-description">Implement a fix for a user-reported bug — edit code, verify, commit atomically with a traceable message.</p>
682
+ </div>
683
+ </div>
684
+ <h3 id="phase-development-frontend">development/frontend <span class="skill-count">(7)</span></h3>
685
+ <div class="skill-grid">
686
+ <div class="skill-card" id="skill-frontend-api-client">
687
+ <div class="skill-card-header">
688
+ <code class="skill-slug">/frontend-api-client</code>
689
+ <span class="skill-badge skill-badge-phase">development/frontend</span>
690
+ </div>
691
+ <p class="skill-description">Generates TypeScript service clients + React Query hooks using smartstackClient (shared axios instance from @atlashub/smartstack npm package) and direct REST paths (/api/{module}/{plural}).</p>
692
+ </div>
693
+ <div class="skill-card" id="skill-frontend-auth">
694
+ <div class="skill-card-header">
695
+ <code class="skill-slug">/frontend-auth</code>
696
+ <span class="skill-badge skill-badge-phase">development/frontend</span>
697
+ </div>
698
+ <p class="skill-description">Scaffold the per-project useAuth hook + PermissionGuard component</p>
699
+ </div>
700
+ <div class="skill-card" id="skill-frontend-component">
701
+ <div class="skill-card-header">
702
+ <code class="skill-slug">/frontend-component</code>
703
+ <span class="skill-badge skill-badge-phase">development/frontend</span>
704
+ </div>
705
+ <p class="skill-description">Generates React page components (list, detail, form) consuming @atlashub/smartstack npm package: PermissionGuard, Slot, SmartStackProvider. i18n keys are split per entity to prevent concurrent-generation overwrites.</p>
706
+ </div>
707
+ <div class="skill-card" id="skill-frontend-extension-config">
708
+ <div class="skill-card-header">
709
+ <code class="skill-slug">/frontend-extension-config</code>
710
+ <span class="skill-badge skill-badge-phase">development/frontend</span>
711
+ </div>
712
+ <p class="skill-description">Generates ExtensionConfig (@atlashub/smartstack) with slot definitions that mirror the &lt;Slot name&#x3D;&quot;...&quot;&gt; calls emitted by frontend/component.</p>
713
+ </div>
714
+ <div class="skill-card" id="skill-frontend-routes">
715
+ <div class="skill-card-header">
716
+ <code class="skill-slug">/frontend-routes</code>
717
+ <span class="skill-badge skill-badge-phase">development/frontend</span>
718
+ </div>
719
+ <p class="skill-description">Generates PageRegistry registrations for SmartStack&#x27;s DB-driven routing (DynamicRouter). Validates componentKey format before emission and fails loud on bad specs rather than producing silent-spinner registries.</p>
720
+ </div>
721
+ <div class="skill-card" id="skill-frontend-structure">
722
+ <div class="skill-card-header">
723
+ <code class="skill-slug">/frontend-structure</code>
724
+ <span class="skill-badge skill-badge-phase">development/frontend</span>
725
+ </div>
726
+ <p class="skill-description">React + Vite + Tailwind + SmartStack frontend structure (npm consumer of @atlashub/smartstack)</p>
727
+ </div>
728
+ <div class="skill-card" id="skill-ui-polish">
729
+ <div class="skill-card-header">
730
+ <code class="skill-slug">/ui-polish</code>
731
+ <span class="skill-badge skill-badge-phase">development/frontend</span>
732
+ </div>
733
+ <p class="skill-description">Audits and auto-fixes React pages in a generated SmartStack frontend against the customisation-ui design system standards (CSS variable tokens, PageTemplate wrapper, DataTable/EntityCard components, lucide-react icons, semantic badges, permission keys, i18n namespaces). Produces a violation report (audit mode) or applies mechanical fixes (apply mode) based on tokens.json. Invoked after Phase 4 of ba-develop to guarantee visual consistency with the reference app.</p>
734
+ </div>
735
+ </div>
736
+ <h3 id="phase-development-run">development/run <span class="skill-count">(3)</span></h3>
737
+ <div class="skill-grid">
738
+ <div class="skill-card" id="skill-run">
739
+ <div class="skill-card-header">
740
+ <code class="skill-slug">/run</code>
741
+ <span class="skill-badge skill-badge-phase">development/run</span>
742
+ </div>
743
+ <p class="skill-description">Kill orphans + launch backend + frontend, auto-retry on failure</p>
744
+ </div>
745
+ <div class="skill-card" id="skill-run-backend">
746
+ <div class="skill-card-header">
747
+ <code class="skill-slug">/run-backend</code>
748
+ <span class="skill-badge skill-badge-phase">development/run</span>
749
+ </div>
750
+ <p class="skill-description">Kill stale .Api processes, launch dotnet run, verify /health — retry loop</p>
751
+ </div>
752
+ <div class="skill-card" id="skill-run-frontend">
753
+ <div class="skill-card-header">
754
+ <code class="skill-slug">/run-frontend</code>
755
+ <span class="skill-badge skill-badge-phase">development/run</span>
756
+ </div>
757
+ <p class="skill-description">Kill stale Vite, npm run dev, verify /, retry loop</p>
758
+ </div>
759
+ </div>
760
+ <h3 id="phase-development-smoke-test">development/smoke-test <span class="skill-count">(1)</span></h3>
761
+ <div class="skill-grid">
762
+ <div class="skill-card" id="skill-smoke-test">
763
+ <div class="skill-card-header">
764
+ <code class="skill-slug">/smoke-test</code>
765
+ <span class="skill-badge skill-badge-phase">development/smoke-test</span>
766
+ </div>
767
+ <p class="skill-description">Runtime smoke-test for a freshly-generated SmartStack.app project. Starts the backend (&#x60;dotnet run&#x60;) and the frontend (&#x60;npm run dev&#x60;) in the background, waits for both to become reachable, then probes every page route and every API endpoint scaffolded by the pipeline. Fails the run if ANY endpoint returns a 4xx/5xx status code or if any page is missing from disk. Designed to be the final gate of &#x60;ba-develop&#x60; so cross-stack drift surfaces in CI rather than at the user&#x27;s first manual &#x60;npm run dev&#x60;.</p>
768
+ </div>
769
+ </div>
770
+ <h3 id="phase-development-testing">development/testing <span class="skill-count">(3)</span></h3>
771
+ <div class="skill-grid">
772
+ <div class="skill-card" id="skill-development-testing-fix-build">
773
+ <div class="skill-card-header">
774
+ <code class="skill-slug">/development-testing-fix-build</code>
775
+ <span class="skill-badge skill-badge-phase">development/testing</span>
776
+ </div>
777
+ <p class="skill-description">Auto-correct a SINGLE compilation error surfaced by the Studio&#x27;s Dev Runner (dotnet CS####, tsc TS####, vite resolve). The caller provides one &#x60;BuildError&#x60; with file/line/column/code/message. Your job is to apply the MINIMUM patch to make that specific error go away, without refactoring surrounding code. Invoked by &#x60;build-fix-runner.ts&#x60; in a retry loop (max 15 iterations, convergence guard, rebuild-and-reparse after each attempt).</p>
778
+ </div>
779
+ <div class="skill-card" id="skill-development-testing-ui-test">
780
+ <div class="skill-card-header">
781
+ <code class="skill-slug">/development-testing-ui-test</code>
782
+ <span class="skill-badge skill-badge-phase">development/testing</span>
783
+ </div>
784
+ <p class="skill-description">Phase 5 UI tests — drives dev-browser to navigate every scaffolded page, submit forms with role-based seeded users, and auto-correct failures via the existing fix-bug skill loop (max 50 iterations per test). Runs after the frontend scaffolders complete (routes + component + api-client + extension-config) and verifies the full backend ↔ frontend round-trip.</p>
785
+ </div>
786
+ <div class="skill-card" id="skill-smoke-http">
787
+ <div class="skill-card-header">
788
+ <code class="skill-slug">/smoke-http</code>
789
+ <span class="skill-badge skill-badge-phase">development/testing</span>
790
+ </div>
791
+ <p class="skill-description">HTTP smoke prober for generated SmartStack applications. Given a list of URLs (frontend routes + backend API endpoints), fetches each one, follows redirects, applies retry-on-startup, and returns a JSON report of 200/non-200 results. Invoked after Phase 4 of ba-develop to detect broken routes and missing API endpoints before the user ever sees a 404 in the browser.</p>
792
+ </div>
793
+ </div>
794
+ <h3 id="phase-devfrontend">devFrontend <span class="skill-count">(3)</span></h3>
795
+ <div class="skill-grid">
796
+ <div class="skill-card" id="skill-audit-dev-frontend">
797
+ <div class="skill-card-header">
798
+ <code class="skill-slug">/audit-dev-frontend</code>
799
+ <span class="skill-badge skill-badge-phase">devFrontend</span>
800
+ </div>
801
+ <p class="skill-description">Audit code generated by the Frontend phase against the PRD slice — page coverage, registry wiring, lazy-import integrity, i18n namespaces, drift detection</p>
802
+ </div>
803
+ <div class="skill-card" id="skill-scaffold-layout">
804
+ <div class="skill-card-header">
805
+ <code class="skill-slug">/scaffold-layout</code>
806
+ <span class="skill-badge skill-badge-phase">devFrontend</span>
807
+ </div>
808
+ <p class="skill-description">Scaffold the app-level layout shell (PageTemplate + AppShell) reading nav from /api/navigation/menu, honoring per-app branding via @customised marker.</p>
809
+ </div>
810
+ <div class="skill-card" id="skill-scaffold-theme">
811
+ <div class="skill-card-header">
812
+ <code class="skill-slug">/scaffold-theme</code>
813
+ <span class="skill-badge skill-badge-phase">devFrontend</span>
814
+ </div>
815
+ <p class="skill-description">Bootstrap src/index.css with Tailwind v4 + Shoelace token overrides + design tokens from the PRD theme slice (or SmartStack defaults). Idempotent overwrite.</p>
816
+ </div>
817
+ </div>
818
+ <h3 id="phase-infrastructure">infrastructure <span class="skill-count">(2)</span></h3>
819
+ <div class="skill-grid">
820
+ <div class="skill-card" id="skill-ba-develop">
821
+ <div class="skill-card-header">
822
+ <code class="skill-slug">/ba-develop</code>
823
+ <span class="skill-badge skill-badge-phase">infrastructure</span>
824
+ </div>
825
+ <p class="skill-description">Consumes a module&#x27;s PRD on disk (&#x60;prd.md&#x60; + 3 phase slices + &#x60;pagespecs/*.md&#x60; under &#x60;.smartstack/ba/&lt;APP&gt;/&lt;MODULE&gt;/&#x60;) and drives development through 4 sequential phases (Core Foundation Seed → Entities → API → Frontend), each running as a subagent. Phase 0 is deterministic — the agent invokes scaffold-core-seed to write the per-app navigation + roles + permissions in one shot, eliminating the silent empty-module regression. Gates between phases verify compile + tests + per-module coverage before advancing. Invoked after &#x60;/ba-create-prd&#x60; + &#x60;/ba-audit-prd&#x60; (dev-ready GO, score ≥ 80).</p>
826
+ </div>
827
+ <div class="skill-card" id="skill-ba-develop-plan">
828
+ <div class="skill-card-header">
829
+ <code class="skill-slug">/ba-develop-plan</code>
830
+ <span class="skill-badge skill-badge-phase">infrastructure</span>
831
+ </div>
832
+ <p class="skill-description">Orchestrates multi-module development across applications by executing the phased plan from /ba-create-plan-development. Reads dev-plan.json, runs a preflight check, then drives wave-by-wave execution: for each wave, launches one /ba-develop subagent per module (parallel within a wave), gates between waves (compile + tests for all modules), and reports unified results.</p>
833
+ <div class="skill-args"><span class="skill-args-label">args:</span> <code>[--waves 1,2]</code></div>
834
+ <div class="skill-tools">
835
+ <span class="skill-tool-tag">Agent</span>
836
+ <span class="skill-tool-tag">Bash</span>
837
+ <span class="skill-tool-tag">Read</span>
838
+ <span class="skill-tool-tag">Glob</span>
839
+ <span class="skill-tool-tag">Grep</span>
840
+ <span class="skill-tool-tag">Skill</span>
841
+ </div>
842
+ </div>
843
+ </div>
844
+ </section>
845
+
846
+ </div>
847
+ </main>
848
+ </div>
849
+ </div>
850
+ <script src="js/app.js"></script>
851
+ </body>
852
+ </html>