siesa-agents 2.1.71 → 2.1.72-qa.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (923) hide show
  1. package/README.md +133 -133
  2. package/bin/install.js +668 -668
  3. package/bin/prepare-publish.js +26 -26
  4. package/bin/restore-folders.js +26 -26
  5. package/bmad/_config/agent-manifest.csv +20 -20
  6. package/bmad/_config/agents/bmb-agent-builder.customize.yaml +41 -41
  7. package/bmad/_config/agents/bmb-module-builder.customize.yaml +41 -41
  8. package/bmad/_config/agents/bmb-workflow-builder.customize.yaml +41 -41
  9. package/bmad/_config/agents/bmm-analyst.customize.yaml +41 -41
  10. package/bmad/_config/agents/bmm-architect.customize.yaml +41 -41
  11. package/bmad/_config/agents/bmm-dev.customize.yaml +41 -41
  12. package/bmad/_config/agents/bmm-pm.customize.yaml +41 -41
  13. package/bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -41
  14. package/bmad/_config/agents/bmm-sm.customize.yaml +41 -41
  15. package/bmad/_config/agents/bmm-tea.customize.yaml +41 -41
  16. package/bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -41
  17. package/bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -41
  18. package/bmad/_config/agents/cis-brainstorming-coach.customize.yaml +41 -41
  19. package/bmad/_config/agents/cis-creative-problem-solver.customize.yaml +41 -41
  20. package/bmad/_config/agents/cis-design-thinking-coach.customize.yaml +41 -41
  21. package/bmad/_config/agents/cis-innovation-strategist.customize.yaml +41 -41
  22. package/bmad/_config/agents/cis-presentation-master.customize.yaml +41 -41
  23. package/bmad/_config/agents/cis-storyteller.customize.yaml +41 -41
  24. package/bmad/_config/agents/core-bmad-master.customize.yaml +41 -41
  25. package/bmad/_config/files-manifest.csv +469 -469
  26. package/bmad/_config/ides/claude-code.yaml +6 -6
  27. package/bmad/_config/manifest.yaml +14 -14
  28. package/bmad/_config/task-manifest.csv +6 -6
  29. package/bmad/_config/tool-manifest.csv +1 -1
  30. package/bmad/_config/workflow-manifest.csv +45 -45
  31. package/bmad/_memory/config.yaml +11 -11
  32. package/bmad/_memory/storyteller-sidecar/stories-told.md +7 -7
  33. package/bmad/_memory/storyteller-sidecar/story-preferences.md +7 -7
  34. package/bmad/bmb/README.md +25 -25
  35. package/bmad/bmb/agents/agent-builder.md +57 -57
  36. package/bmad/bmb/agents/module-builder.md +60 -60
  37. package/bmad/bmb/agents/workflow-builder.md +56 -56
  38. package/bmad/bmb/config.yaml +12 -12
  39. package/bmad/bmb/docs/workflows/architecture.md +220 -220
  40. package/bmad/bmb/docs/workflows/common-workflow-tools.csv +18 -18
  41. package/bmad/bmb/docs/workflows/csv-data-file-standards.md +206 -206
  42. package/bmad/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -220
  43. package/bmad/bmb/docs/workflows/step-file-rules.md +469 -469
  44. package/bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -241
  45. package/bmad/bmb/docs/workflows/templates/step-1b-template.md +223 -223
  46. package/bmad/bmb/docs/workflows/templates/step-file.md +139 -139
  47. package/bmad/bmb/docs/workflows/templates/step-template.md +290 -290
  48. package/bmad/bmb/docs/workflows/templates/workflow-template.md +104 -104
  49. package/bmad/bmb/docs/workflows/templates/workflow.md +58 -58
  50. package/bmad/bmb/docs/workflows/terms.md +97 -97
  51. package/bmad/bmb/reference/agents/simple-examples/README.md +223 -223
  52. package/bmad/bmb/reference/readme.md +3 -3
  53. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +17 -17
  54. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +15 -15
  55. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +27 -27
  56. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -177
  57. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +121 -121
  58. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +165 -165
  59. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +154 -154
  60. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +183 -183
  61. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +168 -168
  62. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +195 -195
  63. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -25
  64. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -68
  65. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -29
  66. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -47
  67. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -37
  68. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -18
  69. package/bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md +59 -59
  70. package/bmad/bmb/workflows/agent/data/agent-compilation.md +273 -273
  71. package/bmad/bmb/workflows/agent/data/agent-menu-patterns.md +233 -233
  72. package/bmad/bmb/workflows/agent/data/agent-metadata.md +208 -208
  73. package/bmad/bmb/workflows/agent/data/brainstorm-context.md +146 -146
  74. package/bmad/bmb/workflows/agent/data/communication-presets.csv +61 -61
  75. package/bmad/bmb/workflows/agent/data/critical-actions.md +120 -120
  76. package/bmad/bmb/workflows/agent/data/expert-agent-architecture.md +236 -236
  77. package/bmad/bmb/workflows/agent/data/expert-agent-validation.md +173 -173
  78. package/bmad/bmb/workflows/agent/data/module-agent-validation.md +124 -124
  79. package/bmad/bmb/workflows/agent/data/persona-properties.md +266 -266
  80. package/bmad/bmb/workflows/agent/data/principles-crafting.md +292 -292
  81. package/bmad/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +16 -16
  82. package/bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +68 -68
  83. package/bmad/bmb/workflows/agent/data/simple-agent-architecture.md +204 -204
  84. package/bmad/bmb/workflows/agent/data/simple-agent-validation.md +132 -132
  85. package/bmad/bmb/workflows/agent/data/understanding-agent-types.md +222 -222
  86. package/bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +126 -126
  87. package/bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +168 -168
  88. package/bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +294 -294
  89. package/bmad/bmb/workflows/agent/steps-c/step-04-persona.md +210 -210
  90. package/bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +176 -176
  91. package/bmad/bmb/workflows/agent/steps-c/step-06-activation.md +275 -275
  92. package/bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +185 -185
  93. package/bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +201 -201
  94. package/bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +258 -258
  95. package/bmad/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +203 -203
  96. package/bmad/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +135 -135
  97. package/bmad/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +161 -161
  98. package/bmad/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +158 -158
  99. package/bmad/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +306 -306
  100. package/bmad/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +462 -462
  101. package/bmad/bmb/workflows/agent/steps-c/step-09-celebrate.md +244 -244
  102. package/bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +214 -214
  103. package/bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +191 -191
  104. package/bmad/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +78 -78
  105. package/bmad/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +76 -76
  106. package/bmad/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +75 -75
  107. package/bmad/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +75 -75
  108. package/bmad/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +78 -78
  109. package/bmad/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +119 -119
  110. package/bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +122 -122
  111. package/bmad/bmb/workflows/agent/steps-e/e-05-persona.md +132 -132
  112. package/bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +120 -120
  113. package/bmad/bmb/workflows/agent/steps-e/e-07-activation.md +122 -122
  114. package/bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +134 -134
  115. package/bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +117 -117
  116. package/bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +120 -120
  117. package/bmad/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +70 -70
  118. package/bmad/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +70 -70
  119. package/bmad/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +69 -69
  120. package/bmad/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +69 -69
  121. package/bmad/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +70 -70
  122. package/bmad/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +111 -111
  123. package/bmad/bmb/workflows/agent/steps-e/e-10-celebrate.md +150 -150
  124. package/bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +128 -128
  125. package/bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +73 -73
  126. package/bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +72 -72
  127. package/bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +71 -71
  128. package/bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +71 -71
  129. package/bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +76 -76
  130. package/bmad/bmb/workflows/agent/steps-v/v-03-summary.md +100 -100
  131. package/bmad/bmb/workflows/agent/templates/agent-plan.template.md +5 -5
  132. package/bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +76 -76
  133. package/bmad/bmb/workflows/agent/templates/simple-agent.template.md +71 -71
  134. package/bmad/bmb/workflows/agent/workflow.md +123 -123
  135. package/bmad/bmb/workflows/create-module/steps/step-01-init.md +156 -156
  136. package/bmad/bmb/workflows/create-module/steps/step-01b-continue.md +170 -170
  137. package/bmad/bmb/workflows/create-module/steps/step-02-concept.md +218 -218
  138. package/bmad/bmb/workflows/create-module/steps/step-03-components.md +268 -268
  139. package/bmad/bmb/workflows/create-module/steps/step-04-structure.md +229 -229
  140. package/bmad/bmb/workflows/create-module/steps/step-05-config.md +234 -234
  141. package/bmad/bmb/workflows/create-module/steps/step-06-agents.md +297 -297
  142. package/bmad/bmb/workflows/create-module/steps/step-07-workflows.md +229 -229
  143. package/bmad/bmb/workflows/create-module/steps/step-08-installer.md +187 -187
  144. package/bmad/bmb/workflows/create-module/steps/step-09-documentation.md +310 -310
  145. package/bmad/bmb/workflows/create-module/steps/step-10-roadmap.md +338 -338
  146. package/bmad/bmb/workflows/create-module/steps/step-11-validate.md +336 -336
  147. package/bmad/bmb/workflows/create-module/templates/agent.template.md +313 -313
  148. package/bmad/bmb/workflows/create-module/templates/installer.template.js +47 -47
  149. package/bmad/bmb/workflows/create-module/templates/module-plan.template.md +5 -5
  150. package/bmad/bmb/workflows/create-module/templates/module.template.yaml +53 -53
  151. package/bmad/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -23
  152. package/bmad/bmb/workflows/create-module/validation.md +126 -126
  153. package/bmad/bmb/workflows/create-module/workflow.md +56 -56
  154. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +17 -17
  155. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +15 -15
  156. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +27 -27
  157. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +177 -177
  158. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +150 -150
  159. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +164 -164
  160. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +152 -152
  161. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +182 -182
  162. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +167 -167
  163. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -194
  164. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +25 -25
  165. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +68 -68
  166. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +29 -29
  167. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +47 -47
  168. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +37 -37
  169. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +18 -18
  170. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +58 -58
  171. package/bmad/bmb/workflows/create-workflow/steps/step-01-init.md +158 -158
  172. package/bmad/bmb/workflows/create-workflow/steps/step-02-gather.md +212 -212
  173. package/bmad/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +251 -251
  174. package/bmad/bmb/workflows/create-workflow/steps/step-04-plan-review.md +217 -217
  175. package/bmad/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +290 -290
  176. package/bmad/bmb/workflows/create-workflow/steps/step-06-design.md +272 -272
  177. package/bmad/bmb/workflows/create-workflow/steps/step-07-build.md +323 -323
  178. package/bmad/bmb/workflows/create-workflow/steps/step-08-review.md +285 -285
  179. package/bmad/bmb/workflows/create-workflow/steps/step-09-complete.md +188 -188
  180. package/bmad/bmb/workflows/create-workflow/workflow.md +59 -59
  181. package/bmad/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -217
  182. package/bmad/bmb/workflows/edit-workflow/steps/step-02-discover.md +254 -254
  183. package/bmad/bmb/workflows/edit-workflow/steps/step-03-improve.md +218 -218
  184. package/bmad/bmb/workflows/edit-workflow/steps/step-04-validate.md +194 -194
  185. package/bmad/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +246 -246
  186. package/bmad/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -75
  187. package/bmad/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -68
  188. package/bmad/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -40
  189. package/bmad/bmb/workflows/edit-workflow/templates/validation-results.md +51 -51
  190. package/bmad/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -56
  191. package/bmad/bmb/workflows/edit-workflow/workflow.md +59 -59
  192. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +153 -153
  193. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +244 -244
  194. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +275 -275
  195. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +296 -296
  196. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +265 -265
  197. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +361 -361
  198. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +259 -259
  199. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +302 -302
  200. package/bmad/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -140
  201. package/bmad/bmb/workflows/workflow-compliance-check/workflow.md +59 -59
  202. package/bmad/bmb/workflows-legacy/edit-module/README.md +171 -171
  203. package/bmad/bmb/workflows-legacy/edit-module/checklist.md +163 -163
  204. package/bmad/bmb/workflows-legacy/edit-module/instructions.md +340 -340
  205. package/bmad/bmb/workflows-legacy/edit-module/workflow.yaml +32 -32
  206. package/bmad/bmb/workflows-legacy/module-brief/README.md +264 -264
  207. package/bmad/bmb/workflows-legacy/module-brief/checklist.md +116 -116
  208. package/bmad/bmb/workflows-legacy/module-brief/instructions.md +268 -268
  209. package/bmad/bmb/workflows-legacy/module-brief/template.md +275 -275
  210. package/bmad/bmb/workflows-legacy/module-brief/workflow.yaml +34 -34
  211. package/bmad/bmm/agents/analyst.md +76 -76
  212. package/bmad/bmm/agents/architect.md +68 -68
  213. package/bmad/bmm/agents/dev.md +70 -70
  214. package/bmad/bmm/agents/pm.md +70 -70
  215. package/bmad/bmm/agents/quick-flow-solo-dev.md +68 -68
  216. package/bmad/bmm/agents/sm.md +71 -71
  217. package/bmad/bmm/agents/tea.md +71 -71
  218. package/bmad/bmm/agents/tech-writer.md +72 -72
  219. package/bmad/bmm/agents/ux-designer.md +68 -68
  220. package/bmad/bmm/config.yaml +18 -18
  221. package/bmad/bmm/data/README.md +29 -29
  222. package/bmad/bmm/data/documentation-standards.md +262 -262
  223. package/bmad/bmm/data/git-flow-siesa.md +69 -69
  224. package/bmad/bmm/data/project-context-template.md +40 -40
  225. package/bmad/bmm/teams/default-party.csv +21 -21
  226. package/bmad/bmm/teams/team-fullstack.yaml +12 -12
  227. package/bmad/bmm/testarch/knowledge/api-request.md +303 -303
  228. package/bmad/bmm/testarch/knowledge/auth-session.md +356 -356
  229. package/bmad/bmm/testarch/knowledge/burn-in.md +273 -273
  230. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -675
  231. package/bmad/bmm/testarch/knowledge/component-tdd.md +486 -486
  232. package/bmad/bmm/testarch/knowledge/contract-testing.md +957 -957
  233. package/bmad/bmm/testarch/knowledge/data-factories.md +500 -500
  234. package/bmad/bmm/testarch/knowledge/email-auth.md +721 -721
  235. package/bmad/bmm/testarch/knowledge/error-handling.md +725 -725
  236. package/bmad/bmm/testarch/knowledge/feature-flags.md +750 -750
  237. package/bmad/bmm/testarch/knowledge/file-utils.md +260 -260
  238. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -401
  239. package/bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -382
  240. package/bmad/bmm/testarch/knowledge/intercept-network-call.md +280 -280
  241. package/bmad/bmm/testarch/knowledge/log.md +294 -294
  242. package/bmad/bmm/testarch/knowledge/network-error-monitor.md +272 -272
  243. package/bmad/bmm/testarch/knowledge/network-first.md +486 -486
  244. package/bmad/bmm/testarch/knowledge/network-recorder.md +265 -265
  245. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -670
  246. package/bmad/bmm/testarch/knowledge/overview.md +283 -283
  247. package/bmad/bmm/testarch/knowledge/playwright-config.md +730 -730
  248. package/bmad/bmm/testarch/knowledge/probability-impact.md +601 -601
  249. package/bmad/bmm/testarch/knowledge/recurse.md +296 -296
  250. package/bmad/bmm/testarch/knowledge/risk-governance.md +615 -615
  251. package/bmad/bmm/testarch/knowledge/selective-testing.md +732 -732
  252. package/bmad/bmm/testarch/knowledge/selector-resilience.md +527 -527
  253. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -644
  254. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -473
  255. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -373
  256. package/bmad/bmm/testarch/knowledge/test-quality.md +664 -664
  257. package/bmad/bmm/testarch/knowledge/timing-debugging.md +372 -372
  258. package/bmad/bmm/testarch/knowledge/visual-debugging.md +524 -524
  259. package/bmad/bmm/testarch/tea-index.csv +33 -33
  260. package/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
  261. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -182
  262. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -166
  263. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -204
  264. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -207
  265. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -210
  266. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -224
  267. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -199
  268. package/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -58
  269. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
  270. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
  271. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
  272. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
  273. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
  274. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -443
  275. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
  276. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
  277. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -200
  278. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
  279. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
  280. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
  281. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -475
  282. package/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
  283. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
  284. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
  285. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
  286. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
  287. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -239
  288. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -486
  289. package/bmad/bmm/workflows/1-analysis/research/workflow.md +173 -173
  290. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
  291. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
  292. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
  293. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
  294. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
  295. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
  296. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
  297. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
  298. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
  299. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
  300. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
  301. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +338 -338
  302. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
  303. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
  304. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -228
  305. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
  306. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +59 -59
  307. package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +12 -12
  308. package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -11
  309. package/bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +10 -10
  310. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -197
  311. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -166
  312. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -421
  313. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -290
  314. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -291
  315. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -271
  316. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -262
  317. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -258
  318. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -299
  319. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -270
  320. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -294
  321. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -186
  322. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -63
  323. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -190
  324. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -178
  325. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -179
  326. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -139
  327. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -252
  328. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -133
  329. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
  330. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -55
  331. package/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
  332. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/architecture-patterns.md +443 -443
  333. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/backend-standards.md +811 -811
  334. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/database-conventions.md +667 -667
  335. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/frontend-standards.md +1200 -1200
  336. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/mastercrud-use-reference.md +276 -276
  337. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technical-preferences-ux.md +423 -423
  338. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technology-stack.md +293 -293
  339. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/vite-config-standard.md +535 -535
  340. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +10 -10
  341. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
  342. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +174 -174
  343. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -164
  344. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
  345. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +342 -342
  346. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +328 -328
  347. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +368 -368
  348. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +381 -381
  349. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +366 -366
  350. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -352
  351. package/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +51 -51
  352. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
  353. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +274 -274
  354. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
  355. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +209 -209
  356. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +72 -72
  357. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -59
  358. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
  359. package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml.bak +224 -224
  360. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-01-load-story.md +101 -101
  361. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-02-build-plan.md +89 -89
  362. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-03-review.md +91 -91
  363. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-04-fix.md +92 -92
  364. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-05-sync-sprint.md +70 -70
  365. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-06-jira-sync.md +135 -135
  366. package/bmad/bmm/workflows/4-implementation/code-review/steps/step-07-commit-push.md +174 -174
  367. package/bmad/bmm/workflows/4-implementation/code-review/workflow.md +57 -57
  368. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml.bak +49 -49
  369. package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -279
  370. package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -206
  371. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -58
  372. package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
  373. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +85 -85
  374. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +67 -67
  375. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +71 -71
  376. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +58 -58
  377. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +76 -76
  378. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +106 -106
  379. package/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
  380. package/bmad/bmm/workflows/4-implementation/create-story/workflow.md +58 -58
  381. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml.bak +63 -63
  382. package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +85 -85
  383. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-01-find-story.md +109 -109
  384. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-02-check-branch.md +108 -108
  385. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-03-load-context.md +46 -46
  386. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-04-env-readiness.md +45 -45
  387. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-05-review-check.md +57 -57
  388. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-06-mark-in-progress.md +52 -52
  389. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-07-implement.md +62 -62
  390. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-08-test-authoring.md +39 -39
  391. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-09-run-tests.md +43 -43
  392. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-10-validate-task.md +63 -63
  393. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-11-mark-review.md +50 -50
  394. package/bmad/bmm/workflows/4-implementation/dev-story/steps/step-12-communication.md +45 -45
  395. package/bmad/bmm/workflows/4-implementation/dev-story/workflow.md +44 -44
  396. package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -1443
  397. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +56 -56
  398. package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +34 -34
  399. package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +276 -276
  400. package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +63 -63
  401. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -52
  402. package/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -229
  403. package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +34 -34
  404. package/bmad/bmm/workflows/5-documentation/README.md +235 -235
  405. package/bmad/bmm/workflows/5-documentation/create-user-guide/data/audience-types.csv +5 -5
  406. package/bmad/bmm/workflows/5-documentation/create-user-guide/data/diagram-types.csv +6 -6
  407. package/bmad/bmm/workflows/5-documentation/create-user-guide/data/section-structure.csv +10 -10
  408. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-01-init.md +213 -213
  409. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-01b-continue.md +268 -268
  410. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-02-seleccion-epicas.md +10 -10
  411. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-02-seleccion-features.md +197 -197
  412. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-03-analisis-fuentes.md +235 -235
  413. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-04-elicitacion.md +116 -116
  414. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-05-generacion-espanol.md +611 -611
  415. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-06-traduccion-ingles.md +615 -615
  416. package/bmad/bmm/workflows/5-documentation/create-user-guide/steps/step-07-validacion-guardado.md +467 -467
  417. package/bmad/bmm/workflows/5-documentation/create-user-guide/templates/user-guide-template-en.md +50 -50
  418. package/bmad/bmm/workflows/5-documentation/create-user-guide/templates/user-guide-template-es.md +50 -50
  419. package/bmad/bmm/workflows/5-documentation/create-user-guide/workflow-plan-create-user-guide.md +949 -949
  420. package/bmad/bmm/workflows/5-documentation/create-user-guide/workflow.md +61 -61
  421. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -189
  422. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -144
  423. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -128
  424. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -173
  425. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -74
  426. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -79
  427. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -156
  428. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -120
  429. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -113
  430. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -113
  431. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -106
  432. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -140
  433. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -52
  434. package/bmad/bmm/workflows/document-project/checklist.md +245 -245
  435. package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
  436. package/bmad/bmm/workflows/document-project/instructions.md +221 -221
  437. package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
  438. package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
  439. package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
  440. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
  441. package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
  442. package/bmad/bmm/workflows/document-project/workflow.yaml +28 -28
  443. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
  444. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
  445. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
  446. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
  447. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -90
  448. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -127
  449. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -39
  450. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -130
  451. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +25 -25
  452. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -43
  453. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -141
  454. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +25 -25
  455. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -49
  456. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -241
  457. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +25 -25
  458. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -38
  459. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -133
  460. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +25 -25
  461. package/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -21
  462. package/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +261 -261
  463. package/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +342 -342
  464. package/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -278
  465. package/bmad/bmm/workflows/generate-project-context/workflow.md +51 -51
  466. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -364
  467. package/bmad/bmm/workflows/testarch/atdd/checklist.md +374 -374
  468. package/bmad/bmm/workflows/testarch/atdd/instructions.md +806 -806
  469. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -45
  470. package/bmad/bmm/workflows/testarch/automate/checklist.md +582 -582
  471. package/bmad/bmm/workflows/testarch/automate/instructions.md +1324 -1324
  472. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -52
  473. package/bmad/bmm/workflows/testarch/ci/checklist.md +248 -248
  474. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -198
  475. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -149
  476. package/bmad/bmm/workflows/testarch/ci/instructions.md +536 -536
  477. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -45
  478. package/bmad/bmm/workflows/testarch/framework/checklist.md +321 -321
  479. package/bmad/bmm/workflows/testarch/framework/instructions.md +481 -481
  480. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -47
  481. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -407
  482. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -722
  483. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -445
  484. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -47
  485. package/bmad/bmm/workflows/testarch/test-design/checklist.md +235 -235
  486. package/bmad/bmm/workflows/testarch/test-design/instructions.md +788 -788
  487. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -294
  488. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +54 -54
  489. package/bmad/bmm/workflows/testarch/test-review/checklist.md +472 -472
  490. package/bmad/bmm/workflows/testarch/test-review/instructions.md +628 -628
  491. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -390
  492. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -46
  493. package/bmad/bmm/workflows/testarch/trace/checklist.md +655 -655
  494. package/bmad/bmm/workflows/testarch/trace/instructions.md +1047 -1047
  495. package/bmad/bmm/workflows/testarch/trace/trace-template.md +675 -675
  496. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -55
  497. package/bmad/bmm/workflows/workflow-status/init/instructions.md +346 -346
  498. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +28 -28
  499. package/bmad/bmm/workflows/workflow-status/instructions.md +395 -395
  500. package/bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -103
  501. package/bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -100
  502. package/bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -103
  503. package/bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -100
  504. package/bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -59
  505. package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -24
  506. package/bmad/bmm/workflows/workflow-status/workflow.yaml +30 -30
  507. package/bmad/cis/agents/brainstorming-coach.md +60 -60
  508. package/bmad/cis/agents/creative-problem-solver.md +60 -60
  509. package/bmad/cis/agents/design-thinking-coach.md +60 -60
  510. package/bmad/cis/agents/innovation-strategist.md +60 -60
  511. package/bmad/cis/agents/presentation-master.md +66 -66
  512. package/bmad/cis/agents/storyteller/storyteller.md +57 -57
  513. package/bmad/cis/config.yaml +11 -11
  514. package/bmad/cis/teams/creative-squad.yaml +7 -7
  515. package/bmad/cis/teams/default-party.csv +12 -12
  516. package/bmad/cis/workflows/README.md +139 -139
  517. package/bmad/cis/workflows/design-thinking/README.md +56 -56
  518. package/bmad/cis/workflows/design-thinking/design-methods.csv +30 -30
  519. package/bmad/cis/workflows/design-thinking/instructions.md +202 -202
  520. package/bmad/cis/workflows/design-thinking/template.md +111 -111
  521. package/bmad/cis/workflows/design-thinking/workflow.yaml +27 -27
  522. package/bmad/cis/workflows/innovation-strategy/README.md +56 -56
  523. package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +30 -30
  524. package/bmad/cis/workflows/innovation-strategy/instructions.md +276 -276
  525. package/bmad/cis/workflows/innovation-strategy/template.md +189 -189
  526. package/bmad/cis/workflows/innovation-strategy/workflow.yaml +27 -27
  527. package/bmad/cis/workflows/problem-solving/README.md +56 -56
  528. package/bmad/cis/workflows/problem-solving/instructions.md +252 -252
  529. package/bmad/cis/workflows/problem-solving/solving-methods.csv +30 -30
  530. package/bmad/cis/workflows/problem-solving/template.md +165 -165
  531. package/bmad/cis/workflows/problem-solving/workflow.yaml +27 -27
  532. package/bmad/cis/workflows/storytelling/README.md +58 -58
  533. package/bmad/cis/workflows/storytelling/instructions.md +293 -293
  534. package/bmad/cis/workflows/storytelling/story-types.csv +25 -25
  535. package/bmad/cis/workflows/storytelling/template.md +113 -113
  536. package/bmad/cis/workflows/storytelling/workflow.yaml +27 -27
  537. package/bmad/core/agents/bmad-master.md +57 -57
  538. package/bmad/core/config.yaml +9 -9
  539. package/bmad/core/resources/excalidraw/README.md +160 -160
  540. package/bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -127
  541. package/bmad/core/resources/excalidraw/library-loader.md +50 -50
  542. package/bmad/core/resources/excalidraw/validate-json-instructions.md +79 -79
  543. package/bmad/core/tasks/index-docs.xml +64 -64
  544. package/bmad/core/tasks/review-adversarial-general.xml +41 -41
  545. package/bmad/core/tasks/shard-doc.xml +108 -108
  546. package/bmad/core/tasks/validate-workflow.xml +88 -88
  547. package/bmad/core/tasks/workflow.xml +234 -234
  548. package/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
  549. package/bmad/core/workflows/advanced-elicitation/workflow.xml +116 -116
  550. package/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
  551. package/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -197
  552. package/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
  553. package/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
  554. package/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
  555. package/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
  556. package/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
  557. package/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +340 -340
  558. package/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
  559. package/bmad/core/workflows/brainstorming/template.md +15 -15
  560. package/bmad/core/workflows/brainstorming/workflow.md +51 -51
  561. package/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +139 -139
  562. package/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +204 -204
  563. package/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -159
  564. package/bmad/core/workflows/party-mode/workflow.md +206 -206
  565. package/claude/agent-memory/sa-quick-dev/MEMORY.md +6 -6
  566. package/claude/agent-memory/sa-quick-dev/company-standards.md +218 -218
  567. package/claude/agents/sa-code-review.md +38 -38
  568. package/claude/agents/sa-create-story.md +37 -37
  569. package/claude/agents/sa-dev-story.md +38 -38
  570. package/claude/commands/bmad/bmb/agents/agent-builder.md +14 -14
  571. package/claude/commands/bmad/bmb/agents/module-builder.md +14 -14
  572. package/claude/commands/bmad/bmb/agents/workflow-builder.md +14 -14
  573. package/claude/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md +5 -5
  574. package/claude/commands/bmad/bmb/workflows/agent.md +5 -5
  575. package/claude/commands/bmad/bmb/workflows/create-module.md +5 -5
  576. package/claude/commands/bmad/bmb/workflows/create-workflow.md +5 -5
  577. package/claude/commands/bmad/bmb/workflows/edit-workflow.md +5 -5
  578. package/claude/commands/bmad/bmb/workflows/workflow-compliance-check.md +5 -5
  579. package/claude/commands/bmad/bmm/agents/analyst.md +14 -14
  580. package/claude/commands/bmad/bmm/agents/architect.md +14 -14
  581. package/claude/commands/bmad/bmm/agents/dev.md +14 -14
  582. package/claude/commands/bmad/bmm/agents/pm.md +14 -14
  583. package/claude/commands/bmad/bmm/agents/quick-flow-solo-dev.md +14 -14
  584. package/claude/commands/bmad/bmm/agents/sm.md +14 -14
  585. package/claude/commands/bmad/bmm/agents/tea.md +14 -14
  586. package/claude/commands/bmad/bmm/agents/tech-writer.md +14 -14
  587. package/claude/commands/bmad/bmm/agents/ux-designer.md +14 -14
  588. package/claude/commands/bmad/bmm/workflows/check-implementation-readiness.md +9 -9
  589. package/claude/commands/bmad/bmm/workflows/code-review.md +14 -14
  590. package/claude/commands/bmad/bmm/workflows/correct-course.md +14 -14
  591. package/claude/commands/bmad/bmm/workflows/create-architecture.md +8 -8
  592. package/claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +9 -9
  593. package/claude/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md +13 -13
  594. package/claude/commands/bmad/bmm/workflows/create-excalidraw-diagram.md +13 -13
  595. package/claude/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md +13 -13
  596. package/claude/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md +13 -13
  597. package/claude/commands/bmad/bmm/workflows/create-prd.md +11 -11
  598. package/claude/commands/bmad/bmm/workflows/create-product-brief.md +9 -9
  599. package/claude/commands/bmad/bmm/workflows/create-story.md +14 -14
  600. package/claude/commands/bmad/bmm/workflows/create-tech-spec.md +5 -5
  601. package/claude/commands/bmad/bmm/workflows/create-user-guide.md +5 -5
  602. package/claude/commands/bmad/bmm/workflows/create-ux-design.md +9 -9
  603. package/claude/commands/bmad/bmm/workflows/dev-story.md +14 -14
  604. package/claude/commands/bmad/bmm/workflows/document-project.md +13 -13
  605. package/claude/commands/bmad/bmm/workflows/fast-track-dev.md +4 -4
  606. package/claude/commands/bmad/bmm/workflows/generate-project-context.md +11 -11
  607. package/claude/commands/bmad/bmm/workflows/quality-process.md +5 -5
  608. package/claude/commands/bmad/bmm/workflows/quick-dev.md +5 -5
  609. package/claude/commands/bmad/bmm/workflows/research.md +5 -5
  610. package/claude/commands/bmad/bmm/workflows/retrospective.md +13 -13
  611. package/claude/commands/bmad/bmm/workflows/sprint-planning.md +14 -14
  612. package/claude/commands/bmad/bmm/workflows/sprint-status.md +14 -14
  613. package/claude/commands/bmad/bmm/workflows/testarch-atdd.md +13 -13
  614. package/claude/commands/bmad/bmm/workflows/testarch-automate.md +13 -13
  615. package/claude/commands/bmad/bmm/workflows/testarch-ci.md +13 -13
  616. package/claude/commands/bmad/bmm/workflows/testarch-framework.md +13 -13
  617. package/claude/commands/bmad/bmm/workflows/testarch-nfr.md +13 -13
  618. package/claude/commands/bmad/bmm/workflows/testarch-test-design.md +13 -13
  619. package/claude/commands/bmad/bmm/workflows/testarch-test-review.md +13 -13
  620. package/claude/commands/bmad/bmm/workflows/testarch-trace.md +13 -13
  621. package/claude/commands/bmad/bmm/workflows/workflow-init.md +14 -14
  622. package/claude/commands/bmad/bmm/workflows/workflow-status.md +13 -13
  623. package/claude/commands/bmad/cis/agents/brainstorming-coach.md +14 -14
  624. package/claude/commands/bmad/cis/agents/creative-problem-solver.md +14 -14
  625. package/claude/commands/bmad/cis/agents/design-thinking-coach.md +14 -14
  626. package/claude/commands/bmad/cis/agents/innovation-strategist.md +14 -14
  627. package/claude/commands/bmad/cis/agents/presentation-master.md +14 -14
  628. package/claude/commands/bmad/cis/agents/storyteller.md +14 -14
  629. package/claude/commands/bmad/cis/workflows/design-thinking.md +13 -13
  630. package/claude/commands/bmad/cis/workflows/innovation-strategy.md +13 -13
  631. package/claude/commands/bmad/cis/workflows/problem-solving.md +13 -13
  632. package/claude/commands/bmad/cis/workflows/storytelling.md +13 -13
  633. package/claude/commands/bmad/core/agents/bmad-master.md +14 -14
  634. package/claude/commands/bmad/core/tasks/index-docs.md +9 -9
  635. package/claude/commands/bmad/core/workflows/brainstorming.md +5 -5
  636. package/claude/commands/bmad/core/workflows/party-mode.md +5 -5
  637. package/claude/commands/bmad/core/workflows/shard-docs.md +9 -9
  638. package/claude/commands/get-features/SKILL.md +247 -247
  639. package/claude/commands/get-features/oauth-config.example.json +9 -9
  640. package/claude/commands/get-features/oauth-login.js +157 -157
  641. package/claude/commands/jira_sync/sync-epics-stories.md +5 -5
  642. package/claude/commands/sa-jira-sync.md +11 -11
  643. package/claude/commands/sa-quick-dev.md +138 -138
  644. package/claude/commands/sa-skill-creator/sa-skill-creator.md +5 -5
  645. package/claude/settings.local.json +56 -54
  646. package/claude/skills/MasterCrud/SKILL.md +144 -144
  647. package/claude/skills/MasterCrud/data/MasterCrud.types.ts +1327 -1327
  648. package/claude/skills/delivery-sa-agent-guides/SKILL.md +162 -0
  649. package/claude/skills/generate-commits-by-phase/skill.md +5 -5
  650. package/claude/skills/sa-qa-data-generator/SKILL.md +485 -0
  651. package/gemini/commands/BMad/agents/analyst.toml +5 -5
  652. package/gemini/commands/BMad/agents/architect.toml +5 -5
  653. package/gemini/commands/BMad/agents/bmad-master.toml +5 -5
  654. package/gemini/commands/BMad/agents/bmad-orchestrator.toml +5 -5
  655. package/gemini/commands/BMad/agents/dev.toml +5 -5
  656. package/gemini/commands/BMad/agents/pm.toml +5 -5
  657. package/gemini/commands/BMad/agents/po.toml +5 -5
  658. package/gemini/commands/BMad/agents/qa.toml +5 -5
  659. package/gemini/commands/BMad/agents/sm.toml +5 -5
  660. package/gemini/commands/BMad/agents/ux-expert.toml +5 -5
  661. package/gemini/commands/BMad/tasks/advanced-elicitation.toml +5 -5
  662. package/gemini/commands/BMad/tasks/apply-qa-fixes.toml +5 -5
  663. package/gemini/commands/BMad/tasks/brownfield-create-epic.toml +5 -5
  664. package/gemini/commands/BMad/tasks/brownfield-create-story.toml +5 -5
  665. package/gemini/commands/BMad/tasks/correct-course.toml +5 -5
  666. package/gemini/commands/BMad/tasks/create-brownfield-story.toml +5 -5
  667. package/gemini/commands/BMad/tasks/create-deep-research-prompt.toml +5 -5
  668. package/gemini/commands/BMad/tasks/create-doc.toml +5 -5
  669. package/gemini/commands/BMad/tasks/create-next-story.toml +5 -5
  670. package/gemini/commands/BMad/tasks/document-project.toml +5 -5
  671. package/gemini/commands/BMad/tasks/execute-checklist.toml +5 -5
  672. package/gemini/commands/BMad/tasks/facilitate-brainstorming-session.toml +5 -5
  673. package/gemini/commands/BMad/tasks/generate-ai-frontend-prompt.toml +5 -5
  674. package/gemini/commands/BMad/tasks/index-docs.toml +5 -5
  675. package/gemini/commands/BMad/tasks/kb-mode-interaction.toml +5 -5
  676. package/gemini/commands/BMad/tasks/nfr-assess.toml +5 -5
  677. package/gemini/commands/BMad/tasks/qa-gate.toml +5 -5
  678. package/gemini/commands/BMad/tasks/review-story.toml +5 -5
  679. package/gemini/commands/BMad/tasks/risk-profile.toml +5 -5
  680. package/gemini/commands/BMad/tasks/shard-doc.toml +5 -5
  681. package/gemini/commands/BMad/tasks/test-design.toml +5 -5
  682. package/gemini/commands/BMad/tasks/trace-requirements.toml +5 -5
  683. package/gemini/commands/BMad/tasks/validate-next-story.toml +5 -5
  684. package/gemini/commands/bmad-agent-bmb-agent-builder.toml +12 -12
  685. package/gemini/commands/bmad-agent-bmb-module-builder.toml +12 -12
  686. package/gemini/commands/bmad-agent-bmb-workflow-builder.toml +12 -12
  687. package/gemini/commands/bmad-agent-bmm-analyst.toml +12 -12
  688. package/gemini/commands/bmad-agent-bmm-architect.toml +12 -12
  689. package/gemini/commands/bmad-agent-bmm-dev.toml +12 -12
  690. package/gemini/commands/bmad-agent-bmm-pm.toml +12 -12
  691. package/gemini/commands/bmad-agent-bmm-quick-flow-solo-dev.toml +12 -12
  692. package/gemini/commands/bmad-agent-bmm-sm.toml +12 -12
  693. package/gemini/commands/bmad-agent-bmm-tea.toml +12 -12
  694. package/gemini/commands/bmad-agent-bmm-tech-writer.toml +12 -12
  695. package/gemini/commands/bmad-agent-bmm-ux-designer.toml +12 -12
  696. package/gemini/commands/bmad-agent-cis-brainstorming-coach.toml +12 -12
  697. package/gemini/commands/bmad-agent-cis-creative-problem-solver.toml +12 -12
  698. package/gemini/commands/bmad-agent-cis-design-thinking-coach.toml +12 -12
  699. package/gemini/commands/bmad-agent-cis-innovation-strategist.toml +12 -12
  700. package/gemini/commands/bmad-agent-cis-presentation-master.toml +12 -12
  701. package/gemini/commands/bmad-agent-cis-storyteller.toml +12 -12
  702. package/gemini/commands/bmad-agent-core-bmad-master.toml +12 -12
  703. package/gemini/commands/bmad-task-core-index-docs.toml +12 -12
  704. package/gemini/commands/bmad-task-core-review-adversarial-general.toml +12 -12
  705. package/gemini/commands/bmad-task-core-shard-doc.toml +12 -12
  706. package/gemini/commands/bmad-task-core-validate-workflow.toml +12 -12
  707. package/gemini/commands/bmad-task-core-workflow.toml +12 -12
  708. package/gemini/commands/bmad-workflow-bmb-Meal Prep & Nutrition Plan.toml +4 -4
  709. package/gemini/commands/bmad-workflow-bmb-agent.toml +4 -4
  710. package/gemini/commands/bmad-workflow-bmb-create-module.toml +4 -4
  711. package/gemini/commands/bmad-workflow-bmb-create-workflow.toml +4 -4
  712. package/gemini/commands/bmad-workflow-bmb-edit-workflow.toml +4 -4
  713. package/gemini/commands/bmad-workflow-bmb-workflow-compliance-check.toml +4 -4
  714. package/gemini/commands/bmad-workflow-bmm-check-implementation-readiness.toml +4 -4
  715. package/gemini/commands/bmad-workflow-bmm-code-review.toml +13 -13
  716. package/gemini/commands/bmad-workflow-bmm-correct-course.toml +13 -13
  717. package/gemini/commands/bmad-workflow-bmm-create-architecture.toml +4 -4
  718. package/gemini/commands/bmad-workflow-bmm-create-epics-and-stories.toml +8 -8
  719. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-dataflow.toml +12 -12
  720. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-diagram.toml +12 -12
  721. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-flowchart.toml +12 -12
  722. package/gemini/commands/bmad-workflow-bmm-create-excalidraw-wireframe.toml +12 -12
  723. package/gemini/commands/bmad-workflow-bmm-create-prd.toml +10 -10
  724. package/gemini/commands/bmad-workflow-bmm-create-product-brief.toml +4 -4
  725. package/gemini/commands/bmad-workflow-bmm-create-story.toml +13 -13
  726. package/gemini/commands/bmad-workflow-bmm-create-tech-spec.toml +4 -4
  727. package/gemini/commands/bmad-workflow-bmm-create-user-guide.toml +4 -4
  728. package/gemini/commands/bmad-workflow-bmm-create-ux-design.toml +4 -4
  729. package/gemini/commands/bmad-workflow-bmm-dev-story.toml +13 -13
  730. package/gemini/commands/bmad-workflow-bmm-document-project.toml +12 -12
  731. package/gemini/commands/bmad-workflow-bmm-generate-project-context.toml +10 -10
  732. package/gemini/commands/bmad-workflow-bmm-quality-process.toml +4 -4
  733. package/gemini/commands/bmad-workflow-bmm-quick-dev.toml +4 -4
  734. package/gemini/commands/bmad-workflow-bmm-research.toml +4 -4
  735. package/gemini/commands/bmad-workflow-bmm-retrospective.toml +12 -12
  736. package/gemini/commands/bmad-workflow-bmm-sprint-planning.toml +13 -13
  737. package/gemini/commands/bmad-workflow-bmm-sprint-status.toml +13 -13
  738. package/gemini/commands/bmad-workflow-bmm-testarch-atdd.toml +12 -12
  739. package/gemini/commands/bmad-workflow-bmm-testarch-automate.toml +12 -12
  740. package/gemini/commands/bmad-workflow-bmm-testarch-ci.toml +12 -12
  741. package/gemini/commands/bmad-workflow-bmm-testarch-framework.toml +12 -12
  742. package/gemini/commands/bmad-workflow-bmm-testarch-nfr.toml +12 -12
  743. package/gemini/commands/bmad-workflow-bmm-testarch-test-design.toml +12 -12
  744. package/gemini/commands/bmad-workflow-bmm-testarch-test-review.toml +12 -12
  745. package/gemini/commands/bmad-workflow-bmm-testarch-trace.toml +12 -12
  746. package/gemini/commands/bmad-workflow-bmm-workflow-init.toml +12 -12
  747. package/gemini/commands/bmad-workflow-bmm-workflow-status.toml +12 -12
  748. package/gemini/commands/bmad-workflow-cis-design-thinking.toml +12 -12
  749. package/gemini/commands/bmad-workflow-cis-innovation-strategy.toml +12 -12
  750. package/gemini/commands/bmad-workflow-cis-problem-solving.toml +12 -12
  751. package/gemini/commands/bmad-workflow-cis-storytelling.toml +12 -12
  752. package/gemini/commands/bmad-workflow-core-brainstorming.toml +4 -4
  753. package/gemini/commands/bmad-workflow-core-party-mode.toml +4 -4
  754. package/gemini/commands/bmad-workflow-core-shard-docs.toml +4 -4
  755. package/gemini/commands/fast-track-dev.toml +4 -4
  756. package/gemini/commands/sa-jira-sync.toml +9 -9
  757. package/gemini/commands/sa-workflow-sa-skill-creator.toml +4 -4
  758. package/gemini/commands/sa-workflow-sync-epics-stories.toml +4 -4
  759. package/github/CODEOWNERS +7 -7
  760. package/github/agents/bmd-custom-bmb-agent-builder.agent.md +17 -17
  761. package/github/agents/bmd-custom-bmb-module-builder.agent.md +17 -17
  762. package/github/agents/bmd-custom-bmb-workflow-builder.agent.md +17 -17
  763. package/github/agents/bmd-custom-bmm-analyst.agent.md +17 -17
  764. package/github/agents/bmd-custom-bmm-architect.agent.md +17 -17
  765. package/github/agents/bmd-custom-bmm-dev.agent.md +17 -17
  766. package/github/agents/bmd-custom-bmm-pm.agent.md +17 -17
  767. package/github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md +17 -17
  768. package/github/agents/bmd-custom-bmm-sm.agent.md +17 -17
  769. package/github/agents/bmd-custom-bmm-tea.agent.md +17 -17
  770. package/github/agents/bmd-custom-bmm-tech-writer.agent.md +17 -17
  771. package/github/agents/bmd-custom-bmm-ux-designer.agent.md +17 -17
  772. package/github/agents/bmd-custom-cis-brainstorming-coach.agent.md +17 -17
  773. package/github/agents/bmd-custom-cis-creative-problem-solver.agent.md +17 -17
  774. package/github/agents/bmd-custom-cis-design-thinking-coach.agent.md +17 -17
  775. package/github/agents/bmd-custom-cis-innovation-strategist.agent.md +17 -17
  776. package/github/agents/bmd-custom-cis-presentation-master.agent.md +17 -17
  777. package/github/agents/bmd-custom-cis-storyteller.agent.md +17 -17
  778. package/github/agents/bmd-custom-core-bmad-master.agent.md +17 -17
  779. package/github/workflows/publish-qa.yml +59 -0
  780. package/github/workflows/publish.yml +150 -150
  781. package/index.js +9 -9
  782. package/mcp.json +33 -14
  783. package/package.json +42 -42
  784. package/resources/images/Siesa_Logosimbolo_Azul.svg +24 -24
  785. package/resources/images/Siesa_Logosimbolo_Blanco.svg +24 -24
  786. package/resources/images/Siesa_Simbolo_Azul.svg +14 -14
  787. package/resources/images/Siesa_Simbolo_Blanco.svg +14 -14
  788. package/siesa-agents/bmm/workflows/1-analysis/create-product-brief/workflow_ext.md +70 -70
  789. package/siesa-agents/bmm/workflows/2-plan-workflows/create-ux-design/workflow_ext.md +105 -70
  790. package/siesa-agents/bmm/workflows/2-plan-workflows/prd/workflow_ext.md +119 -119
  791. package/siesa-agents/bmm/workflows/3-solutioning/check-implementation-readiness/workflow_ext.md +70 -70
  792. package/siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md +103 -101
  793. package/siesa-agents/bmm/workflows/3-solutioning/create-epics-and-stories/workflow_ext.md +146 -146
  794. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_design_test.md +95 -95
  795. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_dor_gate.md +379 -0
  796. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_playwright_impl.md +355 -0
  797. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_test_plan.md +340 -340
  798. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/workflow.md +1708 -604
  799. package/siesa-agents/bmm/workflows/4-implementation/code-review/workflow_ext.md +221 -141
  800. package/siesa-agents/bmm/workflows/4-implementation/correct-course/workflow_ext.md +10 -10
  801. package/siesa-agents/bmm/workflows/4-implementation/create-story/workflow_ext.md +79 -45
  802. package/siesa-agents/bmm/workflows/4-implementation/dev-story/workflow_ext.md +143 -109
  803. package/siesa-agents/bmm/workflows/4-implementation/sprint-planning/workflow_ext.md +119 -119
  804. package/siesa-agents/bmm/workflows/4-implementation/sprint-status/workflow_ext.md +206 -164
  805. package/siesa-agents/bmm/workflows/fast-track-dev/completion-summary-fast-track-dev.md +76 -76
  806. package/siesa-agents/bmm/workflows/fast-track-dev/steps/step-01-init.md +161 -161
  807. package/siesa-agents/bmm/workflows/fast-track-dev/steps/step-02-configure.md +195 -195
  808. package/siesa-agents/bmm/workflows/fast-track-dev/steps/step-03-execute.md +169 -169
  809. package/siesa-agents/bmm/workflows/fast-track-dev/workflow-plan-fast-track-dev.md +198 -198
  810. package/siesa-agents/bmm/workflows/fast-track-dev/workflow.md +57 -57
  811. package/siesa-agents/bmm/workflows/generate-project-context/workflow_ext.md +189 -189
  812. package/siesa-agents/bmm/workflows/workflow-status/Init/workflow_ext.md +194 -187
  813. package/siesa-agents/core/tasks/shard-doc.md +341 -341
  814. package/siesa-agents/observability/README.md +81 -0
  815. package/siesa-agents/observability/scripts/sa-emit.js +246 -0
  816. package/siesa-agents/resources/architecture/architecture-both.md +822 -822
  817. package/siesa-agents/resources/architecture/architecture-single-backend.md +565 -565
  818. package/siesa-agents/resources/ux-ui/ux-design-specification.md +837 -0
  819. package/siesa-agents/sa/mcp_database/GUIA_INSTALACION.md +640 -0
  820. package/siesa-agents/sa/mcp_database/README.md +61 -0
  821. package/siesa-agents/sa/mcp_database/mssql/.env.example +30 -0
  822. package/siesa-agents/sa/mcp_database/mssql/README.md +108 -0
  823. package/siesa-agents/sa/mcp_database/mssql/package-lock.json +2302 -0
  824. package/siesa-agents/sa/mcp_database/mssql/package.json +29 -0
  825. package/siesa-agents/sa/mcp_database/mssql/sql/GetAllDependencies.sql +491 -0
  826. package/siesa-agents/sa/mcp_database/mssql/sql/GetAllDependencies_JSON.sql +516 -0
  827. package/siesa-agents/sa/mcp_database/mssql/src/index.ts +143 -0
  828. package/siesa-agents/sa/mcp_database/mssql/src/tools/CreateIndexTool.ts +50 -0
  829. package/siesa-agents/sa/mcp_database/mssql/src/tools/CreateTableTool.ts +44 -0
  830. package/siesa-agents/sa/mcp_database/mssql/src/tools/DescribeTableTool.ts +144 -0
  831. package/siesa-agents/sa/mcp_database/mssql/src/tools/DropTableTool.ts +36 -0
  832. package/siesa-agents/sa/mcp_database/mssql/src/tools/ExecuteQueryTool.ts +66 -0
  833. package/siesa-agents/sa/mcp_database/mssql/src/tools/GetDependenciesTool.ts +125 -0
  834. package/siesa-agents/sa/mcp_database/mssql/src/tools/GetForeignKeysTool.ts +84 -0
  835. package/siesa-agents/sa/mcp_database/mssql/src/tools/GetFunctionContentTool.ts +56 -0
  836. package/siesa-agents/sa/mcp_database/mssql/src/tools/GetStoredProcedureContentTool.ts +57 -0
  837. package/siesa-agents/sa/mcp_database/mssql/src/tools/GetTableDataTool.ts +64 -0
  838. package/siesa-agents/sa/mcp_database/mssql/src/tools/GetTableMetadataTool.ts +57 -0
  839. package/siesa-agents/sa/mcp_database/mssql/src/tools/GetViewContentTool.ts +52 -0
  840. package/siesa-agents/sa/mcp_database/mssql/src/tools/InsertDataTool.ts +94 -0
  841. package/siesa-agents/sa/mcp_database/mssql/src/tools/ListTableTool.ts +53 -0
  842. package/siesa-agents/sa/mcp_database/mssql/src/tools/ReadDataTool.ts +61 -0
  843. package/siesa-agents/sa/mcp_database/mssql/src/tools/SaveSqlDefinitionTool.ts +54 -0
  844. package/siesa-agents/sa/mcp_database/mssql/src/tools/SqlConnection.ts +71 -0
  845. package/siesa-agents/sa/mcp_database/mssql/src/tools/SqlHelpers.ts +42 -0
  846. package/siesa-agents/sa/mcp_database/mssql/src/tools/UpdateDataTool.ts +69 -0
  847. package/siesa-agents/sa/mcp_database/mssql/tsconfig.json +19 -0
  848. package/siesa-agents/sa/mcp_database/postgresql/.env.example +30 -0
  849. package/siesa-agents/sa/mcp_database/postgresql/GUIA_INSTALACION.md +464 -0
  850. package/siesa-agents/sa/mcp_database/postgresql/PROMPT_Generacion_Datos_QA.md +371 -0
  851. package/siesa-agents/sa/mcp_database/postgresql/README.md +129 -0
  852. package/siesa-agents/sa/mcp_database/postgresql/package-lock.json +1567 -0
  853. package/siesa-agents/sa/mcp_database/postgresql/package.json +29 -0
  854. package/siesa-agents/sa/mcp_database/postgresql/sql/GetAllDependencies_JSON_PG.sql +695 -0
  855. package/siesa-agents/sa/mcp_database/postgresql/sql/GetAllDependencies_PG.sql +729 -0
  856. package/siesa-agents/sa/mcp_database/postgresql/src/index.ts +128 -0
  857. package/siesa-agents/sa/mcp_database/postgresql/src/tools/DescribeTableTool.ts +126 -0
  858. package/siesa-agents/sa/mcp_database/postgresql/src/tools/ExecuteQueryTool.ts +97 -0
  859. package/siesa-agents/sa/mcp_database/postgresql/src/tools/GetDependenciesTool.ts +121 -0
  860. package/siesa-agents/sa/mcp_database/postgresql/src/tools/GetForeignKeysTool.ts +88 -0
  861. package/siesa-agents/sa/mcp_database/postgresql/src/tools/GetFunctionContentTool.ts +73 -0
  862. package/siesa-agents/sa/mcp_database/postgresql/src/tools/GetTableDataTool.ts +56 -0
  863. package/siesa-agents/sa/mcp_database/postgresql/src/tools/GetTableMetadataTool.ts +55 -0
  864. package/siesa-agents/sa/mcp_database/postgresql/src/tools/GetViewContentTool.ts +56 -0
  865. package/siesa-agents/sa/mcp_database/postgresql/src/tools/InsertDataTool.ts +99 -0
  866. package/siesa-agents/sa/mcp_database/postgresql/src/tools/ListTableTool.ts +54 -0
  867. package/siesa-agents/sa/mcp_database/postgresql/src/tools/PgConnection.ts +35 -0
  868. package/siesa-agents/sa/mcp_database/postgresql/src/tools/PgHelpers.ts +10 -0
  869. package/siesa-agents/sa/mcp_database/postgresql/src/tools/ReadDataTool.ts +51 -0
  870. package/siesa-agents/sa/mcp_database/postgresql/src/tools/UpdateDataTool.ts +67 -0
  871. package/siesa-agents/sa/mcp_database/postgresql/tsconfig.json +19 -0
  872. package/siesa-agents/sa/sa-jira-sync-api/jira-sync-api.md +246 -246
  873. package/siesa-agents/sa/sa-skills-creator/skill-creator/LICENSE.txt +201 -201
  874. package/siesa-agents/sa/sa-skills-creator/skill-creator/SKILL.md +479 -479
  875. package/siesa-agents/sa/sa-skills-creator/skill-creator/agents/analyzer.md +274 -274
  876. package/siesa-agents/sa/sa-skills-creator/skill-creator/agents/comparator.md +202 -202
  877. package/siesa-agents/sa/sa-skills-creator/skill-creator/agents/grader.md +223 -223
  878. package/siesa-agents/sa/sa-skills-creator/skill-creator/assets/eval_review.html +146 -146
  879. package/siesa-agents/sa/sa-skills-creator/skill-creator/eval-viewer/generate_review.py +471 -471
  880. package/siesa-agents/sa/sa-skills-creator/skill-creator/eval-viewer/viewer.html +1325 -1325
  881. package/siesa-agents/sa/sa-skills-creator/skill-creator/references/schemas.md +430 -430
  882. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/aggregate_benchmark.py +401 -401
  883. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/generate_report.py +326 -326
  884. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/improve_description.py +248 -248
  885. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/package_skill.py +136 -136
  886. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/quick_validate.py +102 -102
  887. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/run_eval.py +310 -310
  888. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/run_loop.py +332 -332
  889. package/siesa-agents/sa/sa-skills-creator/skill-creator/scripts/utils.py +47 -47
  890. package/siesa-agents/sa/sa-skills-creator/workflow.md +218 -218
  891. package/siesa-agents/sa/sync-epics-stories/completion-summary-sync-epics-stories.md +43 -43
  892. package/siesa-agents/sa/sync-epics-stories/data/templates/epic-template.json +12 -12
  893. package/siesa-agents/sa/sync-epics-stories/data/templates/story-template.json +12 -12
  894. package/siesa-agents/sa/sync-epics-stories/data/templates/subtask-template.json +18 -18
  895. package/siesa-agents/sa/sync-epics-stories/data/templates/task-template.json +6 -6
  896. package/siesa-agents/sa/sync-epics-stories/steps/step-01-init.md +155 -155
  897. package/siesa-agents/sa/sync-epics-stories/steps/step-01b-continue.md +79 -79
  898. package/siesa-agents/sa/sync-epics-stories/steps/step-02-setup.md +174 -174
  899. package/siesa-agents/sa/sync-epics-stories/steps/step-03-scope.md +113 -113
  900. package/siesa-agents/sa/sync-epics-stories/steps/step-04-epics.md +226 -226
  901. package/siesa-agents/sa/sync-epics-stories/steps/step-05-stories.md +383 -383
  902. package/siesa-agents/sa/sync-epics-stories/workflow-plan-sync-epics-stories.md +251 -251
  903. package/siesa-agents/sa/sync-epics-stories/workflow.md +91 -91
  904. package/siesa-agents/scripts/bmad_orchestrator.py +900 -900
  905. package/siesa-agents/scripts/bmad_to_agiletest.py +1584 -0
  906. package/siesa-agents/scripts/jira/README.md +76 -76
  907. package/siesa-agents/scripts/jira/add-comment.js +31 -31
  908. package/siesa-agents/scripts/jira/batch-create.js +68 -68
  909. package/siesa-agents/scripts/jira/create-issue.js +44 -44
  910. package/siesa-agents/scripts/jira/edit-issue.js +39 -39
  911. package/siesa-agents/scripts/jira/get-issue.js +39 -39
  912. package/siesa-agents/scripts/jira/lib/adf.js +88 -88
  913. package/siesa-agents/scripts/jira/lib/args.js +44 -44
  914. package/siesa-agents/scripts/jira/lib/jira-client.js +165 -165
  915. package/siesa-agents/scripts/jira/refresh-token.js +50 -50
  916. package/siesa-agents/scripts/jira/search.js +47 -47
  917. package/siesa-agents/scripts/jira/transition.js +80 -80
  918. package/siesa-agents/scripts/merge_test_design.py +106 -0
  919. package/siesa-agents/scripts/phases/phase1.js +110 -110
  920. package/siesa-agents/scripts/phases/phase2.js +110 -110
  921. package/siesa-agents/scripts/phases/phase3.js +110 -110
  922. package/vscode/mcp.json +15 -15
  923. package/vscode/settings.json +12 -12
