siesa-agents 2.1.40 → 2.1.41
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.
- package/README.md +147 -147
- package/bin/install.js +534 -534
- package/bin/prepare-publish.js +26 -26
- package/bin/restore-folders.js +26 -26
- package/bmad/_config/agent-manifest.csv +20 -20
- package/bmad/_config/agents/bmb-agent-builder.customize.yaml +41 -41
- package/bmad/_config/agents/bmb-module-builder.customize.yaml +41 -41
- package/bmad/_config/agents/bmb-workflow-builder.customize.yaml +41 -41
- package/bmad/_config/files-manifest.csv +469 -469
- package/bmad/_config/ides/claude-code.yaml +6 -6
- package/bmad/_config/manifest.yaml +14 -14
- package/bmad/_config/task-manifest.csv +6 -6
- package/bmad/_config/tool-manifest.csv +1 -1
- package/bmad/_config/workflow-manifest.csv +45 -45
- package/bmad/_memory/config.yaml +11 -11
- package/bmad/bmb/README.md +25 -25
- package/bmad/bmb/agents/agent-builder.md +57 -57
- package/bmad/bmb/agents/module-builder.md +60 -60
- package/bmad/bmb/agents/workflow-builder.md +56 -56
- package/bmad/bmb/config.yaml +12 -12
- package/bmad/bmb/docs/workflows/architecture.md +220 -220
- package/bmad/bmb/docs/workflows/common-workflow-tools.csv +18 -18
- package/bmad/bmb/docs/workflows/csv-data-file-standards.md +206 -206
- package/bmad/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -220
- package/bmad/bmb/docs/workflows/step-file-rules.md +469 -469
- package/bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -241
- package/bmad/bmb/docs/workflows/templates/step-1b-template.md +223 -223
- package/bmad/bmb/docs/workflows/templates/step-file.md +139 -139
- package/bmad/bmb/docs/workflows/templates/step-template.md +290 -290
- package/bmad/bmb/docs/workflows/templates/workflow-template.md +104 -104
- package/bmad/bmb/docs/workflows/templates/workflow.md +58 -58
- package/bmad/bmb/docs/workflows/terms.md +97 -97
- package/bmad/bmb/reference/agents/simple-examples/README.md +223 -223
- package/bmad/bmb/reference/readme.md +3 -3
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +17 -17
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +15 -15
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +27 -27
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -177
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +121 -121
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +165 -165
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +154 -154
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +183 -183
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +168 -168
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +195 -195
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -25
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -68
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -29
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -47
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -37
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -18
- package/bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md +59 -59
- package/bmad/bmb/workflows/agent/data/agent-compilation.md +273 -273
- package/bmad/bmb/workflows/agent/data/agent-menu-patterns.md +233 -233
- package/bmad/bmb/workflows/agent/data/agent-metadata.md +208 -208
- package/bmad/bmb/workflows/agent/data/brainstorm-context.md +146 -146
- package/bmad/bmb/workflows/agent/data/communication-presets.csv +61 -61
- package/bmad/bmb/workflows/agent/data/critical-actions.md +120 -120
- package/bmad/bmb/workflows/agent/data/expert-agent-architecture.md +236 -236
- package/bmad/bmb/workflows/agent/data/expert-agent-validation.md +173 -173
- package/bmad/bmb/workflows/agent/data/module-agent-validation.md +124 -124
- package/bmad/bmb/workflows/agent/data/persona-properties.md +266 -266
- package/bmad/bmb/workflows/agent/data/principles-crafting.md +292 -292
- package/bmad/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +16 -16
- package/bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +68 -68
- package/bmad/bmb/workflows/agent/data/simple-agent-architecture.md +204 -204
- package/bmad/bmb/workflows/agent/data/simple-agent-validation.md +132 -132
- package/bmad/bmb/workflows/agent/data/understanding-agent-types.md +222 -222
- package/bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +126 -126
- package/bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +168 -168
- package/bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +294 -294
- package/bmad/bmb/workflows/agent/steps-c/step-04-persona.md +210 -210
- package/bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +176 -176
- package/bmad/bmb/workflows/agent/steps-c/step-06-activation.md +275 -275
- package/bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +185 -185
- package/bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +201 -201
- package/bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +258 -258
- package/bmad/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +203 -203
- package/bmad/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +135 -135
- package/bmad/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +161 -161
- package/bmad/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +158 -158
- package/bmad/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +306 -306
- package/bmad/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +462 -462
- package/bmad/bmb/workflows/agent/steps-c/step-09-celebrate.md +244 -244
- package/bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +214 -214
- package/bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +191 -191
- package/bmad/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +78 -78
- package/bmad/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +76 -76
- package/bmad/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +75 -75
- package/bmad/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +75 -75
- package/bmad/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +78 -78
- package/bmad/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +119 -119
- package/bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +122 -122
- package/bmad/bmb/workflows/agent/steps-e/e-05-persona.md +132 -132
- package/bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +120 -120
- package/bmad/bmb/workflows/agent/steps-e/e-07-activation.md +122 -122
- package/bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +134 -134
- package/bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +117 -117
- package/bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +120 -120
- package/bmad/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +70 -70
- package/bmad/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +70 -70
- package/bmad/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +69 -69
- package/bmad/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +69 -69
- package/bmad/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +70 -70
- package/bmad/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +111 -111
- package/bmad/bmb/workflows/agent/steps-e/e-10-celebrate.md +150 -150
- package/bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +128 -128
- package/bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +73 -73
- package/bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +72 -72
- package/bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +71 -71
- package/bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +71 -71
- package/bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +76 -76
- package/bmad/bmb/workflows/agent/steps-v/v-03-summary.md +100 -100
- package/bmad/bmb/workflows/agent/templates/agent-plan.template.md +5 -5
- package/bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +76 -76
- package/bmad/bmb/workflows/agent/templates/simple-agent.template.md +71 -71
- package/bmad/bmb/workflows/agent/workflow.md +123 -123
- package/bmad/bmb/workflows/create-module/steps/step-01-init.md +156 -156
- package/bmad/bmb/workflows/create-module/steps/step-01b-continue.md +170 -170
- package/bmad/bmb/workflows/create-module/steps/step-02-concept.md +218 -218
- package/bmad/bmb/workflows/create-module/steps/step-03-components.md +268 -268
- package/bmad/bmb/workflows/create-module/steps/step-04-structure.md +229 -229
- package/bmad/bmb/workflows/create-module/steps/step-05-config.md +234 -234
- package/bmad/bmb/workflows/create-module/steps/step-06-agents.md +297 -297
- package/bmad/bmb/workflows/create-module/steps/step-07-workflows.md +229 -229
- package/bmad/bmb/workflows/create-module/steps/step-08-installer.md +187 -187
- package/bmad/bmb/workflows/create-module/steps/step-09-documentation.md +310 -310
- package/bmad/bmb/workflows/create-module/steps/step-10-roadmap.md +338 -338
- package/bmad/bmb/workflows/create-module/steps/step-11-validate.md +336 -336
- package/bmad/bmb/workflows/create-module/templates/agent.template.md +313 -313
- package/bmad/bmb/workflows/create-module/templates/installer.template.js +47 -47
- package/bmad/bmb/workflows/create-module/templates/module-plan.template.md +5 -5
- package/bmad/bmb/workflows/create-module/templates/module.template.yaml +53 -53
- package/bmad/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -23
- package/bmad/bmb/workflows/create-module/validation.md +126 -126
- package/bmad/bmb/workflows/create-module/workflow.md +56 -56
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +17 -17
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +15 -15
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +27 -27
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +177 -177
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +150 -150
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +164 -164
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +152 -152
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +182 -182
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +167 -167
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -194
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +25 -25
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +68 -68
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +29 -29
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +47 -47
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +37 -37
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +18 -18
- package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +58 -58
- package/bmad/bmb/workflows/create-workflow/steps/step-01-init.md +158 -158
- package/bmad/bmb/workflows/create-workflow/steps/step-02-gather.md +212 -212
- package/bmad/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +251 -251
- package/bmad/bmb/workflows/create-workflow/steps/step-04-plan-review.md +217 -217
- package/bmad/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +290 -290
- package/bmad/bmb/workflows/create-workflow/steps/step-06-design.md +272 -272
- package/bmad/bmb/workflows/create-workflow/steps/step-07-build.md +323 -323
- package/bmad/bmb/workflows/create-workflow/steps/step-08-review.md +285 -285
- package/bmad/bmb/workflows/create-workflow/steps/step-09-complete.md +188 -188
- package/bmad/bmb/workflows/create-workflow/workflow.md +59 -59
- package/bmad/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -217
- package/bmad/bmb/workflows/edit-workflow/steps/step-02-discover.md +254 -254
- package/bmad/bmb/workflows/edit-workflow/steps/step-03-improve.md +218 -218
- package/bmad/bmb/workflows/edit-workflow/steps/step-04-validate.md +194 -194
- package/bmad/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +246 -246
- package/bmad/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -75
- package/bmad/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -68
- package/bmad/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -40
- package/bmad/bmb/workflows/edit-workflow/templates/validation-results.md +51 -51
- package/bmad/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -56
- package/bmad/bmb/workflows/edit-workflow/workflow.md +59 -59
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +153 -153
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +244 -244
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +275 -275
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +296 -296
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +265 -265
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +361 -361
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +259 -259
- package/bmad/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +302 -302
- package/bmad/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -140
- package/bmad/bmb/workflows/workflow-compliance-check/workflow.md +59 -59
- package/bmad/bmb/workflows-legacy/edit-module/README.md +171 -171
- package/bmad/bmb/workflows-legacy/edit-module/checklist.md +163 -163
- package/bmad/bmb/workflows-legacy/edit-module/instructions.md +340 -340
- package/bmad/bmb/workflows-legacy/edit-module/workflow.yaml +32 -32
- package/bmad/bmb/workflows-legacy/module-brief/README.md +264 -264
- package/bmad/bmb/workflows-legacy/module-brief/checklist.md +116 -116
- package/bmad/bmb/workflows-legacy/module-brief/instructions.md +268 -268
- package/bmad/bmb/workflows-legacy/module-brief/template.md +275 -275
- package/bmad/bmb/workflows-legacy/module-brief/workflow.yaml +34 -34
- package/bmad/bmm/agents/analyst.md +76 -76
- package/bmad/bmm/agents/architect.md +68 -68
- package/bmad/bmm/agents/dev.md +70 -70
- package/bmad/bmm/agents/pm.md +70 -70
- package/bmad/bmm/agents/quick-flow-solo-dev.md +68 -68
- package/bmad/bmm/agents/sm.md +71 -71
- package/bmad/bmm/agents/tea.md +71 -71
- package/bmad/bmm/agents/tech-writer.md +72 -72
- package/bmad/bmm/agents/ux-designer.md +68 -68
- package/bmad/bmm/config.yaml +18 -18
- package/bmad/bmm/data/README.md +29 -29
- package/bmad/bmm/data/documentation-standards.md +262 -262
- package/bmad/bmm/data/project-context-template.md +40 -40
- package/bmad/bmm/teams/default-party.csv +21 -21
- package/bmad/bmm/teams/team-fullstack.yaml +12 -12
- package/bmad/bmm/testarch/knowledge/api-request.md +303 -303
- package/bmad/bmm/testarch/knowledge/auth-session.md +356 -356
- package/bmad/bmm/testarch/knowledge/burn-in.md +273 -273
- package/bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -675
- package/bmad/bmm/testarch/knowledge/component-tdd.md +486 -486
- package/bmad/bmm/testarch/knowledge/contract-testing.md +957 -957
- package/bmad/bmm/testarch/knowledge/data-factories.md +500 -500
- package/bmad/bmm/testarch/knowledge/email-auth.md +721 -721
- package/bmad/bmm/testarch/knowledge/error-handling.md +725 -725
- package/bmad/bmm/testarch/knowledge/feature-flags.md +750 -750
- package/bmad/bmm/testarch/knowledge/file-utils.md +260 -260
- package/bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -401
- package/bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -382
- package/bmad/bmm/testarch/knowledge/intercept-network-call.md +280 -280
- package/bmad/bmm/testarch/knowledge/log.md +294 -294
- package/bmad/bmm/testarch/knowledge/network-error-monitor.md +272 -272
- package/bmad/bmm/testarch/knowledge/network-first.md +486 -486
- package/bmad/bmm/testarch/knowledge/network-recorder.md +265 -265
- package/bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -670
- package/bmad/bmm/testarch/knowledge/overview.md +283 -283
- package/bmad/bmm/testarch/knowledge/playwright-config.md +730 -730
- package/bmad/bmm/testarch/knowledge/probability-impact.md +601 -601
- package/bmad/bmm/testarch/knowledge/recurse.md +296 -296
- package/bmad/bmm/testarch/knowledge/risk-governance.md +615 -615
- package/bmad/bmm/testarch/knowledge/selective-testing.md +732 -732
- package/bmad/bmm/testarch/knowledge/selector-resilience.md +527 -527
- package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -644
- package/bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -473
- package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -373
- package/bmad/bmm/testarch/knowledge/test-quality.md +664 -664
- package/bmad/bmm/testarch/knowledge/timing-debugging.md +372 -372
- package/bmad/bmm/testarch/knowledge/visual-debugging.md +524 -524
- package/bmad/bmm/testarch/tea-index.csv +33 -33
- package/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -182
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -166
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -204
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -207
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -210
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -224
- package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -199
- package/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -58
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
- package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -443
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -200
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
- package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -475
- package/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -239
- package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -486
- package/bmad/bmm/workflows/1-analysis/research/workflow.md +173 -173
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -248
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -228
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
- package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -43
- package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +12 -12
- package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -11
- package/bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +10 -10
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -197
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -166
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -421
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -290
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -291
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -271
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -262
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -258
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -299
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -270
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -294
- package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -186
- package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -63
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -190
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -178
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -179
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -139
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -252
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -133
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
- package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -55
- package/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/architecture-patterns.md +415 -415
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/backend-standards.md +811 -811
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/frontend-standards.md +375 -375
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technical-preferences-ux.md +422 -422
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technology-stack.md +235 -235
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +10 -10
- package/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +166 -166
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -164
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +342 -342
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +328 -328
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +368 -368
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -379
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +366 -366
- package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -352
- package/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +51 -51
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -233
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -145
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -57
- package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -59
- package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
- package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +224 -224
- package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +49 -49
- package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -279
- package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -206
- package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -58
- package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
- package/bmad/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +85 -85
- package/bmad/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +67 -67
- package/bmad/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +71 -71
- package/bmad/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +58 -58
- package/bmad/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +76 -76
- package/bmad/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +66 -66
- package/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
- package/bmad/bmm/workflows/4-implementation/create-story/workflow.md +58 -58
- package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml.bak +63 -63
- package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +85 -85
- package/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +470 -470
- package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -25
- package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -1443
- package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +56 -56
- package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -33
- package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -225
- package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
- package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -52
- package/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -229
- package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +34 -34
- package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -189
- package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -144
- package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -128
- package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -173
- package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -74
- package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -79
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -156
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -120
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -113
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -113
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -106
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -140
- package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -52
- package/bmad/bmm/workflows/document-project/checklist.md +245 -245
- package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
- package/bmad/bmm/workflows/document-project/instructions.md +221 -221
- package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
- package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
- package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
- package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
- package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
- package/bmad/bmm/workflows/document-project/workflow.yaml +28 -28
- package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
- package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
- package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
- package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
- package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -90
- package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -127
- package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -39
- package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -130
- package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +25 -25
- package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -43
- package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -141
- package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +25 -25
- package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -49
- package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -241
- package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +25 -25
- package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -38
- package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -133
- package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +25 -25
- package/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -21
- package/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +218 -218
- package/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -318
- package/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -278
- package/bmad/bmm/workflows/generate-project-context/workflow.md +50 -50
- package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -364
- package/bmad/bmm/workflows/testarch/atdd/checklist.md +374 -374
- package/bmad/bmm/workflows/testarch/atdd/instructions.md +806 -806
- package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -45
- package/bmad/bmm/workflows/testarch/automate/checklist.md +582 -582
- package/bmad/bmm/workflows/testarch/automate/instructions.md +1324 -1324
- package/bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -52
- package/bmad/bmm/workflows/testarch/ci/checklist.md +248 -248
- package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -198
- package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -149
- package/bmad/bmm/workflows/testarch/ci/instructions.md +536 -536
- package/bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -45
- package/bmad/bmm/workflows/testarch/framework/checklist.md +321 -321
- package/bmad/bmm/workflows/testarch/framework/instructions.md +481 -481
- package/bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -47
- package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -407
- package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -722
- package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -445
- package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -47
- package/bmad/bmm/workflows/testarch/test-design/checklist.md +235 -235
- package/bmad/bmm/workflows/testarch/test-design/instructions.md +788 -788
- package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -294
- package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +54 -54
- package/bmad/bmm/workflows/testarch/test-review/checklist.md +472 -472
- package/bmad/bmm/workflows/testarch/test-review/instructions.md +628 -628
- package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -390
- package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -46
- package/bmad/bmm/workflows/testarch/trace/checklist.md +655 -655
- package/bmad/bmm/workflows/testarch/trace/instructions.md +1047 -1047
- package/bmad/bmm/workflows/testarch/trace/trace-template.md +675 -675
- package/bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -55
- package/bmad/bmm/workflows/workflow-status/init/instructions.md +346 -346
- package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +28 -28
- package/bmad/bmm/workflows/workflow-status/instructions.md +395 -395
- package/bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -103
- package/bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -100
- package/bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -103
- package/bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -100
- package/bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -59
- package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -24
- package/bmad/bmm/workflows/workflow-status/workflow.yaml +30 -30
- package/bmad/cis/agents/brainstorming-coach.md +60 -60
- package/bmad/cis/agents/creative-problem-solver.md +60 -60
- package/bmad/cis/agents/design-thinking-coach.md +60 -60
- package/bmad/cis/agents/innovation-strategist.md +60 -60
- package/bmad/cis/agents/presentation-master.md +66 -66
- package/bmad/cis/agents/storyteller/storyteller.md +57 -57
- package/bmad/cis/config.yaml +11 -11
- package/bmad/cis/teams/creative-squad.yaml +7 -7
- package/bmad/cis/teams/default-party.csv +12 -12
- package/bmad/cis/workflows/README.md +139 -139
- package/bmad/cis/workflows/design-thinking/README.md +56 -56
- package/bmad/cis/workflows/design-thinking/design-methods.csv +30 -30
- package/bmad/cis/workflows/design-thinking/instructions.md +202 -202
- package/bmad/cis/workflows/design-thinking/template.md +111 -111
- package/bmad/cis/workflows/design-thinking/workflow.yaml +27 -27
- package/bmad/cis/workflows/innovation-strategy/README.md +56 -56
- package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +30 -30
- package/bmad/cis/workflows/innovation-strategy/instructions.md +276 -276
- package/bmad/cis/workflows/innovation-strategy/template.md +189 -189
- package/bmad/cis/workflows/innovation-strategy/workflow.yaml +27 -27
- package/bmad/cis/workflows/problem-solving/README.md +56 -56
- package/bmad/cis/workflows/problem-solving/instructions.md +252 -252
- package/bmad/cis/workflows/problem-solving/solving-methods.csv +30 -30
- package/bmad/cis/workflows/problem-solving/template.md +165 -165
- package/bmad/cis/workflows/problem-solving/workflow.yaml +27 -27
- package/bmad/cis/workflows/storytelling/README.md +58 -58
- package/bmad/cis/workflows/storytelling/instructions.md +293 -293
- package/bmad/cis/workflows/storytelling/story-types.csv +25 -25
- package/bmad/cis/workflows/storytelling/template.md +113 -113
- package/bmad/cis/workflows/storytelling/workflow.yaml +27 -27
- package/bmad/core/agents/bmad-master.md +57 -57
- package/bmad/core/config.yaml +9 -9
- package/bmad/core/resources/excalidraw/README.md +160 -160
- package/bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -127
- package/bmad/core/resources/excalidraw/library-loader.md +50 -50
- package/bmad/core/resources/excalidraw/validate-json-instructions.md +79 -79
- package/bmad/core/tasks/index-docs.xml +64 -64
- package/bmad/core/tasks/review-adversarial-general.xml +41 -41
- package/bmad/core/tasks/shard-doc.xml +108 -108
- package/bmad/core/tasks/validate-workflow.xml +88 -88
- package/bmad/core/tasks/workflow.xml +234 -234
- package/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
- package/bmad/core/workflows/advanced-elicitation/workflow.xml +116 -116
- package/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
- package/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -197
- package/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
- package/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
- package/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
- package/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
- package/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
- package/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +340 -340
- package/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
- package/bmad/core/workflows/brainstorming/template.md +15 -15
- package/bmad/core/workflows/brainstorming/workflow.md +51 -51
- package/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +139 -139
- package/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +204 -204
- package/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -159
- package/bmad/core/workflows/party-mode/workflow.md +206 -206
- package/claude/hooks/file-restriction-hook.py +51 -51
- package/claude/hooks/track-agent.py +67 -67
- package/claude/settings.local.json +76 -76
- package/gemini/commands/BMad/agents/analyst.toml +6 -0
- package/gemini/commands/BMad/agents/architect.toml +6 -0
- package/gemini/commands/BMad/agents/bmad-master.toml +6 -0
- package/gemini/commands/BMad/agents/bmad-orchestrator.toml +6 -0
- package/gemini/commands/BMad/agents/dev.toml +6 -0
- package/gemini/commands/BMad/agents/pm.toml +6 -0
- package/gemini/commands/BMad/agents/po.toml +6 -0
- package/gemini/commands/BMad/agents/qa.toml +6 -0
- package/gemini/commands/BMad/agents/sm.toml +6 -0
- package/gemini/commands/BMad/agents/ux-expert.toml +6 -0
- package/gemini/commands/BMad/tasks/advanced-elicitation.toml +6 -0
- package/gemini/commands/BMad/tasks/apply-qa-fixes.toml +6 -0
- package/gemini/commands/BMad/tasks/brownfield-create-epic.toml +6 -0
- package/gemini/commands/BMad/tasks/brownfield-create-story.toml +6 -0
- package/gemini/commands/BMad/tasks/correct-course.toml +6 -0
- package/gemini/commands/BMad/tasks/create-brownfield-story.toml +6 -0
- package/gemini/commands/BMad/tasks/create-deep-research-prompt.toml +6 -0
- package/gemini/commands/BMad/tasks/create-doc.toml +6 -0
- package/gemini/commands/BMad/tasks/create-next-story.toml +6 -0
- package/gemini/commands/BMad/tasks/document-project.toml +6 -0
- package/gemini/commands/BMad/tasks/execute-checklist.toml +6 -0
- package/gemini/commands/BMad/tasks/facilitate-brainstorming-session.toml +6 -0
- package/gemini/commands/BMad/tasks/generate-ai-frontend-prompt.toml +6 -0
- package/gemini/commands/BMad/tasks/index-docs.toml +6 -0
- package/gemini/commands/BMad/tasks/kb-mode-interaction.toml +6 -0
- package/gemini/commands/BMad/tasks/nfr-assess.toml +6 -0
- package/gemini/commands/BMad/tasks/qa-gate.toml +6 -0
- package/gemini/commands/BMad/tasks/review-story.toml +6 -0
- package/gemini/commands/BMad/tasks/risk-profile.toml +6 -0
- package/gemini/commands/BMad/tasks/shard-doc.toml +6 -0
- package/gemini/commands/BMad/tasks/test-design.toml +6 -0
- package/gemini/commands/BMad/tasks/trace-requirements.toml +6 -0
- package/gemini/commands/BMad/tasks/validate-next-story.toml +6 -0
- package/github/workflows/publish.yml +150 -150
- package/index.js +9 -9
- package/mcp.json +14 -14
- package/package.json +41 -40
- package/resources/images/Siesa_Logosimbolo_Azul.svg +24 -24
- package/resources/images/Siesa_Logosimbolo_Blanco.svg +24 -24
- package/resources/images/Siesa_Simbolo_Azul.svg +14 -14
- package/resources/images/Siesa_Simbolo_Blanco.svg +14 -14
- package/vscode/mcp.json +15 -15
- package/vscode/settings.json +12 -12
|
@@ -1,376 +1,376 @@
|
|
|
1
|
-
# Frontend Development Standards
|
|
2
|
-
|
|
3
|
-
## Architecture Principles
|
|
4
|
-
|
|
5
|
-
### Clean Architecture Implementation
|
|
6
|
-
- **Domain Layer**: Business entities, value objects, and business rules only
|
|
7
|
-
- **Application Layer**: Use cases, custom hooks, and state management
|
|
8
|
-
- **Infrastructure Layer**: API clients, repositories implementations, external service adapters
|
|
9
|
-
- **Presentation Layer**: React components, pages, and UI logic only
|
|
10
|
-
|
|
11
|
-
### Dependency Rules
|
|
12
|
-
- Inner layers must not know about outer layers
|
|
13
|
-
- Dependencies point inward (from outer to inner layers)
|
|
14
|
-
- Use dependency inversion for external concerns
|
|
15
|
-
|
|
16
|
-
## Technology Stack Standards
|
|
17
|
-
|
|
18
|
-
### Core Technologies
|
|
19
|
-
- **Next.js**: 14+ with App Router and TypeScript
|
|
20
|
-
- **React**: 18+ with functional components and hooks (via Next.js)
|
|
21
|
-
- **TypeScript**: Strict mode enabled, no `any` types
|
|
22
|
-
- **TailwindCSS**: Utility-first CSS framework
|
|
23
|
-
- **Shadcn/ui + Radix UI**: Component library foundation
|
|
24
|
-
|
|
25
|
-
### Framework Selection Rules
|
|
26
|
-
- **Default**: Always use Next.js 16+ with App Router
|
|
27
|
-
- **Exception**: Only use pure React + Vite when user specifically requests offline-first functionality
|
|
28
|
-
- **Reasoning**: Next.js provides better DX, built-in optimization, and easier deployment while maintaining PWA capabilities
|
|
29
|
-
|
|
30
|
-
### State Management
|
|
31
|
-
- **Zustand**: Primary state management solution
|
|
32
|
-
- Feature-based stores following DDD patterns
|
|
33
|
-
- Global state only for truly global concerns
|
|
34
|
-
- Local state for component-specific needs
|
|
35
|
-
|
|
36
|
-
### Development Tools
|
|
37
|
-
- **Next.js**: Built-in build system and development server
|
|
38
|
-
- **Vitest**: Unit and integration testing (configured with Next.js)
|
|
39
|
-
- **React Testing Library**: Component testing
|
|
40
|
-
- **MSW**: API mocking for tests
|
|
41
|
-
- **ESLint + Prettier**: Code quality and formatting (Next.js config)
|
|
42
|
-
|
|
43
|
-
## Component Strategy
|
|
44
|
-
- **Always First**: Check siesa-ui-kit before creating any component
|
|
45
|
-
- **If not in siesa-ui-kit**: Ask user:
|
|
46
|
-
[1] Use shadcn directly
|
|
47
|
-
[2] Create custom for siesa-ui-kit (requires MR to Platform team)
|
|
48
|
-
- **Shadcn Fallback**: Only use MCP Shadcn registry when user chooses option [1]
|
|
49
|
-
- **Error Reduction**: 90% fewer bugs using existing components vs manual creation
|
|
50
|
-
|
|
51
|
-
## Component Standards
|
|
52
|
-
|
|
53
|
-
### Component Structure
|
|
54
|
-
```typescript
|
|
55
|
-
interface ComponentProps {
|
|
56
|
-
// Required props
|
|
57
|
-
children: React.ReactNode;
|
|
58
|
-
// Optional props with defaults
|
|
59
|
-
className?: string;
|
|
60
|
-
variant?: 'default' | 'secondary';
|
|
61
|
-
'data-testid'?: string;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export const Component = memo<ComponentProps>(({
|
|
65
|
-
children,
|
|
66
|
-
className,
|
|
67
|
-
variant = 'default',
|
|
68
|
-
'data-testid': testId = 'component'
|
|
69
|
-
}) => {
|
|
70
|
-
// Component implementation
|
|
71
|
-
return (
|
|
72
|
-
<div className={cn(baseStyles, variantStyles[variant], className)} data-testid={testId}>
|
|
73
|
-
{children}
|
|
74
|
-
</div>
|
|
75
|
-
);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
Component.displayName = 'Component';
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Component Naming
|
|
82
|
-
- **PascalCase** for component names
|
|
83
|
-
- **kebab-case** for file names and data-testid attributes
|
|
84
|
-
- **camelCase** for props and functions
|
|
85
|
-
- Descriptive names that indicate purpose
|
|
86
|
-
|
|
87
|
-
### Props Guidelines
|
|
88
|
-
- Always define TypeScript interfaces for props
|
|
89
|
-
- Use optional props with sensible defaults
|
|
90
|
-
- Include className for style overrides
|
|
91
|
-
- Add data-testid for testing
|
|
92
|
-
- Document complex props with JSDoc
|
|
93
|
-
|
|
94
|
-
## State Management Patterns
|
|
95
|
-
|
|
96
|
-
### Zustand Store Structure
|
|
97
|
-
```typescript
|
|
98
|
-
interface FeatureState {
|
|
99
|
-
// Domain entities
|
|
100
|
-
entities: Entity[];
|
|
101
|
-
selectedEntity: Entity | null;
|
|
102
|
-
|
|
103
|
-
// UI state
|
|
104
|
-
loading: boolean;
|
|
105
|
-
error: string | null;
|
|
106
|
-
|
|
107
|
-
// Actions (use case calls)
|
|
108
|
-
loadEntities: () => Promise<void>;
|
|
109
|
-
selectEntity: (id: string) => void;
|
|
110
|
-
updateEntity: (entity: Entity) => Promise<void>;
|
|
111
|
-
clearError: () => void;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export const useFeatureStore = create<FeatureState>()(
|
|
115
|
-
devtools(
|
|
116
|
-
(set, get) => ({
|
|
117
|
-
// Initial state
|
|
118
|
-
entities: [],
|
|
119
|
-
selectedEntity: null,
|
|
120
|
-
loading: false,
|
|
121
|
-
error: null,
|
|
122
|
-
|
|
123
|
-
// Actions implementation
|
|
124
|
-
loadEntities: async () => {
|
|
125
|
-
set({ loading: true, error: null });
|
|
126
|
-
try {
|
|
127
|
-
const entities = await loadEntitiesUseCase.execute();
|
|
128
|
-
set({ entities, loading: false });
|
|
129
|
-
} catch (error) {
|
|
130
|
-
set({ error: error.message, loading: false });
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
|
|
134
|
-
// Other actions...
|
|
135
|
-
}),
|
|
136
|
-
{ name: 'featureStore' }
|
|
137
|
-
)
|
|
138
|
-
);
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
## Testing Standards
|
|
142
|
-
|
|
143
|
-
### Testing Strategy
|
|
144
|
-
- **Unit Tests**: Domain entities, use cases, utilities
|
|
145
|
-
- **Integration Tests**: Feature workflows, API integration
|
|
146
|
-
- **Component Tests**: User interactions, accessibility
|
|
147
|
-
- **E2E Tests**: Critical user journeys (minimal)
|
|
148
|
-
|
|
149
|
-
### Test Structure
|
|
150
|
-
```typescript
|
|
151
|
-
describe('ComponentName', () => {
|
|
152
|
-
it('should render correctly with default props', () => {
|
|
153
|
-
render(<ComponentName>Test content</ComponentName>);
|
|
154
|
-
expect(screen.getByTestId('component-name')).toBeInTheDocument();
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
it('should handle user interactions', async () => {
|
|
158
|
-
const handleClick = jest.fn();
|
|
159
|
-
render(<ComponentName onClick={handleClick} />);
|
|
160
|
-
|
|
161
|
-
await user.click(screen.getByRole('button'));
|
|
162
|
-
expect(handleClick).toHaveBeenCalled();
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
it('should be accessible', async () => {
|
|
166
|
-
const { container } = render(<ComponentName />);
|
|
167
|
-
const results = await axe(container);
|
|
168
|
-
expect(results).toHaveNoViolations();
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Accessibility Standards
|
|
174
|
-
|
|
175
|
-
### WCAG 2.1 AA Compliance
|
|
176
|
-
- Semantic HTML elements
|
|
177
|
-
- Proper heading hierarchy
|
|
178
|
-
- Keyboard navigation support
|
|
179
|
-
- Screen reader compatibility
|
|
180
|
-
- Color contrast minimum 4.5:1
|
|
181
|
-
|
|
182
|
-
### ARIA Implementation
|
|
183
|
-
- Use semantic HTML first, ARIA second
|
|
184
|
-
- Proper labeling with aria-label or aria-labelledby
|
|
185
|
-
- Role attributes for custom components
|
|
186
|
-
- State communication with aria-expanded, aria-selected
|
|
187
|
-
- Live regions for dynamic content updates
|
|
188
|
-
|
|
189
|
-
## Performance Standards
|
|
190
|
-
|
|
191
|
-
### Bundle Optimization
|
|
192
|
-
- Code splitting by route and feature
|
|
193
|
-
- Lazy loading for non-critical components
|
|
194
|
-
- Tree shaking for unused code
|
|
195
|
-
- Bundle size budget: 500KB total
|
|
196
|
-
|
|
197
|
-
### Runtime Performance
|
|
198
|
-
- React.memo for expensive components
|
|
199
|
-
- useMemo for expensive calculations
|
|
200
|
-
- useCallback for event handlers passed to children
|
|
201
|
-
- Virtual scrolling for large lists
|
|
202
|
-
|
|
203
|
-
### Loading Performance
|
|
204
|
-
- Image optimization and lazy loading
|
|
205
|
-
- Progressive loading strategies
|
|
206
|
-
- Skeleton screens for loading states
|
|
207
|
-
- Prefetch critical resources
|
|
208
|
-
|
|
209
|
-
## Security Guidelines
|
|
210
|
-
|
|
211
|
-
### Client-Side Security
|
|
212
|
-
- No API keys or secrets in frontend code
|
|
213
|
-
- Input validation and sanitization
|
|
214
|
-
- XSS prevention measures
|
|
215
|
-
- Secure handling of user data
|
|
216
|
-
|
|
217
|
-
### Authentication
|
|
218
|
-
- Token-based authentication (JWT)
|
|
219
|
-
- Secure token storage
|
|
220
|
-
- Automatic token refresh
|
|
221
|
-
- Proper logout handling
|
|
222
|
-
|
|
223
|
-
## File Organization
|
|
224
|
-
|
|
225
|
-
### Feature Structure
|
|
226
|
-
```
|
|
227
|
-
src/
|
|
228
|
-
├── modules/
|
|
229
|
-
│ ├── sales/ # MODULE
|
|
230
|
-
│ │ ├── quotes/ # DOMAIN
|
|
231
|
-
│ │ │ ├── cart/ # FEATURE
|
|
232
|
-
│ │ │ │ ├── domain/
|
|
233
|
-
│ │ │ │ │ ├── entities/
|
|
234
|
-
│ │ │ │ │ ├── repositories/ # Interfaces
|
|
235
|
-
│ │ │ │ │ ├── services/ # Domain services
|
|
236
|
-
│ │ │ │ │ └── types/
|
|
237
|
-
│ │ │ │ ├── application/
|
|
238
|
-
│ │ │ │ │ ├── use-cases/
|
|
239
|
-
│ │ │ │ │ ├── hooks/ # Custom hooks
|
|
240
|
-
│ │ │ │ │ └── store/ # Zustand store
|
|
241
|
-
│ │ │ │ ├── infrastructure/
|
|
242
|
-
│ │ │ │ │ ├── repositories/ # Implementations
|
|
243
|
-
│ │ │ │ │ ├── api/
|
|
244
|
-
│ │ │ │ │ └── adapters/
|
|
245
|
-
│ │ │ │ └── presentation/
|
|
246
|
-
│ │ │ │ ├── components/
|
|
247
|
-
│ │ │ │ ├── pages/
|
|
248
|
-
│ │ │ │ └── styles/
|
|
249
|
-
│ │ │ └── products/ # FEATURE
|
|
250
|
-
│ │ │ ├── domain/
|
|
251
|
-
│ │ │ ├── application/
|
|
252
|
-
│ │ │ ├── infrastructure/
|
|
253
|
-
│ │ │ └── presentation/
|
|
254
|
-
│ │ └── billing/ # DOMAIN
|
|
255
|
-
│ │ ├── invoices/ # FEATURE
|
|
256
|
-
│ │ └── reports/ # FEATURE
|
|
257
|
-
│ ├── inventory/ # MODULE
|
|
258
|
-
│ │ ├── products/ # DOMAIN
|
|
259
|
-
│ │ │ ├── catalog/ # FEATURE
|
|
260
|
-
│ │ │ └── stock/ # FEATURE
|
|
261
|
-
│ │ └── warehouses/ # DOMAIN
|
|
262
|
-
│ └── users/ # MODULE
|
|
263
|
-
│ └── authentication/ # DOMAIN
|
|
264
|
-
│ ├── login/ # FEATURE
|
|
265
|
-
│ └── registration/ # FEATURE
|
|
266
|
-
├── shared/
|
|
267
|
-
│ ├── components/ # Shadcn/ui components
|
|
268
|
-
│ │ └── ui/ # Base UI Kit components from proyecto/components/ui/
|
|
269
|
-
│ ├── hooks/
|
|
270
|
-
│ ├── utils/
|
|
271
|
-
│ ├── types/
|
|
272
|
-
│ └── constants/
|
|
273
|
-
├── app/
|
|
274
|
-
│ ├── store/ # Global store
|
|
275
|
-
│ ├── providers/ # Context providers
|
|
276
|
-
│ ├── router/ # Routing config
|
|
277
|
-
│ └── app.tsx
|
|
278
|
-
├── infrastructure/
|
|
279
|
-
│ ├── api/ # API configuration
|
|
280
|
-
│ ├── storage/ # IndexedDB, localStorage
|
|
281
|
-
│ └── pwa/ # PWA configuration
|
|
282
|
-
├── assets/
|
|
283
|
-
│ ├── fonts/ # Fonts from proyecto/public/fonts/
|
|
284
|
-
│ │ ├── SiesaBT-Light.otf
|
|
285
|
-
│ │ ├── SiesaBT-Regular.otf
|
|
286
|
-
│ │ └── SiesaBT-Bold.otf
|
|
287
|
-
│ ├── images/
|
|
288
|
-
│ │ └── logos/ # Logos from proyecto/public/images/logos/
|
|
289
|
-
│ │ ├── Siesa_Logosimbolo_Azul.svg
|
|
290
|
-
│ │ ├── Siesa_Logosimbolo_Blanco.svg
|
|
291
|
-
│ │ ├── Siesa_Simbolo_Azul.svg
|
|
292
|
-
│ │ └── Siesa_Simbolo_Blanco.svg
|
|
293
|
-
│ └── favicon.ico # Favicon from proyecto/public/favicon.ico
|
|
294
|
-
└── styles/
|
|
295
|
-
└── globals.css # Consolidated styles + Tailwind + WCAG from proyecto/styles/globals.css
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
### Import Organization
|
|
299
|
-
```typescript
|
|
300
|
-
// External libraries
|
|
301
|
-
import React from 'react';
|
|
302
|
-
import { create } from 'zustand';
|
|
303
|
-
|
|
304
|
-
// Internal utilities
|
|
305
|
-
import { cn } from '@/lib/utils';
|
|
306
|
-
|
|
307
|
-
// Types
|
|
308
|
-
import type { User } from '../domain/types/User';
|
|
309
|
-
|
|
310
|
-
// Components
|
|
311
|
-
import { Button } from '@/components/ui/button';
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
## Error Handling
|
|
315
|
-
|
|
316
|
-
### Error Boundaries
|
|
317
|
-
- Feature-level error boundaries
|
|
318
|
-
- Graceful fallback UI
|
|
319
|
-
- Error reporting and logging
|
|
320
|
-
- User-friendly error messages
|
|
321
|
-
|
|
322
|
-
### API Error Handling
|
|
323
|
-
- Centralized error handling in HTTP client
|
|
324
|
-
- Proper error typing
|
|
325
|
-
- User-friendly error messages
|
|
326
|
-
- Retry mechanisms for transient errors
|
|
327
|
-
|
|
328
|
-
## Progressive Web App Standards
|
|
329
|
-
|
|
330
|
-
### PWA Features
|
|
331
|
-
- Service worker for caching and offline support
|
|
332
|
-
- Web app manifest for installability
|
|
333
|
-
- Push notifications (when needed)
|
|
334
|
-
- Background sync capabilities
|
|
335
|
-
|
|
336
|
-
### Offline Strategy
|
|
337
|
-
- Cache-first for static assets
|
|
338
|
-
- Network-first for dynamic data
|
|
339
|
-
- Fallback pages for offline scenarios
|
|
340
|
-
- Sync when connection restored
|
|
341
|
-
|
|
342
|
-
## Language Standards (Frontend & Backend)
|
|
343
|
-
|
|
344
|
-
### Spanish for All User-Facing Content (CRITICAL RULE)
|
|
345
|
-
|
|
346
|
-
**MANDATORY: All text visible to end users MUST be in Spanish.**
|
|
347
|
-
|
|
348
|
-
#### ✅ Spanish Required:
|
|
349
|
-
- UI labels, buttons, forms, messages, notifications
|
|
350
|
-
- API responses, validation errors, email templates
|
|
351
|
-
- Any text the user sees (frontend or backend)
|
|
352
|
-
|
|
353
|
-
#### ✅ English Required:
|
|
354
|
-
- Code (variables, functions, classes)
|
|
355
|
-
- Technical logs, comments, git commits
|
|
356
|
-
- Developer documentation
|
|
357
|
-
|
|
358
|
-
#### ❌ Never mix languages in user-facing text
|
|
359
|
-
|
|
360
|
-
**Examples:**
|
|
361
|
-
```typescript
|
|
362
|
-
// ✅ CORRECT
|
|
363
|
-
<Button>Guardar</Button>
|
|
364
|
-
toast.success("Datos guardados correctamente");
|
|
365
|
-
throw new BadRequestException('No se pudo crear el usuario');
|
|
366
|
-
|
|
367
|
-
// ❌ INCORRECT
|
|
368
|
-
<Button>Save cambios</Button>
|
|
369
|
-
toast.error("Failed al guardar");
|
|
370
|
-
throw new BadRequestException('Invalid datos proporcionados');
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
**Implementation:**
|
|
374
|
-
- Create message constants in Spanish
|
|
375
|
-
- Validate all user-facing text before story completion
|
|
1
|
+
# Frontend Development Standards
|
|
2
|
+
|
|
3
|
+
## Architecture Principles
|
|
4
|
+
|
|
5
|
+
### Clean Architecture Implementation
|
|
6
|
+
- **Domain Layer**: Business entities, value objects, and business rules only
|
|
7
|
+
- **Application Layer**: Use cases, custom hooks, and state management
|
|
8
|
+
- **Infrastructure Layer**: API clients, repositories implementations, external service adapters
|
|
9
|
+
- **Presentation Layer**: React components, pages, and UI logic only
|
|
10
|
+
|
|
11
|
+
### Dependency Rules
|
|
12
|
+
- Inner layers must not know about outer layers
|
|
13
|
+
- Dependencies point inward (from outer to inner layers)
|
|
14
|
+
- Use dependency inversion for external concerns
|
|
15
|
+
|
|
16
|
+
## Technology Stack Standards
|
|
17
|
+
|
|
18
|
+
### Core Technologies
|
|
19
|
+
- **Next.js**: 14+ with App Router and TypeScript
|
|
20
|
+
- **React**: 18+ with functional components and hooks (via Next.js)
|
|
21
|
+
- **TypeScript**: Strict mode enabled, no `any` types
|
|
22
|
+
- **TailwindCSS**: Utility-first CSS framework
|
|
23
|
+
- **Shadcn/ui + Radix UI**: Component library foundation
|
|
24
|
+
|
|
25
|
+
### Framework Selection Rules
|
|
26
|
+
- **Default**: Always use Next.js 16+ with App Router
|
|
27
|
+
- **Exception**: Only use pure React + Vite when user specifically requests offline-first functionality
|
|
28
|
+
- **Reasoning**: Next.js provides better DX, built-in optimization, and easier deployment while maintaining PWA capabilities
|
|
29
|
+
|
|
30
|
+
### State Management
|
|
31
|
+
- **Zustand**: Primary state management solution
|
|
32
|
+
- Feature-based stores following DDD patterns
|
|
33
|
+
- Global state only for truly global concerns
|
|
34
|
+
- Local state for component-specific needs
|
|
35
|
+
|
|
36
|
+
### Development Tools
|
|
37
|
+
- **Next.js**: Built-in build system and development server
|
|
38
|
+
- **Vitest**: Unit and integration testing (configured with Next.js)
|
|
39
|
+
- **React Testing Library**: Component testing
|
|
40
|
+
- **MSW**: API mocking for tests
|
|
41
|
+
- **ESLint + Prettier**: Code quality and formatting (Next.js config)
|
|
42
|
+
|
|
43
|
+
## Component Strategy
|
|
44
|
+
- **Always First**: Check siesa-ui-kit before creating any component
|
|
45
|
+
- **If not in siesa-ui-kit**: Ask user:
|
|
46
|
+
[1] Use shadcn directly
|
|
47
|
+
[2] Create custom for siesa-ui-kit (requires MR to Platform team)
|
|
48
|
+
- **Shadcn Fallback**: Only use MCP Shadcn registry when user chooses option [1]
|
|
49
|
+
- **Error Reduction**: 90% fewer bugs using existing components vs manual creation
|
|
50
|
+
|
|
51
|
+
## Component Standards
|
|
52
|
+
|
|
53
|
+
### Component Structure
|
|
54
|
+
```typescript
|
|
55
|
+
interface ComponentProps {
|
|
56
|
+
// Required props
|
|
57
|
+
children: React.ReactNode;
|
|
58
|
+
// Optional props with defaults
|
|
59
|
+
className?: string;
|
|
60
|
+
variant?: 'default' | 'secondary';
|
|
61
|
+
'data-testid'?: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export const Component = memo<ComponentProps>(({
|
|
65
|
+
children,
|
|
66
|
+
className,
|
|
67
|
+
variant = 'default',
|
|
68
|
+
'data-testid': testId = 'component'
|
|
69
|
+
}) => {
|
|
70
|
+
// Component implementation
|
|
71
|
+
return (
|
|
72
|
+
<div className={cn(baseStyles, variantStyles[variant], className)} data-testid={testId}>
|
|
73
|
+
{children}
|
|
74
|
+
</div>
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
Component.displayName = 'Component';
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Component Naming
|
|
82
|
+
- **PascalCase** for component names
|
|
83
|
+
- **kebab-case** for file names and data-testid attributes
|
|
84
|
+
- **camelCase** for props and functions
|
|
85
|
+
- Descriptive names that indicate purpose
|
|
86
|
+
|
|
87
|
+
### Props Guidelines
|
|
88
|
+
- Always define TypeScript interfaces for props
|
|
89
|
+
- Use optional props with sensible defaults
|
|
90
|
+
- Include className for style overrides
|
|
91
|
+
- Add data-testid for testing
|
|
92
|
+
- Document complex props with JSDoc
|
|
93
|
+
|
|
94
|
+
## State Management Patterns
|
|
95
|
+
|
|
96
|
+
### Zustand Store Structure
|
|
97
|
+
```typescript
|
|
98
|
+
interface FeatureState {
|
|
99
|
+
// Domain entities
|
|
100
|
+
entities: Entity[];
|
|
101
|
+
selectedEntity: Entity | null;
|
|
102
|
+
|
|
103
|
+
// UI state
|
|
104
|
+
loading: boolean;
|
|
105
|
+
error: string | null;
|
|
106
|
+
|
|
107
|
+
// Actions (use case calls)
|
|
108
|
+
loadEntities: () => Promise<void>;
|
|
109
|
+
selectEntity: (id: string) => void;
|
|
110
|
+
updateEntity: (entity: Entity) => Promise<void>;
|
|
111
|
+
clearError: () => void;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export const useFeatureStore = create<FeatureState>()(
|
|
115
|
+
devtools(
|
|
116
|
+
(set, get) => ({
|
|
117
|
+
// Initial state
|
|
118
|
+
entities: [],
|
|
119
|
+
selectedEntity: null,
|
|
120
|
+
loading: false,
|
|
121
|
+
error: null,
|
|
122
|
+
|
|
123
|
+
// Actions implementation
|
|
124
|
+
loadEntities: async () => {
|
|
125
|
+
set({ loading: true, error: null });
|
|
126
|
+
try {
|
|
127
|
+
const entities = await loadEntitiesUseCase.execute();
|
|
128
|
+
set({ entities, loading: false });
|
|
129
|
+
} catch (error) {
|
|
130
|
+
set({ error: error.message, loading: false });
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
// Other actions...
|
|
135
|
+
}),
|
|
136
|
+
{ name: 'featureStore' }
|
|
137
|
+
)
|
|
138
|
+
);
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Testing Standards
|
|
142
|
+
|
|
143
|
+
### Testing Strategy
|
|
144
|
+
- **Unit Tests**: Domain entities, use cases, utilities
|
|
145
|
+
- **Integration Tests**: Feature workflows, API integration
|
|
146
|
+
- **Component Tests**: User interactions, accessibility
|
|
147
|
+
- **E2E Tests**: Critical user journeys (minimal)
|
|
148
|
+
|
|
149
|
+
### Test Structure
|
|
150
|
+
```typescript
|
|
151
|
+
describe('ComponentName', () => {
|
|
152
|
+
it('should render correctly with default props', () => {
|
|
153
|
+
render(<ComponentName>Test content</ComponentName>);
|
|
154
|
+
expect(screen.getByTestId('component-name')).toBeInTheDocument();
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
it('should handle user interactions', async () => {
|
|
158
|
+
const handleClick = jest.fn();
|
|
159
|
+
render(<ComponentName onClick={handleClick} />);
|
|
160
|
+
|
|
161
|
+
await user.click(screen.getByRole('button'));
|
|
162
|
+
expect(handleClick).toHaveBeenCalled();
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
it('should be accessible', async () => {
|
|
166
|
+
const { container } = render(<ComponentName />);
|
|
167
|
+
const results = await axe(container);
|
|
168
|
+
expect(results).toHaveNoViolations();
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Accessibility Standards
|
|
174
|
+
|
|
175
|
+
### WCAG 2.1 AA Compliance
|
|
176
|
+
- Semantic HTML elements
|
|
177
|
+
- Proper heading hierarchy
|
|
178
|
+
- Keyboard navigation support
|
|
179
|
+
- Screen reader compatibility
|
|
180
|
+
- Color contrast minimum 4.5:1
|
|
181
|
+
|
|
182
|
+
### ARIA Implementation
|
|
183
|
+
- Use semantic HTML first, ARIA second
|
|
184
|
+
- Proper labeling with aria-label or aria-labelledby
|
|
185
|
+
- Role attributes for custom components
|
|
186
|
+
- State communication with aria-expanded, aria-selected
|
|
187
|
+
- Live regions for dynamic content updates
|
|
188
|
+
|
|
189
|
+
## Performance Standards
|
|
190
|
+
|
|
191
|
+
### Bundle Optimization
|
|
192
|
+
- Code splitting by route and feature
|
|
193
|
+
- Lazy loading for non-critical components
|
|
194
|
+
- Tree shaking for unused code
|
|
195
|
+
- Bundle size budget: 500KB total
|
|
196
|
+
|
|
197
|
+
### Runtime Performance
|
|
198
|
+
- React.memo for expensive components
|
|
199
|
+
- useMemo for expensive calculations
|
|
200
|
+
- useCallback for event handlers passed to children
|
|
201
|
+
- Virtual scrolling for large lists
|
|
202
|
+
|
|
203
|
+
### Loading Performance
|
|
204
|
+
- Image optimization and lazy loading
|
|
205
|
+
- Progressive loading strategies
|
|
206
|
+
- Skeleton screens for loading states
|
|
207
|
+
- Prefetch critical resources
|
|
208
|
+
|
|
209
|
+
## Security Guidelines
|
|
210
|
+
|
|
211
|
+
### Client-Side Security
|
|
212
|
+
- No API keys or secrets in frontend code
|
|
213
|
+
- Input validation and sanitization
|
|
214
|
+
- XSS prevention measures
|
|
215
|
+
- Secure handling of user data
|
|
216
|
+
|
|
217
|
+
### Authentication
|
|
218
|
+
- Token-based authentication (JWT)
|
|
219
|
+
- Secure token storage
|
|
220
|
+
- Automatic token refresh
|
|
221
|
+
- Proper logout handling
|
|
222
|
+
|
|
223
|
+
## File Organization
|
|
224
|
+
|
|
225
|
+
### Feature Structure
|
|
226
|
+
```
|
|
227
|
+
src/
|
|
228
|
+
├── modules/
|
|
229
|
+
│ ├── sales/ # MODULE
|
|
230
|
+
│ │ ├── quotes/ # DOMAIN
|
|
231
|
+
│ │ │ ├── cart/ # FEATURE
|
|
232
|
+
│ │ │ │ ├── domain/
|
|
233
|
+
│ │ │ │ │ ├── entities/
|
|
234
|
+
│ │ │ │ │ ├── repositories/ # Interfaces
|
|
235
|
+
│ │ │ │ │ ├── services/ # Domain services
|
|
236
|
+
│ │ │ │ │ └── types/
|
|
237
|
+
│ │ │ │ ├── application/
|
|
238
|
+
│ │ │ │ │ ├── use-cases/
|
|
239
|
+
│ │ │ │ │ ├── hooks/ # Custom hooks
|
|
240
|
+
│ │ │ │ │ └── store/ # Zustand store
|
|
241
|
+
│ │ │ │ ├── infrastructure/
|
|
242
|
+
│ │ │ │ │ ├── repositories/ # Implementations
|
|
243
|
+
│ │ │ │ │ ├── api/
|
|
244
|
+
│ │ │ │ │ └── adapters/
|
|
245
|
+
│ │ │ │ └── presentation/
|
|
246
|
+
│ │ │ │ ├── components/
|
|
247
|
+
│ │ │ │ ├── pages/
|
|
248
|
+
│ │ │ │ └── styles/
|
|
249
|
+
│ │ │ └── products/ # FEATURE
|
|
250
|
+
│ │ │ ├── domain/
|
|
251
|
+
│ │ │ ├── application/
|
|
252
|
+
│ │ │ ├── infrastructure/
|
|
253
|
+
│ │ │ └── presentation/
|
|
254
|
+
│ │ └── billing/ # DOMAIN
|
|
255
|
+
│ │ ├── invoices/ # FEATURE
|
|
256
|
+
│ │ └── reports/ # FEATURE
|
|
257
|
+
│ ├── inventory/ # MODULE
|
|
258
|
+
│ │ ├── products/ # DOMAIN
|
|
259
|
+
│ │ │ ├── catalog/ # FEATURE
|
|
260
|
+
│ │ │ └── stock/ # FEATURE
|
|
261
|
+
│ │ └── warehouses/ # DOMAIN
|
|
262
|
+
│ └── users/ # MODULE
|
|
263
|
+
│ └── authentication/ # DOMAIN
|
|
264
|
+
│ ├── login/ # FEATURE
|
|
265
|
+
│ └── registration/ # FEATURE
|
|
266
|
+
├── shared/
|
|
267
|
+
│ ├── components/ # Shadcn/ui components
|
|
268
|
+
│ │ └── ui/ # Base UI Kit components from proyecto/components/ui/
|
|
269
|
+
│ ├── hooks/
|
|
270
|
+
│ ├── utils/
|
|
271
|
+
│ ├── types/
|
|
272
|
+
│ └── constants/
|
|
273
|
+
├── app/
|
|
274
|
+
│ ├── store/ # Global store
|
|
275
|
+
│ ├── providers/ # Context providers
|
|
276
|
+
│ ├── router/ # Routing config
|
|
277
|
+
│ └── app.tsx
|
|
278
|
+
├── infrastructure/
|
|
279
|
+
│ ├── api/ # API configuration
|
|
280
|
+
│ ├── storage/ # IndexedDB, localStorage
|
|
281
|
+
│ └── pwa/ # PWA configuration
|
|
282
|
+
├── assets/
|
|
283
|
+
│ ├── fonts/ # Fonts from proyecto/public/fonts/
|
|
284
|
+
│ │ ├── SiesaBT-Light.otf
|
|
285
|
+
│ │ ├── SiesaBT-Regular.otf
|
|
286
|
+
│ │ └── SiesaBT-Bold.otf
|
|
287
|
+
│ ├── images/
|
|
288
|
+
│ │ └── logos/ # Logos from proyecto/public/images/logos/
|
|
289
|
+
│ │ ├── Siesa_Logosimbolo_Azul.svg
|
|
290
|
+
│ │ ├── Siesa_Logosimbolo_Blanco.svg
|
|
291
|
+
│ │ ├── Siesa_Simbolo_Azul.svg
|
|
292
|
+
│ │ └── Siesa_Simbolo_Blanco.svg
|
|
293
|
+
│ └── favicon.ico # Favicon from proyecto/public/favicon.ico
|
|
294
|
+
└── styles/
|
|
295
|
+
└── globals.css # Consolidated styles + Tailwind + WCAG from proyecto/styles/globals.css
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Import Organization
|
|
299
|
+
```typescript
|
|
300
|
+
// External libraries
|
|
301
|
+
import React from 'react';
|
|
302
|
+
import { create } from 'zustand';
|
|
303
|
+
|
|
304
|
+
// Internal utilities
|
|
305
|
+
import { cn } from '@/lib/utils';
|
|
306
|
+
|
|
307
|
+
// Types
|
|
308
|
+
import type { User } from '../domain/types/User';
|
|
309
|
+
|
|
310
|
+
// Components
|
|
311
|
+
import { Button } from '@/components/ui/button';
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
## Error Handling
|
|
315
|
+
|
|
316
|
+
### Error Boundaries
|
|
317
|
+
- Feature-level error boundaries
|
|
318
|
+
- Graceful fallback UI
|
|
319
|
+
- Error reporting and logging
|
|
320
|
+
- User-friendly error messages
|
|
321
|
+
|
|
322
|
+
### API Error Handling
|
|
323
|
+
- Centralized error handling in HTTP client
|
|
324
|
+
- Proper error typing
|
|
325
|
+
- User-friendly error messages
|
|
326
|
+
- Retry mechanisms for transient errors
|
|
327
|
+
|
|
328
|
+
## Progressive Web App Standards
|
|
329
|
+
|
|
330
|
+
### PWA Features
|
|
331
|
+
- Service worker for caching and offline support
|
|
332
|
+
- Web app manifest for installability
|
|
333
|
+
- Push notifications (when needed)
|
|
334
|
+
- Background sync capabilities
|
|
335
|
+
|
|
336
|
+
### Offline Strategy
|
|
337
|
+
- Cache-first for static assets
|
|
338
|
+
- Network-first for dynamic data
|
|
339
|
+
- Fallback pages for offline scenarios
|
|
340
|
+
- Sync when connection restored
|
|
341
|
+
|
|
342
|
+
## Language Standards (Frontend & Backend)
|
|
343
|
+
|
|
344
|
+
### Spanish for All User-Facing Content (CRITICAL RULE)
|
|
345
|
+
|
|
346
|
+
**MANDATORY: All text visible to end users MUST be in Spanish.**
|
|
347
|
+
|
|
348
|
+
#### ✅ Spanish Required:
|
|
349
|
+
- UI labels, buttons, forms, messages, notifications
|
|
350
|
+
- API responses, validation errors, email templates
|
|
351
|
+
- Any text the user sees (frontend or backend)
|
|
352
|
+
|
|
353
|
+
#### ✅ English Required:
|
|
354
|
+
- Code (variables, functions, classes)
|
|
355
|
+
- Technical logs, comments, git commits
|
|
356
|
+
- Developer documentation
|
|
357
|
+
|
|
358
|
+
#### ❌ Never mix languages in user-facing text
|
|
359
|
+
|
|
360
|
+
**Examples:**
|
|
361
|
+
```typescript
|
|
362
|
+
// ✅ CORRECT
|
|
363
|
+
<Button>Guardar</Button>
|
|
364
|
+
toast.success("Datos guardados correctamente");
|
|
365
|
+
throw new BadRequestException('No se pudo crear el usuario');
|
|
366
|
+
|
|
367
|
+
// ❌ INCORRECT
|
|
368
|
+
<Button>Save cambios</Button>
|
|
369
|
+
toast.error("Failed al guardar");
|
|
370
|
+
throw new BadRequestException('Invalid datos proporcionados');
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**Implementation:**
|
|
374
|
+
- Create message constants in Spanish
|
|
375
|
+
- Validate all user-facing text before story completion
|
|
376
376
|
- Technical logs stay in English, user messages in Spanish
|