bmad-elsabro 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.auto-claude-security.json +209 -0
- package/.claude_settings.json +34 -0
- package/.coderabbit.yaml +40 -0
- package/.nvmrc +1 -0
- package/.prettierignore +9 -0
- package/AI_TEST_GENERATOR_VERIFICATION.md +260 -0
- package/BUDGET_ALERT_TESTING.md +325 -0
- package/CHANGELOG.md +1488 -0
- package/CNAME +1 -0
- package/CONTRIBUTING.md +167 -0
- package/CONTRIBUTORS.md +32 -0
- package/LEGACY_MIGRATION_TESTING.md +428 -0
- package/LICENSE +30 -0
- package/PARTY_MODE_VERIFICATION.md +274 -0
- package/PROJECT_DETECTOR_TESTING.md +288 -0
- package/README.md +236 -0
- package/SECURITY.md +85 -0
- package/TRADEMARK.md +55 -0
- package/WORKFLOW_ROUTER_IMPLEMENTATION.md +379 -0
- package/Wordmark.png +0 -0
- package/banner-bmad-method.png +0 -0
- package/build/icons/512x512.png +0 -0
- package/build-mac.sh +3 -0
- package/docs/404.md +9 -0
- package/docs/_STYLE_GUIDE.md +367 -0
- package/docs/developer/api-reference.md +945 -0
- package/docs/developer/architecture.md +563 -0
- package/docs/developer/contributing.md +831 -0
- package/docs/downloads.md +74 -0
- package/docs/explanation/advanced-elicitation.md +24 -0
- package/docs/explanation/adversarial-review.md +57 -0
- package/docs/explanation/brainstorming.md +31 -0
- package/docs/explanation/brownfield-faq.md +55 -0
- package/docs/explanation/party-mode.md +57 -0
- package/docs/explanation/preventing-agent-conflicts.md +110 -0
- package/docs/explanation/quick-flow.md +27 -0
- package/docs/explanation/why-solutioning-matters.md +75 -0
- package/docs/how-to/brownfield/index.md +84 -0
- package/docs/how-to/brownfield/quick-fix-in-brownfield.md +76 -0
- package/docs/how-to/customize-bmad.md +158 -0
- package/docs/how-to/get-answers-about-bmad.md +102 -0
- package/docs/how-to/install-bmad.md +82 -0
- package/docs/how-to/shard-large-documents.md +101 -0
- package/docs/how-to/upgrade-to-v6.md +131 -0
- package/docs/index.md +56 -0
- package/docs/reference/workflow-map.md +83 -0
- package/docs/tea/explanation/engagement-models.md +710 -0
- package/docs/tea/explanation/fixture-architecture.md +457 -0
- package/docs/tea/explanation/knowledge-base-system.md +554 -0
- package/docs/tea/explanation/network-first-patterns.md +853 -0
- package/docs/tea/explanation/risk-based-testing.md +586 -0
- package/docs/tea/explanation/tea-overview.md +410 -0
- package/docs/tea/explanation/test-quality-standards.md +907 -0
- package/docs/tea/explanation/testing-as-engineering.md +112 -0
- package/docs/tea/glossary/index.md +159 -0
- package/docs/tea/how-to/brownfield/use-tea-for-enterprise.md +525 -0
- package/docs/tea/how-to/brownfield/use-tea-with-existing-tests.md +577 -0
- package/docs/tea/how-to/customization/enable-tea-mcp-enhancements.md +424 -0
- package/docs/tea/how-to/customization/integrate-playwright-utils.md +813 -0
- package/docs/tea/how-to/workflows/run-atdd.md +436 -0
- package/docs/tea/how-to/workflows/run-automate.md +653 -0
- package/docs/tea/how-to/workflows/run-nfr-assess.md +679 -0
- package/docs/tea/how-to/workflows/run-test-design.md +135 -0
- package/docs/tea/how-to/workflows/run-test-review.md +605 -0
- package/docs/tea/how-to/workflows/run-trace.md +883 -0
- package/docs/tea/how-to/workflows/setup-ci.md +712 -0
- package/docs/tea/how-to/workflows/setup-test-framework.md +98 -0
- package/docs/tea/reference/commands.md +276 -0
- package/docs/tea/reference/configuration.md +678 -0
- package/docs/tea/reference/knowledge-base.md +340 -0
- package/docs/tea/tutorials/tea-lite-quickstart.md +444 -0
- package/docs/tutorials/getting-started.md +205 -0
- package/docs/user-guide/getting-started.md +348 -0
- package/docs/user-guide/token-economy.md +601 -0
- package/docs/user-guide/workflows.md +546 -0
- package/electron-builder.yml +75 -0
- package/eslint.config.mjs +152 -0
- package/package.json +162 -0
- package/prettier.config.mjs +32 -0
- package/public/monaco-workers/index.js +21 -0
- package/renderer/App.tsx +311 -0
- package/renderer/components/ChatPanel.tsx +285 -0
- package/renderer/components/CodeEditor.tsx +327 -0
- package/renderer/components/CodeEditor.types.ts +245 -0
- package/renderer/components/FlowSelector.tsx +534 -0
- package/renderer/components/MessageInput.tsx +252 -0
- package/renderer/components/MessageList.tsx +204 -0
- package/renderer/components/MigrationWizard.tsx +896 -0
- package/renderer/components/NotificationCenter.tsx +291 -0
- package/renderer/components/OnboardingWizard.tsx +112 -0
- package/renderer/components/PartyMode.tsx +555 -0
- package/renderer/components/Sidebar.module.css +258 -0
- package/renderer/components/Sidebar.tsx +157 -0
- package/renderer/components/TemplateSelector.tsx +553 -0
- package/renderer/components/Terminal.tsx +523 -0
- package/renderer/components/TestCenter.tsx +364 -0
- package/renderer/components/TokenAnalytics.tsx +607 -0
- package/renderer/components/TokenMonitor.tsx +331 -0
- package/renderer/components/TutorialOverlay.tsx +483 -0
- package/renderer/components/WorkflowEditor.tsx +470 -0
- package/renderer/components/onboarding/Step1Welcome.tsx +72 -0
- package/renderer/components/onboarding/Step2Setup.tsx +193 -0
- package/renderer/components/onboarding/Step3CreateProject.tsx +209 -0
- package/renderer/components/test-center/CoverageDashboard.tsx +588 -0
- package/renderer/components/test-center/ELI5Guide.tsx +521 -0
- package/renderer/components/test-center/TestList.tsx +381 -0
- package/renderer/components/test-center/TestRunner.tsx +431 -0
- package/renderer/components/test-center/TestStepWizard.tsx +1000 -0
- package/renderer/components/test-center/VisualTestBuilder.tsx +460 -0
- package/renderer/components/workflow/DependencyEdge.tsx +200 -0
- package/renderer/components/workflow/StepNode.tsx +234 -0
- package/renderer/components/workflow/StepPalette.tsx +412 -0
- package/renderer/context/ThemeContext.tsx +97 -0
- package/renderer/data/shortcuts.json +94 -0
- package/renderer/data/testing-guides.json +261 -0
- package/renderer/data/tutorials.json +546 -0
- package/renderer/hooks/useKeyboardShortcuts.ts +249 -0
- package/renderer/hooks/useNotifications.ts +267 -0
- package/renderer/hooks/useTheme.ts +149 -0
- package/renderer/hooks/useTokenTracking.ts +464 -0
- package/renderer/hooks/useWorkflowState.ts +309 -0
- package/renderer/index.html +16 -0
- package/renderer/index.tsx +17 -0
- package/renderer/lib/MONACO_OFFLINE_CONFIG.md +153 -0
- package/renderer/lib/chart-utils.ts +472 -0
- package/renderer/lib/file-system-provider.ts +295 -0
- package/renderer/lib/monaco-loader.ts +247 -0
- package/renderer/renderer/components/NOTIFICATION_SYSTEM.md +192 -0
- package/renderer/styles.css +55 -0
- package/renderer/types/css-modules.d.ts +21 -0
- package/renderer/types/electron.d.ts +316 -0
- package/src/bmm/_module-installer/installer.js +48 -0
- package/src/bmm/agents/analyst.agent.yaml +36 -0
- package/src/bmm/agents/architect.agent.yaml +28 -0
- package/src/bmm/agents/dev.agent.yaml +38 -0
- package/src/bmm/agents/parallel-orchestrator.agent.yaml +50 -0
- package/src/bmm/agents/pm.agent.yaml +46 -0
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
- package/src/bmm/agents/sm.agent.yaml +36 -0
- package/src/bmm/agents/tea.agent.yaml +63 -0
- package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
- package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +45 -0
- package/src/bmm/agents/ux-designer.agent.yaml +26 -0
- package/src/bmm/agents/yolo-dev.agent.yaml +41 -0
- package/src/bmm/data/auto-testing-config.yaml +84 -0
- package/src/bmm/data/guided-mode-instructions.yaml +112 -0
- package/src/bmm/data/parallelization-config.yaml +136 -0
- package/src/bmm/data/project-context-template.md +26 -0
- package/src/bmm/data/speed-profiles.yaml +127 -0
- package/src/bmm/module-help.csv +32 -0
- package/src/bmm/module.yaml +60 -0
- package/src/bmm/teams/default-party.csv +21 -0
- package/src/bmm/teams/team-fullstack.yaml +12 -0
- package/src/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +350 -0
- package/src/bmm/testarch/knowledge/api-request.md +442 -0
- package/src/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
- package/src/bmm/testarch/knowledge/auth-session.md +552 -0
- package/src/bmm/testarch/knowledge/burn-in.md +273 -0
- package/src/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/src/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/src/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/src/bmm/testarch/knowledge/data-factories.md +500 -0
- package/src/bmm/testarch/knowledge/email-auth.md +721 -0
- package/src/bmm/testarch/knowledge/error-handling.md +725 -0
- package/src/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/src/bmm/testarch/knowledge/file-utils.md +463 -0
- package/src/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/src/bmm/testarch/knowledge/fixtures-composition.md +382 -0
- package/src/bmm/testarch/knowledge/intercept-network-call.md +430 -0
- package/src/bmm/testarch/knowledge/log.md +429 -0
- package/src/bmm/testarch/knowledge/network-error-monitor.md +405 -0
- package/src/bmm/testarch/knowledge/network-first.md +486 -0
- package/src/bmm/testarch/knowledge/network-recorder.md +527 -0
- package/src/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/src/bmm/testarch/knowledge/overview.md +286 -0
- package/src/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/src/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/src/bmm/testarch/knowledge/recurse.md +421 -0
- package/src/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/src/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/src/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/src/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/src/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/src/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/src/bmm/testarch/knowledge/test-quality.md +664 -0
- package/src/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/src/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/src/bmm/testarch/tea-index.csv +35 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
- package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
- package/src/bmm/workflows/1-analysis/research/workflow.md +173 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +13 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +153 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +218 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/validation-report-prd-workflow.md +433 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow.md +150 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
- package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +51 -0
- package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
- package/src/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
- package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +60 -0
- package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/src/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
- package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
- package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +61 -0
- package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +32 -0
- package/src/bmm/workflows/4-implementation/fix-and-test/workflow.md +197 -0
- package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
- package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +58 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +54 -0
- package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
- package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +36 -0
- package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/steps/step-01-detect.md +55 -0
- package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/steps/step-02-confirm.md +48 -0
- package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/steps/step-03-implement.md +61 -0
- package/src/bmm/workflows/bmad-quick-flow/brownfield-fast-track/workflow.md +41 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +176 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +153 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +149 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +73 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +192 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +145 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +93 -0
- package/src/bmm/workflows/bmad-quick-flow/yolo-mode/steps/step-01-rapid-spec.md +54 -0
- package/src/bmm/workflows/bmad-quick-flow/yolo-mode/steps/step-02-ship-it.md +65 -0
- package/src/bmm/workflows/bmad-quick-flow/yolo-mode/workflow.md +54 -0
- package/src/bmm/workflows/document-project/checklist.md +245 -0
- package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/src/bmm/workflows/document-project/instructions.md +221 -0
- package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/src/bmm/workflows/document-project/workflow.yaml +30 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
- package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +27 -0
- package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-01-parse-target.md +49 -0
- package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-02-launch-streams.md +135 -0
- package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-03-sync-point.md +74 -0
- package/src/bmm/workflows/parallel-work/parallel-analysis/steps/step-04-merge-insights.md +179 -0
- package/src/bmm/workflows/parallel-work/parallel-analysis/workflow.md +55 -0
- package/src/bmm/workflows/parallel-work/parallel-generation/workflow.md +109 -0
- package/src/bmm/workflows/parallel-work/parallel-reviews/workflow.md +111 -0
- package/src/bmm/workflows/parallel-work/parallel-stories/workflow.md +112 -0
- package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-01-load-sprint.md +54 -0
- package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-02-plan-execution.md +63 -0
- package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-03-execute-stories.md +112 -0
- package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-04-code-review.md +148 -0
- package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-05-integration-testing.md +200 -0
- package/src/bmm/workflows/parallel-work/sprint-mode/steps/step-06-sprint-report.md +290 -0
- package/src/bmm/workflows/parallel-work/sprint-mode/workflow.md +58 -0
- package/src/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
- package/src/bmm/workflows/testarch/atdd/checklist.md +374 -0
- package/src/bmm/workflows/testarch/atdd/instructions.md +806 -0
- package/src/bmm/workflows/testarch/atdd/workflow.yaml +47 -0
- package/src/bmm/workflows/testarch/automate/checklist.md +582 -0
- package/src/bmm/workflows/testarch/automate/instructions.md +1324 -0
- package/src/bmm/workflows/testarch/automate/workflow.yaml +54 -0
- package/src/bmm/workflows/testarch/ci/checklist.md +247 -0
- package/src/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/src/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/src/bmm/workflows/testarch/ci/instructions.md +536 -0
- package/src/bmm/workflows/testarch/ci/workflow.yaml +47 -0
- package/src/bmm/workflows/testarch/framework/checklist.md +320 -0
- package/src/bmm/workflows/testarch/framework/instructions.md +481 -0
- package/src/bmm/workflows/testarch/framework/workflow.yaml +49 -0
- package/src/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/src/bmm/workflows/testarch/nfr-assess/instructions.md +726 -0
- package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +461 -0
- package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
- package/src/bmm/workflows/testarch/test-design/checklist.md +407 -0
- package/src/bmm/workflows/testarch/test-design/instructions.md +1158 -0
- package/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md +213 -0
- package/src/bmm/workflows/testarch/test-design/test-design-qa-template.md +286 -0
- package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
- package/src/bmm/workflows/testarch/test-design/workflow.yaml +71 -0
- package/src/bmm/workflows/testarch/test-review/checklist.md +472 -0
- package/src/bmm/workflows/testarch/test-review/instructions.md +628 -0
- package/src/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
- package/src/bmm/workflows/testarch/test-review/workflow.yaml +48 -0
- package/src/bmm/workflows/testarch/trace/checklist.md +642 -0
- package/src/bmm/workflows/testarch/trace/instructions.md +1030 -0
- package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
- package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
- package/src/core/_module-installer/installer.js +60 -0
- package/src/core/agents/bmad-master.agent.yaml +29 -0
- package/src/core/module-help.csv +9 -0
- package/src/core/module.yaml +25 -0
- package/src/core/resources/excalidraw/README.md +160 -0
- package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
- package/src/core/resources/excalidraw/library-loader.md +50 -0
- package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
- package/src/core/tasks/editorial-review-prose.xml +100 -0
- package/src/core/tasks/editorial-review-structure.xml +209 -0
- package/src/core/tasks/help.md +62 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/review-adversarial-general.xml +48 -0
- package/src/core/tasks/shard-doc.xml +109 -0
- package/src/core/tasks/workflow.xml +235 -0
- package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/src/core/workflows/advanced-elicitation/workflow.xml +117 -0
- package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/src/core/workflows/brainstorming/template.md +15 -0
- package/src/core/workflows/brainstorming/workflow.md +58 -0
- package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
- package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
- package/src/core/workflows/party-mode/workflow.md +194 -0
- package/src/utility/agent-components/activation-rules.txt +6 -0
- package/src/utility/agent-components/activation-steps.txt +14 -0
- package/src/utility/agent-components/agent-command-header.md +1 -0
- package/src/utility/agent-components/agent.customize.template.yaml +41 -0
- package/src/utility/agent-components/handler-action.txt +4 -0
- package/src/utility/agent-components/handler-data.txt +5 -0
- package/src/utility/agent-components/handler-exec.txt +6 -0
- package/src/utility/agent-components/handler-multi.txt +14 -0
- package/src/utility/agent-components/handler-tmpl.txt +5 -0
- package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
- package/src/utility/agent-components/handler-workflow.txt +10 -0
- package/src/utility/agent-components/menu-handlers.txt +6 -0
- package/tools/bmad-npx-wrapper.js +69 -0
- package/tools/build-docs.js +577 -0
- package/tools/cli/README.md +7 -0
- package/tools/cli/bmad-cli.js +65 -0
- package/tools/cli/commands/diagnostics.js +303 -0
- package/tools/cli/commands/install.js +87 -0
- package/tools/cli/commands/module.js +210 -0
- package/tools/cli/commands/status.js +65 -0
- package/tools/cli/commands/uninstall.js +86 -0
- package/tools/cli/external-official-modules.yaml +54 -0
- package/tools/cli/installers/install-messages.yaml +59 -0
- package/tools/cli/installers/lib/core/config-collector.js +1079 -0
- package/tools/cli/installers/lib/core/custom-module-cache.js +259 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +739 -0
- package/tools/cli/installers/lib/core/detector.js +223 -0
- package/tools/cli/installers/lib/core/ide-config-manager.js +156 -0
- package/tools/cli/installers/lib/core/installer.js +2812 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +1054 -0
- package/tools/cli/installers/lib/core/manifest.js +1036 -0
- package/tools/cli/installers/lib/custom/handler.js +363 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +655 -0
- package/tools/cli/installers/lib/ide/_config-driven.js +450 -0
- package/tools/cli/installers/lib/ide/codex.js +440 -0
- package/tools/cli/installers/lib/ide/kilo.js +250 -0
- package/tools/cli/installers/lib/ide/kiro-cli.js +326 -0
- package/tools/cli/installers/lib/ide/manager.js +271 -0
- package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
- package/tools/cli/installers/lib/ide/platform-codes.yaml +227 -0
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +181 -0
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +163 -0
- package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
- package/tools/cli/installers/lib/ide/shared/path-utils.js +292 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +270 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +319 -0
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
- package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
- package/tools/cli/installers/lib/ide/templates/split/opencode/body.md +10 -0
- package/tools/cli/installers/lib/ide/templates/split/opencode/header.md +4 -0
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
- package/tools/cli/installers/lib/message-loader.js +85 -0
- package/tools/cli/installers/lib/modules/external-manager.js +135 -0
- package/tools/cli/installers/lib/modules/manager.js +1375 -0
- package/tools/cli/lib/activation-builder.js +163 -0
- package/tools/cli/lib/agent/compiler.js +522 -0
- package/tools/cli/lib/agent/compiler.ts +572 -0
- package/tools/cli/lib/agent/installer.js +716 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/tools/cli/lib/agent/types.ts +155 -0
- package/tools/cli/lib/agent-analyzer.js +109 -0
- package/tools/cli/lib/agent-party-generator.js +194 -0
- package/tools/cli/lib/cli-utils.js +227 -0
- package/tools/cli/lib/config.js +213 -0
- package/tools/cli/lib/config.ts +227 -0
- package/tools/cli/lib/file-ops.js +204 -0
- package/tools/cli/lib/file-ops.ts +215 -0
- package/tools/cli/lib/platform-codes.js +116 -0
- package/tools/cli/lib/project-root.js +77 -0
- package/tools/cli/lib/prompts.js +433 -0
- package/tools/cli/lib/prompts.ts +541 -0
- package/tools/cli/lib/types/config.types.ts +43 -0
- package/tools/cli/lib/types/xml-handler.types.ts +50 -0
- package/tools/cli/lib/ui.js +1660 -0
- package/tools/cli/lib/xml-handler.js +177 -0
- package/tools/cli/lib/xml-handler.ts +188 -0
- package/tools/cli/lib/xml-to-markdown.js +82 -0
- package/tools/cli/lib/yaml-format.js +245 -0
- package/tools/cli/lib/yaml-xml-builder.js +587 -0
- package/tools/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
- package/tools/docs/fix-refs.md +91 -0
- package/tools/docs/index.md +2 -0
- package/tools/fix-doc-links.js +288 -0
- package/tools/flattener/aggregate.js +76 -0
- package/tools/flattener/aggregate.ts +78 -0
- package/tools/flattener/binary.js +80 -0
- package/tools/flattener/discovery.js +71 -0
- package/tools/flattener/files.js +35 -0
- package/tools/flattener/files.ts +31 -0
- package/tools/flattener/ignoreRules.js +172 -0
- package/tools/flattener/main.js +483 -0
- package/tools/flattener/main.ts +262 -0
- package/tools/flattener/projectRoot.js +201 -0
- package/tools/flattener/prompts.js +44 -0
- package/tools/flattener/stats.helpers.js +368 -0
- package/tools/flattener/stats.js +75 -0
- package/tools/flattener/test-matrix.js +409 -0
- package/tools/flattener/types.ts +53 -0
- package/tools/flattener/xml.js +82 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/lib/xml-utils.js +13 -0
- package/tools/maintainer/review-pr-README.md +55 -0
- package/tools/maintainer/review-pr.md +242 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/platform-codes.yaml +157 -0
- package/tools/schema/agent.js +491 -0
- package/tools/schema/agent.ts +489 -0
- package/tools/schema/agent.types.ts +31 -0
- package/tools/update-bmad.sh +24 -0
- package/tools/validate-agent-schema.js +110 -0
- package/tools/validate-doc-links.js +371 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/vite-plugin-monaco-editor.ts +108 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ThemeContext
|
|
3
|
+
*
|
|
4
|
+
* React context for managing application theme across all components.
|
|
5
|
+
* Provides theme state and toggle functionality through context API.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Global theme state management
|
|
9
|
+
* - Theme persistence via useTheme hook
|
|
10
|
+
* - Type-safe context with TypeScript
|
|
11
|
+
* - Easy access via useThemeContext hook
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import React, { createContext, useContext, ReactNode } from 'react';
|
|
15
|
+
import { useTheme, Theme } from '../hooks/useTheme';
|
|
16
|
+
|
|
17
|
+
export interface ThemeContextValue {
|
|
18
|
+
/**
|
|
19
|
+
* Current theme value
|
|
20
|
+
*/
|
|
21
|
+
theme: Theme;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Toggle between light and dark theme
|
|
25
|
+
*/
|
|
26
|
+
toggleTheme: () => void;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Set a specific theme
|
|
30
|
+
*/
|
|
31
|
+
setTheme: (theme: Theme) => void;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const ThemeContext = createContext<ThemeContextValue | undefined>(undefined);
|
|
35
|
+
|
|
36
|
+
export interface ThemeProviderProps {
|
|
37
|
+
/**
|
|
38
|
+
* Child components that will have access to theme context
|
|
39
|
+
*/
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* ThemeProvider Component
|
|
45
|
+
*
|
|
46
|
+
* Wraps the application to provide theme context to all child components.
|
|
47
|
+
* Must be placed at the root of your component tree.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```tsx
|
|
51
|
+
* <ThemeProvider>
|
|
52
|
+
* <App />
|
|
53
|
+
* </ThemeProvider>
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export const ThemeProvider: React.FC<ThemeProviderProps> = ({ children }) => {
|
|
57
|
+
const themeValue = useTheme();
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<ThemeContext.Provider value={themeValue}>
|
|
61
|
+
{children}
|
|
62
|
+
</ThemeContext.Provider>
|
|
63
|
+
);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
ThemeProvider.displayName = 'ThemeProvider';
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* useThemeContext Hook
|
|
70
|
+
*
|
|
71
|
+
* Access the theme context in any component.
|
|
72
|
+
* Must be used within a ThemeProvider.
|
|
73
|
+
*
|
|
74
|
+
* @throws {Error} If used outside of ThemeProvider
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```tsx
|
|
78
|
+
* const { theme, toggleTheme } = useThemeContext();
|
|
79
|
+
*
|
|
80
|
+
* return (
|
|
81
|
+
* <button onClick={toggleTheme}>
|
|
82
|
+
* Switch to {theme === 'dark' ? 'light' : 'dark'} mode
|
|
83
|
+
* </button>
|
|
84
|
+
* );
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export const useThemeContext = (): ThemeContextValue => {
|
|
88
|
+
const context = useContext(ThemeContext);
|
|
89
|
+
|
|
90
|
+
if (context === undefined) {
|
|
91
|
+
throw new Error('useThemeContext must be used within a ThemeProvider');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return context;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export default ThemeProvider;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"shortcuts": [
|
|
3
|
+
{
|
|
4
|
+
"id": "command-palette",
|
|
5
|
+
"name": "Command Palette",
|
|
6
|
+
"description": "Open the command palette to quickly access actions",
|
|
7
|
+
"key": "ctrl+k",
|
|
8
|
+
"keyMac": "cmd+k",
|
|
9
|
+
"category": "General",
|
|
10
|
+
"enabled": true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "toggle-sidebar",
|
|
14
|
+
"name": "Toggle Sidebar",
|
|
15
|
+
"description": "Show or hide the navigation sidebar",
|
|
16
|
+
"key": "ctrl+b",
|
|
17
|
+
"keyMac": "cmd+b",
|
|
18
|
+
"category": "Navigation",
|
|
19
|
+
"enabled": true
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "toggle-terminal",
|
|
23
|
+
"name": "Toggle Terminal",
|
|
24
|
+
"description": "Show or hide the integrated terminal",
|
|
25
|
+
"key": "ctrl+`",
|
|
26
|
+
"keyMac": "cmd+`",
|
|
27
|
+
"category": "Navigation",
|
|
28
|
+
"enabled": true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "new-workflow",
|
|
32
|
+
"name": "New Workflow",
|
|
33
|
+
"description": "Create a new workflow",
|
|
34
|
+
"key": "ctrl+n",
|
|
35
|
+
"keyMac": "cmd+n",
|
|
36
|
+
"category": "Workflows",
|
|
37
|
+
"enabled": true
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "save-workflow",
|
|
41
|
+
"name": "Save Workflow",
|
|
42
|
+
"description": "Save the current workflow",
|
|
43
|
+
"key": "ctrl+s",
|
|
44
|
+
"keyMac": "cmd+s",
|
|
45
|
+
"category": "Workflows",
|
|
46
|
+
"enabled": true
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "open-settings",
|
|
50
|
+
"name": "Open Settings",
|
|
51
|
+
"description": "Open the settings panel",
|
|
52
|
+
"key": "ctrl+,",
|
|
53
|
+
"keyMac": "cmd+,",
|
|
54
|
+
"category": "General",
|
|
55
|
+
"enabled": true
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "toggle-theme",
|
|
59
|
+
"name": "Toggle Theme",
|
|
60
|
+
"description": "Switch between light and dark theme",
|
|
61
|
+
"key": "ctrl+shift+t",
|
|
62
|
+
"keyMac": "cmd+shift+t",
|
|
63
|
+
"category": "Appearance",
|
|
64
|
+
"enabled": true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "search-files",
|
|
68
|
+
"name": "Search Files",
|
|
69
|
+
"description": "Search for files in the current project",
|
|
70
|
+
"key": "ctrl+p",
|
|
71
|
+
"keyMac": "cmd+p",
|
|
72
|
+
"category": "Navigation",
|
|
73
|
+
"enabled": true
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "focus-chat",
|
|
77
|
+
"name": "Focus Chat",
|
|
78
|
+
"description": "Move focus to the chat input",
|
|
79
|
+
"key": "ctrl+shift+c",
|
|
80
|
+
"keyMac": "cmd+shift+c",
|
|
81
|
+
"category": "Navigation",
|
|
82
|
+
"enabled": true
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "close-panel",
|
|
86
|
+
"name": "Close Panel",
|
|
87
|
+
"description": "Close the current panel or modal",
|
|
88
|
+
"key": "escape",
|
|
89
|
+
"keyMac": "escape",
|
|
90
|
+
"category": "General",
|
|
91
|
+
"enabled": true
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
{
|
|
2
|
+
"guides": [
|
|
3
|
+
{
|
|
4
|
+
"id": "what-is-testing",
|
|
5
|
+
"topic": "What is Testing?",
|
|
6
|
+
"shortDescription": "Learn the basics of software testing",
|
|
7
|
+
"explanation": "Testing is like checking your homework before you turn it in! Just like you check your math problems to make sure you got the right answer, we test our code to make sure it works correctly.",
|
|
8
|
+
"examples": [
|
|
9
|
+
"If you build a calculator app, testing checks that 2 + 2 really equals 4",
|
|
10
|
+
"If you make a login form, testing makes sure users can actually log in",
|
|
11
|
+
"If you create a game, testing verifies the score updates correctly"
|
|
12
|
+
],
|
|
13
|
+
"category": "basics",
|
|
14
|
+
"relatedTopics": ["test-scenarios", "assertions"]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "test-scenarios",
|
|
18
|
+
"topic": "Test Scenarios",
|
|
19
|
+
"shortDescription": "Different situations to test your code",
|
|
20
|
+
"explanation": "Test scenarios are like different stories of how someone might use your code. Imagine you're testing a vending machine - you'd want to try normal situations, weird situations, and broken situations!",
|
|
21
|
+
"examples": [
|
|
22
|
+
{
|
|
23
|
+
"type": "Happy Path",
|
|
24
|
+
"emoji": "✅",
|
|
25
|
+
"description": "Everything works perfectly - like putting in exact change and getting your snack",
|
|
26
|
+
"example": "User enters valid email and password, successfully logs in"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "Edge Case",
|
|
30
|
+
"emoji": "⚠️",
|
|
31
|
+
"description": "Unusual but valid situations - like using a $100 bill for a $1 candy",
|
|
32
|
+
"example": "User enters extremely long (but valid) email address"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "Error Handling",
|
|
36
|
+
"emoji": "❌",
|
|
37
|
+
"description": "When things go wrong - like the vending machine being empty",
|
|
38
|
+
"example": "User enters wrong password, sees helpful error message"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"category": "concepts",
|
|
42
|
+
"relatedTopics": ["assertions", "test-types"]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "assertions",
|
|
46
|
+
"topic": "Assertions",
|
|
47
|
+
"shortDescription": "Checking if results match expectations",
|
|
48
|
+
"explanation": "Assertions are like rules that say 'this MUST be true'. Think of it like a teacher's answer key - if your answer doesn't match the key, you got it wrong! Assertions check if your code's answers match what they should be.",
|
|
49
|
+
"examples": [
|
|
50
|
+
{
|
|
51
|
+
"type": "Equals",
|
|
52
|
+
"description": "Check if two things are exactly the same",
|
|
53
|
+
"example": "2 + 2 should equal 4 (not 3, not 5, exactly 4!)"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "Contains",
|
|
57
|
+
"description": "Check if something includes a specific thing",
|
|
58
|
+
"example": "Your shopping list should contain 'milk'"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"type": "Throws Error",
|
|
62
|
+
"description": "Check that code properly shows an error when something's wrong",
|
|
63
|
+
"example": "Dividing by zero should show an error message"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "Truthy/Falsy",
|
|
67
|
+
"description": "Check if something is true or false",
|
|
68
|
+
"example": "User logged in should be true"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"category": "concepts",
|
|
72
|
+
"relatedTopics": ["test-scenarios"]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "test-types",
|
|
76
|
+
"topic": "Types of Tests",
|
|
77
|
+
"shortDescription": "Different kinds of code you can test",
|
|
78
|
+
"explanation": "Just like you can test different subjects in school (math, spelling, science), you can test different types of code! Each type needs slightly different testing approaches.",
|
|
79
|
+
"examples": [
|
|
80
|
+
{
|
|
81
|
+
"type": "Function Test",
|
|
82
|
+
"icon": "🔧",
|
|
83
|
+
"description": "Testing a single tool that does one job",
|
|
84
|
+
"example": "Test a 'calculateTax()' function to make sure it adds the right tax amount"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "Class Test",
|
|
88
|
+
"icon": "📦",
|
|
89
|
+
"description": "Testing a container with multiple tools inside",
|
|
90
|
+
"example": "Test a 'ShoppingCart' class that can add items, remove items, and calculate total"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "Component Test",
|
|
94
|
+
"icon": "🎨",
|
|
95
|
+
"description": "Testing a visual piece of your app",
|
|
96
|
+
"example": "Test a 'LoginButton' to make sure it looks right and works when clicked"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"type": "Workflow Test",
|
|
100
|
+
"icon": "🔄",
|
|
101
|
+
"description": "Testing a series of steps that work together",
|
|
102
|
+
"example": "Test the complete process: search for product → add to cart → checkout → confirm order"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"category": "concepts",
|
|
106
|
+
"relatedTopics": ["test-frameworks"]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"id": "test-frameworks",
|
|
110
|
+
"topic": "Test Frameworks",
|
|
111
|
+
"shortDescription": "Tools that help you write and run tests",
|
|
112
|
+
"explanation": "Test frameworks are like different board games - they all let you have fun, but each has different rules! Each framework helps you test your code, but with slightly different features.",
|
|
113
|
+
"examples": [
|
|
114
|
+
{
|
|
115
|
+
"framework": "Jest",
|
|
116
|
+
"emoji": "🃏",
|
|
117
|
+
"description": "The most popular choice - like Monopoly, everyone knows it!",
|
|
118
|
+
"bestFor": "React apps, beginners, projects that need lots of features built-in",
|
|
119
|
+
"recommendation": "Start here if you're new to testing!"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"framework": "Mocha",
|
|
123
|
+
"emoji": "☕",
|
|
124
|
+
"description": "Very flexible - like LEGO, you can build exactly what you want",
|
|
125
|
+
"bestFor": "Node.js projects, teams that want to choose their own tools",
|
|
126
|
+
"recommendation": "Good if you like customization"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"framework": "Vitest",
|
|
130
|
+
"emoji": "⚡",
|
|
131
|
+
"description": "Super fast and modern - like an electric car vs. a regular car",
|
|
132
|
+
"bestFor": "Vite projects, developers who want speed",
|
|
133
|
+
"recommendation": "Great for new projects using Vite"
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"category": "tools",
|
|
137
|
+
"relatedTopics": ["test-types"]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "code-coverage",
|
|
141
|
+
"topic": "Code Coverage",
|
|
142
|
+
"shortDescription": "How much of your code is tested",
|
|
143
|
+
"explanation": "Code coverage is like coloring a picture - it shows which parts you've colored (tested) and which parts are still blank (not tested). If you have 80% coverage, that means 80% of your code has tests checking it!",
|
|
144
|
+
"examples": [
|
|
145
|
+
"If your app has 10 functions and you test 8 of them, you have 80% coverage",
|
|
146
|
+
"Lines of code that turn green when you run tests are covered",
|
|
147
|
+
"Lines that stay red or gray haven't been tested yet"
|
|
148
|
+
],
|
|
149
|
+
"visualization": {
|
|
150
|
+
"good": "🟢 Green = Tested ✅",
|
|
151
|
+
"bad": "🔴 Red = Not tested ⚠️",
|
|
152
|
+
"target": "🎯 Aim for at least 80% coverage"
|
|
153
|
+
},
|
|
154
|
+
"category": "metrics",
|
|
155
|
+
"relatedTopics": ["what-is-testing"]
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "mocking",
|
|
159
|
+
"topic": "Mocking",
|
|
160
|
+
"shortDescription": "Pretending something exists for testing",
|
|
161
|
+
"explanation": "Mocking is like using a toy phone instead of a real phone when you're pretending to call someone. When testing, we use 'fake' versions of things (like databases or APIs) so we can test our code without needing the real thing!",
|
|
162
|
+
"examples": [
|
|
163
|
+
"Instead of calling a real bank's API, use a fake one that always says 'balance: $100'",
|
|
164
|
+
"Instead of sending real emails, pretend to send them and just check that the code tried to",
|
|
165
|
+
"Instead of waiting for a slow database, use a fake instant one"
|
|
166
|
+
],
|
|
167
|
+
"benefits": [
|
|
168
|
+
"Tests run faster (no waiting for real servers)",
|
|
169
|
+
"Tests are more reliable (fake things always work the same way)",
|
|
170
|
+
"You can test error cases (make the fake thing 'break' on purpose)"
|
|
171
|
+
],
|
|
172
|
+
"category": "advanced",
|
|
173
|
+
"relatedTopics": ["assertions"]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "tdd",
|
|
177
|
+
"topic": "Test-Driven Development (TDD)",
|
|
178
|
+
"shortDescription": "Writing tests before writing code",
|
|
179
|
+
"explanation": "TDD is like planning your route before taking a trip. Instead of just starting to drive and hoping you get there, you first decide where you want to go, THEN start driving. With TDD, you write the test (decide where you're going) before writing the code (taking the trip)!",
|
|
180
|
+
"steps": [
|
|
181
|
+
{
|
|
182
|
+
"step": 1,
|
|
183
|
+
"emoji": "🔴",
|
|
184
|
+
"name": "Red",
|
|
185
|
+
"description": "Write a test that fails (because the code doesn't exist yet)"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"step": 2,
|
|
189
|
+
"emoji": "🟢",
|
|
190
|
+
"name": "Green",
|
|
191
|
+
"description": "Write just enough code to make the test pass"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"step": 3,
|
|
195
|
+
"emoji": "✨",
|
|
196
|
+
"name": "Refactor",
|
|
197
|
+
"description": "Make the code better (cleaner, faster) while keeping tests passing"
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
"category": "advanced",
|
|
201
|
+
"relatedTopics": ["what-is-testing"]
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"id": "integration-vs-unit",
|
|
205
|
+
"topic": "Unit vs Integration Tests",
|
|
206
|
+
"shortDescription": "Testing parts vs. testing the whole",
|
|
207
|
+
"explanation": "Unit tests check one small piece (like testing a single LEGO brick), while integration tests check how pieces work together (like testing if the LEGO bricks connect properly to build a house).",
|
|
208
|
+
"comparison": [
|
|
209
|
+
{
|
|
210
|
+
"aspect": "What they test",
|
|
211
|
+
"unit": "One function or component alone",
|
|
212
|
+
"integration": "Multiple parts working together"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"aspect": "Speed",
|
|
216
|
+
"unit": "Very fast ⚡",
|
|
217
|
+
"integration": "Slower 🐢"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"aspect": "Example",
|
|
221
|
+
"unit": "Test that calculateTax() returns correct tax for $100",
|
|
222
|
+
"integration": "Test that cart total includes product price + tax + shipping"
|
|
223
|
+
}
|
|
224
|
+
],
|
|
225
|
+
"analogy": "Unit test = testing if your bike pedals turn. Integration test = testing if pedaling makes the whole bike move forward.",
|
|
226
|
+
"category": "concepts",
|
|
227
|
+
"relatedTopics": ["what-is-testing", "test-types"]
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"id": "debugging-tests",
|
|
231
|
+
"topic": "Debugging Failed Tests",
|
|
232
|
+
"shortDescription": "What to do when tests don't pass",
|
|
233
|
+
"explanation": "When a test fails, it's like getting an answer wrong on a quiz - the test is telling you something's not right! Don't panic, it's actually helpful because it shows you exactly what to fix.",
|
|
234
|
+
"steps": [
|
|
235
|
+
{
|
|
236
|
+
"step": "1. Read the error message",
|
|
237
|
+
"tip": "It usually tells you what went wrong, like 'Expected 5 but got 4'"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"step": "2. Look at what was expected vs. what actually happened",
|
|
241
|
+
"tip": "The test wanted one thing, but your code did something else"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"step": "3. Check your code logic",
|
|
245
|
+
"tip": "Is there a math mistake? A typo? A missing step?"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"step": "4. Fix the code (or sometimes, fix the test!)",
|
|
249
|
+
"tip": "Sometimes the test itself is wrong, not your code"
|
|
250
|
+
}
|
|
251
|
+
],
|
|
252
|
+
"commonMistakes": [
|
|
253
|
+
"Comparing numbers to strings ('5' is not the same as 5)",
|
|
254
|
+
"Forgetting to wait for async operations to complete",
|
|
255
|
+
"Using real data that changes instead of test data"
|
|
256
|
+
],
|
|
257
|
+
"category": "troubleshooting",
|
|
258
|
+
"relatedTopics": ["assertions"]
|
|
259
|
+
}
|
|
260
|
+
]
|
|
261
|
+
}
|