@@ -1,565 +1,565 @@
1
- ---
2
- type: base-architecture
3
- scope: backend
4
- status: base
5
- note: >
6
- This document was automatically generated during siesa-agents installation.
7
- It represents the Siesa corporate base architecture applicable to all microservices.
8
- It can be extended with the /create-architecture workflow for project-specific decisions.
9
- ---
10
-
11
- # Architecture Decision Document — Siesa Corporate Base (Backend)
12
-
13
- _This document establishes the mandatory backend architectural decisions for all Siesa microservices. It serves as the source of truth for consistent AI-driven development._
14
-
15
- ---
16
-
17
- ## 1. Technology Stack
18
-
19
- ### 1.1 Backend
20
-
21
- | Layer | Technology | Version | Notes |
22
- |-------|-----------|---------|-------|
23
- | Language | C# | Latest | Modern features (records, pattern matching) |
24
- | Framework | .NET | 10.x | Minimal API — NO MVC controllers |
25
- | Primary ORM | Entity Framework Core | 10.x | Code-first with migrations |
26
- | Advanced ORM | linq2db | Latest | Complex and high-performance queries |
27
- | Dynamic queries | DynamicLinq | Latest | Filters from user input |
28
- | Composable LINQ | LinqKit | Latest | Composable predicates in repositories |
29
- | Validation | FluentValidation | 11.* | `LocalizedValidator<T>` |
30
- | Testing | xUnit | Latest | TDD mandatory |
31
- | DB | PostgreSQL | 18+ | One per microservice |
32
- | PDF | QuestPDF | Latest | Document generation |
33
- | API Docs | Scalar | Latest | NO Swagger / NO OpenAPI UI |
34
- | Orchestration | Dapr | Latest | Pub/Sub + Service Invocation |
35
-
36
- ### 1.2 Mandatory Backend Libraries
37
-
38
- | Library | Package | Version | Purpose |
39
- |---------|---------|---------|---------|
40
- | MasterPattern | `Siesa.MasterPattern` | `0.1.*` | Master CRUD, overrides |
41
- | AccessManager | `Siesa.AccessManager` | `0.1.0-*` | RBAC, permissions |
42
- | LookupField | `Siesa.BusinessUtilities.LookupFieldQueryBuilder` | `0.0.*` | Master record search |
43
- | i18n | `Microsoft.Extensions.Localization` | Built-in | Internationalization |
44
- | FluentValidation | `FluentValidation.DependencyInjectionExtensions` | `11.*` | Request validation |
45
- | Pluralization | `Humanizer.Core` | `3.*` | EF Core table names |
46
- | EF Core Design | `Microsoft.EntityFrameworkCore.Design` | `10.*` | `dotnet ef migrations` (required in API project) |
47
-
48
- > **CRITICAL:** `Microsoft.EntityFrameworkCore.Design` must be present in the API (startup) project AND in Infrastructure. Without it in the startup project, `dotnet ef migrations add` will fail.
49
-
50
- ---
51
-
52
- ## 2. Architectural Patterns
53
-
54
- ### 2.1 Clean Architecture + DDD (Mandatory)
55
-
56
- Dependencies always point inward: `Domain ← Application ← Infrastructure ← API`
57
-
58
- ```
59
- Domain → Entities, Value Objects, Domain Events, Repository Interfaces
60
- Application → Commands, Queries, DTOs, Validators, Use Cases
61
- Infrastructure → Repositories (EF Core), DB Context, external services
62
- API → Minimal API Endpoints, Middleware
63
- ```
64
-
65
- **Key principles:**
66
- - Business logic ONLY in Domain and Application layers
67
- - Infrastructure MUST NOT contain business logic
68
- - Domain MUST NOT reference external frameworks
69
- - Each microservice has its own dedicated PostgreSQL database
70
-
71
- ### 2.2 MasterPattern — GLOBAL / COMPANY-SPECIFIC / UNIVERSAL
72
-
73
- `Siesa.MasterPattern` defines three master types:
74
-
75
- | Type | `CompanyID` | Overrides Table | Override Endpoints | Assign Endpoints |
76
- |------|-------------|-----------------|-------------------|-----------------|
77
- | `GLOBAL` | NO | YES `{entity}_overrides` | YES `POST /{id}/override` | YES `POST /{id}/assign` |
78
- | `COMPANY_SPECIFIC` | YES | NO | NO | NO |
79
- | `UNIVERSAL` | NO | NO | NO | NO |
80
-
81
- **Override Resolution Rule:**
82
- ```
83
- Override.Field == NULL → Inherits from the base Global
84
- Override.Field != NULL → Uses the override value
85
- ```
86
-
87
- **Mandatory rules:**
88
- - R-MP-001: All masters MUST extend `BaseMasterService<T>`
89
- - R-MP-002: All masters MUST have a static `MasterDefinition` class
90
- - R-MP-003: GLOBAL masters MUST have an Overrides table
91
- - R-MP-004: Immutable fields (Code, Name) MUST NOT be in the Overrides table
92
- - R-MP-005: Overridable fields MUST be nullable in Overrides
93
- - R-MP-006: Tables MUST use snake_case
94
- - R-MP-007: Override tables MUST follow the `{entities}_overrides` pattern
95
-
96
- ### 2.3 Result Pattern (Mandatory)
97
-
98
- All domain operations return `Result<T>` — exceptions are never thrown for expected business flows.
99
-
100
- ```csharp
101
- // ✅ Correct
102
- public Result<UserDto> CreateUser(CreateUserCommand cmd)
103
- {
104
- if (string.IsNullOrEmpty(cmd.Email))
105
- return Result.Failure<UserDto>("Email is required");
106
- // ...
107
- return Result.Success(new UserDto(user));
108
- }
109
-
110
- // ❌ Incorrect
111
- public UserDto CreateUser(CreateUserCommand cmd)
112
- {
113
- if (string.IsNullOrEmpty(cmd.Email))
114
- throw new ArgumentException("Email is required"); // Do not use for business validations
115
- }
116
- ```
117
-
118
- ### 2.4 Dependency Injection — Registration Sequence (Mandatory)
119
-
120
- ```csharp
121
- // Program.cs — MANDATORY ORDER
122
- builder.Services.AddLocalization(); // 1. i18n first
123
- builder.Services.AddFluentValidation(); // 2. Validation
124
- builder.Services.AddDbContext<AppDbContext>(); // 3. DB Context
125
- builder.Services.AddRepositories(); // 4. Repositories
126
- builder.Services.AddApplicationServices(); // 5. Application services
127
- builder.Services.AddMasterPattern(); // 6. MasterPattern
128
- builder.Services.AddAccessManager(); // 7. AccessManager
129
- builder.Services.AddLookupFieldQueryBuilder(); // 8. LookupField
130
- builder.Services.AddHealthChecks(); // 9. Health Checks
131
- ```
132
-
133
- ---
134
-
135
- ## 3. Solution Structure (Backend)
136
-
137
- ```
138
- src/
139
- ├── {Service}.API/ # Presentation Layer — Minimal API Endpoints
140
- │ ├── Endpoints/
141
- │ │ └── {Feature}/ # Endpoint classes per feature
142
- │ ├── Middleware/
143
- │ └── Program.cs
144
- ├── {Service}.Application/ # Application Layer — CQRS, DTOs, Validators
145
- │ └── {Feature}/
146
- │ ├── Commands/
147
- │ ├── Queries/
148
- │ ├── DTOs/
149
- │ ├── Validators/
150
- │ └── Interfaces/
151
- ├── {Service}.Domain/ # Domain Layer — Entities, Value Objects, Events
152
- │ └── {Feature}/
153
- │ ├── Entities/
154
- │ ├── ValueObjects/
155
- │ └── Events/
156
- └── {Service}.Infrastructure/ # Infrastructure Layer — EF Core, Repositories
157
- ├── Data/
158
- │ ├── Configurations/
159
- │ ├── Migrations/
160
- │ └── {Service}DbContext.cs
161
- └── Repositories/
162
- tests/
163
- ├── {Service}.UnitTests/ # xUnit + EF Core InMemory
164
- └── {Service}.IntegrationTests/ # xUnit + Testcontainers.PostgreSql
165
- ```
166
-
167
- ---
168
-
169
- ## 4. Backend Standards
170
-
171
- ### 4.1 DateTime — Mandatory Types
172
-
173
- ⚠️ **ALWAYS use `DateTimeOffset`, NEVER `DateTime`**
174
-
175
- ```csharp
176
- // ✅ Correct
177
- public DateTimeOffset CreatedAt { get; private set; } = DateTimeOffset.UtcNow;
178
- public DateTimeOffset UpdatedAt { get; private set; } = DateTimeOffset.UtcNow;
179
-
180
- // ❌ Incorrect
181
- public DateTime CreatedAt { get; private set; } // NEVER
182
- ```
183
-
184
- | Case | C# Type | PostgreSQL Type |
185
- |------|---------|----------------|
186
- | Timestamp with timezone | `DateTimeOffset` | `TIMESTAMP WITH TIME ZONE` |
187
- | Date only | `DateOnly` | `DATE` |
188
- | Time only | `TimeOnly` | `TIME` |
189
- | NEVER use | ~~`DateTime`~~ | — |
190
-
191
- ### 4.2 Primary Keys — UUID v7
192
-
193
- ```csharp
194
- // ✅ Mandatory — UUID v7 for all PKs
195
- public Guid ID { get; private set; } = Guid.CreateVersion7();
196
-
197
- // ❌ Incorrect
198
- public Guid ID { get; private set; } = Guid.NewGuid(); // UUID v4 — do not use
199
- ```
200
-
201
- PostgreSQL: `DEFAULT uuidv7()` in migrations.
202
-
203
- ### 4.3 Optimistic Concurrency — xmin
204
-
205
- - All masters expose `rowVersion` (uint) in GET responses
206
- - PUT/DELETE require the client to send `rowVersion`
207
- - Mismatch → HTTP 409 Problem Details RFC 7807
208
- - Force-save via `?force=true` (requires elevated permission)
209
-
210
- ### 4.4 ORM Strategy — When to Use Each Tool
211
-
212
- | Tool | When to Use |
213
- |------|------------|
214
- | **EF Core 10** | Standard CRUD, DDD entities with tracking, relationships, migrations |
215
- | **linq2db** | High-performance complex queries, dashboards, analytics, reports |
216
- | **DynamicLinq** | Dynamic filters from user input, configurable grids |
217
- | **LinqKit** | Type-safe composable predicates, DDD repositories with multiple criteria |
218
-
219
- ### 4.5 Domain Entity — Mandatory Structure
220
-
221
- ```csharp
222
- public class {Entity}Entity : IMasterEntity
223
- {
224
- private {Entity}Entity() { } // EF Core materialization
225
-
226
- private {Entity}Entity(Guid id, /* params */) : base()
227
- {
228
- ID = id;
229
- // ...
230
- }
231
-
232
- // IMasterEntity
233
- public Guid ID { get; private set; }
234
- public string Code { get; private set; } = string.Empty; // Immutable after creation
235
- public bool IsActive { get; set; } = true;
236
- public uint Version { get; set; } // PostgreSQL xmin → rowVersion DTO
237
-
238
- // Timestamps
239
- public DateTimeOffset CreatedAt { get; private set; }
240
- public DateTimeOffset UpdatedAt { get; private set; }
241
-
242
- // Audit — FK to amgr_users_prj
243
- public Guid CreatedByUserID { get; private set; }
244
- public Guid UpdatedByUserID { get; private set; }
245
-
246
- // Mandatory factory method
247
- public static {Entity}Entity Create(/* params */, Guid createdByUserId)
248
- {
249
- return new {Entity}Entity(Guid.CreateVersion7(), /* params */);
250
- }
251
- }
252
- ```
253
-
254
- ### 4.6 Minimal API — Endpoint Structure
255
-
256
- ```csharp
257
- public static class {Feature}Endpoints
258
- {
259
- public static void Map{Feature}Endpoints(this IEndpointRouteBuilder app)
260
- {
261
- var group = app.MapGroup("/api/v1/{feature}")
262
- .WithTags("{Feature}")
263
- .RequireAuthorization();
264
-
265
- group.MapPost("/", Create{Entity})
266
- .WithName("Create{Entity}")
267
- .Produces<{Entity}ResponseDto>(StatusCodes.Status201Created)
268
- .ProducesValidationProblem();
269
-
270
- group.MapGet("/{id:guid}", GetById)
271
- .WithName("Get{Entity}ById")
272
- .Produces<{Entity}ResponseDto>()
273
- .Produces(StatusCodes.Status404NotFound);
274
-
275
- group.MapPost("/search", Search)
276
- .WithName("Search{Entity}")
277
- .Produces<LookupFieldResult>();
278
- }
279
- }
280
- ```
281
-
282
- **URL versioning mandatory:** `/api/v1/` prefix on all business endpoints.
283
-
284
- ### 4.7 Error Handling — Problem Details RFC 7807
285
-
286
- ```json
287
- {
288
- "type": "https://tools.ietf.org/html/rfc7807",
289
- "title": "Validation Error",
290
- "status": 400,
291
- "detail": "One or more validation errors occurred.",
292
- "errors": [
293
- { "field": "email", "message": "Email is required" }
294
- ]
295
- }
296
- ```
297
-
298
- | Scenario | HTTP Status |
299
- |----------|------------|
300
- | Validation | 400 |
301
- | Unauthorized | 401 |
302
- | Forbidden | 403 |
303
- | Not found | 404 |
304
- | Dependency conflict | 409 |
305
- | Concurrency conflict (xmin) | 409 |
306
-
307
- ### 4.8 Testing Standards
308
-
309
- ```csharp
310
- // Unit Tests — xUnit + EF Core InMemory
311
- [Fact]
312
- public async Task Handle_ValidCommand_ShouldCreate{Entity}()
313
- {
314
- // Arrange
315
- var options = new DbContextOptionsBuilder<AppDbContext>()
316
- .UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;
317
- // Act + Assert
318
- }
319
-
320
- // Integration Tests — xUnit + Testcontainers
321
- [Collection("PostgreSQL")]
322
- public class {Entity}IntegrationTests : IAsyncLifetime
323
- {
324
- // Testcontainers.PostgreSql — real database in a container
325
- }
326
- ```
327
-
328
- **TDD is mandatory** — write tests before production code.
329
-
330
- ### 4.9 LookupField — Integration
331
-
332
- ```csharp
333
- // Program.cs
334
- builder.Services.AddLookupFieldQueryBuilder();
335
-
336
- // Endpoint — mandatory pattern
337
- group.MapPost("/search", async (SearchRequest request, AppDbContext ctx,
338
- ILookupFieldQueryService lookup) =>
339
- {
340
- try
341
- {
342
- var query = ctx.{Entities}.AsNoTracking();
343
- var result = await lookup.SearchAsync(query, request);
344
- return Results.Ok(result);
345
- }
346
- catch (LookupFieldValidationException ex)
347
- {
348
- return Results.BadRequest(new { errors = ex.Errors });
349
- }
350
- })
351
- .RequirePermission("{service}.{entity}.read")
352
- .WithName("Search{Entity}");
353
- ```
354
-
355
- **LookupField rules:**
356
- - R-LF-001: All master selectors MUST use LookupField
357
- - R-LF-002: Backend MUST use `AsNoTracking()`
358
- - R-LF-003: Backend MUST handle `LookupFieldValidationException`
359
- - R-LF-004: Version with minor pinning `0.0.*`
360
- - R-LF-005: Register with `services.AddLookupFieldQueryBuilder()`
361
- - R-LF-006: Endpoint pattern: `POST /api/v1/{masters}/search`
362
-
363
- ---
364
-
365
- ## 5. Database Conventions (PostgreSQL)
366
-
367
- ### 5.1 Naming Conventions
368
-
369
- | Element | Convention | C# → DB Example |
370
- |---------|-----------|----------------|
371
- | Tables | `snake_case` plural | `products`, `order_items` |
372
- | Columns | `snake_case` | `CustomerID` → `customer_id` |
373
- | FK columns | `{entity_name}_id` | `OriginWarehouseID` → `origin_warehouse_id` |
374
- | Audit FKs | `{action}_by_user_id` | `CreatedByUserID` → `created_by_user_id` |
375
- | Indexes | `ix_{table}_{columns}` | `ix_products_code` |
376
- | Unique | `uk_{table}_{columns}` | `uk_products_code` |
377
- | Constraints | `{type}_{table}_{columns}` | `fk_orders_customers` |
378
- | Schemas | `lowercase_underscore` | `inventory`, `sales` |
379
-
380
- ### 5.2 Projected Tables (Cross-Service)
381
-
382
- Read-only local copies of entities from other microservices. Updated via Pub/Sub.
383
-
384
- | Element | Convention | Example |
385
- |---------|-----------|---------|
386
- | C# Class | `{PREFIX}_{Entity}Prj` | `SEGM_CompanyPrj` |
387
- | DB Table | `{prefix}_{origin_table}_prj` | `segm_companies_prj` |
388
- | Prefix | 4 chars uppercase | `AUTH`, `INVT`, `SEGM`, `TPRT` |
389
-
390
- **Mandatory patterns for projected tables:**
391
- 1. All inherit from `Entity` (Guid Id as PK)
392
- 2. Read-only across 3 layers: API (no POST/PUT/DELETE), Repository (reads only), EF Core (`.AsNoTracking()`)
393
- 3. No physical FKs between projected tables (out-of-order event handling)
394
- 4. IDs belong to the origin service — Core NEVER generates IDs for projections
395
-
396
- ### 5.3 EF Core — Mapping Strategy
397
-
398
- ```csharp
399
- // DbContext — always apply snake_case LAST
400
- protected override void OnModelCreating(ModelBuilder modelBuilder)
401
- {
402
- modelBuilder.HasDefaultSchema("{service}");
403
- modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly);
404
- modelBuilder.ApplySnakeCaseNaming(); // ALWAYS last
405
- }
406
-
407
- // Entity Configuration
408
- public class {Entity}Configuration : IEntityTypeConfiguration<{Entity}Entity>
409
- {
410
- public void Configure(EntityTypeBuilder<{Entity}Entity> builder)
411
- {
412
- builder.ToTable("{entities}", "{schema}");
413
- builder.HasKey(e => e.ID);
414
- builder.Property(e => e.ID).HasColumnType("uuid").IsRequired();
415
- builder.Property(e => e.Version)
416
- .HasColumnName("xmin")
417
- .HasColumnType("xid")
418
- .ValueGeneratedOnAddOrUpdate()
419
- .IsConcurrencyToken();
420
- builder.Ignore(e => e.DomainEvents);
421
- }
422
- }
423
- ```
424
-
425
- ---
426
-
427
- ## 6. Infrastructure Decisions
428
-
429
- ### 6.1 Multi-Tenancy
430
-
431
- - JWT Token contains `TenantId` → Connection Resolver selects the tenant database
432
- - `Company-ID` in headers/payload for multi-company operations within the tenant
433
- - Schema isolation per microservice within the tenant database
434
-
435
- **Mandatory flow:**
436
- ```
437
- Request → JWT Validation → TenantId Extraction → Connection Resolver → AppDbContext (tenant DB)
438
- ```
439
-
440
- ### 6.2 RBAC — Permissions System
441
-
442
- - Permission namespace: `{service}.{resource}.{action}`
443
- - Examples: `manufacturing.methods.create`, `segment.companies.read`
444
- - Validated against AccessManager on EVERY operation
445
- - Server-side enforcement ONLY — never trust UI context
446
-
447
- ```csharp
448
- group.MapPost("/", CreateEntity)
449
- .RequirePermission("{service}.{entity}.create");
450
- ```
451
-
452
- ### 6.3 Dapr Integration
453
-
454
- **Pub/Sub — Topic naming:** `{service}.{entity}.{action}`
455
- Examples: `inventory.cost-segment.updated`, `segment.company.created`
456
-
457
- **Idempotency Handler Pattern:**
458
- ```csharp
459
- [Topic("pubsub", "{service}.{entity}.{action}")]
460
- public async Task<IActionResult> Handle{Entity}{Action}Event(
461
- [FromBody] DomainEventEnvelope<{Entity}{Action}Event> envelope)
462
- {
463
- // Check idempotency (process only once)
464
- // Validate tenantId
465
- // Process event
466
- }
467
- ```
468
-
469
- ### 6.4 Health Checks
470
-
471
- ```csharp
472
- builder.Services.AddHealthChecks()
473
- .AddNpgsql(connectionString, name: "postgresql")
474
- .AddRedis(redisConnection, name: "redis");
475
-
476
- app.MapHealthChecks("/health");
477
- app.MapHealthChecks("/health/ready", new HealthCheckOptions
478
- {
479
- Predicate = check => check.Tags.Contains("ready")
480
- });
481
- ```
482
-
483
- ### 6.5 Logging
484
-
485
- ```csharp
486
- // Structured logging mandatory
487
- _logger.LogInformation("Processing {EntityType} {EntityId} for tenant {TenantId}",
488
- entityType, entityId, tenantId);
489
-
490
- // NEVER log sensitive data
491
- // Correlation IDs for request tracing
492
- // Log levels: Trace, Debug, Information, Warning, Error, Critical
493
- ```
494
-
495
- ### 6.6 Docker
496
-
497
- - Docker ONLY for production and CI/CD environments
498
- - Local development without Docker using `dotnet CLI`
499
- - `docker-compose` defines: PostgreSQL, Redis (Dapr state store), Dapr Placement
500
-
501
- ---
502
-
503
- ## 7. Naming Conventions Summary
504
-
505
- ### 7.1 C# / Backend
506
-
507
- | Element | Convention | Example |
508
- |---------|-----------|---------|
509
- | Classes | PascalCase singular | `MethodEntity`, `WorkCenterRate` |
510
- | Properties | PascalCase | `StorageGroupID`, `IsActive` |
511
- | Private fields | `_camelCase` | `_repository`, `_daprClient` |
512
- | Interfaces | `I` + PascalCase | `IUserRepository` |
513
- | Commands | `{Action}{Entity}Command` | `CreateUserCommand` |
514
- | Queries | `Get{Entity}Query` | `GetUserByIdQuery` |
515
- | DTOs | `{Entity}{Type}Dto` | `UserResponseDto`, `UserCreateDto` |
516
-
517
- ### 7.2 PostgreSQL
518
-
519
- | Element | Convention | Example |
520
- |---------|-----------|---------|
521
- | Tables | `snake_case` plural | `methods`, `work_centers` |
522
- | Columns | `snake_case` | `cost_center_id`, `is_active` |
523
- | FK columns | `{entity}_id` | `method_id`, `company_id` |
524
- | Indexes | `ix_{table}_{cols}` | `ix_methods_code` |
525
- | Unique | `uk_{table}_{cols}` | `uk_methods_code` |
526
-
527
- ---
528
-
529
- ## 8. Compliance Checklist — Backend (New Microservice)
530
-
531
- ```markdown
532
- ## Setup
533
- - [ ] .NET 10 solution with 4 projects (API, Application, Domain, Infrastructure)
534
- - [ ] NuGet: Siesa.MasterPattern 0.1.*, Siesa.AccessManager, LookupFieldQueryBuilder 0.0.*
535
- - [ ] GitHub Packages source configured (PAT read:packages)
536
- - [ ] PostgreSQL 18+ — dedicated database
537
- - [ ] docker-compose with PostgreSQL + Redis + Dapr Placement
538
-
539
- ## Architecture
540
- - [ ] Clean Architecture — dependencies point inward
541
- - [ ] DDD — entities with factory methods, private setters
542
- - [ ] UUID v7 (Guid.CreateVersion7()) on all PKs
543
- - [ ] DateTimeOffset on all timestamps (NEVER DateTime)
544
- - [ ] xmin concurrency on all master entities
545
- - [ ] Result Pattern in domain operations
546
-
547
- ## MasterPattern
548
- - [ ] All master entities implement IMasterEntity
549
- - [ ] BaseMasterService<T> extended by all services
550
- - [ ] MasterDefinition with correct Type (GLOBAL/COMPANY_SPECIFIC/UNIVERSAL)
551
- - [ ] Override tables for GLOBAL masters (if applicable)
552
-
553
- ## API
554
- - [ ] Minimal API (NO MVC controllers)
555
- - [ ] URL versioning /api/v1/
556
- - [ ] RBAC on all endpoints (RequirePermission)
557
- - [ ] Problem Details RFC 7807 on all errors
558
- - [ ] LookupField /search endpoint on all masters
559
- - [ ] Scalar (NO Swagger)
560
-
561
- ## Testing
562
- - [ ] TDD — tests written before production code
563
- - [ ] xUnit + EF Core InMemory for unit tests
564
- - [ ] xUnit + Testcontainers.PostgreSql for integration tests
565
- ```
1
+ ---
2
+ type: base-architecture
3
+ scope: backend
4
+ status: base
5
+ note: >
6
+ This document was automatically generated during siesa-agents installation.
7
+ It represents the Siesa corporate base architecture applicable to all microservices.
8
+ It can be extended with the /create-architecture workflow for project-specific decisions.
9
+ ---
10
+
11
+ # Architecture Decision Document — Siesa Corporate Base (Backend)
12
+
13
+ _This document establishes the mandatory backend architectural decisions for all Siesa microservices. It serves as the source of truth for consistent AI-driven development._
14
+
15
+ ---
16
+
17
+ ## 1. Technology Stack
18
+
19
+ ### 1.1 Backend
20
+
21
+ | Layer | Technology | Version | Notes |
22
+ |-------|-----------|---------|-------|
23
+ | Language | C# | Latest | Modern features (records, pattern matching) |
24
+ | Framework | .NET | 10.x | Minimal API — NO MVC controllers |
25
+ | Primary ORM | Entity Framework Core | 10.x | Code-first with migrations |
26
+ | Advanced ORM | linq2db | Latest | Complex and high-performance queries |
27
+ | Dynamic queries | DynamicLinq | Latest | Filters from user input |
28
+ | Composable LINQ | LinqKit | Latest | Composable predicates in repositories |
29
+ | Validation | FluentValidation | 11.* | `LocalizedValidator<T>` |
30
+ | Testing | xUnit | Latest | TDD mandatory |
31
+ | DB | PostgreSQL | 18+ | One per microservice |
32
+ | PDF | QuestPDF | Latest | Document generation |
33
+ | API Docs | Scalar | Latest | NO Swagger / NO OpenAPI UI |
34
+ | Orchestration | Dapr | Latest | Pub/Sub + Service Invocation |
35
+
36
+ ### 1.2 Mandatory Backend Libraries
37
+
38
+ | Library | Package | Version | Purpose |
39
+ |---------|---------|---------|---------|
40
+ | MasterPattern | `Siesa.MasterPattern` | `0.1.*` | Master CRUD, overrides |
41
+ | AccessManager | `Siesa.AccessManager` | `0.1.0-*` | RBAC, permissions |
42
+ | LookupField | `Siesa.BusinessUtilities.LookupFieldQueryBuilder` | `0.0.*` | Master record search |
43
+ | i18n | `Microsoft.Extensions.Localization` | Built-in | Internationalization |
44
+ | FluentValidation | `FluentValidation.DependencyInjectionExtensions` | `11.*` | Request validation |
45
+ | Pluralization | `Humanizer.Core` | `3.*` | EF Core table names |
46
+ | EF Core Design | `Microsoft.EntityFrameworkCore.Design` | `10.*` | `dotnet ef migrations` (required in API project) |
47
+
48
+ > **CRITICAL:** `Microsoft.EntityFrameworkCore.Design` must be present in the API (startup) project AND in Infrastructure. Without it in the startup project, `dotnet ef migrations add` will fail.
49
+
50
+ ---
51
+
52
+ ## 2. Architectural Patterns
53
+
54
+ ### 2.1 Clean Architecture + DDD (Mandatory)
55
+
56
+ Dependencies always point inward: `Domain ← Application ← Infrastructure ← API`
57
+
58
+ ```
59
+ Domain → Entities, Value Objects, Domain Events, Repository Interfaces
60
+ Application → Commands, Queries, DTOs, Validators, Use Cases
61
+ Infrastructure → Repositories (EF Core), DB Context, external services
62
+ API → Minimal API Endpoints, Middleware
63
+ ```
64
+
65
+ **Key principles:**
66
+ - Business logic ONLY in Domain and Application layers
67
+ - Infrastructure MUST NOT contain business logic
68
+ - Domain MUST NOT reference external frameworks
69
+ - Each microservice has its own dedicated PostgreSQL database
70
+
71
+ ### 2.2 MasterPattern — GLOBAL / COMPANY-SPECIFIC / UNIVERSAL
72
+
73
+ `Siesa.MasterPattern` defines three master types:
74
+
75
+ | Type | `CompanyID` | Overrides Table | Override Endpoints | Assign Endpoints |
76
+ |------|-------------|-----------------|-------------------|-----------------|
77
+ | `GLOBAL` | NO | YES `{entity}_overrides` | YES `POST /{id}/override` | YES `POST /{id}/assign` |
78
+ | `COMPANY_SPECIFIC` | YES | NO | NO | NO |
79
+ | `UNIVERSAL` | NO | NO | NO | NO |
80
+
81
+ **Override Resolution Rule:**
82
+ ```
83
+ Override.Field == NULL → Inherits from the base Global
84
+ Override.Field != NULL → Uses the override value
85
+ ```
86
+
87
+ **Mandatory rules:**
88
+ - R-MP-001: All masters MUST extend `BaseMasterService<T>`
89
+ - R-MP-002: All masters MUST have a static `MasterDefinition` class
90
+ - R-MP-003: GLOBAL masters MUST have an Overrides table
91
+ - R-MP-004: Immutable fields (Code, Name) MUST NOT be in the Overrides table
92
+ - R-MP-005: Overridable fields MUST be nullable in Overrides
93
+ - R-MP-006: Tables MUST use snake_case
94
+ - R-MP-007: Override tables MUST follow the `{entities}_overrides` pattern
95
+
96
+ ### 2.3 Result Pattern (Mandatory)
97
+
98
+ All domain operations return `Result<T>` — exceptions are never thrown for expected business flows.
99
+
100
+ ```csharp
101
+ // ✅ Correct
102
+ public Result<UserDto> CreateUser(CreateUserCommand cmd)
103
+ {
104
+ if (string.IsNullOrEmpty(cmd.Email))
105
+ return Result.Failure<UserDto>("Email is required");
106
+ // ...
107
+ return Result.Success(new UserDto(user));
108
+ }
109
+
110
+ // ❌ Incorrect
111
+ public UserDto CreateUser(CreateUserCommand cmd)
112
+ {
113
+ if (string.IsNullOrEmpty(cmd.Email))
114
+ throw new ArgumentException("Email is required"); // Do not use for business validations
115
+ }
116
+ ```
117
+
118
+ ### 2.4 Dependency Injection — Registration Sequence (Mandatory)
119
+
120
+ ```csharp
121
+ // Program.cs — MANDATORY ORDER
122
+ builder.Services.AddLocalization(); // 1. i18n first
123
+ builder.Services.AddFluentValidation(); // 2. Validation
124
+ builder.Services.AddDbContext<AppDbContext>(); // 3. DB Context
125
+ builder.Services.AddRepositories(); // 4. Repositories
126
+ builder.Services.AddApplicationServices(); // 5. Application services
127
+ builder.Services.AddMasterPattern(); // 6. MasterPattern
128
+ builder.Services.AddAccessManager(); // 7. AccessManager
129
+ builder.Services.AddLookupFieldQueryBuilder(); // 8. LookupField
130
+ builder.Services.AddHealthChecks(); // 9. Health Checks
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 3. Solution Structure (Backend)
136
+
137
+ ```
138
+ src/
139
+ ├── {Service}.API/ # Presentation Layer — Minimal API Endpoints
140
+ │ ├── Endpoints/
141
+ │ │ └── {Feature}/ # Endpoint classes per feature
142
+ │ ├── Middleware/
143
+ │ └── Program.cs
144
+ ├── {Service}.Application/ # Application Layer — CQRS, DTOs, Validators
145
+ │ └── {Feature}/
146
+ │ ├── Commands/
147
+ │ ├── Queries/
148
+ │ ├── DTOs/
149
+ │ ├── Validators/
150
+ │ └── Interfaces/
151
+ ├── {Service}.Domain/ # Domain Layer — Entities, Value Objects, Events
152
+ │ └── {Feature}/
153
+ │ ├── Entities/
154
+ │ ├── ValueObjects/
155
+ │ └── Events/
156
+ └── {Service}.Infrastructure/ # Infrastructure Layer — EF Core, Repositories
157
+ ├── Data/
158
+ │ ├── Configurations/
159
+ │ ├── Migrations/
160
+ │ └── {Service}DbContext.cs
161
+ └── Repositories/
162
+ tests/
163
+ ├── {Service}.UnitTests/ # xUnit + EF Core InMemory
164
+ └── {Service}.IntegrationTests/ # xUnit + Testcontainers.PostgreSql
165
+ ```
166
+
167
+ ---
168
+
169
+ ## 4. Backend Standards
170
+
171
+ ### 4.1 DateTime — Mandatory Types
172
+
173
+ ⚠️ **ALWAYS use `DateTimeOffset`, NEVER `DateTime`**
174
+
175
+ ```csharp
176
+ // ✅ Correct
177
+ public DateTimeOffset CreatedAt { get; private set; } = DateTimeOffset.UtcNow;
178
+ public DateTimeOffset UpdatedAt { get; private set; } = DateTimeOffset.UtcNow;
179
+
180
+ // ❌ Incorrect
181
+ public DateTime CreatedAt { get; private set; } // NEVER
182
+ ```
183
+
184
+ | Case | C# Type | PostgreSQL Type |
185
+ |------|---------|----------------|
186
+ | Timestamp with timezone | `DateTimeOffset` | `TIMESTAMP WITH TIME ZONE` |
187
+ | Date only | `DateOnly` | `DATE` |
188
+ | Time only | `TimeOnly` | `TIME` |
189
+ | NEVER use | ~~`DateTime`~~ | — |
190
+
191
+ ### 4.2 Primary Keys — UUID v7
192
+
193
+ ```csharp
194
+ // ✅ Mandatory — UUID v7 for all PKs
195
+ public Guid ID { get; private set; } = Guid.CreateVersion7();
196
+
197
+ // ❌ Incorrect
198
+ public Guid ID { get; private set; } = Guid.NewGuid(); // UUID v4 — do not use
199
+ ```
200
+
201
+ PostgreSQL: `DEFAULT uuidv7()` in migrations.
202
+
203
+ ### 4.3 Optimistic Concurrency — xmin
204
+
205
+ - All masters expose `rowVersion` (uint) in GET responses
206
+ - PUT/DELETE require the client to send `rowVersion`
207
+ - Mismatch → HTTP 409 Problem Details RFC 7807
208
+ - Force-save via `?force=true` (requires elevated permission)
209
+
210
+ ### 4.4 ORM Strategy — When to Use Each Tool
211
+
212
+ | Tool | When to Use |
213
+ |------|------------|
214
+ | **EF Core 10** | Standard CRUD, DDD entities with tracking, relationships, migrations |
215
+ | **linq2db** | High-performance complex queries, dashboards, analytics, reports |
216
+ | **DynamicLinq** | Dynamic filters from user input, configurable grids |
217
+ | **LinqKit** | Type-safe composable predicates, DDD repositories with multiple criteria |
218
+
219
+ ### 4.5 Domain Entity — Mandatory Structure
220
+
221
+ ```csharp
222
+ public class {Entity}Entity : IMasterEntity
223
+ {
224
+ private {Entity}Entity() { } // EF Core materialization
225
+
226
+ private {Entity}Entity(Guid id, /* params */) : base()
227
+ {
228
+ ID = id;
229
+ // ...
230
+ }
231
+
232
+ // IMasterEntity
233
+ public Guid ID { get; private set; }
234
+ public string Code { get; private set; } = string.Empty; // Immutable after creation
235
+ public bool IsActive { get; set; } = true;
236
+ public uint Version { get; set; } // PostgreSQL xmin → rowVersion DTO
237
+
238
+ // Timestamps
239
+ public DateTimeOffset CreatedAt { get; private set; }
240
+ public DateTimeOffset UpdatedAt { get; private set; }
241
+
242
+ // Audit — FK to amgr_users_prj
243
+ public Guid CreatedByUserID { get; private set; }
244
+ public Guid UpdatedByUserID { get; private set; }
245
+
246
+ // Mandatory factory method
247
+ public static {Entity}Entity Create(/* params */, Guid createdByUserId)
248
+ {
249
+ return new {Entity}Entity(Guid.CreateVersion7(), /* params */);
250
+ }
251
+ }
252
+ ```
253
+
254
+ ### 4.6 Minimal API — Endpoint Structure
255
+
256
+ ```csharp
257
+ public static class {Feature}Endpoints
258
+ {
259
+ public static void Map{Feature}Endpoints(this IEndpointRouteBuilder app)
260
+ {
261
+ var group = app.MapGroup("/api/v1/{feature}")
262
+ .WithTags("{Feature}")
263
+ .RequireAuthorization();
264
+
265
+ group.MapPost("/", Create{Entity})
266
+ .WithName("Create{Entity}")
267
+ .Produces<{Entity}ResponseDto>(StatusCodes.Status201Created)
268
+ .ProducesValidationProblem();
269
+
270
+ group.MapGet("/{id:guid}", GetById)
271
+ .WithName("Get{Entity}ById")
272
+ .Produces<{Entity}ResponseDto>()
273
+ .Produces(StatusCodes.Status404NotFound);
274
+
275
+ group.MapPost("/search", Search)
276
+ .WithName("Search{Entity}")
277
+ .Produces<LookupFieldResult>();
278
+ }
279
+ }
280
+ ```
281
+
282
+ **URL versioning mandatory:** `/api/v1/` prefix on all business endpoints.
283
+
284
+ ### 4.7 Error Handling — Problem Details RFC 7807
285
+
286
+ ```json
287
+ {
288
+ "type": "https://tools.ietf.org/html/rfc7807",
289
+ "title": "Validation Error",
290
+ "status": 400,
291
+ "detail": "One or more validation errors occurred.",
292
+ "errors": [
293
+ { "field": "email", "message": "Email is required" }
294
+ ]
295
+ }
296
+ ```
297
+
298
+ | Scenario | HTTP Status |
299
+ |----------|------------|
300
+ | Validation | 400 |
301
+ | Unauthorized | 401 |
302
+ | Forbidden | 403 |
303
+ | Not found | 404 |
304
+ | Dependency conflict | 409 |
305
+ | Concurrency conflict (xmin) | 409 |
306
+
307
+ ### 4.8 Testing Standards
308
+
309
+ ```csharp
310
+ // Unit Tests — xUnit + EF Core InMemory
311
+ [Fact]
312
+ public async Task Handle_ValidCommand_ShouldCreate{Entity}()
313
+ {
314
+ // Arrange
315
+ var options = new DbContextOptionsBuilder<AppDbContext>()
316
+ .UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;
317
+ // Act + Assert
318
+ }
319
+
320
+ // Integration Tests — xUnit + Testcontainers
321
+ [Collection("PostgreSQL")]
322
+ public class {Entity}IntegrationTests : IAsyncLifetime
323
+ {
324
+ // Testcontainers.PostgreSql — real database in a container
325
+ }
326
+ ```
327
+
328
+ **TDD is mandatory** — write tests before production code.
329
+
330
+ ### 4.9 LookupField — Integration
331
+
332
+ ```csharp
333
+ // Program.cs
334
+ builder.Services.AddLookupFieldQueryBuilder();
335
+
336
+ // Endpoint — mandatory pattern
337
+ group.MapPost("/search", async (SearchRequest request, AppDbContext ctx,
338
+ ILookupFieldQueryService lookup) =>
339
+ {
340
+ try
341
+ {
342
+ var query = ctx.{Entities}.AsNoTracking();
343
+ var result = await lookup.SearchAsync(query, request);
344
+ return Results.Ok(result);
345
+ }
346
+ catch (LookupFieldValidationException ex)
347
+ {
348
+ return Results.BadRequest(new { errors = ex.Errors });
349
+ }
350
+ })
351
+ .RequirePermission("{service}.{entity}.read")
352
+ .WithName("Search{Entity}");
353
+ ```
354
+
355
+ **LookupField rules:**
356
+ - R-LF-001: All master selectors MUST use LookupField
357
+ - R-LF-002: Backend MUST use `AsNoTracking()`
358
+ - R-LF-003: Backend MUST handle `LookupFieldValidationException`
359
+ - R-LF-004: Version with minor pinning `0.0.*`
360
+ - R-LF-005: Register with `services.AddLookupFieldQueryBuilder()`
361
+ - R-LF-006: Endpoint pattern: `POST /api/v1/{masters}/search`
362
+
363
+ ---
364
+
365
+ ## 5. Database Conventions (PostgreSQL)
366
+
367
+ ### 5.1 Naming Conventions
368
+
369
+ | Element | Convention | C# → DB Example |
370
+ |---------|-----------|----------------|
371
+ | Tables | `snake_case` plural | `products`, `order_items` |
372
+ | Columns | `snake_case` | `CustomerID` → `customer_id` |
373
+ | FK columns | `{entity_name}_id` | `OriginWarehouseID` → `origin_warehouse_id` |
374
+ | Audit FKs | `{action}_by_user_id` | `CreatedByUserID` → `created_by_user_id` |
375
+ | Indexes | `ix_{table}_{columns}` | `ix_products_code` |
376
+ | Unique | `uk_{table}_{columns}` | `uk_products_code` |
377
+ | Constraints | `{type}_{table}_{columns}` | `fk_orders_customers` |
378
+ | Schemas | `lowercase_underscore` | `inventory`, `sales` |
379
+
380
+ ### 5.2 Projected Tables (Cross-Service)
381
+
382
+ Read-only local copies of entities from other microservices. Updated via Pub/Sub.
383
+
384
+ | Element | Convention | Example |
385
+ |---------|-----------|---------|
386
+ | C# Class | `{PREFIX}_{Entity}Prj` | `SEGM_CompanyPrj` |
387
+ | DB Table | `{prefix}_{origin_table}_prj` | `segm_companies_prj` |
388
+ | Prefix | 4 chars uppercase | `AUTH`, `INVT`, `SEGM`, `TPRT` |
389
+
390
+ **Mandatory patterns for projected tables:**
391
+ 1. All inherit from `Entity` (Guid Id as PK)
392
+ 2. Read-only across 3 layers: API (no POST/PUT/DELETE), Repository (reads only), EF Core (`.AsNoTracking()`)
393
+ 3. No physical FKs between projected tables (out-of-order event handling)
394
+ 4. IDs belong to the origin service — Core NEVER generates IDs for projections
395
+
396
+ ### 5.3 EF Core — Mapping Strategy
397
+
398
+ ```csharp
399
+ // DbContext — always apply snake_case LAST
400
+ protected override void OnModelCreating(ModelBuilder modelBuilder)
401
+ {
402
+ modelBuilder.HasDefaultSchema("{service}");
403
+ modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly);
404
+ modelBuilder.ApplySnakeCaseNaming(); // ALWAYS last
405
+ }
406
+
407
+ // Entity Configuration
408
+ public class {Entity}Configuration : IEntityTypeConfiguration<{Entity}Entity>
409
+ {
410
+ public void Configure(EntityTypeBuilder<{Entity}Entity> builder)
411
+ {
412
+ builder.ToTable("{entities}", "{schema}");
413
+ builder.HasKey(e => e.ID);
414
+ builder.Property(e => e.ID).HasColumnType("uuid").IsRequired();
415
+ builder.Property(e => e.Version)
416
+ .HasColumnName("xmin")
417
+ .HasColumnType("xid")
418
+ .ValueGeneratedOnAddOrUpdate()
419
+ .IsConcurrencyToken();
420
+ builder.Ignore(e => e.DomainEvents);
421
+ }
422
+ }
423
+ ```
424
+
425
+ ---
426
+
427
+ ## 6. Infrastructure Decisions
428
+
429
+ ### 6.1 Multi-Tenancy
430
+
431
+ - JWT Token contains `TenantId` → Connection Resolver selects the tenant database
432
+ - `Company-ID` in headers/payload for multi-company operations within the tenant
433
+ - Schema isolation per microservice within the tenant database
434
+
435
+ **Mandatory flow:**
436
+ ```
437
+ Request → JWT Validation → TenantId Extraction → Connection Resolver → AppDbContext (tenant DB)
438
+ ```
439
+
440
+ ### 6.2 RBAC — Permissions System
441
+
442
+ - Permission namespace: `{service}.{resource}.{action}`
443
+ - Examples: `manufacturing.methods.create`, `segment.companies.read`
444
+ - Validated against AccessManager on EVERY operation
445
+ - Server-side enforcement ONLY — never trust UI context
446
+
447
+ ```csharp
448
+ group.MapPost("/", CreateEntity)
449
+ .RequirePermission("{service}.{entity}.create");
450
+ ```
451
+
452
+ ### 6.3 Dapr Integration
453
+
454
+ **Pub/Sub — Topic naming:** `{service}.{entity}.{action}`
455
+ Examples: `inventory.cost-segment.updated`, `segment.company.created`
456
+
457
+ **Idempotency Handler Pattern:**
458
+ ```csharp
459
+ [Topic("pubsub", "{service}.{entity}.{action}")]
460
+ public async Task<IActionResult> Handle{Entity}{Action}Event(
461
+ [FromBody] DomainEventEnvelope<{Entity}{Action}Event> envelope)
462
+ {
463
+ // Check idempotency (process only once)
464
+ // Validate tenantId
465
+ // Process event
466
+ }
467
+ ```
468
+
469
+ ### 6.4 Health Checks
470
+
471
+ ```csharp
472
+ builder.Services.AddHealthChecks()
473
+ .AddNpgsql(connectionString, name: "postgresql")
474
+ .AddRedis(redisConnection, name: "redis");
475
+
476
+ app.MapHealthChecks("/health");
477
+ app.MapHealthChecks("/health/ready", new HealthCheckOptions
478
+ {
479
+ Predicate = check => check.Tags.Contains("ready")
480
+ });
481
+ ```
482
+
483
+ ### 6.5 Logging
484
+
485
+ ```csharp
486
+ // Structured logging mandatory
487
+ _logger.LogInformation("Processing {EntityType} {EntityId} for tenant {TenantId}",
488
+ entityType, entityId, tenantId);
489
+
490
+ // NEVER log sensitive data
491
+ // Correlation IDs for request tracing
492
+ // Log levels: Trace, Debug, Information, Warning, Error, Critical
493
+ ```
494
+
495
+ ### 6.6 Docker
496
+
497
+ - Docker ONLY for production and CI/CD environments
498
+ - Local development without Docker using `dotnet CLI`
499
+ - `docker-compose` defines: PostgreSQL, Redis (Dapr state store), Dapr Placement
500
+
501
+ ---
502
+
503
+ ## 7. Naming Conventions Summary
504
+
505
+ ### 7.1 C# / Backend
506
+
507
+ | Element | Convention | Example |
508
+ |---------|-----------|---------|
509
+ | Classes | PascalCase singular | `MethodEntity`, `WorkCenterRate` |
510
+ | Properties | PascalCase | `StorageGroupID`, `IsActive` |
511
+ | Private fields | `_camelCase` | `_repository`, `_daprClient` |
512
+ | Interfaces | `I` + PascalCase | `IUserRepository` |
513
+ | Commands | `{Action}{Entity}Command` | `CreateUserCommand` |
514
+ | Queries | `Get{Entity}Query` | `GetUserByIdQuery` |
515
+ | DTOs | `{Entity}{Type}Dto` | `UserResponseDto`, `UserCreateDto` |
516
+
517
+ ### 7.2 PostgreSQL
518
+
519
+ | Element | Convention | Example |
520
+ |---------|-----------|---------|
521
+ | Tables | `snake_case` plural | `methods`, `work_centers` |
522
+ | Columns | `snake_case` | `cost_center_id`, `is_active` |
523
+ | FK columns | `{entity}_id` | `method_id`, `company_id` |
524
+ | Indexes | `ix_{table}_{cols}` | `ix_methods_code` |
525
+ | Unique | `uk_{table}_{cols}` | `uk_methods_code` |
526
+
527
+ ---
528
+
529
+ ## 8. Compliance Checklist — Backend (New Microservice)
530
+
531
+ ```markdown
532
+ ## Setup
533
+ - [ ] .NET 10 solution with 4 projects (API, Application, Domain, Infrastructure)
534
+ - [ ] NuGet: Siesa.MasterPattern 0.1.*, Siesa.AccessManager, LookupFieldQueryBuilder 0.0.*
535
+ - [ ] GitHub Packages source configured (PAT read:packages)
536
+ - [ ] PostgreSQL 18+ — dedicated database
537
+ - [ ] docker-compose with PostgreSQL + Redis + Dapr Placement
538
+
539
+ ## Architecture
540
+ - [ ] Clean Architecture — dependencies point inward
541
+ - [ ] DDD — entities with factory methods, private setters
542
+ - [ ] UUID v7 (Guid.CreateVersion7()) on all PKs
543
+ - [ ] DateTimeOffset on all timestamps (NEVER DateTime)
544
+ - [ ] xmin concurrency on all master entities
545
+ - [ ] Result Pattern in domain operations
546
+
547
+ ## MasterPattern
548
+ - [ ] All master entities implement IMasterEntity
549
+ - [ ] BaseMasterService<T> extended by all services
550
+ - [ ] MasterDefinition with correct Type (GLOBAL/COMPANY_SPECIFIC/UNIVERSAL)
551
+ - [ ] Override tables for GLOBAL masters (if applicable)
552
+
553
+ ## API
554
+ - [ ] Minimal API (NO MVC controllers)
555
+ - [ ] URL versioning /api/v1/
556
+ - [ ] RBAC on all endpoints (RequirePermission)
557
+ - [ ] Problem Details RFC 7807 on all errors
558
+ - [ ] LookupField /search endpoint on all masters
559
+ - [ ] Scalar (NO Swagger)
560
+
561
+ ## Testing
562
+ - [ ] TDD — tests written before production code
563
+ - [ ] xUnit + EF Core InMemory for unit tests
564
+ - [ ] xUnit + Testcontainers.PostgreSql for integration tests
565
+ ```