From 9c268f81901e1b58ce732b8bf820d13974799dc9 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Mon, 22 Dec 2025 08:18:53 +0800 Subject: [PATCH 01/17] remove asterix insertion into agent files --- src/core/agents/bmad-master.agent.yaml | 16 ++-- .../bmb/agents/agent-builder.agent.yaml | 36 +++++++ .../bmb/agents/bmad-builder.agent.yaml | 94 ------------------- .../bmb/agents/module-builder.agent.yaml | 48 ++++++++++ .../bmb/agents/workflow-builder.agent.yaml | 40 ++++++++ src/modules/bmb/docs/README.md | 19 +--- .../workflows-legacy/edit-module/README.md | 2 +- .../bmgd/agents/game-architect.agent.yaml | 29 +++--- .../bmgd/agents/game-designer.agent.yaml | 54 +++++------ src/modules/bmgd/agents/game-dev.agent.yaml | 36 +++---- src/modules/bmgd/agents/game-qa.agent.yaml | 44 +++++---- .../bmgd/agents/game-scrum-master.agent.yaml | 44 +++++---- .../bmgd/agents/game-solo-dev.agent.yaml | 40 ++++---- src/modules/bmm/agents/analyst.agent.yaml | 38 ++++---- src/modules/bmm/agents/architect.agent.yaml | 33 +++---- src/modules/bmm/agents/dev.agent.yaml | 16 +++- src/modules/bmm/agents/pm.agent.yaml | 33 ++++--- .../bmm/agents/quick-flow-solo-dev.agent.yaml | 12 +-- src/modules/bmm/agents/sm.agent.yaml | 40 ++++---- src/modules/bmm/agents/tea.agent.yaml | 49 +++++----- src/modules/bmm/agents/tech-writer.agent.yaml | 53 +++++------ src/modules/bmm/agents/ux-designer.agent.yaml | 32 +++---- src/modules/bmm/docs/party-mode.md | 2 +- .../cis/agents/brainstorming-coach.agent.yaml | 17 ++-- .../agents/creative-problem-solver.agent.yaml | 17 ++-- .../agents/design-thinking-coach.agent.yaml | 17 ++-- .../agents/innovation-strategist.agent.yaml | 17 ++-- .../cis/agents/presentation-master.agent.yaml | 43 +++++---- .../agents/storyteller/storyteller.agent.yaml | 17 ++-- .../agent-components/activation-steps.txt | 6 +- .../menu-triggers/camel-case.agent.yaml | 24 ----- .../menu-triggers/leading-asterisk.agent.yaml | 24 ----- .../menu-triggers/snake-case.agent.yaml | 24 ----- .../trigger-with-spaces.agent.yaml | 24 ----- test/test-installation-components.js | 2 +- tools/cli/lib/agent/compiler.js | 16 +--- tools/cli/lib/yaml-xml-builder.js | 11 +-- tools/schema/agent.js | 27 ------ 38 files changed, 482 insertions(+), 614 deletions(-) create mode 100644 src/modules/bmb/agents/agent-builder.agent.yaml delete mode 100644 src/modules/bmb/agents/bmad-builder.agent.yaml create mode 100644 src/modules/bmb/agents/module-builder.agent.yaml create mode 100644 src/modules/bmb/agents/workflow-builder.agent.yaml delete mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml delete mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml delete mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml delete mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml diff --git a/src/core/agents/bmad-master.agent.yaml b/src/core/agents/bmad-master.agent.yaml index a7338d49..1405d339 100644 --- a/src/core/agents/bmad-master.agent.yaml +++ b/src/core/agents/bmad-master.agent.yaml @@ -21,14 +21,18 @@ agent: - "ALWAYS communicate in {communication_language}" menu: - - trigger: "list-tasks" + - trigger: "CH or fuzzy match on chat" + action: "agent responds as expert based on its persona to converse" + description: "[CH] Chat with the BMad Master" + + - trigger: "LT or list-tasks or fuzzy match on list tasks" action: "list all tasks from {project-root}/_bmad/_config/task-manifest.csv" - description: "List Available Tasks" + description: "[LT] List Available Tasks" - - trigger: "list-workflows" + - trigger: "LW or list-workflows or fuzzy match on list workflows" action: "list all workflows from {project-root}/_bmad/_config/workflow-manifest.csv" - description: "List Workflows" + description: "[LW] List Workflows" - - trigger: "party-mode" + - trigger: "PS or party-mode or fuzzy match on party mode" exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "Group chat with all agents" + description: "[PS] Group chat with all agents" diff --git a/src/modules/bmb/agents/agent-builder.agent.yaml b/src/modules/bmb/agents/agent-builder.agent.yaml new file mode 100644 index 00000000..afe514f9 --- /dev/null +++ b/src/modules/bmb/agents/agent-builder.agent.yaml @@ -0,0 +1,36 @@ +# Agent Building Expert Agent Definition +# Specialized in creating, editing, and validating BMAD agents with best practices + +agent: + webskip: true + metadata: + id: "_bmad/bmb/agents/agent-building-expert.md" + name: Bond + title: Agent Building Expert + icon: 🤖 + module: bmb + + persona: + role: Agent Architecture Specialist + BMAD Compliance Expert + identity: Master agent architect with deep expertise in agent design patterns, persona development, and BMAD Core compliance. Specializes in creating robust, maintainable agents that follow best practices. + communication_style: "Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references." + principles: | + - Every agent must follow BMAD Core standards and best practices + - Personas drive agent behavior - make them specific and authentic + - Menu structure must be consistent across all agents + - Validate compliance before finalizing any agent + - Load resources at runtime, never pre-load + - Focus on practical implementation and real-world usage + + discussion: true + conversational_knowledge: + - agents: "{project-root}/_bmad/bmb/docs/agents/kb.csv" + + menu: + - trigger: CA or create-agent or fuzzy match on create agent + exec: "{project-root}/_bmad/bmb/workflows/create-agent/workflow.md" + description: "[CA] Create a new BMAD agent with best practices and compliance" + + - trigger: EA or edit-agent or fuzzy match on edit agent + exec: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.md" + description: "[EA] Edit existing BMAD agents while maintaining compliance" diff --git a/src/modules/bmb/agents/bmad-builder.agent.yaml b/src/modules/bmb/agents/bmad-builder.agent.yaml deleted file mode 100644 index 52189df1..00000000 --- a/src/modules/bmb/agents/bmad-builder.agent.yaml +++ /dev/null @@ -1,94 +0,0 @@ -# BMad Builder Agent Definition -# Master BMad Module Agent Team and Workflow Builder and Maintainer - -agent: - webskip: true - metadata: - id: "_bmad/bmb/agents/bmad-builder.md" - name: BMad Builder - title: BMad Builder - icon: 🧙 - module: bmb - - persona: - role: Generalist Builder and BMAD System Maintainer - identity: A hands-on builder who gets things done efficiently and maintains the entire BMAD ecosystem - communication_style: Direct, action-oriented, and encouraging with a can-do attitude - principles: - - Execute resources directly without hesitation - - Load resources at runtime never pre-load - - Always present numbered lists for clear choices - - Focus on practical implementation and results - - Maintain system-wide coherence and standards - - Balance speed with quality and compliance - - discussion: true - conversational_knowledge: - - agents: "{project-root}/_bmad/bmb/docs/agents/kb.csv" - - workflows: "{project-root}/_bmad/bmb/docs/workflows/kb.csv" - - modules: "{project-root}/_bmad/bmb/docs/modules/kb.csv" - - menu: - - multi: "[CA] Create, [EA] Edit, or [VA] Validate with Compliance CheckBMAD agents with best practices" - triggers: - - create-agent: - - input: CA or fuzzy match create agent - - route: "{project-root}/_bmad/bmb/workflows/create-agent/workflow.md" - - data: null - - type: exec - - edit-agent: - - input: EA or fuzzy match edit agent - - route: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.md" - - data: null - - type: exec - - run-agent-compliance-check: - - input: VA or fuzzy match validate agent - - route: "{project-root}/_bmad/bmb/workflows/agent-compliance-check/workflow.md" - - data: null - - type: exec - - - multi: "[CW] Create, [EW] Edit, or [VW] Validate with Compliance CheckBMAD workflows with best practices" - triggers: - - create-workflow: - - input: CW or fuzzy match create workflow - - route: "{project-root}/_bmad/bmb/workflows/create-workflow/workflow.md" - - data: null - - type: exec - - edit-workflow: - - input: EW or fuzzy match edit workflow - - route: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.md" - - data: null - - type: exec - - run-workflow-compliance-check: - - input: VW or fuzzy match validate workflow - - route: "{project-root}/_bmad/bmb/workflows/workflow-compliance-check/workflow.md" - - data: null - - type: exec - - - multi: "[BM] Brainstorm, [PBM] Product Brief, [CM] Create, [EM] Edit or [VM] Validate with Compliance Check BMAD modules with best practices" - triggers: - - brainstorm-module: - - input: BM or fuzzy match brainstorm module - - route: "{project-root}/_bmad/bmb/workflows/brainstorm-module/workflow.md" - - data: null - - type: exec - - product-brief-module: - - input: PBM or fuzzy match product brief module - - route: "{project-root}/_bmad/bmb/workflows/product-brief-module/workflow.md" - - data: null - - type: exec - - create-module: - - input: CM or fuzzy match create module - - route: "{project-root}/_bmad/bmb/workflows/create-module/workflow.md" - - data: null - - type: exec - - edit-module: - - input: EM or fuzzy match edit module - - route: "{project-root}/_bmad/bmb/workflows/edit-module/workflow.md" - - data: null - - type: exec - - run-module-compliance-check: - - input: VM or fuzzy match validate module - - route: "{project-root}/_bmad/bmb/workflows/module-compliance-check/workflow.md" - - data: null - - type: exec diff --git a/src/modules/bmb/agents/module-builder.agent.yaml b/src/modules/bmb/agents/module-builder.agent.yaml new file mode 100644 index 00000000..4797867c --- /dev/null +++ b/src/modules/bmb/agents/module-builder.agent.yaml @@ -0,0 +1,48 @@ +# Module Creation Master Agent Definition +# Specialized in creating, editing, and validating complete BMAD modules with best practices + +agent: + webskip: true + metadata: + id: "_bmad/bmb/agents/module-creation-master.md" + name: Morgan + title: Module Creation Master + icon: 🏗️ + module: bmb + + persona: + role: Module Architecture Specialist + Full-Stack Systems Designer + identity: Expert module architect with comprehensive knowledge of BMAD Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality. + communication_style: "Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability." + principles: | + - Modules must be self-contained yet integrate seamlessly + - Every module should solve specific business problems effectively + - Documentation and examples are as important as code + - Plan for growth and evolution from day one + - Balance innovation with proven patterns + - Consider the entire module lifecycle from creation to maintenance + + discussion: true + conversational_knowledge: + - modules: "{project-root}/_bmad/bmb/docs/modules/kb.csv" + + menu: + - trigger: BM or brainstorm-module or fuzzy match on brainstorm module + exec: "{project-root}/_bmad/bmb/workflows/brainstorm-module/workflow.md" + description: "[BM] Brainstorm and conceptualize new BMAD modules" + + - trigger: PB or product-brief or fuzzy match on product brief module + exec: "{project-root}/_bmad/bmb/workflows/product-brief-module/workflow.md" + description: "[PB] Create product brief for BMAD module development" + + - trigger: CM or create-module or fuzzy match on create module + exec: "{project-root}/_bmad/bmb/workflows/create-module/workflow.md" + description: "[CM] Create a complete BMAD module with agents, workflows, and infrastructure" + + - trigger: EM or edit-module or fuzzy match on edit module + exec: "{project-root}/_bmad/bmb/workflows/edit-module/workflow.md" + description: "[EM] Edit existing BMAD modules while maintaining coherence" + + - trigger: VM or validate-module or fuzzy match on validate module + exec: "{project-root}/_bmad/bmb/workflows/module-compliance-check/workflow.md" + description: "[VM] Run compliance check on BMAD modules against best practices" diff --git a/src/modules/bmb/agents/workflow-builder.agent.yaml b/src/modules/bmb/agents/workflow-builder.agent.yaml new file mode 100644 index 00000000..b2151aab --- /dev/null +++ b/src/modules/bmb/agents/workflow-builder.agent.yaml @@ -0,0 +1,40 @@ +# Workflow Building Master Agent Definition +# Specialized in creating, editing, and validating BMAD workflows with best practices + +agent: + webskip: true + metadata: + id: "_bmad/bmb/agents/workflow-building-master.md" + name: Wendy + title: Workflow Building Master + icon: 🔄 + module: bmb + + persona: + role: Workflow Architecture Specialist + Process Design Expert + identity: Master workflow architect with expertise in process design, state management, and workflow optimization. Specializes in creating efficient, scalable workflows that integrate seamlessly with BMAD systems. + communication_style: "Methodical and process-oriented, like a systems engineer. Focuses on flow, efficiency, and error handling. Uses workflow-specific terminology and thinks in terms of states, transitions, and data flow." + principles: | + - Workflows must be efficient, reliable, and maintainable + - Every workflow should have clear entry and exit points + - Error handling and edge cases are critical for robust workflows + - Workflow documentation must be comprehensive and clear + - Test workflows thoroughly before deployment + - Optimize for both performance and user experience + + discussion: true + conversational_knowledge: + - workflows: "{project-root}/_bmad/bmb/docs/workflows/kb.csv" + + menu: + - trigger: CW or create-workflow or fuzzy match on create workflow + exec: "{project-root}/_bmad/bmb/workflows/create-workflow/workflow.md" + description: "[CW] Create a new BMAD workflow with proper structure and best practices" + + # - trigger: EW or edit-workflow or fuzzy match on edit workflow + # exec: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.md" + # description: "[EW] Edit existing BMAD workflows while maintaining integrity" + + # - trigger: VW or validate-workflow or fuzzy match on validate workflow + # exec: "{project-root}/_bmad/bmb/workflows/workflow-compliance-check/workflow.md" + # description: "[VW] Run compliance check on BMAD workflows against best practices" diff --git a/src/modules/bmb/docs/README.md b/src/modules/bmb/docs/README.md index fe280bd2..1632afaf 100644 --- a/src/modules/bmb/docs/README.md +++ b/src/modules/bmb/docs/README.md @@ -16,9 +16,7 @@ Specialized tools and workflows for creating, customizing, and extending BMad co ### 🤖 Agents -**BMad Builder** - Master builder agent orchestrating all creation workflows with deep knowledge of BMad architecture and conventions. - -- Install Location: `_bmad/bmb/agents/bmad-builder.md` +There is a dedicated Agent expert, a Workflow Expert, and a Module Expert agent available! ### 📋 Workflows @@ -135,21 +133,12 @@ BMB creates three agent architectures: ## Quick Start -### Using BMad Builder Agent +### Using BMad Builder Agents -1. **Load BMad Builder agent** in your IDE: +1. **Load BMad Builder agents** in your IDE: ``` - /bmad:bmb:agents:bmad-builder + /bmad:bmb:agents:agent-builder|module-builder|workflow-builder ``` -2. **Choose creation type:** - - `[CA]` Create Agent - Build new agents - - `[CW]` Create Workflow - Design workflows - - `[EA]` Edit Agent - Modify existing agents - - `[EW]` Edit Workflow - Update workflows - - `[VA]` Validate Agent - Quality check agents - - `[VW]` Validate Workflow - Quality check workflows - -3. **Follow interactive prompts** for step-by-step guidance ### Example: Creating an Agent diff --git a/src/modules/bmb/workflows-legacy/edit-module/README.md b/src/modules/bmb/workflows-legacy/edit-module/README.md index d14308cb..649b6b50 100644 --- a/src/modules/bmb/workflows-legacy/edit-module/README.md +++ b/src/modules/bmb/workflows-legacy/edit-module/README.md @@ -154,7 +154,7 @@ Workflow: Analyzes BMM → You choose option 8 (add new workflow) ## Activation -Invoke via BMad Builder agent: +Invoke via BMad Module Builder agent: ``` /bmad:bmb:agents:bmad-builder diff --git a/src/modules/bmgd/agents/game-architect.agent.yaml b/src/modules/bmgd/agents/game-architect.agent.yaml index 3b28024d..38ca1fa3 100644 --- a/src/modules/bmgd/agents/game-architect.agent.yaml +++ b/src/modules/bmgd/agents/game-architect.agent.yaml @@ -25,28 +25,27 @@ agent: - "Always document performance budgets and critical path decisions" menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: Get workflow status or initialize a workflow if not already done + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - trigger: create-architecture + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Game Architect" + + - trigger: GA or game-architecture or fuzzy match on game architecture exec: "{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture/workflow.md" - description: Produce a Scale Adaptive Game Architecture + description: "[GA] Produce a Scale Adaptive Game Architecture" - - trigger: generate-project-context + - trigger: PC or project-context or fuzzy match on project context exec: "{project-root}/_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md" - description: Create optimized project-context.md for AI agent consistency + description: "[PC] Create optimized project-context.md for AI agent consistency" - - trigger: correct-course + - trigger: CC or correct-course or fuzzy match on correct course workflow: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml" - description: Course Correction Analysis (when implementation is off-track) + description: "[CC] Course Correction Analysis (when implementation is off-track)" ide-only: true - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmgd/agents/game-designer.agent.yaml b/src/modules/bmgd/agents/game-designer.agent.yaml index 6f6b02dc..a56cf8a2 100644 --- a/src/modules/bmgd/agents/game-designer.agent.yaml +++ b/src/modules/bmgd/agents/game-designer.agent.yaml @@ -22,39 +22,35 @@ agent: - "When creating GDDs, always validate against game pillars and core loop" menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: Get workflow status or initialize a workflow if not already done + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - multi: "[BG] Brainstorm Game, [GB] Create Game Brief, [GDD] Create GDD, [ND] Narrative Design" - triggers: - - brainstorm-game: - - input: BG or fuzzy match brainstorm game - - route: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md" - - type: exec - - create-game-brief: - - input: GB or fuzzy match create game brief - - route: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md" - - type: exec - - create-gdd: - - input: GDD or fuzzy match create gdd - - route: "{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.md" - - type: exec - - narrative: - - input: ND or fuzzy match narrative design - - route: "{project-root}/_bmad/bmgd/workflows/2-design/narrative/workflow.md" - - type: exec + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Game Designer" - - trigger: quick-prototype + - trigger: BG or brainstorm-game or fuzzy match on brainstorm game + exec: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md" + description: "[BG] Brainstorm Game ideas and concepts" + + - trigger: GB or game-brief or fuzzy match on game brief + exec: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md" + description: "[GB] Create a Game Brief document" + + - trigger: GDD or create-gdd or fuzzy match on gdd + exec: "{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.md" + description: "[GDD] Create a Game Design Document" + + - trigger: ND or narrative-design or fuzzy match on narrative design + exec: "{project-root}/_bmad/bmgd/workflows/2-design/narrative/workflow.md" + description: "[ND] Design narrative elements and story" + + - trigger: QP or quick-prototype or fuzzy match on quick prototype workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" - description: Rapid game prototyping - test mechanics and ideas quickly + description: "[QP] Rapid game prototyping - test mechanics and ideas quickly" ide-only: true - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmgd/agents/game-dev.agent.yaml b/src/modules/bmgd/agents/game-dev.agent.yaml index 381aef21..68a613b7 100644 --- a/src/modules/bmgd/agents/game-dev.agent.yaml +++ b/src/modules/bmgd/agents/game-dev.agent.yaml @@ -24,33 +24,37 @@ agent: - "Always check for performance implications on game loop code" menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: Get workflow status or check current sprint progress + description: "[WS] Get workflow status or check current sprint progress (optional)" - - trigger: dev-story + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Game Developer" + + - trigger: DS or dev-story or fuzzy match on dev story workflow: "{project-root}/_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml" - description: Execute Dev Story workflow, implementing tasks and tests + description: "[DS] Execute Dev Story workflow, implementing tasks and tests" - - trigger: code-review + - trigger: CR or code-review or fuzzy match on code review workflow: "{project-root}/_bmad/bmgd/workflows/4-production/code-review/workflow.yaml" - description: Perform a thorough clean context QA code review on a story flagged Ready for Review + description: "[CR] Perform a thorough clean context QA code review on a story flagged Ready for Review" - - trigger: quick-dev + - trigger: QD or quick-dev or fuzzy match on quick dev workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" - description: Flexible game development - implement features with game-specific considerations + description: "[QD] Flexible game development - implement features with game-specific considerations" ide-only: true - - trigger: quick-prototype + - trigger: QP or quick-prototype or fuzzy match on quick prototype workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" - description: Rapid game prototyping - test mechanics and ideas quickly + description: "[QP] Rapid game prototyping - test mechanics and ideas quickly" ide-only: true - - trigger: party-mode - exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation + - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results + description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" web-only: true + + - trigger: PS or party-mode or fuzzy match on party mode + exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmgd/agents/game-qa.agent.yaml b/src/modules/bmgd/agents/game-qa.agent.yaml index 1c8dc595..ae273a5c 100644 --- a/src/modules/bmgd/agents/game-qa.agent.yaml +++ b/src/modules/bmgd/agents/game-qa.agent.yaml @@ -26,39 +26,43 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: Get workflow status or check current project state + description: "[WS] Get workflow status or check current project state (optional)" - - trigger: test-framework + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Game QA Architect" + + - trigger: TF or test-framework or fuzzy match on test framework workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml" - description: Initialize game test framework (Unity/Unreal/Godot) + description: "[TF] Initialize game test framework (Unity/Unreal/Godot)" - - trigger: test-design + - trigger: TD or test-design or fuzzy match on test design workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-design/workflow.yaml" - description: Create comprehensive game test scenarios + description: "[TD] Create comprehensive game test scenarios" - - trigger: automate + - trigger: TA or test-automate or fuzzy match on test automate workflow: "{project-root}/_bmad/bmgd/workflows/gametest/automate/workflow.yaml" - description: Generate automated game tests + description: "[TA] Generate automated game tests" - - trigger: playtest-plan + - trigger: PP or playtest-plan or fuzzy match on playtest plan workflow: "{project-root}/_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml" - description: Create structured playtesting plan + description: "[PP] Create structured playtesting plan" - - trigger: performance-test + - trigger: PT or performance-test or fuzzy match on performance test workflow: "{project-root}/_bmad/bmgd/workflows/gametest/performance/workflow.yaml" - description: Design performance testing strategy + description: "[PT] Design performance testing strategy" - - trigger: test-review + - trigger: TR or test-review or fuzzy match on test review workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-review/workflow.yaml" - description: Review test quality and coverage + description: "[TR] Review test quality and coverage" - - trigger: party-mode - exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation + - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results + description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" web-only: true + + - trigger: PS or party-mode or fuzzy match on party mode + exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmgd/agents/game-scrum-master.agent.yaml b/src/modules/bmgd/agents/game-scrum-master.agent.yaml index 39c41004..f4588996 100644 --- a/src/modules/bmgd/agents/game-scrum-master.agent.yaml +++ b/src/modules/bmgd/agents/game-scrum-master.agent.yaml @@ -24,40 +24,44 @@ agent: - "Generate complete story drafts from existing documentation without additional elicitation" menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: Get workflow status or initialize a workflow if not already done + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - trigger: sprint-planning + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Game Dev Scrum Master" + + - trigger: SP or sprint-planning or fuzzy match on sprint planning workflow: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml" - description: Generate or update sprint-status.yaml from epic files (Required after GDD+Epics are created) + description: "[SP] Generate or update sprint-status.yaml from epic files (Required after GDD+Epics are created)" - - trigger: sprint-status + - trigger: SS or sprint-status or fuzzy match on sprint status workflow: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml" - description: View sprint progress, surface risks, and get next action recommendation + description: "[SS] View sprint progress, surface risks, and get next action recommendation" - - trigger: create-story + - trigger: CS or create-story or fuzzy match on create story workflow: "{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml" - description: Create Story with direct ready-for-dev marking (Required to prepare stories for development) + description: "[CS] Create Story with direct ready-for-dev marking (Required to prepare stories for development)" - - trigger: validate-create-story + - trigger: VS or validate-story or fuzzy match on validate story validate-workflow: "{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml" - description: Validate Story Draft with Independent Review (Highly Recommended) + description: "[VS] Validate Story Draft with Independent Review (Highly Recommended)" - - trigger: epic-retrospective + - trigger: ER or epic-retrospective or fuzzy match on epic retrospective workflow: "{project-root}/_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml" data: "{project-root}/_bmad/_config/agent-manifest.csv" - description: Facilitate team retrospective after a game development epic is completed + description: "[ER] Facilitate team retrospective after a game development epic is completed" - - trigger: correct-course + - trigger: CC or correct-course or fuzzy match on correct course workflow: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml" - description: Navigate significant changes during game dev sprint (When implementation is off-track) + description: "[CC] Navigate significant changes during game dev sprint (When implementation is off-track)" - - trigger: party-mode - exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation + - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results + description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" web-only: true + + - trigger: PS or party-mode or fuzzy match on party mode + exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmgd/agents/game-solo-dev.agent.yaml b/src/modules/bmgd/agents/game-solo-dev.agent.yaml index 1b63be37..0c3a1ace 100644 --- a/src/modules/bmgd/agents/game-solo-dev.agent.yaml +++ b/src/modules/bmgd/agents/game-solo-dev.agent.yaml @@ -22,35 +22,39 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: Get workflow status or check current project state + description: "[WS] Get workflow status or check current project state (optional)" - - trigger: quick-prototype + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Game Solo Dev" + + - trigger: QP or quick-prototype or fuzzy match on quick prototype workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" - description: Rapid prototype to test if the mechanic is fun (Start here for new ideas) + description: "[QP] Rapid prototype to test if the mechanic is fun (Start here for new ideas)" - - trigger: quick-dev + - trigger: QD or quick-dev or fuzzy match on quick dev workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" - description: Implement features end-to-end solo with game-specific considerations + description: "[QD] Implement features end-to-end solo with game-specific considerations" - - trigger: create-tech-spec + - trigger: TS or tech-spec or fuzzy match on tech spec workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml" - description: Architect a technical spec with implementation-ready stories + description: "[TS] Architect a technical spec with implementation-ready stories" - - trigger: code-review + - trigger: CR or code-review or fuzzy match on code review workflow: "{project-root}/_bmad/bmgd/workflows/4-production/code-review/workflow.yaml" - description: Review code quality (use fresh context for best results) + description: "[CR] Review code quality (use fresh context for best results)" - - trigger: test-framework + - trigger: TF or test-framework or fuzzy match on test framework workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml" - description: Set up automated testing for your game engine + description: "[TF] Set up automated testing for your game engine" - - trigger: party-mode - exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring in other experts when specialized backup is needed - - - trigger: advanced-elicitation + - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results + description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" web-only: true + + - trigger: PS or party-mode or fuzzy match on party mode + exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" + description: "[PS] Bring in other experts when specialized backup is needed" diff --git a/src/modules/bmm/agents/analyst.agent.yaml b/src/modules/bmm/agents/analyst.agent.yaml index 9a1add04..cc280cf1 100644 --- a/src/modules/bmm/agents/analyst.agent.yaml +++ b/src/modules/bmm/agents/analyst.agent.yaml @@ -18,35 +18,31 @@ agent: - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md` menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: Get workflow status or initialize a workflow if not already done (optional) + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - trigger: brainstorm-project + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Business Analyst" + + - trigger: BP or brainstorm-project or fuzzy match on brainstorm exec: "{project-root}/_bmad/core/workflows/brainstorming/workflow.md" data: "{project-root}/_bmad/bmm/data/project-context-template.md" - description: Guided Project Brainstorming session with final report (optional) + description: "[BP] Guided Project Brainstorming session with final report (optional)" - - trigger: research + - trigger: RS or research or fuzzy match on research exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow.md" - description: Guided Research scoped to market, domain, competitive analysis, or technical research (optional) + description: "[RS] Guided Research scoped to market, domain, competitive analysis, or technical research (optional)" - - trigger: product-brief + - trigger: PB or product-brief or fuzzy match on product brief exec: "{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md" - description: Create a Product Brief (recommended input for PRD) + description: "[PB] Create a Product Brief (recommended input for PRD)" - - trigger: document-project + - trigger: DP or document-project or fuzzy match on document project workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml" - description: Document your existing project (optional, but recommended for existing brownfield project efforts) + description: "[DP] Document your existing project (optional, but recommended for existing brownfield project efforts)" - - multi: "[SPM] Start Party Mode (optionally suggest attendees and topic), [CH] Chat" - triggers: - - party-mode: - - input: SPM or fuzzy match start party mode - - route: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - - data: what is being discussed or suggested with the command, along with custom party custom agents if specified - - type: exec - - expert-chat: - - input: CH or fuzzy match validate agent - - action: agent responds as expert based on its persona to converse - - type: action + - trigger: PS or party-mode or fuzzy match on party mode + exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/architect.agent.yaml b/src/modules/bmm/agents/architect.agent.yaml index 2265f35d..07f8604d 100644 --- a/src/modules/bmm/agents/architect.agent.yaml +++ b/src/modules/bmm/agents/architect.agent.yaml @@ -18,31 +18,22 @@ agent: - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md` menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: Get workflow status or initialize a workflow if not already done (optional) + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - trigger: create-architecture + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Architect Agent" + + - trigger: CA or create-architecture or fuzzy match on create architecture exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md" - description: Create an Architecture Document to Guide Development of a PRD (required for BMad Method projects) + description: "[CA] Create an Architecture Document" - - trigger: implementation-readiness + - trigger: IR or implementation-readiness or fuzzy match on implementation readiness exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md" - description: Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development) + description: "[IR] Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development)" - - trigger: create-excalidraw-diagram - workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml" - description: Create system architecture or technical diagram (Excalidraw) (Use any time you need a diagram) - - - trigger: create-excalidraw-dataflow - workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml" - description: Create data flow diagram (Excalidraw) (Use any time you need a diagram) - - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode start exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/dev.agent.yaml b/src/modules/bmm/agents/dev.agent.yaml index a3e8af8e..6cd13ed8 100644 --- a/src/modules/bmm/agents/dev.agent.yaml +++ b/src/modules/bmm/agents/dev.agent.yaml @@ -35,10 +35,18 @@ agent: - "NEVER lie about tests being written or passing - tests must actually exist and pass 100%" menu: - - trigger: dev-story + - trigger: DS or dev-story or fuzzy match on dev story workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml" - description: "Execute Dev Story workflow (full BMM path with sprint-status)" + description: "[DS] Execute Dev Story workflow (full BMM path with sprint-status)" - - trigger: code-review + - trigger: CR or code-review or fuzzy match on code review workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml" - description: "Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)" + description: "[CR] Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)" + + - trigger: QD or quick-dev or fuzzy match on quick dev + workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/quick-dev/workflow.yaml" + description: "[QD] Flexible development - execute tech-specs OR direct instructions (optional)" + + - trigger: PS or party-mode or fuzzy match on party mode + exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/pm.agent.yaml b/src/modules/bmm/agents/pm.agent.yaml index 3cbcbae4..9dcf66e8 100644 --- a/src/modules/bmm/agents/pm.agent.yaml +++ b/src/modules/bmm/agents/pm.agent.yaml @@ -19,32 +19,31 @@ agent: - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md` menu: - - trigger: workflow-status + - trigger: WS or workflow-status or fuzzy match on workflow status workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: Get workflow status or initialize a workflow if not already done (optional) + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - trigger: create-prd + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Product Manager" + + - trigger: PR or prd or fuzzy match on prd exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md" - description: Create Product Requirements Document (PRD) (Required for BMad Method flow) + description: "[PR] Create Product Requirements Document (PRD) (Required for BMad Method flow)" - - trigger: create-epics-and-stories + - trigger: ES or epics-stories or fuzzy match on epics and stories exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md" - description: Create Epics and User Stories from PRD (Required for BMad Method flow AFTER the Architecture is completed) + description: "[ES] Create Epics and User Stories from PRD (Required for BMad Method flow AFTER the Architecture is completed)" - - trigger: implementation-readiness + - trigger: IR or implementation-readiness or fuzzy match on implementation readiness exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md" - description: Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development) + description: "[IR] Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development)" - - trigger: correct-course + - trigger: CC or correct-course or fuzzy match on correct course workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - description: Course Correction Analysis (optional during implementation when things go off track) + description: "[CC] Course Correction Analysis (optional during implementation when things go off track)" ide-only: true - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml b/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml index a04d6b33..23a6a813 100644 --- a/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +++ b/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml @@ -18,14 +18,10 @@ agent: - If `**/project-context.md` exists, follow it. If absent, proceed without. menu: - - trigger: create-tech-spec + - trigger: TS or tech-spec or fuzzy match on tech spec workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml" - description: Architect a technical spec with implementation-ready stories (Required first step) + description: "[TS] Architect a technical spec with implementation-ready stories (Required first step)" - - trigger: quick-dev + - trigger: QD or quick-dev or fuzzy match on quick dev workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml" - description: Implement the tech spec end-to-end solo (Core of Quick Flow) - - - trigger: party-mode - exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring in other experts when I need specialized backup + description: "[QD] Implement the tech spec end-to-end solo (Core of Quick Flow)" diff --git a/src/modules/bmm/agents/sm.agent.yaml b/src/modules/bmm/agents/sm.agent.yaml index 64262df4..f4b7e2d2 100644 --- a/src/modules/bmm/agents/sm.agent.yaml +++ b/src/modules/bmm/agents/sm.agent.yaml @@ -24,35 +24,31 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: sprint-planning + - trigger: WS or workflow-status or fuzzy match on workflow status + workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Scrum Master" + + - trigger: SP or sprint-planning or fuzzy match on sprint planning workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml" - description: Generate or re-generate sprint-status.yaml from epic files (Required after Epics+Stories are created) + description: "[SP] Generate or re-generate sprint-status.yaml from epic files (Required after Epics+Stories are created)" - - trigger: create-story + - trigger: CS or create-story or fuzzy match on create story workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml" - description: Create Story (Required to prepare stories for development) + description: "[CS] Create Story (Required to prepare stories for development)" - # TODO: validate-create-story is not yet implemented - # The validate-workflow: handler type is not recognized by the workflow engine - # See: https://github.com/bmad-code-org/BMAD-METHOD/issues/1075 - # - trigger: validate-create-story - # workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story/validate-workflow.yaml" - # description: Validate Story (Highly Recommended, use fresh context and different LLM for best results) - - - trigger: epic-retrospective + - trigger: ER or epic-retrospective or fuzzy match on epic retrospective workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml" data: "{project-root}/_bmad/_config/agent-manifest.csv" - description: Facilitate team retrospective after an epic is completed (Optional) + description: "[ER] Facilitate team retrospective after an epic is completed (Optional)" - - trigger: correct-course + - trigger: CC or correct-course or fuzzy match on correct course workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - description: Execute correct-course task (When implementation is off-track) + description: "[CC] Execute correct-course task (When implementation is off-track)" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/tea.agent.yaml b/src/modules/bmm/agents/tea.agent.yaml index e5b3d7ce..9e0c12cc 100644 --- a/src/modules/bmm/agents/tea.agent.yaml +++ b/src/modules/bmm/agents/tea.agent.yaml @@ -28,43 +28,46 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: framework + - trigger: WS or workflow-status or fuzzy match on workflow status + workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Master Test Architect" + + - trigger: TF or test-framework or fuzzy match on test framework workflow: "{project-root}/_bmad/bmm/workflows/testarch/framework/workflow.yaml" - description: Initialize production-ready test framework architecture + description: "[TF] Initialize production-ready test framework architecture" - - trigger: atdd + - trigger: AT or atdd or fuzzy match on atdd workflow: "{project-root}/_bmad/bmm/workflows/testarch/atdd/workflow.yaml" - description: Generate E2E tests first, before starting implementation + description: "[AT] Generate E2E tests first, before starting implementation" - - trigger: automate + - trigger: TA or test-automate or fuzzy match on test automate workflow: "{project-root}/_bmad/bmm/workflows/testarch/automate/workflow.yaml" - description: Generate comprehensive test automation + description: "[TA] Generate comprehensive test automation" - - trigger: test-design + - trigger: TD or test-design or fuzzy match on test design workflow: "{project-root}/_bmad/bmm/workflows/testarch/test-design/workflow.yaml" - description: Create comprehensive test scenarios + description: "[TD] Create comprehensive test scenarios" - - trigger: trace + - trigger: TR or test-trace or fuzzy match on test trace workflow: "{project-root}/_bmad/bmm/workflows/testarch/trace/workflow.yaml" - description: Map requirements to tests (Phase 1) and make quality gate decision (Phase 2) + description: "[TR] Map requirements to tests (Phase 1) and make quality gate decision (Phase 2)" - - trigger: nfr-assess + - trigger: NR or nfr-assess or fuzzy match on nfr assess workflow: "{project-root}/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml" - description: Validate non-functional requirements + description: "[NR] Validate non-functional requirements" - - trigger: ci + - trigger: CI or ci or fuzzy match on ci workflow: "{project-root}/_bmad/bmm/workflows/testarch/ci/workflow.yaml" - description: Scaffold CI/CD quality pipeline + description: "[CI] Scaffold CI/CD quality pipeline" - - trigger: test-review + - trigger: RV or test-review or fuzzy match on test review workflow: "{project-root}/_bmad/bmm/workflows/testarch/test-review/workflow.yaml" - description: Review test quality using comprehensive knowledge base and best practices + description: "[RV] Review test quality using comprehensive knowledge base and best practices" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/tech-writer.agent.yaml b/src/modules/bmm/agents/tech-writer.agent.yaml index 48b68e83..650a3b3c 100644 --- a/src/modules/bmm/agents/tech-writer.agent.yaml +++ b/src/modules/bmm/agents/tech-writer.agent.yaml @@ -21,47 +21,42 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: document-project + - trigger: WS or workflow-status or fuzzy match on workflow status + workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Technical Writer" + + - trigger: DP or document-project or fuzzy match on document project workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml" - description: Comprehensive project documentation (brownfield analysis, architecture scanning) + description: "[DP] Comprehensive project documentation (brownfield analysis, architecture scanning)" - - trigger: generate-mermaid + - trigger: MG or mermaid-gen or fuzzy match on mermaid action: "Create a Mermaid diagram based on user description. Ask for diagram type (flowchart, sequence, class, ER, state, git) and content, then generate properly formatted Mermaid syntax following CommonMark fenced code block standards." - description: Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state) + description: "[MG] Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state)" - - trigger: create-excalidraw-flowchart + - trigger: EF or excalidraw-flowchart or fuzzy match on excalidraw flowchart workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml" - description: Create Excalidraw flowchart for processes and logic flows + description: "[EF] Create Excalidraw flowchart for processes and logic flows" - - trigger: create-excalidraw-diagram + - trigger: ED or excalidraw-diagram or fuzzy match on excalidraw diagram workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml" - description: Create Excalidraw system architecture or technical diagram + description: "[ED] Create Excalidraw system architecture or technical diagram" - - trigger: create-excalidraw-dataflow + - trigger: DF or dataflow or fuzzy match on dataflow workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml" - description: Create Excalidraw data flow diagram + description: "[DF] Create Excalidraw data flow diagram" - - trigger: validate-doc + - trigger: VD or validate-doc or fuzzy match on validate doc action: "Review the specified document against CommonMark standards, technical writing best practices, and style guide compliance. Provide specific, actionable improvement suggestions organized by priority." - description: Validate documentation against standards and best practices + description: "[VD] Validate documentation against standards and best practices" - - trigger: improve-readme - action: "Analyze the current README file and suggest improvements for clarity, completeness, and structure. Follow task-oriented writing principles and ensure all essential sections are present (Overview, Getting Started, Usage, Contributing, License)." - description: Review and improve README files - - - trigger: explain-concept + - trigger: EC or explain-concept or fuzzy match on explain concept action: "Create a clear technical explanation with examples and diagrams for a complex concept. Break it down into digestible sections using task-oriented approach. Include code examples and Mermaid diagrams where helpful." - description: Create clear technical explanations with examples + description: "[EC] Create clear technical explanations with examples" - - trigger: standards-guide - action: "Display the complete documentation standards from {project-root}/_bmad/bmm/data/documentation-standards.md in a clear, formatted way for the user." - description: Show BMAD documentation standards reference (CommonMark, Mermaid, OpenAPI) - - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/ux-designer.agent.yaml b/src/modules/bmm/agents/ux-designer.agent.yaml index 2bf7a844..94ce1b26 100644 --- a/src/modules/bmm/agents/ux-designer.agent.yaml +++ b/src/modules/bmm/agents/ux-designer.agent.yaml @@ -23,26 +23,22 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: create-ux-design + - trigger: WS or workflow-status or fuzzy match on workflow status + workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" + description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the UX Designer" + + - trigger: UX or ux-design or fuzzy match on ux design exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md" - description: Generate a UX Design and UI Plan from a PRD (Recommended before creating Architecture) + description: "[UX] Generate a UX Design and UI Plan from a PRD (Recommended before creating Architecture)" - # TODO: validate-design is not yet implemented - # The validate-workflow: handler type is not recognized by the workflow engine - # See: https://github.com/bmad-code-org/BMAD-METHOD/issues/1075 - # - trigger: validate-design - # workflow: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/validate-workflow.yaml" - # description: Validate UX Specification and Design Artifacts - - - trigger: create-excalidraw-wireframe + - trigger: XW or wireframe or fuzzy match on wireframe workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml" - description: Create website or app wireframe (Excalidraw) + description: "[XW] Create website or app wireframe (Excalidraw)" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Bring the whole team in to chat with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/docs/party-mode.md b/src/modules/bmm/docs/party-mode.md index 287e5022..3c70b392 100644 --- a/src/modules/bmm/docs/party-mode.md +++ b/src/modules/bmm/docs/party-mode.md @@ -171,7 +171,7 @@ Party mode can include **19+ agents** from all installed modules: **CIS (5 agents):** Brainstorming Coach, Creative Problem Solver, Design Thinking Coach, Innovation Strategist, Storyteller -**BMB (1 agent):** BMad Builder +**BMB (3 agents):** Agent, Workflow, and Module Expert Agents **Core (1 agent):** BMad Master (orchestrator) diff --git a/src/modules/cis/agents/brainstorming-coach.agent.yaml b/src/modules/cis/agents/brainstorming-coach.agent.yaml index fc2df635..ba630080 100644 --- a/src/modules/cis/agents/brainstorming-coach.agent.yaml +++ b/src/modules/cis/agents/brainstorming-coach.agent.yaml @@ -15,15 +15,14 @@ agent: principles: Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools. menu: - - trigger: brainstorm + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Elite Brainstorming Specialist" + + - trigger: BS or brainstorm or fuzzy match on brainstorm workflow: "{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml" - description: Guide me through Brainstorming any topic + description: "[BS] Guide me through Brainstorming any topic" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Consult with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Consult with other expert agents from the party" diff --git a/src/modules/cis/agents/creative-problem-solver.agent.yaml b/src/modules/cis/agents/creative-problem-solver.agent.yaml index 9e30b37f..5349efa3 100644 --- a/src/modules/cis/agents/creative-problem-solver.agent.yaml +++ b/src/modules/cis/agents/creative-problem-solver.agent.yaml @@ -15,15 +15,14 @@ agent: principles: Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer. menu: - - trigger: solve + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Master Problem Solver" + + - trigger: SL or solve or fuzzy match on problem solve workflow: "{project-root}/_bmad/cis/workflows/problem-solving/workflow.yaml" - description: Apply systematic problem-solving methodologies + description: "[SL] Apply systematic problem-solving methodologies" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Consult with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Consult with other expert agents from the party" diff --git a/src/modules/cis/agents/design-thinking-coach.agent.yaml b/src/modules/cis/agents/design-thinking-coach.agent.yaml index ac2c37b7..24970c12 100644 --- a/src/modules/cis/agents/design-thinking-coach.agent.yaml +++ b/src/modules/cis/agents/design-thinking-coach.agent.yaml @@ -15,15 +15,14 @@ agent: principles: Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them. menu: - - trigger: design + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Design Thinking Maestro" + + - trigger: DT or design-thinking or fuzzy match on design thinking workflow: "{project-root}/_bmad/cis/workflows/design-thinking/workflow.yaml" - description: Guide human-centered design process + description: "[DT] Guide human-centered design process" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Consult with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Consult with other expert agents from the party" diff --git a/src/modules/cis/agents/innovation-strategist.agent.yaml b/src/modules/cis/agents/innovation-strategist.agent.yaml index 7684ce3a..e401eaab 100644 --- a/src/modules/cis/agents/innovation-strategist.agent.yaml +++ b/src/modules/cis/agents/innovation-strategist.agent.yaml @@ -15,15 +15,14 @@ agent: principles: Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete. menu: - - trigger: innovate + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Disruptive Innovation Oracle" + + - trigger: IS or innovation-strategy or fuzzy match on innovation strategy workflow: "{project-root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml" - description: Identify disruption opportunities and business model innovation + description: "[IS] Identify disruption opportunities and business model innovation" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Consult with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Consult with other expert agents from the party" diff --git a/src/modules/cis/agents/presentation-master.agent.yaml b/src/modules/cis/agents/presentation-master.agent.yaml index 84e01bbd..6b4515a3 100644 --- a/src/modules/cis/agents/presentation-master.agent.yaml +++ b/src/modules/cis/agents/presentation-master.agent.yaml @@ -23,39 +23,38 @@ agent: - Story structure applies everywhere - hook, build tension, deliver payoff menu: - - trigger: slide-deck - workflow: "todo" - description: Create multi-slide presentation with professional layouts and visual hierarchy + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Visual Communication Expert" - - trigger: explainer + - trigger: SD or slide-deck or fuzzy match on slide deck workflow: "todo" - description: Design YouTube/video explainer layout with visual script and engagement hooks + description: "[SD] Create multi-slide presentation with professional layouts and visual hierarchy" - - trigger: pitch-deck + - trigger: EX or explainer or fuzzy match on explainer workflow: "todo" - description: Craft investor pitch presentation with data visualization and narrative arc + description: "[EX] Design YouTube/video explainer layout with visual script and engagement hooks" - - trigger: talk + - trigger: PD or pitch-deck or fuzzy match on pitch deck workflow: "todo" - description: Build conference or workshop presentation materials with speaker notes + description: "[PD] Craft investor pitch presentation with data visualization and narrative arc" - - trigger: infographic + - trigger: TK or talk or fuzzy match on talk workflow: "todo" - description: Design creative information visualization with visual storytelling + description: "[TK] Build conference or workshop presentation materials with speaker notes" - - trigger: visual-metaphor + - trigger: IN or infographic or fuzzy match on infographic workflow: "todo" - description: Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes) + description: "[IN] Design creative information visualization with visual storytelling" - - trigger: concept-visual + - trigger: VM or visual-metaphor or fuzzy match on visual metaphor workflow: "todo" - description: Generate single expressive image that explains ideas creatively and memorably + description: "[VM] Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes)" - - trigger: party-mode + - trigger: CV or concept-visual or fuzzy match on concept visual + workflow: "todo" + description: "[CV] Generate single expressive image that explains ideas creatively and memorably" + + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Consult with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Consult with other expert agents from the party" diff --git a/src/modules/cis/agents/storyteller/storyteller.agent.yaml b/src/modules/cis/agents/storyteller/storyteller.agent.yaml index 3a1daeb7..7b1dc2f5 100644 --- a/src/modules/cis/agents/storyteller/storyteller.agent.yaml +++ b/src/modules/cis/agents/storyteller/storyteller.agent.yaml @@ -20,15 +20,14 @@ agent: - "Load COMPLETE file {project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md and review the history of stories created for this user" menu: - - trigger: story + - trigger: CH or fuzzy match on chat + action: agent responds as expert based on its persona to converse + description: "[CH] Chat with the Master Storyteller" + + - trigger: ST or story or fuzzy match on story exec: "{project-root}/_bmad/cis/workflows/storytelling/workflow.yaml" - description: Craft compelling narrative using proven frameworks + description: "[ST] Craft compelling narrative using proven frameworks" - - trigger: party-mode + - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: Consult with other expert agents from the party - - - trigger: advanced-elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: Advanced elicitation techniques to challenge the LLM to get better results - web-only: true + description: "[PS] Consult with other expert agents from the party" diff --git a/src/utility/agent-components/activation-steps.txt b/src/utility/agent-components/activation-steps.txt index 860be6a7..8c58227d 100644 --- a/src/utility/agent-components/activation-steps.txt +++ b/src/utility/agent-components/activation-steps.txt @@ -7,7 +7,7 @@ Remember: user's name is {user_name} {AGENT_SPECIFIC_STEPS} - Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section - STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match - On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized" + Show greeting using {user_name} from config, communicate in {communication_language}, then display list of ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept 2 letter menu command or fuzzy match as specified in each menu items cmd property + On user input: find matching menu item → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized" When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions \ No newline at end of file diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml deleted file mode 100644 index 551371eb..00000000 --- a/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Test: CamelCase trigger -# Expected: FAIL -# Error code: custom -# Error path: agent.menu[0].trigger -# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) - -agent: - metadata: - id: camel-case-trigger - name: CamelCase Trigger - title: CamelCase - icon: ❌ - - persona: - role: Test agent - identity: Test identity - communication_style: Test style - principles: - - Test principle - - menu: - - trigger: listTasks - description: Invalid CamelCase trigger - action: list_tasks diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml deleted file mode 100644 index 856b6c84..00000000 --- a/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Test: Trigger with leading asterisk -# Expected: FAIL -# Error code: custom -# Error path: agent.menu[0].trigger -# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) - -agent: - metadata: - id: asterisk-trigger - name: Asterisk Trigger - title: Asterisk - icon: ❌ - - persona: - role: Test agent - identity: Test identity - communication_style: Test style - principles: - - Test principle - - menu: - - trigger: "*help" - description: Invalid trigger with asterisk - action: display_help diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml deleted file mode 100644 index 7cee63d1..00000000 --- a/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Test: Snake_case trigger -# Expected: FAIL -# Error code: custom -# Error path: agent.menu[0].trigger -# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) - -agent: - metadata: - id: snake-case-trigger - name: Snake Case Trigger - title: Snake Case - icon: ❌ - - persona: - role: Test agent - identity: Test identity - communication_style: Test style - principles: - - Test principle - - menu: - - trigger: list_tasks - description: Invalid snake_case trigger - action: list_tasks diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml deleted file mode 100644 index b665ed43..00000000 --- a/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Test: Trigger with spaces -# Expected: FAIL -# Error code: custom -# Error path: agent.menu[0].trigger -# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) - -agent: - metadata: - id: spaces-trigger - name: Spaces Trigger - title: Spaces - icon: ❌ - - persona: - role: Test agent - identity: Test identity - communication_style: Test style - principles: - - Test principle - - menu: - - trigger: list tasks - description: Invalid trigger with spaces - action: list_tasks diff --git a/test/test-installation-components.js b/test/test-installation-components.js index 464ca613..1f9c99dd 100644 --- a/test/test-installation-components.js +++ b/test/test-installation-components.js @@ -175,7 +175,7 @@ async function runTests() { assert(compiled.includes('testarch/knowledge'), 'TEA agent compilation includes knowledge base path'); - assert(compiled.includes('*test-design'), 'TEA agent menu includes test-design workflow'); + assert(compiled.includes('test-design'), 'TEA agent menu includes test-design workflow'); // Cleanup await fs.remove(tempOutput); diff --git a/tools/cli/lib/agent/compiler.js b/tools/cli/lib/agent/compiler.js index 90b75573..0d805451 100644 --- a/tools/cli/lib/agent/compiler.js +++ b/tools/cli/lib/agent/compiler.js @@ -128,7 +128,7 @@ function buildMenuXml(menuItems) { let xml = ' \n'; // Always inject menu display option first - xml += ` [M] Redisplay Menu Options\n`; + xml += ` [HM] Redisplay Help Menu Options\n`; // Add user-defined menu items if (menuItems && menuItems.length > 0) { @@ -138,15 +138,8 @@ function buildMenuXml(menuItems) { xml += ` ${escapeXml(item.multi)}\n`; xml += buildNestedHandlers(item.triggers); xml += ` \n`; - } - // Handle legacy format menu items - else if (item.trigger) { - // For legacy items, keep using cmd with * format + } else if (item.trigger) { let trigger = item.trigger || ''; - if (!trigger.startsWith('*')) { - trigger = '*' + trigger; - } - const attrs = [`cmd="${trigger}"`]; // Add handler attributes @@ -162,7 +155,7 @@ function buildMenuXml(menuItems) { } // Always inject dismiss last - xml += ` [D] Dismiss Agent\n`; + xml += ` [DA] Dismiss Agent\n`; xml += ' \n'; @@ -179,9 +172,6 @@ function buildNestedHandlers(triggers) { for (const triggerGroup of triggers) { for (const [triggerName, execArray] of Object.entries(triggerGroup)) { - // Build trigger with * prefix - let trigger = triggerName.startsWith('*') ? triggerName : '*' + triggerName; - // Extract the relevant execution data const execData = processExecArray(execArray); diff --git a/tools/cli/lib/yaml-xml-builder.js b/tools/cli/lib/yaml-xml-builder.js index b7e81871..8603be14 100644 --- a/tools/cli/lib/yaml-xml-builder.js +++ b/tools/cli/lib/yaml-xml-builder.js @@ -336,7 +336,7 @@ class YamlXmlBuilder { let xml = ' \n'; // Always inject menu display option first - xml += ` [M] Redisplay Menu Options\n`; + xml += ` [HM] Redisplay Help Menu Options\n`; // Add user-defined menu items with * prefix if (menuItems && menuItems.length > 0) { @@ -358,11 +358,7 @@ class YamlXmlBuilder { } // Handle legacy format menu items else if (item.trigger) { - // For legacy items, keep using cmd with * format let trigger = item.trigger || ''; - if (!trigger.startsWith('*')) { - trigger = '*' + trigger; - } const attrs = [`cmd="${trigger}"`]; @@ -388,7 +384,7 @@ class YamlXmlBuilder { } // Always inject dismiss last - xml += ` [D] Dismiss Agent\n`; + xml += ` [DA] Dismiss Agent\n`; xml += ' \n'; @@ -405,9 +401,6 @@ class YamlXmlBuilder { for (const triggerGroup of triggers) { for (const [triggerName, execArray] of Object.entries(triggerGroup)) { - // Build trigger with * prefix - let trigger = triggerName.startsWith('*') ? triggerName : '*' + triggerName; - // Extract the relevant execution data const execData = this.processExecArray(execArray); diff --git a/tools/schema/agent.js b/tools/schema/agent.js index cafff7c0..ddf4e02c 100644 --- a/tools/schema/agent.js +++ b/tools/schema/agent.js @@ -53,15 +53,6 @@ function agentSchema(options = {}) { if (item.trigger) { const triggerValue = item.trigger; - if (!TRIGGER_PATTERN.test(triggerValue)) { - ctx.addIssue({ - code: 'custom', - path: ['agent', 'menu', index, 'trigger'], - message: 'agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen)', - }); - return; - } - if (seenTriggers.has(triggerValue)) { ctx.addIssue({ code: 'custom', @@ -91,15 +82,6 @@ function agentSchema(options = {}) { } if (triggerName) { - if (!TRIGGER_PATTERN.test(triggerName)) { - ctx.addIssue({ - code: 'custom', - path: ['agent', 'menu', index, 'triggers', triggerIndex], - message: `agent.menu[].triggers[] must be kebab-case (lowercase words separated by hyphen) - got "${triggerName}"`, - }); - return; - } - if (seenTriggers.has(triggerName)) { ctx.addIssue({ code: 'custom', @@ -395,15 +377,6 @@ function buildMenuItemSchema() { }); } seenTriggers.add(triggerName); - - // Validate trigger name format - if (!TRIGGER_PATTERN.test(triggerName)) { - ctx.addIssue({ - code: 'custom', - path: ['agent', 'menu', 'triggers', index], - message: `Trigger name "${triggerName}" must be kebab-case (lowercase words separated by hyphen)`, - }); - } } } }); From 1e721f7fd0a514d2cff06a26e99e808130d633a9 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Mon, 22 Dec 2025 10:13:56 +0800 Subject: [PATCH 02/17] consolidate and remove some duplication --- .../toolsmith-sidecar/knowledge/installers.md | 3 +- .../bmb/docs/agents/agent-compilation.md | 2 +- src/modules/bmb/docs/agents/index.md | 2 +- .../docs/agents/simple-agent-architecture.md | 2 +- .../templates/simple-agent.template.md | 2 +- test/test-installation-components.js | 2 +- tools/cli/commands/build.js | 2 +- tools/cli/installers/lib/core/installer.js | 2 +- tools/cli/installers/lib/custom/handler.js | 4 +- tools/cli/installers/lib/ide/_base-ide.js | 2 +- tools/cli/installers/lib/modules/manager.js | 6 +- .../cli/lib/{ => agent}/activation-builder.js | 2 +- tools/cli/lib/{ => agent}/agent-analyzer.js | 0 tools/cli/lib/agent/compiler.js | 554 -------------- tools/cli/lib/agent/installer.js | 716 ------------------ tools/cli/lib/agent/template-engine.js | 31 + tools/cli/lib/{ => agent}/xml-handler.js | 2 +- tools/cli/lib/{ => agent}/yaml-xml-builder.js | 155 +++- 18 files changed, 196 insertions(+), 1293 deletions(-) rename tools/cli/lib/{ => agent}/activation-builder.js (99%) rename tools/cli/lib/{ => agent}/agent-analyzer.js (100%) delete mode 100644 tools/cli/lib/agent/compiler.js delete mode 100644 tools/cli/lib/agent/installer.js rename tools/cli/lib/{ => agent}/xml-handler.js (98%) rename tools/cli/lib/{ => agent}/yaml-xml-builder.js (77%) diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md b/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md index 71498d59..75c925f6 100644 --- a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +++ b/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md @@ -49,8 +49,7 @@ - @/tools/cli/lib/xml-handler.js - XML processing - @/tools/cli/lib/yaml-format.js - YAML formatting - @/tools/cli/lib/file-ops.js - File operations -- @/tools/cli/lib/agent/compiler.js - Agent YAML to XML compilation -- @/tools/cli/lib/agent/installer.js - Agent installation +- @/tools/cli/lib/agent/yaml-xml-builder.js - Agent YAML to XML compilation - @/tools/cli/lib/agent/template-engine.js - Template processing ## IDE Handler Registry (16 IDEs) diff --git a/src/modules/bmb/docs/agents/agent-compilation.md b/src/modules/bmb/docs/agents/agent-compilation.md index 32af63fd..b960bb5f 100644 --- a/src/modules/bmb/docs/agents/agent-compilation.md +++ b/src/modules/bmb/docs/agents/agent-compilation.md @@ -8,7 +8,7 @@ What the compiler auto-injects. **DO NOT duplicate these in your YAML.** agent.yaml → Handlebars processing → XML generation → frontmatter.md ``` -Source: `tools/cli/lib/agent/compiler.js` +Source: `tools/cli/lib/agent/yaml-xml-builder.js` ## File Naming Convention diff --git a/src/modules/bmb/docs/agents/index.md b/src/modules/bmb/docs/agents/index.md index a1dd92e3..ac476161 100644 --- a/src/modules/bmb/docs/agents/index.md +++ b/src/modules/bmb/docs/agents/index.md @@ -52,4 +52,4 @@ Agents are authored in YAML with Handlebars templating. The compiler auto-inject **Critical:** See [Agent Compilation](./agent-compilation.md) to avoid duplicating auto-injected content. -Source: `tools/cli/lib/agent/compiler.js` +Source: `tools/cli/lib/agent/yaml-xml-builder.js` diff --git a/src/modules/bmb/docs/agents/simple-agent-architecture.md b/src/modules/bmb/docs/agents/simple-agent-architecture.md index e68a3c56..d7f35f44 100644 --- a/src/modules/bmb/docs/agents/simple-agent-architecture.md +++ b/src/modules/bmb/docs/agents/simple-agent-architecture.md @@ -178,7 +178,7 @@ Content when false ## What Gets Injected at Compile Time -The `tools/cli/lib/agent/compiler.js` automatically adds: +The `tools/cli/lib/agent/yaml-xml-builder.js` automatically adds: 1. **YAML Frontmatter** diff --git a/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md b/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md index e68a3c56..d7f35f44 100644 --- a/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md +++ b/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md @@ -178,7 +178,7 @@ Content when false ## What Gets Injected at Compile Time -The `tools/cli/lib/agent/compiler.js` automatically adds: +The `tools/cli/lib/agent/yaml-xml-builder.js` automatically adds: 1. **YAML Frontmatter** diff --git a/test/test-installation-components.js b/test/test-installation-components.js index 1f9c99dd..41775e6b 100644 --- a/test/test-installation-components.js +++ b/test/test-installation-components.js @@ -13,7 +13,7 @@ const path = require('node:path'); const fs = require('fs-extra'); -const { YamlXmlBuilder } = require('../tools/cli/lib/yaml-xml-builder'); +const { YamlXmlBuilder } = require('../tools/cli/lib/agent/yaml-xml-builder'); const { ManifestGenerator } = require('../tools/cli/installers/lib/core/manifest-generator'); // ANSI colors diff --git a/tools/cli/commands/build.js b/tools/cli/commands/build.js index 467fcd65..50c12b83 100644 --- a/tools/cli/commands/build.js +++ b/tools/cli/commands/build.js @@ -1,7 +1,7 @@ const chalk = require('chalk'); const path = require('node:path'); const fs = require('fs-extra'); -const { YamlXmlBuilder } = require('../lib/yaml-xml-builder'); +const { YamlXmlBuilder } = require('../lib/agent/yaml-xml-builder'); const { getProjectRoot } = require('../lib/project-root'); const builder = new YamlXmlBuilder(); diff --git a/tools/cli/installers/lib/core/installer.js b/tools/cli/installers/lib/core/installer.js index 5b403972..8e6f5a4b 100644 --- a/tools/cli/installers/lib/core/installer.js +++ b/tools/cli/installers/lib/core/installer.js @@ -9,7 +9,7 @@ const { ModuleManager } = require('../modules/manager'); const { IdeManager } = require('../ide/manager'); const { FileOps } = require('../../../lib/file-ops'); const { Config } = require('../../../lib/config'); -const { XmlHandler } = require('../../../lib/xml-handler'); +const { XmlHandler } = require('../../../lib/agent/xml-handler'); const { DependencyResolver } = require('./dependency-resolver'); const { ConfigCollector } = require('./config-collector'); const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root'); diff --git a/tools/cli/installers/lib/custom/handler.js b/tools/cli/installers/lib/custom/handler.js index c8aa52ee..41d8f0ac 100644 --- a/tools/cli/installers/lib/custom/handler.js +++ b/tools/cli/installers/lib/custom/handler.js @@ -3,7 +3,7 @@ const fs = require('fs-extra'); const chalk = require('chalk'); const yaml = require('yaml'); const { FileOps } = require('../../../lib/file-ops'); -const { XmlHandler } = require('../../../lib/xml-handler'); +const { XmlHandler } = require('../../../lib/agent/xml-handler'); /** * Handler for custom content (custom.yaml) @@ -311,7 +311,7 @@ class CustomHandler { // Read and compile the YAML try { const yamlContent = await fs.readFile(agentFile, 'utf8'); - const { compileAgent } = require('../../../lib/agent/compiler'); + const { compileAgent } = require('../../../lib/agent/yaml-xml-builder'); // Create customize template if it doesn't exist if (!(await fs.pathExists(customizePath))) { diff --git a/tools/cli/installers/lib/ide/_base-ide.js b/tools/cli/installers/lib/ide/_base-ide.js index b53eb977..1aedceb7 100644 --- a/tools/cli/installers/lib/ide/_base-ide.js +++ b/tools/cli/installers/lib/ide/_base-ide.js @@ -1,7 +1,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); -const { XmlHandler } = require('../../../lib/xml-handler'); +const { XmlHandler } = require('../../../lib/agent/xml-handler'); const { getSourcePath } = require('../../../lib/project-root'); /** diff --git a/tools/cli/installers/lib/modules/manager.js b/tools/cli/installers/lib/modules/manager.js index 4844f243..c2acb34a 100644 --- a/tools/cli/installers/lib/modules/manager.js +++ b/tools/cli/installers/lib/modules/manager.js @@ -2,9 +2,9 @@ const path = require('node:path'); const fs = require('fs-extra'); const yaml = require('yaml'); const chalk = require('chalk'); -const { XmlHandler } = require('../../../lib/xml-handler'); +const { XmlHandler } = require('../../../lib/agent/xml-handler'); const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root'); -const { filterCustomizationData } = require('../../../lib/agent/compiler'); +const { filterCustomizationData } = require('../../../lib/agent/yaml-xml-builder'); /** * Manages the installation, updating, and removal of BMAD modules. @@ -757,7 +757,7 @@ class ModuleManager { // Read and compile the YAML try { const yamlContent = await fs.readFile(sourceYamlPath, 'utf8'); - const { compileAgent } = require('../../../lib/agent/compiler'); + const { compileAgent } = require('../../../lib/agent/yaml-xml-builder'); // Create customize template if it doesn't exist if (!(await fs.pathExists(customizePath))) { diff --git a/tools/cli/lib/activation-builder.js b/tools/cli/lib/agent/activation-builder.js similarity index 99% rename from tools/cli/lib/activation-builder.js rename to tools/cli/lib/agent/activation-builder.js index 9b91c2a9..e45447fb 100644 --- a/tools/cli/lib/activation-builder.js +++ b/tools/cli/lib/agent/activation-builder.js @@ -1,6 +1,6 @@ const fs = require('fs-extra'); const path = require('node:path'); -const { getSourcePath } = require('./project-root'); +const { getSourcePath } = require('../project-root'); /** * Builds activation blocks from fragments based on agent profile diff --git a/tools/cli/lib/agent-analyzer.js b/tools/cli/lib/agent/agent-analyzer.js similarity index 100% rename from tools/cli/lib/agent-analyzer.js rename to tools/cli/lib/agent/agent-analyzer.js diff --git a/tools/cli/lib/agent/compiler.js b/tools/cli/lib/agent/compiler.js deleted file mode 100644 index 0d805451..00000000 --- a/tools/cli/lib/agent/compiler.js +++ /dev/null @@ -1,554 +0,0 @@ -/** - * BMAD Agent Compiler - * Transforms agent YAML to compiled XML (.md) format - * Uses the existing BMAD builder infrastructure for proper formatting - */ - -const yaml = require('yaml'); -const fs = require('node:fs'); -const path = require('node:path'); -const { processAgentYaml, extractInstallConfig, stripInstallConfig, getDefaultValues } = require('./template-engine'); -const { escapeXml } = require('../../../lib/xml-utils'); -const { ActivationBuilder } = require('../activation-builder'); -const { AgentAnalyzer } = require('../agent-analyzer'); - -/** - * Build frontmatter for agent - * @param {Object} metadata - Agent metadata - * @param {string} agentName - Final agent name - * @returns {string} YAML frontmatter - */ -function buildFrontmatter(metadata, agentName) { - const nameFromFile = agentName.replaceAll('-', ' '); - const description = metadata.title || 'BMAD Agent'; - - return `--- -name: "${nameFromFile}" -description: "${description}" ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - -`; -} - -// buildSimpleActivation function removed - replaced by ActivationBuilder for proper fragment loading from src/utility/agent-components/ - -/** - * Build persona XML section - * @param {Object} persona - Persona object - * @returns {string} Persona XML - */ -function buildPersonaXml(persona) { - if (!persona) return ''; - - let xml = ' \n'; - - if (persona.role) { - const roleText = persona.role.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' '); - xml += ` ${escapeXml(roleText)}\n`; - } - - if (persona.identity) { - const identityText = persona.identity.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' '); - xml += ` ${escapeXml(identityText)}\n`; - } - - if (persona.communication_style) { - const styleText = persona.communication_style.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' '); - xml += ` ${escapeXml(styleText)}\n`; - } - - if (persona.principles) { - let principlesText; - if (Array.isArray(persona.principles)) { - principlesText = persona.principles.join(' '); - } else { - principlesText = persona.principles.trim().replaceAll(/\n+/g, ' '); - } - xml += ` ${escapeXml(principlesText)}\n`; - } - - xml += ' \n'; - - return xml; -} - -/** - * Build prompts XML section - * @param {Array} prompts - Prompts array - * @returns {string} Prompts XML - */ -function buildPromptsXml(prompts) { - if (!prompts || prompts.length === 0) return ''; - - let xml = ' \n'; - - for (const prompt of prompts) { - xml += ` \n`; - xml += ` \n`; - // Don't escape prompt content - it's meant to be read as-is - xml += `${prompt.content || ''}\n`; - xml += ` \n`; - xml += ` \n`; - } - - xml += ' \n'; - - return xml; -} - -/** - * Build memories XML section - * @param {Array} memories - Memories array - * @returns {string} Memories XML - */ -function buildMemoriesXml(memories) { - if (!memories || memories.length === 0) return ''; - - let xml = ' \n'; - - for (const memory of memories) { - xml += ` ${escapeXml(String(memory))}\n`; - } - - xml += ' \n'; - - return xml; -} - -/** - * Build menu XML section - * Supports both legacy and multi format menu items - * Multi items display as a single menu item with nested handlers - * @param {Array} menuItems - Menu items - * @returns {string} Menu XML - */ -function buildMenuXml(menuItems) { - let xml = ' \n'; - - // Always inject menu display option first - xml += ` [HM] Redisplay Help Menu Options\n`; - - // Add user-defined menu items - if (menuItems && menuItems.length > 0) { - for (const item of menuItems) { - // Handle multi format menu items with nested handlers - if (item.multi && item.triggers && Array.isArray(item.triggers)) { - xml += ` ${escapeXml(item.multi)}\n`; - xml += buildNestedHandlers(item.triggers); - xml += ` \n`; - } else if (item.trigger) { - let trigger = item.trigger || ''; - const attrs = [`cmd="${trigger}"`]; - - // Add handler attributes - if (item.workflow) attrs.push(`workflow="${item.workflow}"`); - if (item.exec) attrs.push(`exec="${item.exec}"`); - if (item.tmpl) attrs.push(`tmpl="${item.tmpl}"`); - if (item.data) attrs.push(`data="${item.data}"`); - if (item.action) attrs.push(`action="${item.action}"`); - - xml += ` ${escapeXml(item.description || '')}\n`; - } - } - } - - // Always inject dismiss last - xml += ` [DA] Dismiss Agent\n`; - - xml += ' \n'; - - return xml; -} - -/** - * Build nested handlers for multi format menu items - * @param {Array} triggers - Triggers array from multi format - * @returns {string} Handler XML - */ -function buildNestedHandlers(triggers) { - let xml = ''; - - for (const triggerGroup of triggers) { - for (const [triggerName, execArray] of Object.entries(triggerGroup)) { - // Extract the relevant execution data - const execData = processExecArray(execArray); - - // For nested handlers in multi items, we use match attribute for fuzzy matching - const attrs = [`match="${escapeXml(execData.description || '')}"`]; - - // Add handler attributes based on exec data - if (execData.route) attrs.push(`exec="${execData.route}"`); - if (execData.workflow) attrs.push(`workflow="${execData.workflow}"`); - if (execData['validate-workflow']) attrs.push(`validate-workflow="${execData['validate-workflow']}"`); - if (execData.action) attrs.push(`action="${execData.action}"`); - if (execData.data) attrs.push(`data="${execData.data}"`); - if (execData.tmpl) attrs.push(`tmpl="${execData.tmpl}"`); - // Only add type if it's not 'exec' (exec is already implied by the exec attribute) - if (execData.type && execData.type !== 'exec') attrs.push(`type="${execData.type}"`); - - xml += ` \n`; - } - } - - return xml; -} - -/** - * Process the execution array from multi format triggers - * Extracts relevant data for XML attributes - * @param {Array} execArray - Array of execution objects - * @returns {Object} Processed execution data - */ -function processExecArray(execArray) { - const result = { - description: '', - route: null, - workflow: null, - data: null, - action: null, - type: null, - }; - - if (!Array.isArray(execArray)) { - return result; - } - - for (const exec of execArray) { - if (exec.input) { - // Use input as description if no explicit description is provided - result.description = exec.input; - } - - if (exec.route) { - // Determine if it's a workflow or exec based on file extension or context - if (exec.route.endsWith('.yaml') || exec.route.endsWith('.yml')) { - result.workflow = exec.route; - } else { - result.route = exec.route; - } - } - - if (exec.data !== null && exec.data !== undefined) { - result.data = exec.data; - } - - if (exec.action) { - result.action = exec.action; - } - - if (exec.type) { - result.type = exec.type; - } - } - - return result; -} - -/** - * Compile agent YAML to proper XML format - * @param {Object} agentYaml - Parsed and processed agent YAML - * @param {string} agentName - Final agent name (for ID and frontmatter) - * @param {string} targetPath - Target path for agent ID - * @returns {Promise} Compiled XML string with frontmatter - */ -async function compileToXml(agentYaml, agentName = '', targetPath = '') { - const agent = agentYaml.agent; - const meta = agent.metadata; - - let xml = ''; - - // Build frontmatter - xml += buildFrontmatter(meta, agentName || meta.name || 'agent'); - - // Start code fence - xml += '```xml\n'; - - // Agent opening tag - const agentAttrs = [ - `id="${targetPath || meta.id || ''}"`, - `name="${meta.name || ''}"`, - `title="${meta.title || ''}"`, - `icon="${meta.icon || '🤖'}"`, - ]; - - xml += `\n`; - - // Activation block - use ActivationBuilder for proper fragment loading - const activationBuilder = new ActivationBuilder(); - const analyzer = new AgentAnalyzer(); - const profile = analyzer.analyzeAgentObject(agentYaml); - xml += await activationBuilder.buildActivation( - profile, - meta, - agent.critical_actions || [], - false, // forWebBundle - set to false for IDE deployment - ); - - // Persona section - xml += buildPersonaXml(agent.persona); - - // Prompts section (if present) - if (agent.prompts && agent.prompts.length > 0) { - xml += buildPromptsXml(agent.prompts); - } - - // Memories section (if present) - if (agent.memories && agent.memories.length > 0) { - xml += buildMemoriesXml(agent.memories); - } - - // Menu section - xml += buildMenuXml(agent.menu || []); - - // Closing agent tag - xml += '\n'; - - // Close code fence - xml += '```\n'; - - return xml; -} - -/** - * Full compilation pipeline - * @param {string} yamlContent - Raw YAML string - * @param {Object} answers - Answers from install_config questions (or defaults) - * @param {string} agentName - Optional final agent name (user's custom persona name) - * @param {string} targetPath - Optional target path for agent ID - * @param {Object} options - Additional options including config - * @returns {Promise} { xml: string, metadata: Object } - */ -async function compileAgent(yamlContent, answers = {}, agentName = '', targetPath = '', options = {}) { - // Parse YAML - let agentYaml = yaml.parse(yamlContent); - - // Apply customization merges before template processing - // Handle metadata overrides (like name) - if (answers.metadata) { - // Filter out empty values from metadata - const filteredMetadata = filterCustomizationData(answers.metadata); - if (Object.keys(filteredMetadata).length > 0) { - agentYaml.agent.metadata = { ...agentYaml.agent.metadata, ...filteredMetadata }; - } - // Remove from answers so it doesn't get processed as template variables - const { metadata, ...templateAnswers } = answers; - answers = templateAnswers; - } - - // Handle other customization properties - // These should be merged into the agent structure, not processed as template variables - const customizationKeys = ['persona', 'critical_actions', 'memories', 'menu', 'prompts']; - const customizations = {}; - const remainingAnswers = { ...answers }; - - for (const key of customizationKeys) { - if (answers[key]) { - let filtered; - - // Handle different data types - if (Array.isArray(answers[key])) { - // For arrays, filter out empty/null/undefined values - filtered = answers[key].filter((item) => item !== null && item !== undefined && item !== ''); - } else { - // For objects, use filterCustomizationData - filtered = filterCustomizationData(answers[key]); - } - - // Check if we have valid content - const hasContent = Array.isArray(filtered) ? filtered.length > 0 : Object.keys(filtered).length > 0; - - if (hasContent) { - customizations[key] = filtered; - } - delete remainingAnswers[key]; - } - } - - // Merge customizations into agentYaml - if (Object.keys(customizations).length > 0) { - // For persona: replace entire section - if (customizations.persona) { - agentYaml.agent.persona = customizations.persona; - } - - // For critical_actions: append to existing or create new - if (customizations.critical_actions) { - const existing = agentYaml.agent.critical_actions || []; - agentYaml.agent.critical_actions = [...existing, ...customizations.critical_actions]; - } - - // For memories: append to existing or create new - if (customizations.memories) { - const existing = agentYaml.agent.memories || []; - agentYaml.agent.memories = [...existing, ...customizations.memories]; - } - - // For menu: append to existing or create new - if (customizations.menu) { - const existing = agentYaml.agent.menu || []; - agentYaml.agent.menu = [...existing, ...customizations.menu]; - } - - // For prompts: append to existing or create new (by id) - if (customizations.prompts) { - const existing = agentYaml.agent.prompts || []; - // Merge by id, with customizations taking precedence - const mergedPrompts = [...existing]; - for (const customPrompt of customizations.prompts) { - const existingIndex = mergedPrompts.findIndex((p) => p.id === customPrompt.id); - if (existingIndex === -1) { - mergedPrompts.push(customPrompt); - } else { - mergedPrompts[existingIndex] = customPrompt; - } - } - agentYaml.agent.prompts = mergedPrompts; - } - } - - // Use remaining answers for template processing - answers = remainingAnswers; - - // Extract install_config - const installConfig = extractInstallConfig(agentYaml); - - // Merge defaults with provided answers - let finalAnswers = answers; - if (installConfig) { - const defaults = getDefaultValues(installConfig); - finalAnswers = { ...defaults, ...answers }; - } - - // Process templates with answers - const processedYaml = processAgentYaml(agentYaml, finalAnswers); - - // Strip install_config from output - const cleanYaml = stripInstallConfig(processedYaml); - - let xml = await compileToXml(cleanYaml, agentName, targetPath); - - // Ensure xml is a string before attempting replaceAll - if (typeof xml !== 'string') { - throw new TypeError('compileToXml did not return a string'); - } - - return { - xml, - metadata: cleanYaml.agent.metadata, - processedYaml: cleanYaml, - }; -} - -/** - * Filter customization data to remove empty/null values - * @param {Object} data - Raw customization data - * @returns {Object} Filtered customization data - */ -function filterCustomizationData(data) { - const filtered = {}; - - for (const [key, value] of Object.entries(data)) { - if (value === null || value === undefined || value === '') { - continue; // Skip null/undefined/empty values - } - - if (Array.isArray(value)) { - if (value.length > 0) { - filtered[key] = value; - } - } else if (typeof value === 'object') { - const nested = filterCustomizationData(value); - if (Object.keys(nested).length > 0) { - filtered[key] = nested; - } - } else { - filtered[key] = value; - } - } - - return filtered; -} - -/** - * Process TTS injection markers in content - * @param {string} content - Content to process - * @param {boolean} enableAgentVibes - Whether AgentVibes is enabled - * @returns {Object} { content: string, hadInjection: boolean } - */ -function processTTSInjectionPoints(content, enableAgentVibes) { - const hasAgentTTS = content.includes(''); - - if (enableAgentVibes && hasAgentTTS) { - // Replace agent-tts injection marker with TTS rule - content = content.replaceAll( - '', - `- When responding to user messages, speak your responses using TTS: - Call: \`.claude/hooks/bmad-speak.sh '{agent-id}' '{response-text}'\` after each response - Replace {agent-id} with YOUR agent ID from tag at top of this file - Replace {response-text} with the text you just output to the user - IMPORTANT: Use single quotes as shown - do NOT escape special characters like ! or $ inside single quotes - Run in background (&) to avoid blocking`, - ); - return { content, hadInjection: true }; - } else if (!enableAgentVibes && hasAgentTTS) { - // Strip injection markers when disabled - content = content.replaceAll(/\n?/g, ''); - } - - return { content, hadInjection: false }; -} - -/** - * Compile agent file to .md - * @param {string} yamlPath - Path to agent YAML file - * @param {Object} options - { answers: {}, outputPath: string, enableAgentVibes: boolean } - * @returns {Object} Compilation result - */ -function compileAgentFile(yamlPath, options = {}) { - const yamlContent = fs.readFileSync(yamlPath, 'utf8'); - const result = compileAgent(yamlContent, options.answers || {}); - - // Determine output path - let outputPath = options.outputPath; - if (!outputPath) { - // Default: same directory, same name, .md extension - const dir = path.dirname(yamlPath); - const basename = path.basename(yamlPath, '.agent.yaml'); - outputPath = path.join(dir, `${basename}.md`); - } - - // Process TTS injection points if enableAgentVibes option is provided - let xml = result.xml; - let ttsInjected = false; - if (options.enableAgentVibes !== undefined) { - const ttsResult = processTTSInjectionPoints(xml, options.enableAgentVibes); - xml = ttsResult.content; - ttsInjected = ttsResult.hadInjection; - } - - // Write compiled XML - fs.writeFileSync(outputPath, xml, 'utf8'); - - return { - ...result, - xml, - outputPath, - sourcePath: yamlPath, - ttsInjected, - }; -} - -module.exports = { - compileToXml, - compileAgent, - compileAgentFile, - escapeXml, - buildFrontmatter, - buildPersonaXml, - buildPromptsXml, - buildMemoriesXml, - buildMenuXml, - filterCustomizationData, -}; diff --git a/tools/cli/lib/agent/installer.js b/tools/cli/lib/agent/installer.js deleted file mode 100644 index b55502ed..00000000 --- a/tools/cli/lib/agent/installer.js +++ /dev/null @@ -1,716 +0,0 @@ -/** - * BMAD Agent Installer - * Discovers, prompts, compiles, and installs agents - */ - -const fs = require('node:fs'); -const path = require('node:path'); -const yaml = require('yaml'); -const readline = require('node:readline'); -const { compileAgent, compileAgentFile } = require('./compiler'); -const { extractInstallConfig, getDefaultValues } = require('./template-engine'); - -/** - * Find BMAD config file in project - * @param {string} startPath - Starting directory to search from - * @returns {Object|null} Config data or null - */ -function findBmadConfig(startPath = process.cwd()) { - // Look for common BMAD folder names - const possibleNames = ['_bmad']; - - for (const name of possibleNames) { - const configPath = path.join(startPath, name, 'bmb', 'config.yaml'); - if (fs.existsSync(configPath)) { - const content = fs.readFileSync(configPath, 'utf8'); - const config = yaml.parse(content); - return { - ...config, - bmadFolder: path.join(startPath, name), - projectRoot: startPath, - }; - } - } - - return null; -} - -/** - * Resolve path variables like {project-root} and {bmad-folder} - * @param {string} pathStr - Path with variables - * @param {Object} context - Contains projectRoot, bmadFolder - * @returns {string} Resolved path - */ -function resolvePath(pathStr, context) { - return pathStr.replaceAll('{project-root}', context.projectRoot).replaceAll('{bmad-folder}', context_bmadFolder); -} - -/** - * Discover available agents in the custom agent location recursively - * @param {string} searchPath - Path to search for agents - * @returns {Array} List of agent info objects - */ -function discoverAgents(searchPath) { - if (!fs.existsSync(searchPath)) { - return []; - } - - const agents = []; - - // Helper function to recursively search - function searchDirectory(dir, relativePath = '') { - const entries = fs.readdirSync(dir, { withFileTypes: true }); - - for (const entry of entries) { - const fullPath = path.join(dir, entry.name); - const agentRelativePath = relativePath ? path.join(relativePath, entry.name) : entry.name; - - if (entry.isFile() && entry.name.endsWith('.agent.yaml')) { - // Simple agent (single file) - // The agent name is based on the filename - const agentName = entry.name.replace('.agent.yaml', ''); - agents.push({ - type: 'simple', - name: agentName, - path: fullPath, - yamlFile: fullPath, - relativePath: agentRelativePath.replace('.agent.yaml', ''), - }); - } else if (entry.isDirectory()) { - // Check if this directory contains an .agent.yaml file - try { - const dirContents = fs.readdirSync(fullPath); - const yamlFiles = dirContents.filter((f) => f.endsWith('.agent.yaml')); - - if (yamlFiles.length > 0) { - // Found .agent.yaml files in this directory - for (const yamlFile of yamlFiles) { - const agentYamlPath = path.join(fullPath, yamlFile); - const agentName = path.basename(yamlFile, '.agent.yaml'); - - agents.push({ - type: 'expert', - name: agentName, - path: fullPath, - yamlFile: agentYamlPath, - relativePath: agentRelativePath, - }); - } - } else { - // No .agent.yaml in this directory, recurse deeper - searchDirectory(fullPath, agentRelativePath); - } - } catch { - // Skip directories we can't read - } - } - } - } - - searchDirectory(searchPath); - return agents; -} - -/** - * Load agent YAML and extract install_config - * @param {string} yamlPath - Path to agent YAML file - * @returns {Object} Agent YAML and install config - */ -function loadAgentConfig(yamlPath) { - const content = fs.readFileSync(yamlPath, 'utf8'); - const agentYaml = yaml.parse(content); - const installConfig = extractInstallConfig(agentYaml); - const defaults = installConfig ? getDefaultValues(installConfig) : {}; - - // Check for saved_answers (from previously installed custom agents) - // These take precedence over defaults - const savedAnswers = agentYaml?.saved_answers || {}; - - const metadata = agentYaml?.agent?.metadata || {}; - - return { - yamlContent: content, - agentYaml, - installConfig, - defaults: { ...defaults, ...savedAnswers }, // saved_answers override defaults - metadata, - hasSidecar: metadata.hasSidecar === true, - }; -} - -/** - * Interactive prompt for install_config questions - * @param {Object} installConfig - Install configuration with questions - * @param {Object} defaults - Default values - * @returns {Promise} User answers - */ -async function promptInstallQuestions(installConfig, defaults, presetAnswers = {}) { - if (!installConfig || !installConfig.questions || installConfig.questions.length === 0) { - return { ...defaults, ...presetAnswers }; - } - - const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, - }); - - const question = (prompt) => - new Promise((resolve) => { - rl.question(prompt, resolve); - }); - - const answers = { ...defaults, ...presetAnswers }; - - console.log('\n📝 Agent Configuration\n'); - if (installConfig.description) { - console.log(` ${installConfig.description}\n`); - } - - for (const q of installConfig.questions) { - // Skip questions for variables that are already set (e.g., custom_name set upfront) - if (answers[q.var] !== undefined && answers[q.var] !== defaults[q.var]) { - console.log(chalk.dim(` ${q.var}: ${answers[q.var]} (already set)`)); - continue; - } - - let response; - - switch (q.type) { - case 'text': { - const defaultHint = q.default ? ` (default: ${q.default})` : ''; - response = await question(` ${q.prompt}${defaultHint}: `); - answers[q.var] = response || q.default || ''; - - break; - } - case 'boolean': { - const defaultHint = q.default ? ' [Y/n]' : ' [y/N]'; - response = await question(` ${q.prompt}${defaultHint}: `); - if (response === '') { - answers[q.var] = q.default; - } else { - answers[q.var] = response.toLowerCase().startsWith('y'); - } - - break; - } - case 'choice': { - console.log(` ${q.prompt}`); - for (const [idx, opt] of q.options.entries()) { - const marker = opt.value === q.default ? '* ' : ' '; - console.log(` ${marker}${idx + 1}. ${opt.label}`); - } - const defaultIdx = q.options.findIndex((o) => o.value === q.default) + 1; - let validChoice = false; - let choiceIdx; - while (!validChoice) { - response = await question(` Choice (default: ${defaultIdx}): `); - if (response) { - choiceIdx = parseInt(response, 10) - 1; - if (isNaN(choiceIdx) || choiceIdx < 0 || choiceIdx >= q.options.length) { - console.log(` Invalid choice. Please enter 1-${q.options.length}`); - } else { - validChoice = true; - } - } else { - choiceIdx = defaultIdx - 1; - validChoice = true; - } - } - answers[q.var] = q.options[choiceIdx].value; - - break; - } - // No default - } - } - - rl.close(); - return answers; -} - -/** - * Install a compiled agent to target location - * @param {Object} agentInfo - Agent discovery info - * @param {Object} answers - User answers for install_config - * @param {string} targetPath - Target installation directory - * @param {Object} options - Additional options including config - * @returns {Object} Installation result - */ -function installAgent(agentInfo, answers, targetPath, options = {}) { - // Compile the agent - const { xml, metadata, processedYaml } = compileAgent(fs.readFileSync(agentInfo.yamlFile, 'utf8'), answers); - - // Determine target agent folder name - // Use the folder name from agentInfo, NOT the persona name from metadata - const agentFolderName = agentInfo.name; - - const agentTargetDir = path.join(targetPath, agentFolderName); - - // Create target directory - if (!fs.existsSync(agentTargetDir)) { - fs.mkdirSync(agentTargetDir, { recursive: true }); - } - - // Write compiled XML (.md) - const compiledFileName = `${agentFolderName}.md`; - const compiledPath = path.join(agentTargetDir, compiledFileName); - fs.writeFileSync(compiledPath, xml, 'utf8'); - - const result = { - success: true, - agentName: metadata.name || agentInfo.name, - targetDir: agentTargetDir, - compiledFile: compiledPath, - }; - - return result; -} - -/** - * Update agent metadata ID to reflect installed location - * @param {string} compiledContent - Compiled XML content - * @param {string} targetPath - Target installation path relative to project - * @returns {string} Updated content - */ -function updateAgentId(compiledContent, targetPath) { - // Update the id attribute in the opening agent tag - return compiledContent.replace(/( { - const value = agentData[col] || ''; - return escapeCsvField(value); - }); - - // Replace the line - lines[lineNumber] = row.join(','); - - fs.writeFileSync(manifestFile, lines.join('\n') + '\n', 'utf8'); - return true; -} - -/** - * Add agent to manifest CSV - * @param {string} manifestFile - Path to agent-manifest.csv - * @param {Object} agentData - Agent metadata and path info - * @returns {boolean} Success - */ -function addToManifest(manifestFile, agentData) { - const content = fs.readFileSync(manifestFile, 'utf8'); - const lines = content.trim().split('\n'); - - // Parse header to understand column order - const header = lines[0]; - const columns = header.split(','); - - // Build the new row based on header columns - const row = columns.map((col) => { - const value = agentData[col] || ''; - return escapeCsvField(value); - }); - - // Append new row - const newLine = row.join(','); - const updatedContent = content.trim() + '\n' + newLine + '\n'; - - fs.writeFileSync(manifestFile, updatedContent, 'utf8'); - return true; -} - -/** - * Save agent source YAML to _config/custom/agents/ for reinstallation - * Stores user answers in a top-level saved_answers section (cleaner than overwriting defaults) - * @param {Object} agentInfo - Agent info (path, type, etc.) - * @param {string} cfgFolder - Path to _config folder - * @param {string} agentName - Final agent name (e.g., "fred-commit-poet") - * @param {Object} answers - User answers to save for reinstallation - * @returns {Object} Info about saved source - */ -function saveAgentSource(agentInfo, cfgFolder, agentName, answers = {}) { - // Save to _config/custom/agents/ instead of _config/agents/ - const customAgentsCfgDir = path.join(cfgFolder, 'custom', 'agents'); - - if (!fs.existsSync(customAgentsCfgDir)) { - fs.mkdirSync(customAgentsCfgDir, { recursive: true }); - } - - const yamlLib = require('yaml'); - - /** - * Add saved_answers section to store user's actual answers - */ - function addSavedAnswers(agentYaml, answers) { - // Store answers in a clear, separate section - agentYaml.saved_answers = answers; - return agentYaml; - } - - if (agentInfo.type === 'simple') { - // Simple agent: copy YAML with saved_answers section - const targetYaml = path.join(customAgentsCfgDir, `${agentName}.agent.yaml`); - const originalContent = fs.readFileSync(agentInfo.yamlFile, 'utf8'); - const agentYaml = yamlLib.parse(originalContent); - - // Add saved_answers section with user's choices - addSavedAnswers(agentYaml, answers); - - fs.writeFileSync(targetYaml, yamlLib.stringify(agentYaml), 'utf8'); - return { type: 'simple', path: targetYaml }; - } else { - // Expert agent with sidecar: copy entire folder with saved_answers - const targetFolder = path.join(customAgentsCfgDir, agentName); - if (!fs.existsSync(targetFolder)) { - fs.mkdirSync(targetFolder, { recursive: true }); - } - - // Copy YAML and entire sidecar structure - const sourceDir = agentInfo.path; - const copied = []; - - function copyDir(src, dest) { - if (!fs.existsSync(dest)) { - fs.mkdirSync(dest, { recursive: true }); - } - - const entries = fs.readdirSync(src, { withFileTypes: true }); - for (const entry of entries) { - const srcPath = path.join(src, entry.name); - const destPath = path.join(dest, entry.name); - - if (entry.isDirectory()) { - copyDir(srcPath, destPath); - } else if (entry.name.endsWith('.agent.yaml')) { - // For the agent YAML, add saved_answers section - const originalContent = fs.readFileSync(srcPath, 'utf8'); - const agentYaml = yamlLib.parse(originalContent); - addSavedAnswers(agentYaml, answers); - // Rename YAML to match final agent name - const newYamlPath = path.join(dest, `${agentName}.agent.yaml`); - fs.writeFileSync(newYamlPath, yamlLib.stringify(agentYaml), 'utf8'); - copied.push(newYamlPath); - } else { - fs.copyFileSync(srcPath, destPath); - copied.push(destPath); - } - } - } - - copyDir(sourceDir, targetFolder); - return { type: 'expert', path: targetFolder, files: copied }; - } -} - -/** - * Create IDE slash command wrapper for agent - * Leverages IdeManager to dispatch to IDE-specific handlers - * @param {string} projectRoot - Project root path - * @param {string} agentName - Agent name (e.g., "commit-poet") - * @param {string} agentPath - Path to compiled agent (relative to project root) - * @param {Object} metadata - Agent metadata - * @returns {Promise} Info about created slash commands - */ -async function createIdeSlashCommands(projectRoot, agentName, agentPath, metadata) { - // Read manifest.yaml to get installed IDEs - const manifestPath = path.join(projectRoot, '_bmad', '_config', 'manifest.yaml'); - let installedIdes = ['claude-code']; // Default to Claude Code if no manifest - - if (fs.existsSync(manifestPath)) { - const yamlLib = require('yaml'); - const manifestContent = fs.readFileSync(manifestPath, 'utf8'); - const manifest = yamlLib.parse(manifestContent); - if (manifest.ides && Array.isArray(manifest.ides)) { - installedIdes = manifest.ides; - } - } - - // Use IdeManager to install custom agent launchers for all configured IDEs - const { IdeManager } = require('../../installers/lib/ide/manager'); - const ideManager = new IdeManager(); - - const results = await ideManager.installCustomAgentLaunchers(installedIdes, projectRoot, agentName, agentPath, metadata); - - return results; -} - -/** - * Update manifest.yaml to track custom agent - * @param {string} manifestPath - Path to manifest.yaml - * @param {string} agentName - Agent name - * @param {string} agentType - Agent type (source name) - * @returns {boolean} Success - */ -function updateManifestYaml(manifestPath, agentName, agentType) { - if (!fs.existsSync(manifestPath)) { - return false; - } - - const yamlLib = require('yaml'); - const content = fs.readFileSync(manifestPath, 'utf8'); - const manifest = yamlLib.parse(content); - - // Initialize custom_agents array if not exists - if (!manifest.custom_agents) { - manifest.custom_agents = []; - } - - // Check if this agent is already registered - const existingIndex = manifest.custom_agents.findIndex((a) => a.name === agentName || (typeof a === 'string' && a === agentName)); - - const agentEntry = { - name: agentName, - type: agentType, - installed: new Date().toISOString(), - }; - - if (existingIndex === -1) { - // Add new entry - manifest.custom_agents.push(agentEntry); - } else { - // Update existing entry - manifest.custom_agents[existingIndex] = agentEntry; - } - - // Update lastUpdated timestamp - if (manifest.installation) { - manifest.installation.lastUpdated = new Date().toISOString(); - } - - // Write back - const newContent = yamlLib.stringify(manifest); - fs.writeFileSync(manifestPath, newContent, 'utf8'); - - return true; -} - -/** - * Extract manifest data from compiled agent XML - * @param {string} xmlContent - Compiled agent XML - * @param {Object} metadata - Agent metadata from YAML - * @param {string} agentPath - Relative path to agent file - * @param {string} moduleName - Module name (default: 'custom') - * @returns {Object} Manifest row data - */ -function extractManifestData(xmlContent, metadata, agentPath, moduleName = 'custom') { - // Extract data from XML using regex (simple parsing) - const extractTag = (tag) => { - const match = xmlContent.match(new RegExp(`<${tag}>([\\s\\S]*?)`)); - if (!match) return ''; - // Collapse multiple lines into single line, normalize whitespace - return match[1].trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' ').trim(); - }; - - // Extract attributes from agent tag - const extractAgentAttribute = (attr) => { - const match = xmlContent.match(new RegExp(`]*\\s${attr}=["']([^"']+)["']`)); - return match ? match[1] : ''; - }; - - const extractPrinciples = () => { - const match = xmlContent.match(/([\s\S]*?)<\/principles>/); - if (!match) return ''; - // Extract individual principle lines - const principles = match[1] - .split('\n') - .map((l) => l.trim()) - .filter((l) => l.length > 0) - .join(' '); - return principles; - }; - - // Prioritize XML extraction over metadata for agent persona info - const xmlTitle = extractAgentAttribute('title') || extractTag('name'); - const xmlIcon = extractAgentAttribute('icon'); - - return { - name: metadata.id ? path.basename(metadata.id, '.md') : metadata.name.toLowerCase().replaceAll(/\s+/g, '-'), - displayName: xmlTitle || metadata.name || '', - title: xmlTitle || metadata.title || '', - icon: xmlIcon || metadata.icon || '', - role: extractTag('role'), - identity: extractTag('identity'), - communicationStyle: extractTag('communication_style'), - principles: extractPrinciples(), - module: moduleName, - path: agentPath, - }; -} - -module.exports = { - findBmadConfig, - resolvePath, - discoverAgents, - loadAgentConfig, - promptInstallQuestions, - installAgent, - updateAgentId, - detectBmadProject, - addToManifest, - extractManifestData, - escapeCsvField, - checkManifestForAgent, - checkManifestForPath, - updateManifestEntry, - saveAgentSource, - createIdeSlashCommands, - updateManifestYaml, -}; diff --git a/tools/cli/lib/agent/template-engine.js b/tools/cli/lib/agent/template-engine.js index 01281fb1..b093e2e9 100644 --- a/tools/cli/lib/agent/template-engine.js +++ b/tools/cli/lib/agent/template-engine.js @@ -140,6 +140,36 @@ function getDefaultValues(installConfig) { return defaults; } +/** + * Filter out empty/null/undefined values from customization data + * @param {Object} data - Data to filter + * @returns {Object} Filtered data + */ +function filterCustomizationData(data) { + const filtered = {}; + + for (const [key, value] of Object.entries(data)) { + if (value === null || value === undefined || value === '') { + continue; // Skip null/undefined/empty values + } + + if (Array.isArray(value)) { + if (value.length > 0) { + filtered[key] = value; + } + } else if (typeof value === 'object') { + const nested = filterCustomizationData(value); + if (Object.keys(nested).length > 0) { + filtered[key] = nested; + } + } else { + filtered[key] = value; + } + } + + return filtered; +} + module.exports = { processTemplate, processConditionals, @@ -149,4 +179,5 @@ module.exports = { processAgentYaml, getDefaultValues, cleanupEmptyLines, + filterCustomizationData, }; diff --git a/tools/cli/lib/xml-handler.js b/tools/cli/lib/agent/xml-handler.js similarity index 98% rename from tools/cli/lib/xml-handler.js rename to tools/cli/lib/agent/xml-handler.js index a6111b1a..a514e3a3 100644 --- a/tools/cli/lib/xml-handler.js +++ b/tools/cli/lib/agent/xml-handler.js @@ -1,7 +1,7 @@ const xml2js = require('xml2js'); const fs = require('fs-extra'); const path = require('node:path'); -const { getProjectRoot, getSourcePath } = require('./project-root'); +const { getProjectRoot, getSourcePath } = require('../project-root'); const { YamlXmlBuilder } = require('./yaml-xml-builder'); /** diff --git a/tools/cli/lib/yaml-xml-builder.js b/tools/cli/lib/agent/yaml-xml-builder.js similarity index 77% rename from tools/cli/lib/yaml-xml-builder.js rename to tools/cli/lib/agent/yaml-xml-builder.js index 8603be14..6ff97ea8 100644 --- a/tools/cli/lib/yaml-xml-builder.js +++ b/tools/cli/lib/agent/yaml-xml-builder.js @@ -4,7 +4,14 @@ const path = require('node:path'); const crypto = require('node:crypto'); const { AgentAnalyzer } = require('./agent-analyzer'); const { ActivationBuilder } = require('./activation-builder'); -const { escapeXml } = require('../../lib/xml-utils'); +const { escapeXml } = require('../../../lib/xml-utils'); +const { + processAgentYaml, + extractInstallConfig, + stripInstallConfig, + getDefaultValues, + filterCustomizationData, +} = require('./template-engine'); /** * Converts agent YAML files to XML format with smart activation injection @@ -225,7 +232,7 @@ class YamlXmlBuilder { // Menu section (support both 'menu' and legacy 'commands') const menuItems = agent.menu || agent.commands || []; - xml += this.buildCommandsXml(menuItems, buildMetadata.forWebBundle); + xml += this.buildMenuXml(menuItems, buildMetadata.forWebBundle); xml += '\n'; xml += '```\n'; @@ -315,7 +322,7 @@ class YamlXmlBuilder { for (const prompt of promptsArray) { xml += ` \n`; xml += ` \n`; - xml += `${escapeXml(prompt.content || '')}\n`; + xml += `${prompt.content || ''}\n`; // Don't escape prompt content - it's meant to be read as-is xml += ` \n`; xml += ` \n`; } @@ -332,7 +339,7 @@ class YamlXmlBuilder { * @param {Array} menuItems - Menu items from YAML * @param {boolean} forWebBundle - Whether building for web bundle */ - buildCommandsXml(menuItems, forWebBundle = false) { + buildMenuXml(menuItems, forWebBundle = false) { let xml = ' \n'; // Always inject menu display option first @@ -415,7 +422,6 @@ class YamlXmlBuilder { if (execData.action) attrs.push(`action="${execData.action}"`); if (execData.data) attrs.push(`data="${execData.data}"`); if (execData.tmpl) attrs.push(`tmpl="${execData.tmpl}"`); - // Only add type if it's not 'exec' (exec is already implied by the exec attribute) if (execData.type && execData.type !== 'exec') attrs.push(`type="${execData.type}"`); xml += ` \n`; @@ -567,6 +573,143 @@ class YamlXmlBuilder { customizeHash, }; } + + /** + * Process TTS injection points in XML content + * @param {string} content - XML content with TTS markers + * @param {boolean} enableAgentVibes - Whether to process AgentVibes markers + * @returns {string} Processed content + */ + processTTSInjectionPoints(content, enableAgentVibes = false) { + let result = content; + + if (enableAgentVibes) { + // Process AgentVibes markers + result = result.replaceAll(//g, (match, id) => { + // Look for AgentVibes function in agent-analyzer data + if (this.analyzer.agentData && this.analyzer.agentData[id]) { + const functionText = this.analyzer.agentData[id]; + return `\n${functionText}\n`; + } + return match; // Keep original if not found + }); + } + + return result; + } + + /** + * Legacy compatibility: compileAgent function for backward compatibility + * @param {string} yamlContent - YAML content + * @param {Object} answers - Template answers + * @param {string} agentName - Agent name + * @param {string} targetPath - Target path + * @param {Object} options - Additional options + * @returns {Object} Compilation result + */ + async compileAgent(yamlContent, answers = {}, agentName = '', targetPath = '', options = {}) { + // Parse YAML + let agentYaml = yaml.parse(yamlContent); + + // Apply customization merges before template processing + // Handle metadata overrides (like name) + if (answers.metadata) { + // Filter out empty values from metadata + const filteredMetadata = filterCustomizationData(answers.metadata); + if (Object.keys(filteredMetadata).length > 0) { + agentYaml.agent.metadata = { ...agentYaml.agent.metadata, ...filteredMetadata }; + } + // Remove from answers so it doesn't get processed as template variables + const { metadata, ...templateAnswers } = answers; + answers = templateAnswers; + } + + // Handle other customization properties + // These should be merged into the agent structure, not processed as template variables + if ( + answers.critical_actions && // Handle critical_actions merging + Array.isArray(answers.critical_actions) + ) { + agentYaml.agent.critical_actions = [...(agentYaml.agent.critical_actions || []), ...answers.critical_actions]; + } + + // Extract install_config and process templates + const installConfig = extractInstallConfig(agentYaml); + const defaults = installConfig ? getDefaultValues(installConfig) : {}; + + // Process template variables + const processedYaml = processAgentYaml(agentYaml, { ...defaults, ...answers }); + + // Remove install_config after processing + const cleanYaml = stripInstallConfig(processedYaml); + + // Convert to XML using our enhanced builder + const buildMetadata = { + sourceFile: targetPath, + module: cleanYaml.agent?.metadata?.module || 'core', + forWebBundle: options.forWebBundle || false, + skipActivation: options.skipActivation || false, + }; + + const xml = await this.convertToXml(cleanYaml, buildMetadata); + + return { + xml, + metadata: cleanYaml.agent.metadata, + processedYaml: cleanYaml, + }; + } + + /** + * Legacy compatibility: compileAgentFile function + * @param {string} yamlPath - Path to YAML file + * @param {Object} options - Options + * @returns {Object} Compilation result + */ + async compileAgentFile(yamlPath, options = {}) { + const yamlContent = fs.readFileSync(yamlPath, 'utf8'); + const result = await this.compileAgent(yamlContent, options.answers || {}); + + // Determine output path + let outputPath = options.outputPath; + if (!outputPath) { + // Default: same directory, same name, .md extension + const parsedPath = path.parse(yamlPath); + outputPath = path.join(parsedPath.dir, `${parsedPath.name}.md`); + } + + // Process TTS injection if enabled + let finalXml = result.xml; + if (options.enableTTS) { + finalXml = this.processTTSInjectionPoints(finalXml, true); + } + + // Write output file + fs.writeFileSync(outputPath, finalXml, 'utf8'); + + return { + outputPath, + xml: finalXml, + metadata: result.metadata, + }; + } } -module.exports = { YamlXmlBuilder }; +// Export both the class and legacy functions for backward compatibility +module.exports = { + YamlXmlBuilder, + // Legacy exports for backward compatibility + compileAgent: (yamlContent, answers, agentName, targetPath, options) => { + const builder = new YamlXmlBuilder(); + return builder.compileAgent(yamlContent, answers, agentName, targetPath, options); + }, + compileAgentFile: (yamlPath, options) => { + const builder = new YamlXmlBuilder(); + return builder.compileAgentFile(yamlPath, options); + }, + filterCustomizationData, + processAgentYaml, + extractInstallConfig, + stripInstallConfig, + getDefaultValues, +}; From 34cfdddd3aa19945e8ff342d6eec7e51dca8ca62 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Mon, 22 Dec 2025 13:12:25 +0800 Subject: [PATCH 03/17] refac tools part 1 --- tools/cli/installers/lib/core/installer.js | 72 +++++++++------------ tools/cli/installers/lib/ide/_base-ide.js | 5 -- tools/cli/installers/lib/modules/manager.js | 2 +- tools/cli/lib/agent-party-generator.js | 2 +- tools/cli/lib/agent/xml-handler.js | 7 -- tools/cli/lib/agent/yaml-xml-builder.js | 2 +- tools/{ => cli}/lib/xml-utils.js | 0 tools/flattener/xml.js | 2 +- 8 files changed, 36 insertions(+), 56 deletions(-) rename tools/{ => cli}/lib/xml-utils.js (100%) diff --git a/tools/cli/installers/lib/core/installer.js b/tools/cli/installers/lib/core/installer.js index 8e6f5a4b..50f06d1c 100644 --- a/tools/cli/installers/lib/core/installer.js +++ b/tools/cli/installers/lib/core/installer.js @@ -297,49 +297,41 @@ class Installer { console.log('\n'); // Add spacing before IDE questions for (const ide of newlySelectedIdes) { - // List of IDEs that have interactive prompts - //TODO: Why is this here, hardcoding this list here is bad, fix me! - const needsPrompts = ['claude-code', 'github-copilot', 'roo', 'cline', 'auggie', 'codex', 'qwen', 'gemini', 'rovo-dev'].includes( - ide, - ); + // Get IDE handler and check if it needs interactive configuration + try { + // Dynamically load the IDE setup module + const ideModule = require(`../ide/${ide}`); - if (needsPrompts) { - // Get IDE handler and collect configuration - try { - // Dynamically load the IDE setup module - const ideModule = require(`../ide/${ide}`); + // Get the setup class (handle different export formats) + let SetupClass; + const className = + ide + .split('-') + .map((part) => part.charAt(0).toUpperCase() + part.slice(1)) + .join('') + 'Setup'; - // Get the setup class (handle different export formats) - let SetupClass; - const className = - ide - .split('-') - .map((part) => part.charAt(0).toUpperCase() + part.slice(1)) - .join('') + 'Setup'; - - if (ideModule[className]) { - SetupClass = ideModule[className]; - } else if (ideModule.default) { - SetupClass = ideModule.default; - } else { - continue; - } - - const ideSetup = new SetupClass(); - - // Check if this IDE has a collectConfiguration method - if (typeof ideSetup.collectConfiguration === 'function') { - console.log(chalk.cyan(`\nConfiguring ${ide}...`)); - ideConfigurations[ide] = await ideSetup.collectConfiguration({ - selectedModules: selectedModules || [], - projectDir, - bmadDir, - }); - } - } catch { - // IDE doesn't have a setup file or collectConfiguration method - console.warn(chalk.yellow(`Warning: Could not load configuration for ${ide}`)); + if (ideModule[className]) { + SetupClass = ideModule[className]; + } else if (ideModule.default) { + SetupClass = ideModule.default; + } else { + continue; } + + const ideSetup = new SetupClass(); + + // Check if this IDE has a collectConfiguration method (no hardcoding needed!) + if (typeof ideSetup.collectConfiguration === 'function') { + console.log(chalk.cyan(`\nConfiguring ${ide}...`)); + ideConfigurations[ide] = await ideSetup.collectConfiguration({ + selectedModules: selectedModules || [], + projectDir, + bmadDir, + }); + } + } catch { + // IDE doesn't have a setup file or collectConfiguration method + console.warn(chalk.yellow(`Warning: Could not load configuration for ${ide}`)); } } } diff --git a/tools/cli/installers/lib/ide/_base-ide.js b/tools/cli/installers/lib/ide/_base-ide.js index 1aedceb7..bfa9af88 100644 --- a/tools/cli/installers/lib/ide/_base-ide.js +++ b/tools/cli/installers/lib/ide/_base-ide.js @@ -493,11 +493,6 @@ class BaseIdeSetup { // Replace placeholders let processed = content; - // Inject activation block for agent files FIRST (before replacements) - if (metadata.name && content.includes(' Date: Mon, 22 Dec 2025 14:17:32 +0800 Subject: [PATCH 04/17] quickinstall duplicate success message removed --- tools/cli/installers/lib/core/installer.js | 39 ++++++------ tools/cli/installers/lib/ide/antigravity.js | 33 +++++----- tools/cli/installers/lib/ide/auggie.js | 27 ++++---- tools/cli/installers/lib/ide/claude-code.js | 29 ++++----- tools/cli/installers/lib/ide/cline.js | 21 +++---- tools/cli/installers/lib/ide/codex.js | 15 ++--- tools/cli/installers/lib/ide/crush.js | 15 ++--- tools/cli/installers/lib/ide/cursor.js | 1 + tools/cli/installers/lib/ide/gemini.js | 1 + .../cli/installers/lib/ide/github-copilot.js | 1 + tools/cli/installers/lib/ide/iflow.js | 1 + tools/cli/installers/lib/ide/kilo.js | 1 + tools/cli/installers/lib/ide/kiro-cli.js | 1 + tools/cli/installers/lib/ide/opencode.js | 1 + tools/cli/installers/lib/ide/qwen.js | 1 + tools/cli/installers/lib/ide/roo.js | 1 + tools/cli/installers/lib/ide/rovo-dev.js | 1 + tools/cli/installers/lib/ide/trae.js | 1 + tools/cli/installers/lib/ide/windsurf.js | 1 + tools/cli/lib/file-ops.js | 62 ++++++++++++++++++- tools/platform-codes.yaml | 18 ++++-- 21 files changed, 175 insertions(+), 96 deletions(-) diff --git a/tools/cli/installers/lib/core/installer.js b/tools/cli/installers/lib/core/installer.js index 50f06d1c..001b96b5 100644 --- a/tools/cli/installers/lib/core/installer.js +++ b/tools/cli/installers/lib/core/installer.js @@ -835,8 +835,6 @@ class Installer { allModules = allModules.filter((m) => m !== 'core'); } - const modulesToInstall = allModules; - // For dependency resolution, we only need regular modules (not custom modules) // Custom modules are already installed in _bmad and don't need dependency resolution from source const regularModulesForResolution = allModules.filter((module) => { @@ -882,7 +880,6 @@ class Installer { // Check if this is a custom module let isCustomModule = false; let customInfo = null; - let useCache = false; // First check if we have a cached version if (finalCustomContent && finalCustomContent.cachedModules) { @@ -1215,17 +1212,19 @@ class Installer { console.log(chalk.dim('Remove these .bak files it no longer needed\n')); } - // Display completion message - const { UI } = require('../../../lib/ui'); - const ui = new UI(); - ui.showInstallSummary({ - path: bmadDir, - modules: config.modules, - ides: config.ides, - customFiles: customFiles.length > 0 ? customFiles : undefined, - ttsInjectedFiles: this.enableAgentVibes && this.ttsInjectedFiles.length > 0 ? this.ttsInjectedFiles : undefined, - agentVibesEnabled: this.enableAgentVibes || false, - }); + // Display completion message (skip if requested, e.g., for quick updates) + if (!config._skipCompletion) { + const { UI } = require('../../../lib/ui'); + const ui = new UI(); + ui.showInstallSummary({ + path: bmadDir, + modules: config.modules, + ides: config.ides, + customFiles: customFiles.length > 0 ? customFiles : undefined, + ttsInjectedFiles: this.enableAgentVibes && this.ttsInjectedFiles.length > 0 ? this.ttsInjectedFiles : undefined, + agentVibesEnabled: this.enableAgentVibes || false, + }); + } return { success: true, @@ -1505,9 +1504,7 @@ class Installer { * @param {string} bmadDir - BMAD installation directory * @param {Object} coreFiles - Core files to install */ - async installCoreWithDependencies(bmadDir, coreFiles) { - const sourcePath = getModulePath('core'); - const targetPath = path.join(bmadDir, 'core'); + async installCoreWithDependencies(bmadDir) { await this.installCore(bmadDir); } @@ -1517,7 +1514,7 @@ class Installer { * @param {string} bmadDir - BMAD installation directory * @param {Object} moduleFiles - Module files to install */ - async installModuleWithDependencies(moduleName, bmadDir, moduleFiles) { + async installModuleWithDependencies(moduleName, bmadDir) { // Get module configuration for conditional installation const moduleConfig = this.configCollector.collectedConfig[moduleName] || {}; @@ -1789,7 +1786,6 @@ class Installer { } const agentName = agentFile.replace('.md', ''); - const mdPath = path.join(agentsPath, agentFile); const customizePath = path.join(cfgAgentsDir, `${moduleName}-${agentName}.customize.yaml`); // For .md files that are already compiled, we don't need to do much @@ -2003,8 +1999,9 @@ class Installer { _existingModules: installedModules, // Pass all installed modules for manifest generation }; - // Call the standard install method - const result = await this.install(installConfig); + // Call the standard install method, but skip UI completion for quick updates + installConfig._skipCompletion = true; + await this.install(installConfig); // Only succeed the spinner if it's still spinning // (install method might have stopped it if folder name changed) diff --git a/tools/cli/installers/lib/ide/antigravity.js b/tools/cli/installers/lib/ide/antigravity.js index b921b4de..1150d44b 100644 --- a/tools/cli/installers/lib/ide/antigravity.js +++ b/tools/cli/installers/lib/ide/antigravity.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator'); @@ -88,9 +89,9 @@ class AntigravitySetup extends BaseIdeSetup { * @param {string} projectDir - Project directory */ async cleanup(projectDir) { - const bmadWorkflowsDir = path.join(projectDir, this.configDir, this.workflowsDir, 'bmad'); + const bmadWorkflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir, 'bmad'); - if (await fs.pathExists(bmadWorkflowsDir)) { + if (await this.exists(bmadWorkflowsDir)) { await fs.remove(bmadWorkflowsDir); console.log(chalk.dim(` Removed old BMAD workflows from ${this.name}`)); } @@ -112,9 +113,9 @@ class AntigravitySetup extends BaseIdeSetup { await this.cleanup(projectDir); // Create .agent/workflows directory structure - const agentDir = path.join(projectDir, this.configDir); - const workflowsDir = path.join(agentDir, this.workflowsDir); - const bmadWorkflowsDir = path.join(workflowsDir, 'bmad'); + const agentDir = PathUtils.getConfigDir(projectDir, this.configDir); + const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); + const bmadWorkflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir, 'bmad'); await this.ensureDir(bmadWorkflowsDir); @@ -190,7 +191,7 @@ class AntigravitySetup extends BaseIdeSetup { * Read and process file content */ async readAndProcess(filePath, metadata) { - const content = await fs.readFile(filePath, 'utf8'); + const content = await this.readFile(filePath); return this.processContent(content, metadata); } @@ -210,7 +211,7 @@ class AntigravitySetup extends BaseIdeSetup { // Add core agents const corePath = getModulePath('core'); - if (await fs.pathExists(path.join(corePath, 'agents'))) { + if (await this.exists(path.join(corePath, 'agents'))) { const coreAgents = await getAgentsFromDir(path.join(corePath, 'agents'), 'core'); agents.push(...coreAgents); } @@ -220,7 +221,7 @@ class AntigravitySetup extends BaseIdeSetup { const modulePath = path.join(sourceDir, moduleName); const agentsPath = path.join(modulePath, 'agents'); - if (await fs.pathExists(agentsPath)) { + if (await this.exists(agentsPath)) { const moduleAgents = await getAgentsFromDir(agentsPath, moduleName); agents.push(...moduleAgents); } @@ -387,7 +388,7 @@ class AntigravitySetup extends BaseIdeSetup { const targetPath = path.join(projectDir, injection.file); if (await this.exists(targetPath)) { - let content = await fs.readFile(targetPath, 'utf8'); + let content = await this.readFile(targetPath); const marker = ``; if (content.includes(marker)) { @@ -399,7 +400,7 @@ class AntigravitySetup extends BaseIdeSetup { } content = content.replace(marker, injectionContent); - await fs.writeFile(targetPath, content); + await this.writeFile(targetPath, content); console.log(chalk.dim(` Injected: ${injection.point} → ${injection.file}`)); } } @@ -417,7 +418,7 @@ class AntigravitySetup extends BaseIdeSetup { targetDir = path.join(os.homedir(), '.agent', 'agents'); console.log(chalk.dim(` Installing subagents globally to: ~/.agent/agents/`)); } else { - targetDir = path.join(projectDir, '.agent', 'agents'); + targetDir = PathUtils.getIdeSubDir(projectDir, '.agent', 'agents'); console.log(chalk.dim(` Installing subagents to project: .agent/agents/`)); } @@ -464,11 +465,11 @@ class AntigravitySetup extends BaseIdeSetup { */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { // Create .agent/workflows/bmad directory structure (same as regular agents) - const agentDir = path.join(projectDir, this.configDir); - const workflowsDir = path.join(agentDir, this.workflowsDir); - const bmadWorkflowsDir = path.join(workflowsDir, 'bmad'); + const agentDir = PathUtils.getConfigDir(projectDir, this.configDir); + const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); + const bmadWorkflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir, 'bmad'); - await fs.ensureDir(bmadWorkflowsDir); + await this.ensureDir(bmadWorkflowsDir); // Create custom agent launcher with same pattern as regular agents const launcherContent = `name: '${agentName}' @@ -493,7 +494,7 @@ usage: | const launcherPath = path.join(bmadWorkflowsDir, fileName); // Write the launcher file - await fs.writeFile(launcherPath, launcherContent, 'utf8'); + await this.writeFile(launcherPath, launcherContent); return { ide: 'antigravity', diff --git a/tools/cli/installers/lib/ide/auggie.js b/tools/cli/installers/lib/ide/auggie.js index 04e08788..2c07a58e 100644 --- a/tools/cli/installers/lib/ide/auggie.js +++ b/tools/cli/installers/lib/ide/auggie.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); @@ -25,7 +26,7 @@ class AuggieSetup extends BaseIdeSetup { console.log(chalk.cyan(`Setting up ${this.name}...`)); // Always use project directory - const location = path.join(projectDir, '.augment', 'commands'); + const location = PathUtils.getIdeSubDir(projectDir, '.augment', 'commands'); // Clean up old BMAD installation first await this.cleanup(projectDir); @@ -52,11 +53,11 @@ class AuggieSetup extends BaseIdeSetup { content: artifact.content, })); - const bmadCommandsDir = path.join(location, 'bmad'); - const agentsDir = path.join(bmadCommandsDir, 'agents'); - const tasksDir = path.join(bmadCommandsDir, 'tasks'); - const toolsDir = path.join(bmadCommandsDir, 'tools'); - const workflowsDir = path.join(bmadCommandsDir, 'workflows'); + const bmadCommandsDir = PathUtils.getIdeSubDir(location, 'bmad'); + const agentsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'agents'); + const tasksDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'tasks'); + const toolsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'tools'); + const workflowsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'workflows'); await this.ensureDir(agentsDir); await this.ensureDir(tasksDir); @@ -179,10 +180,10 @@ BMAD ${workflow.module.toUpperCase()} module const fs = require('fs-extra'); // Only clean up project directory - const location = path.join(projectDir, '.augment', 'commands'); + const location = PathUtils.getIdeSubDir(projectDir, '.augment', 'commands'); const bmadDir = path.join(location, 'bmad'); - if (await fs.pathExists(bmadDir)) { + if (await this.exists(bmadDir)) { await fs.remove(bmadDir); console.log(chalk.dim(` Removed old BMAD commands`)); } @@ -198,12 +199,12 @@ BMAD ${workflow.module.toUpperCase()} module */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { // Auggie uses .augment/commands directory - const location = path.join(projectDir, '.augment', 'commands'); - const bmadCommandsDir = path.join(location, 'bmad'); - const agentsDir = path.join(bmadCommandsDir, 'agents'); + const location = PathUtils.getIdeSubDir(projectDir, '.augment', 'commands'); + const bmadCommandsDir = PathUtils.getIdeSubDir(location, 'bmad'); + const agentsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'agents'); // Create .augment/commands/bmad/agents directory if it doesn't exist - await fs.ensureDir(agentsDir); + await this.ensureDir(agentsDir); // Create custom agent launcher const launcherContent = `--- @@ -230,7 +231,7 @@ BMAD Custom agent const launcherPath = path.join(agentsDir, fileName); // Write the launcher file - await fs.writeFile(launcherPath, launcherContent, 'utf8'); + await this.writeFile(launcherPath, launcherContent); return { ide: 'auggie', diff --git a/tools/cli/installers/lib/ide/claude-code.js b/tools/cli/installers/lib/ide/claude-code.js index 56131e44..9fdca124 100644 --- a/tools/cli/installers/lib/ide/claude-code.js +++ b/tools/cli/installers/lib/ide/claude-code.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator'); @@ -48,7 +49,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { try { // Load injection configuration - const configContent = await fs.readFile(injectionConfigPath, 'utf8'); + const configContent = await this.readFile(injectionConfigPath); const injectionConfig = yaml.parse(configContent); // Ask about subagents if they exist and we haven't asked yet @@ -87,9 +88,9 @@ class ClaudeCodeSetup extends BaseIdeSetup { * @param {string} projectDir - Project directory */ async cleanup(projectDir) { - const bmadCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad'); + const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); - if (await fs.pathExists(bmadCommandsDir)) { + if (await this.exists(bmadCommandsDir)) { await fs.remove(bmadCommandsDir); console.log(chalk.dim(` Removed old BMAD commands from ${this.name}`)); } @@ -111,9 +112,9 @@ class ClaudeCodeSetup extends BaseIdeSetup { await this.cleanup(projectDir); // Create .claude/commands directory structure - const claudeDir = path.join(projectDir, this.configDir); - const commandsDir = path.join(claudeDir, this.commandsDir); - const bmadCommandsDir = path.join(commandsDir, 'bmad'); + const claudeDir = PathUtils.getConfigDir(projectDir, this.configDir); + const commandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir); + const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); await this.ensureDir(bmadCommandsDir); @@ -159,7 +160,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { let workflowCommandCount = 0; for (const artifact of workflowArtifacts) { if (artifact.type === 'workflow-command') { - const moduleWorkflowsDir = path.join(bmadCommandsDir, artifact.module, 'workflows'); + const moduleWorkflowsDir = PathUtils.getIdeSubDir(bmadCommandsDir, artifact.module, 'workflows'); await this.ensureDir(moduleWorkflowsDir); const commandPath = path.join(moduleWorkflowsDir, path.basename(artifact.relativePath)); await this.writeFile(commandPath, artifact.content); @@ -198,7 +199,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { * Read and process file content */ async readAndProcess(filePath, metadata) { - const content = await fs.readFile(filePath, 'utf8'); + const content = await this.readFile(filePath); return this.processContent(content, metadata); } @@ -218,7 +219,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { // Add core agents const corePath = getModulePath('core'); - if (await fs.pathExists(path.join(corePath, 'agents'))) { + if (await this.exists(path.join(corePath, 'agents'))) { const coreAgents = await getAgentsFromDir(path.join(corePath, 'agents'), 'core'); agents.push(...coreAgents); } @@ -228,7 +229,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { const modulePath = path.join(sourceDir, moduleName); const agentsPath = path.join(modulePath, 'agents'); - if (await fs.pathExists(agentsPath)) { + if (await this.exists(agentsPath)) { const moduleAgents = await getAgentsFromDir(agentsPath, moduleName); agents.push(...moduleAgents); } @@ -395,7 +396,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { const targetPath = path.join(projectDir, injection.file); if (await this.exists(targetPath)) { - let content = await fs.readFile(targetPath, 'utf8'); + let content = await this.readFile(targetPath); const marker = ``; if (content.includes(marker)) { @@ -407,7 +408,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { } content = content.replace(marker, injectionContent); - await fs.writeFile(targetPath, content); + await this.writeFile(targetPath, content); console.log(chalk.dim(` Injected: ${injection.point} → ${injection.file}`)); } } @@ -425,7 +426,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { targetDir = path.join(os.homedir(), '.claude', 'agents'); console.log(chalk.dim(` Installing subagents globally to: ~/.claude/agents/`)); } else { - targetDir = path.join(projectDir, '.claude', 'agents'); + targetDir = PathUtils.getIdeSubDir(projectDir, '.claude', 'agents'); console.log(chalk.dim(` Installing subagents to project: .claude/agents/`)); } @@ -471,7 +472,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { * @returns {Object|null} Info about created command */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { - const customAgentsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad', 'custom', 'agents'); + const customAgentsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad', 'custom', 'agents'); if (!(await this.exists(path.join(projectDir, this.configDir)))) { return null; // IDE not configured for this project diff --git a/tools/cli/installers/lib/ide/cline.js b/tools/cli/installers/lib/ide/cline.js index 9a9ceba6..f25b57a3 100644 --- a/tools/cli/installers/lib/ide/cline.js +++ b/tools/cli/installers/lib/ide/cline.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); const { BaseIdeSetup } = require('./_base-ide'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { getAgentsFromBmad, getTasksFromBmad } = require('./shared/bmad-artifacts'); @@ -26,9 +27,8 @@ class ClineSetup extends BaseIdeSetup { async setup(projectDir, bmadDir, options = {}) { console.log(chalk.cyan(`Setting up ${this.name}...`)); - // Create .clinerules/workflows directory - const clineDir = path.join(projectDir, this.configDir); - const workflowsDir = path.join(clineDir, this.workflowsDir); + // Create .clinerules/workflows directory using shared utilities + const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); await this.ensureDir(workflowsDir); @@ -72,9 +72,9 @@ class ClineSetup extends BaseIdeSetup { * Detect Cline installation by checking for .clinerules/workflows directory */ async detect(projectDir) { - const workflowsDir = path.join(projectDir, this.configDir, this.workflowsDir); + const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); - if (!(await fs.pathExists(workflowsDir))) { + if (!(await this.exists(workflowsDir))) { return false; } @@ -159,8 +159,8 @@ class ClineSetup extends BaseIdeSetup { for (const artifact of artifacts) { const flattenedName = this.flattenFilename(artifact.relativePath); - const targetPath = path.join(destDir, flattenedName); - await fs.writeFile(targetPath, artifact.content); + const targetPath = PathUtils.joinSafe(destDir, flattenedName); + await this.writeFile(targetPath, artifact.content); written++; } @@ -204,7 +204,7 @@ class ClineSetup extends BaseIdeSetup { * Cleanup Cline configuration */ async cleanup(projectDir) { - const workflowsDir = path.join(projectDir, this.configDir, this.workflowsDir); + const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); await this.clearOldBmadFiles(workflowsDir); console.log(chalk.dim(`Removed ${this.name} BMAD configuration`)); } @@ -218,11 +218,10 @@ class ClineSetup extends BaseIdeSetup { * @returns {Object} Installation result */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { - const clineDir = path.join(projectDir, this.configDir); - const workflowsDir = path.join(clineDir, this.workflowsDir); + const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); // Create .clinerules/workflows directory if it doesn't exist - await fs.ensureDir(workflowsDir); + await this.ensureDir(workflowsDir); // Create custom agent launcher workflow const launcherContent = `name: ${agentName} diff --git a/tools/cli/installers/lib/ide/codex.js b/tools/cli/installers/lib/ide/codex.js index e538fa6f..4763ac02 100644 --- a/tools/cli/installers/lib/ide/codex.js +++ b/tools/cli/installers/lib/ide/codex.js @@ -3,6 +3,7 @@ const fs = require('fs-extra'); const os = require('node:os'); const chalk = require('chalk'); const { BaseIdeSetup } = require('./_base-ide'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { getTasksFromBmad } = require('./shared/bmad-artifacts'); @@ -130,7 +131,7 @@ class CodexSetup extends BaseIdeSetup { const projectSpecificDir = this.getCodexPromptDir(projectDir_local, 'project'); // Check global location - if (await fs.pathExists(globalDir)) { + if (await this.exists(globalDir)) { const entries = await fs.readdir(globalDir); if (entries.some((entry) => entry.startsWith('bmad-'))) { return true; @@ -138,7 +139,7 @@ class CodexSetup extends BaseIdeSetup { } // Check project-specific location - if (await fs.pathExists(projectSpecificDir)) { + if (await this.exists(projectSpecificDir)) { const entries = await fs.readdir(projectSpecificDir); if (entries.some((entry) => entry.startsWith('bmad-'))) { return true; @@ -207,7 +208,7 @@ class CodexSetup extends BaseIdeSetup { getCodexPromptDir(projectDir = null, location = 'global') { if (location === 'project' && projectDir) { - return path.join(projectDir, '.codex', 'prompts'); + return PathUtils.getIdeSubDir(projectDir, '.codex', 'prompts'); } return path.join(os.homedir(), '.codex', 'prompts'); } @@ -218,7 +219,7 @@ class CodexSetup extends BaseIdeSetup { for (const artifact of artifacts) { const flattenedName = this.flattenFilename(artifact.relativePath); const targetPath = path.join(destDir, flattenedName); - await fs.writeFile(targetPath, artifact.content); + await this.writeFile(targetPath, artifact.content); written++; } @@ -226,7 +227,7 @@ class CodexSetup extends BaseIdeSetup { } async clearOldBmadFiles(destDir) { - if (!(await fs.pathExists(destDir))) { + if (!(await this.exists(destDir))) { return; } @@ -248,7 +249,7 @@ class CodexSetup extends BaseIdeSetup { } async readAndProcessWithProject(filePath, metadata, projectDir) { - const content = await fs.readFile(filePath, 'utf8'); + const content = await this.readFile(filePath); return super.processContent(content, metadata, projectDir); } @@ -376,7 +377,7 @@ You must fully embody this agent's persona and follow all activation instruction const fileName = `bmad-custom-agents-${agentName}.md`; const launcherPath = path.join(destDir, fileName); - await fs.writeFile(launcherPath, launcherContent, 'utf8'); + await this.writeFile(launcherPath, launcherContent); return { path: path.relative(projectDir, launcherPath), diff --git a/tools/cli/installers/lib/ide/crush.js b/tools/cli/installers/lib/ide/crush.js index 0bef6952..a548093d 100644 --- a/tools/cli/installers/lib/ide/crush.js +++ b/tools/cli/installers/lib/ide/crush.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); @@ -26,8 +27,8 @@ class CrushSetup extends BaseIdeSetup { console.log(chalk.cyan(`Setting up ${this.name}...`)); // Create .crush/commands/bmad directory structure - const crushDir = path.join(projectDir, this.configDir); - const commandsDir = path.join(crushDir, this.commandsDir, 'bmad'); + const crushDir = PathUtils.getConfigDir(projectDir, this.configDir); + const commandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); await this.ensureDir(commandsDir); @@ -242,9 +243,9 @@ Part of the BMAD ${workflow.module.toUpperCase()} module. */ async cleanup(projectDir) { const fs = require('fs-extra'); - const bmadCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad'); + const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); - if (await fs.pathExists(bmadCommandsDir)) { + if (await this.exists(bmadCommandsDir)) { await fs.remove(bmadCommandsDir); console.log(chalk.dim(`Removed BMAD commands from Crush`)); } @@ -259,8 +260,8 @@ Part of the BMAD ${workflow.module.toUpperCase()} module. * @returns {Object} Installation result */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { - const crushDir = path.join(projectDir, this.configDir); - const bmadCommandsDir = path.join(crushDir, this.commandsDir, 'bmad'); + const crushDir = PathUtils.getConfigDir(projectDir, this.configDir); + const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); // Create .crush/commands/bmad directory if it doesn't exist await fs.ensureDir(bmadCommandsDir); @@ -286,7 +287,7 @@ The agent will follow the persona and instructions from the main agent file. const launcherPath = path.join(bmadCommandsDir, fileName); // Write the launcher file - await fs.writeFile(launcherPath, launcherContent, 'utf8'); + await this.writeFile(launcherPath, launcherContent); return { ide: 'crush', diff --git a/tools/cli/installers/lib/ide/cursor.js b/tools/cli/installers/lib/ide/cursor.js index 183bbced..764153dc 100644 --- a/tools/cli/installers/lib/ide/cursor.js +++ b/tools/cli/installers/lib/ide/cursor.js @@ -1,6 +1,7 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); diff --git a/tools/cli/installers/lib/ide/gemini.js b/tools/cli/installers/lib/ide/gemini.js index 82746abf..f002485c 100644 --- a/tools/cli/installers/lib/ide/gemini.js +++ b/tools/cli/installers/lib/ide/gemini.js @@ -3,6 +3,7 @@ const fs = require('fs-extra'); const yaml = require('yaml'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); diff --git a/tools/cli/installers/lib/ide/github-copilot.js b/tools/cli/installers/lib/ide/github-copilot.js index 998ec657..a120bac1 100644 --- a/tools/cli/installers/lib/ide/github-copilot.js +++ b/tools/cli/installers/lib/ide/github-copilot.js @@ -1,6 +1,7 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const inquirer = require('inquirer'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); diff --git a/tools/cli/installers/lib/ide/iflow.js b/tools/cli/installers/lib/ide/iflow.js index bbe6d470..238c34c2 100644 --- a/tools/cli/installers/lib/ide/iflow.js +++ b/tools/cli/installers/lib/ide/iflow.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); diff --git a/tools/cli/installers/lib/ide/kilo.js b/tools/cli/installers/lib/ide/kilo.js index 66cb8c37..3def56c6 100644 --- a/tools/cli/installers/lib/ide/kilo.js +++ b/tools/cli/installers/lib/ide/kilo.js @@ -1,6 +1,7 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/ide/kiro-cli.js b/tools/cli/installers/lib/ide/kiro-cli.js index 47f2a29d..a37392cb 100644 --- a/tools/cli/installers/lib/ide/kiro-cli.js +++ b/tools/cli/installers/lib/ide/kiro-cli.js @@ -3,6 +3,7 @@ const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); const fs = require('fs-extra'); const yaml = require('yaml'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); /** * Kiro CLI setup handler for BMad Method diff --git a/tools/cli/installers/lib/ide/opencode.js b/tools/cli/installers/lib/ide/opencode.js index cf5e8eec..f9087ac7 100644 --- a/tools/cli/installers/lib/ide/opencode.js +++ b/tools/cli/installers/lib/ide/opencode.js @@ -4,6 +4,7 @@ const os = require('node:os'); const chalk = require('chalk'); const yaml = require('yaml'); const { BaseIdeSetup } = require('./_base-ide'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); diff --git a/tools/cli/installers/lib/ide/qwen.js b/tools/cli/installers/lib/ide/qwen.js index bdc0cb29..96af9802 100644 --- a/tools/cli/installers/lib/ide/qwen.js +++ b/tools/cli/installers/lib/ide/qwen.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { getAgentsFromBmad, getTasksFromBmad } = require('./shared/bmad-artifacts'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); diff --git a/tools/cli/installers/lib/ide/roo.js b/tools/cli/installers/lib/ide/roo.js index 26370100..fe297694 100644 --- a/tools/cli/installers/lib/ide/roo.js +++ b/tools/cli/installers/lib/ide/roo.js @@ -1,6 +1,7 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/ide/rovo-dev.js b/tools/cli/installers/lib/ide/rovo-dev.js index ecb34d4b..6ba35b4c 100644 --- a/tools/cli/installers/lib/ide/rovo-dev.js +++ b/tools/cli/installers/lib/ide/rovo-dev.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); const { BaseIdeSetup } = require('./_base-ide'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator'); diff --git a/tools/cli/installers/lib/ide/trae.js b/tools/cli/installers/lib/ide/trae.js index b4bea49b..64f9b34c 100644 --- a/tools/cli/installers/lib/ide/trae.js +++ b/tools/cli/installers/lib/ide/trae.js @@ -2,6 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/ide/windsurf.js b/tools/cli/installers/lib/ide/windsurf.js index 92596db3..cd6bc5f6 100644 --- a/tools/cli/installers/lib/ide/windsurf.js +++ b/tools/cli/installers/lib/ide/windsurf.js @@ -1,6 +1,7 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); +const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/lib/file-ops.js b/tools/cli/lib/file-ops.js index 5cd7970d..fc23985b 100644 --- a/tools/cli/lib/file-ops.js +++ b/tools/cli/lib/file-ops.js @@ -201,4 +201,64 @@ class FileOps { } } -module.exports = { FileOps }; +/** + * Path utilities for common IDE path patterns + */ +const PathUtils = { + /** + * Get IDE configuration directory path + * @param {string} projectDir - Project directory + * @param {string} configDir - IDE-specific config directory + * @returns {string} Full path to IDE config directory + */ + getConfigDir(projectDir, configDir) { + return path.join(projectDir, configDir); + }, + + /** + * Get IDE subdirectory path (e.g., workflows, agents, commands) + * @param {string} projectDir - Project directory + * @param {string} configDir - IDE-specific config directory + * @param {string} subDir - Subdirectory name + * @param {...string} additionalDirs - Additional directory levels + * @returns {string} Full path to IDE subdirectory + */ + getIdeSubDir(projectDir, configDir, subDir, ...additionalDirs) { + const parts = [projectDir, configDir, subDir, ...additionalDirs].filter(Boolean); + return path.join(...parts); + }, + + /** + * Get BMAD subdirectory path + * @param {string} projectDir - Project directory + * @param {string} bmadDir - BMAD installation directory + * @param {string} subDir - Subdirectory name + * @param {...string} additionalDirs - Additional directory levels + * @returns {string} Full path to BMAD subdirectory + */ + getBmadSubDir(projectDir, bmadDir, subDir, ...additionalDirs) { + const parts = [projectDir, bmadDir, subDir, ...additionalDirs].filter(Boolean); + return path.join(...parts); + }, + + /** + * Get path relative to a base directory + * @param {string} baseDir - Base directory + * @param {...string} pathParts - Path parts + * @returns {string} Full path + */ + relativeTo(baseDir, ...pathParts) { + return path.join(baseDir, ...pathParts.filter(Boolean)); + }, + + /** + * Join multiple path parts safely (filters out null/undefined/empty) + * @param {...string} pathParts - Path parts + * @returns {string} Joined path + */ + joinSafe(...pathParts) { + return path.join(...pathParts.filter(Boolean)); + }, +}; + +module.exports = { FileOps, PathUtils }; diff --git a/tools/platform-codes.yaml b/tools/platform-codes.yaml index a58e2119..bad283ff 100644 --- a/tools/platform-codes.yaml +++ b/tools/platform-codes.yaml @@ -55,12 +55,6 @@ platforms: category: ide description: "Enhanced Cline fork" - rovo: - name: "Rovo Dev" - preferred: false - category: ide - description: "Atlassian's AI coding assistant" - github-copilot: name: "GitHub Copilot" preferred: false @@ -115,6 +109,18 @@ platforms: category: ide description: "AI coding tool" + kiro-cli: + name: "Kiro CLI" + preferred: false + category: cli + description: "Kiro command line interface" + + rovo-dev: + name: "Rovo Dev" + preferred: false + category: ide + description: "Atlassian's AI coding assistant" + # Platform categories categories: ide: From 021936eaa93c13116066a219f6853361e7ad819f Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Mon, 22 Dec 2025 18:18:16 +0800 Subject: [PATCH 05/17] update inquirer to v9.x for better windows support --- package-lock.json | 463 +++--------------- package.json | 2 +- .../commands/bmad/agents/bmb-agent-builder.md | 14 + .../bmad/agents/bmb-module-builder.md | 14 + .../bmad/agents/bmb-workflow-builder.md | 14 + .../bmad/agents/bmgd-game-architect.md | 14 + .../bmad/agents/bmgd-game-designer.md | 14 + .../commands/bmad/agents/bmgd-game-dev.md | 14 + .../commands/bmad/agents/bmgd-game-qa.md | 14 + .../bmad/agents/bmgd-game-scrum-master.md | 14 + .../bmad/agents/bmgd-game-solo-dev.md | 14 + .../commands/bmad/agents/bmm-analyst.md | 14 + .../commands/bmad/agents/bmm-architect.md | 14 + q1/.augment/commands/bmad/agents/bmm-dev.md | 14 + q1/.augment/commands/bmad/agents/bmm-pm.md | 14 + .../bmad/agents/bmm-quick-flow-solo-dev.md | 14 + q1/.augment/commands/bmad/agents/bmm-sm.md | 14 + q1/.augment/commands/bmad/agents/bmm-tea.md | 14 + .../commands/bmad/agents/bmm-tech-writer.md | 14 + .../commands/bmad/agents/bmm-ux-designer.md | 14 + .../bmad/agents/cis-brainstorming-coach.md | 14 + .../agents/cis-creative-problem-solver.md | 14 + .../bmad/agents/cis-design-thinking-coach.md | 14 + .../bmad/agents/cis-innovation-strategist.md | 14 + .../bmad/agents/cis-presentation-master.md | 14 + .../commands/bmad/agents/cis-storyteller.md | 14 + .../commands/bmad/agents/core-bmad-master.md | 14 + .../bmad/tasks/core-advanced-elicitation.md | 127 +++++ .../commands/bmad/tasks/core-index-docs.md | 77 +++ .../commands/bmad/tools/core-shard-doc.md | 120 +++++ .../bmb-Meal Prep & Nutrition Plan.md | 5 + .../bmad/workflows/bmb-create-agent.md | 5 + .../bmad/workflows/bmb-create-module.md | 5 + .../bmad/workflows/bmb-create-workflow.md | 5 + .../commands/bmad/workflows/bmb-edit-agent.md | 5 + .../bmad/workflows/bmb-edit-workflow.md | 5 + .../bmb-workflow-compliance-check.md | 5 + .../bmad/workflows/bmgd-brainstorm-game.md | 13 + .../bmad/workflows/bmgd-code-review.md | 13 + .../bmad/workflows/bmgd-correct-course.md | 13 + .../bmad/workflows/bmgd-create-game-brief.md | 5 + .../bmad/workflows/bmgd-create-gdd.md | 5 + .../bmad/workflows/bmgd-create-story.md | 13 + .../bmad/workflows/bmgd-create-tech-spec.md | 13 + .../commands/bmad/workflows/bmgd-dev-story.md | 13 + .../bmad/workflows/bmgd-game-architecture.md | 13 + .../bmad/workflows/bmgd-game-brief.md | 13 + .../bmad/workflows/bmgd-gametest-automate.md | 13 + .../bmad/workflows/bmgd-gametest-framework.md | 13 + .../workflows/bmgd-gametest-performance.md | 13 + .../workflows/bmgd-gametest-playtest-plan.md | 13 + .../workflows/bmgd-gametest-test-design.md | 13 + .../workflows/bmgd-gametest-test-review.md | 13 + .../commands/bmad/workflows/bmgd-gdd.md | 13 + .../bmgd-generate-project-context.md | 5 + .../commands/bmad/workflows/bmgd-narrative.md | 13 + .../commands/bmad/workflows/bmgd-quick-dev.md | 13 + .../bmad/workflows/bmgd-quick-prototype.md | 13 + .../bmad/workflows/bmgd-retrospective.md | 13 + .../bmad/workflows/bmgd-sprint-planning.md | 13 + .../bmad/workflows/bmgd-sprint-status.md | 13 + .../bmad/workflows/bmgd-workflow-init.md | 13 + .../bmad/workflows/bmgd-workflow-status.md | 13 + .../bmm-check-implementation-readiness.md | 5 + .../bmad/workflows/bmm-code-review.md | 13 + .../bmad/workflows/bmm-correct-course.md | 13 + .../bmad/workflows/bmm-create-architecture.md | 5 + .../workflows/bmm-create-epics-and-stories.md | 5 + .../bmm-create-excalidraw-dataflow.md | 13 + .../bmm-create-excalidraw-diagram.md | 13 + .../bmm-create-excalidraw-flowchart.md | 13 + .../bmm-create-excalidraw-wireframe.md | 13 + .../commands/bmad/workflows/bmm-create-prd.md | 5 + .../workflows/bmm-create-product-brief.md | 5 + .../bmad/workflows/bmm-create-story.md | 13 + .../bmad/workflows/bmm-create-tech-spec.md | 13 + .../bmad/workflows/bmm-create-ux-design.md | 5 + .../commands/bmad/workflows/bmm-dev-story.md | 13 + .../bmad/workflows/bmm-document-project.md | 13 + .../workflows/bmm-generate-project-context.md | 5 + .../commands/bmad/workflows/bmm-quick-dev.md | 13 + .../commands/bmad/workflows/bmm-research.md | 5 + .../bmad/workflows/bmm-retrospective.md | 13 + .../bmad/workflows/bmm-sprint-planning.md | 13 + .../bmad/workflows/bmm-sprint-status.md | 13 + .../bmad/workflows/bmm-testarch-atdd.md | 13 + .../bmad/workflows/bmm-testarch-automate.md | 13 + .../bmad/workflows/bmm-testarch-ci.md | 13 + .../bmad/workflows/bmm-testarch-framework.md | 13 + .../bmad/workflows/bmm-testarch-nfr.md | 13 + .../workflows/bmm-testarch-test-design.md | 13 + .../workflows/bmm-testarch-test-review.md | 13 + .../bmad/workflows/bmm-testarch-trace.md | 13 + .../bmad/workflows/bmm-workflow-init.md | 13 + .../bmad/workflows/bmm-workflow-status.md | 13 + .../bmad/workflows/cis-design-thinking.md | 13 + .../bmad/workflows/cis-innovation-strategy.md | 13 + .../bmad/workflows/cis-problem-solving.md | 13 + .../bmad/workflows/cis-storytelling.md | 13 + .../bmad/workflows/core-brainstorming.md | 5 + .../bmad/workflows/core-party-mode.md | 5 + .../bmad-bmb-agents-agent-builder.md | 14 + .../bmad-bmb-agents-module-builder.md | 14 + .../bmad-bmb-agents-workflow-builder.md | 14 + ...mb-workflows-Meal Prep & Nutrition Plan.md | 5 + .../workflows/bmad-bmb-workflows-README.md | 52 ++ .../bmad-bmb-workflows-create-agent.md | 5 + .../bmad-bmb-workflows-create-module.md | 5 + .../bmad-bmb-workflows-create-workflow.md | 5 + .../bmad-bmb-workflows-edit-agent.md | 5 + .../bmad-bmb-workflows-edit-workflow.md | 5 + ...bmb-workflows-workflow-compliance-check.md | 5 + .../bmad-bmgd-agents-game-architect.md | 14 + .../bmad-bmgd-agents-game-designer.md | 14 + .../workflows/bmad-bmgd-agents-game-dev.md | 14 + .../workflows/bmad-bmgd-agents-game-qa.md | 14 + .../bmad-bmgd-agents-game-scrum-master.md | 14 + .../bmad-bmgd-agents-game-solo-dev.md | 14 + .../workflows/bmad-bmgd-workflows-README.md | 147 ++++++ .../bmad-bmgd-workflows-brainstorm-game.md | 13 + .../bmad-bmgd-workflows-code-review.md | 13 + .../bmad-bmgd-workflows-correct-course.md | 13 + .../bmad-bmgd-workflows-create-game-brief.md | 5 + .../bmad-bmgd-workflows-create-gdd.md | 5 + .../bmad-bmgd-workflows-create-story.md | 13 + .../bmad-bmgd-workflows-create-tech-spec.md | 13 + .../bmad-bmgd-workflows-dev-story.md | 13 + .../bmad-bmgd-workflows-game-architecture.md | 13 + .../bmad-bmgd-workflows-game-brief.md | 13 + .../bmad-bmgd-workflows-gametest-automate.md | 13 + .../bmad-bmgd-workflows-gametest-framework.md | 13 + ...mad-bmgd-workflows-gametest-performance.md | 13 + ...d-bmgd-workflows-gametest-playtest-plan.md | 13 + ...mad-bmgd-workflows-gametest-test-design.md | 13 + ...mad-bmgd-workflows-gametest-test-review.md | 13 + .../workflows/bmad-bmgd-workflows-gdd.md | 13 + ...bmgd-workflows-generate-project-context.md | 5 + .../bmad-bmgd-workflows-narrative.md | 13 + .../bmad-bmgd-workflows-quick-dev.md | 13 + .../bmad-bmgd-workflows-quick-prototype.md | 13 + .../bmad-bmgd-workflows-retrospective.md | 13 + .../bmad-bmgd-workflows-sprint-planning.md | 13 + .../bmad-bmgd-workflows-sprint-status.md | 13 + .../bmad-bmgd-workflows-workflow-init.md | 13 + .../bmad-bmgd-workflows-workflow-status.md | 13 + .../workflows/bmad-bmm-agents-analyst.md | 14 + .../workflows/bmad-bmm-agents-architect.md | 14 + .../workflows/bmad-bmm-agents-dev.md | 14 + .../workflows/bmad-bmm-agents-pm.md | 14 + .../bmad-bmm-agents-quick-flow-solo-dev.md | 14 + .../workflows/bmad-bmm-agents-sm.md | 14 + .../workflows/bmad-bmm-agents-tea.md | 14 + .../workflows/bmad-bmm-agents-tech-writer.md | 14 + .../workflows/bmad-bmm-agents-ux-designer.md | 14 + .../workflows/bmad-bmm-workflows-README.md | 177 +++++++ ...orkflows-check-implementation-readiness.md | 5 + .../bmad-bmm-workflows-code-review.md | 13 + .../bmad-bmm-workflows-correct-course.md | 13 + .../bmad-bmm-workflows-create-architecture.md | 5 + ...-bmm-workflows-create-epics-and-stories.md | 5 + ...mm-workflows-create-excalidraw-dataflow.md | 13 + ...bmm-workflows-create-excalidraw-diagram.md | 13 + ...m-workflows-create-excalidraw-flowchart.md | 13 + ...m-workflows-create-excalidraw-wireframe.md | 13 + .../bmad-bmm-workflows-create-prd.md | 5 + ...bmad-bmm-workflows-create-product-brief.md | 5 + .../bmad-bmm-workflows-create-story.md | 13 + .../bmad-bmm-workflows-create-tech-spec.md | 13 + .../bmad-bmm-workflows-create-ux-design.md | 5 + .../workflows/bmad-bmm-workflows-dev-story.md | 13 + .../bmad-bmm-workflows-document-project.md | 13 + ...-bmm-workflows-generate-project-context.md | 5 + .../workflows/bmad-bmm-workflows-quick-dev.md | 13 + .../workflows/bmad-bmm-workflows-research.md | 5 + .../bmad-bmm-workflows-retrospective.md | 13 + .../bmad-bmm-workflows-sprint-planning.md | 13 + .../bmad-bmm-workflows-sprint-status.md | 13 + .../bmad-bmm-workflows-testarch-atdd.md | 13 + .../bmad-bmm-workflows-testarch-automate.md | 13 + .../bmad-bmm-workflows-testarch-ci.md | 13 + .../bmad-bmm-workflows-testarch-framework.md | 13 + .../bmad-bmm-workflows-testarch-nfr.md | 13 + ...bmad-bmm-workflows-testarch-test-design.md | 13 + ...bmad-bmm-workflows-testarch-test-review.md | 13 + .../bmad-bmm-workflows-testarch-trace.md | 13 + .../bmad-bmm-workflows-workflow-init.md | 13 + .../bmad-bmm-workflows-workflow-status.md | 13 + .../bmad-cis-agents-brainstorming-coach.md | 14 + ...bmad-cis-agents-creative-problem-solver.md | 14 + .../bmad-cis-agents-design-thinking-coach.md | 14 + .../bmad-cis-agents-innovation-strategist.md | 14 + .../bmad-cis-agents-presentation-master.md | 14 + ...bmad-cis-agents-storyteller-storyteller.md | 14 + .../workflows/bmad-cis-workflows-README.md | 37 ++ .../bmad-cis-workflows-design-thinking.md | 13 + .../bmad-cis-workflows-innovation-strategy.md | 13 + .../bmad-cis-workflows-problem-solving.md | 13 + .../bmad-cis-workflows-storytelling.md | 13 + .../workflows/bmad-core-agents-bmad-master.md | 14 + .../workflows/bmad-core-workflows-README.md | 27 + .../bmad-core-workflows-brainstorming.md | 5 + .../bmad-core-workflows-party-mode.md | 5 + .../commands/bmad/bmb/agents/agent-builder.md | 14 + .../bmad/bmb/agents/module-builder.md | 14 + .../bmad/bmb/agents/workflow-builder.md | 14 + .../workflows/Meal Prep & Nutrition Plan.md | 5 + .../bmad/bmb/workflows/create-agent.md | 5 + .../bmad/bmb/workflows/create-module.md | 5 + .../bmad/bmb/workflows/create-workflow.md | 5 + .../commands/bmad/bmb/workflows/edit-agent.md | 5 + .../bmad/bmb/workflows/edit-workflow.md | 5 + .../workflows/workflow-compliance-check.md | 5 + .../bmad/bmgd/agents/game-architect.md | 14 + .../bmad/bmgd/agents/game-designer.md | 14 + .../commands/bmad/bmgd/agents/game-dev.md | 14 + .../commands/bmad/bmgd/agents/game-qa.md | 14 + .../bmad/bmgd/agents/game-scrum-master.md | 14 + .../bmad/bmgd/agents/game-solo-dev.md | 14 + .../bmad/bmgd/workflows/brainstorm-game.md | 13 + .../bmad/bmgd/workflows/code-review.md | 13 + .../bmad/bmgd/workflows/correct-course.md | 13 + .../bmad/bmgd/workflows/create-game-brief.md | 5 + .../bmad/bmgd/workflows/create-gdd.md | 5 + .../bmad/bmgd/workflows/create-story.md | 13 + .../bmad/bmgd/workflows/create-tech-spec.md | 13 + .../commands/bmad/bmgd/workflows/dev-story.md | 13 + .../bmad/bmgd/workflows/game-architecture.md | 13 + .../bmad/bmgd/workflows/game-brief.md | 13 + .../bmad/bmgd/workflows/gametest-automate.md | 13 + .../bmad/bmgd/workflows/gametest-framework.md | 13 + .../bmgd/workflows/gametest-performance.md | 13 + .../bmgd/workflows/gametest-playtest-plan.md | 13 + .../bmgd/workflows/gametest-test-design.md | 13 + .../bmgd/workflows/gametest-test-review.md | 13 + q1/.crush/commands/bmad/bmgd/workflows/gdd.md | 13 + .../workflows/generate-project-context.md | 5 + .../commands/bmad/bmgd/workflows/narrative.md | 13 + .../commands/bmad/bmgd/workflows/quick-dev.md | 13 + .../bmad/bmgd/workflows/quick-prototype.md | 13 + .../bmad/bmgd/workflows/retrospective.md | 13 + .../bmad/bmgd/workflows/sprint-planning.md | 13 + .../bmad/bmgd/workflows/sprint-status.md | 13 + .../bmad/bmgd/workflows/workflow-init.md | 13 + .../bmad/bmgd/workflows/workflow-status.md | 13 + q1/.crush/commands/bmad/bmm/agents/analyst.md | 14 + .../commands/bmad/bmm/agents/architect.md | 14 + q1/.crush/commands/bmad/bmm/agents/dev.md | 14 + q1/.crush/commands/bmad/bmm/agents/pm.md | 14 + .../bmad/bmm/agents/quick-flow-solo-dev.md | 14 + q1/.crush/commands/bmad/bmm/agents/sm.md | 14 + q1/.crush/commands/bmad/bmm/agents/tea.md | 14 + .../commands/bmad/bmm/agents/tech-writer.md | 14 + .../commands/bmad/bmm/agents/ux-designer.md | 14 + .../check-implementation-readiness.md | 5 + .../bmad/bmm/workflows/code-review.md | 13 + .../bmad/bmm/workflows/correct-course.md | 13 + .../bmad/bmm/workflows/create-architecture.md | 5 + .../bmm/workflows/create-epics-and-stories.md | 5 + .../workflows/create-excalidraw-dataflow.md | 13 + .../workflows/create-excalidraw-diagram.md | 13 + .../workflows/create-excalidraw-flowchart.md | 13 + .../workflows/create-excalidraw-wireframe.md | 13 + .../commands/bmad/bmm/workflows/create-prd.md | 5 + .../bmm/workflows/create-product-brief.md | 5 + .../bmad/bmm/workflows/create-story.md | 13 + .../bmad/bmm/workflows/create-tech-spec.md | 13 + .../bmad/bmm/workflows/create-ux-design.md | 5 + .../commands/bmad/bmm/workflows/dev-story.md | 13 + .../bmad/bmm/workflows/document-project.md | 13 + .../bmm/workflows/generate-project-context.md | 5 + .../commands/bmad/bmm/workflows/quick-dev.md | 13 + .../commands/bmad/bmm/workflows/research.md | 5 + .../bmad/bmm/workflows/retrospective.md | 13 + .../bmad/bmm/workflows/sprint-planning.md | 13 + .../bmad/bmm/workflows/sprint-status.md | 13 + .../bmad/bmm/workflows/testarch-atdd.md | 13 + .../bmad/bmm/workflows/testarch-automate.md | 13 + .../bmad/bmm/workflows/testarch-ci.md | 13 + .../bmad/bmm/workflows/testarch-framework.md | 13 + .../bmad/bmm/workflows/testarch-nfr.md | 13 + .../bmm/workflows/testarch-test-design.md | 13 + .../bmm/workflows/testarch-test-review.md | 13 + .../bmad/bmm/workflows/testarch-trace.md | 13 + .../bmad/bmm/workflows/workflow-init.md | 13 + .../bmad/bmm/workflows/workflow-status.md | 13 + .../bmad/cis/agents/brainstorming-coach.md | 14 + .../cis/agents/creative-problem-solver.md | 14 + .../bmad/cis/agents/design-thinking-coach.md | 14 + .../bmad/cis/agents/innovation-strategist.md | 14 + .../bmad/cis/agents/presentation-master.md | 14 + .../commands/bmad/cis/agents/storyteller.md | 14 + .../bmad/cis/workflows/design-thinking.md | 13 + .../bmad/cis/workflows/innovation-strategy.md | 13 + .../bmad/cis/workflows/problem-solving.md | 13 + .../bmad/cis/workflows/storytelling.md | 13 + .../commands/bmad/core/agents/bmad-master.md | 14 + .../bmad/core/tasks/advanced-elicitation.md | 131 +++++ .../commands/bmad/core/tasks/index-docs.md | 81 +++ .../commands/bmad/core/tools/shard-doc.md | 124 +++++ .../bmad/core/workflows/brainstorming.md | 5 + .../bmad/core/workflows/party-mode.md | 5 + .../rules/bmad/bmb/agents/agent-builder.mdc | 15 + .../rules/bmad/bmb/agents/module-builder.mdc | 15 + .../bmad/bmb/agents/workflow-builder.mdc | 15 + .../workflows/Meal Prep & Nutrition Plan.mdc | 7 + .../rules/bmad/bmb/workflows/create-agent.mdc | 7 + .../bmad/bmb/workflows/create-module.mdc | 7 + .../bmad/bmb/workflows/create-workflow.mdc | 7 + .../rules/bmad/bmb/workflows/edit-agent.mdc | 7 + .../bmad/bmb/workflows/edit-workflow.mdc | 7 + .../workflows/workflow-compliance-check.mdc | 7 + .../rules/bmad/bmgd/agents/game-architect.mdc | 15 + .../rules/bmad/bmgd/agents/game-designer.mdc | 15 + .../rules/bmad/bmgd/agents/game-dev.mdc | 15 + q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc | 15 + .../bmad/bmgd/agents/game-scrum-master.mdc | 15 + .../rules/bmad/bmgd/agents/game-solo-dev.mdc | 15 + .../bmad/bmgd/workflows/brainstorm-game.mdc | 15 + .../rules/bmad/bmgd/workflows/code-review.mdc | 15 + .../bmad/bmgd/workflows/correct-course.mdc | 15 + .../bmad/bmgd/workflows/create-game-brief.mdc | 7 + .../rules/bmad/bmgd/workflows/create-gdd.mdc | 7 + .../bmad/bmgd/workflows/create-story.mdc | 15 + .../bmad/bmgd/workflows/create-tech-spec.mdc | 15 + .../rules/bmad/bmgd/workflows/dev-story.mdc | 15 + .../bmad/bmgd/workflows/game-architecture.mdc | 15 + .../rules/bmad/bmgd/workflows/game-brief.mdc | 15 + .../bmad/bmgd/workflows/gametest-automate.mdc | 15 + .../bmgd/workflows/gametest-framework.mdc | 15 + .../bmgd/workflows/gametest-performance.mdc | 15 + .../bmgd/workflows/gametest-playtest-plan.mdc | 15 + .../bmgd/workflows/gametest-test-design.mdc | 15 + .../bmgd/workflows/gametest-test-review.mdc | 15 + q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc | 15 + .../workflows/generate-project-context.mdc | 7 + .../rules/bmad/bmgd/workflows/narrative.mdc | 15 + .../rules/bmad/bmgd/workflows/quick-dev.mdc | 15 + .../bmad/bmgd/workflows/quick-prototype.mdc | 15 + .../bmad/bmgd/workflows/retrospective.mdc | 15 + .../bmad/bmgd/workflows/sprint-planning.mdc | 15 + .../bmad/bmgd/workflows/sprint-status.mdc | 15 + .../bmad/bmgd/workflows/workflow-init.mdc | 15 + .../bmad/bmgd/workflows/workflow-status.mdc | 15 + q1/.cursor/rules/bmad/bmm/agents/analyst.mdc | 15 + .../rules/bmad/bmm/agents/architect.mdc | 15 + q1/.cursor/rules/bmad/bmm/agents/dev.mdc | 15 + q1/.cursor/rules/bmad/bmm/agents/pm.mdc | 15 + .../bmad/bmm/agents/quick-flow-solo-dev.mdc | 15 + q1/.cursor/rules/bmad/bmm/agents/sm.mdc | 15 + q1/.cursor/rules/bmad/bmm/agents/tea.mdc | 15 + .../rules/bmad/bmm/agents/tech-writer.mdc | 15 + .../rules/bmad/bmm/agents/ux-designer.mdc | 15 + .../check-implementation-readiness.mdc | 7 + .../rules/bmad/bmm/workflows/code-review.mdc | 15 + .../bmad/bmm/workflows/correct-course.mdc | 15 + .../bmm/workflows/create-architecture.mdc | 7 + .../workflows/create-epics-and-stories.mdc | 7 + .../workflows/create-excalidraw-dataflow.mdc | 15 + .../workflows/create-excalidraw-diagram.mdc | 15 + .../workflows/create-excalidraw-flowchart.mdc | 15 + .../workflows/create-excalidraw-wireframe.mdc | 15 + .../rules/bmad/bmm/workflows/create-prd.mdc | 7 + .../bmm/workflows/create-product-brief.mdc | 7 + .../rules/bmad/bmm/workflows/create-story.mdc | 15 + .../bmad/bmm/workflows/create-tech-spec.mdc | 15 + .../bmad/bmm/workflows/create-ux-design.mdc | 7 + .../rules/bmad/bmm/workflows/dev-story.mdc | 15 + .../bmad/bmm/workflows/document-project.mdc | 15 + .../workflows/generate-project-context.mdc | 7 + .../rules/bmad/bmm/workflows/quick-dev.mdc | 15 + .../rules/bmad/bmm/workflows/research.mdc | 7 + .../bmad/bmm/workflows/retrospective.mdc | 15 + .../bmad/bmm/workflows/sprint-planning.mdc | 15 + .../bmad/bmm/workflows/sprint-status.mdc | 15 + .../bmad/bmm/workflows/testarch-atdd.mdc | 15 + .../bmad/bmm/workflows/testarch-automate.mdc | 15 + .../rules/bmad/bmm/workflows/testarch-ci.mdc | 15 + .../bmad/bmm/workflows/testarch-framework.mdc | 15 + .../rules/bmad/bmm/workflows/testarch-nfr.mdc | 15 + .../bmm/workflows/testarch-test-design.mdc | 15 + .../bmm/workflows/testarch-test-review.mdc | 15 + .../bmad/bmm/workflows/testarch-trace.mdc | 15 + .../bmad/bmm/workflows/workflow-init.mdc | 15 + .../bmad/bmm/workflows/workflow-status.mdc | 15 + .../bmad/cis/agents/brainstorming-coach.mdc | 15 + .../cis/agents/creative-problem-solver.mdc | 15 + .../bmad/cis/agents/design-thinking-coach.mdc | 15 + .../bmad/cis/agents/innovation-strategist.mdc | 15 + .../bmad/cis/agents/presentation-master.mdc | 15 + .../rules/bmad/cis/agents/storyteller.mdc | 15 + .../bmad/cis/workflows/design-thinking.mdc | 15 + .../cis/workflows/innovation-strategy.mdc | 15 + .../bmad/cis/workflows/problem-solving.mdc | 15 + .../rules/bmad/cis/workflows/storytelling.mdc | 15 + .../rules/bmad/core/agents/bmad-master.mdc | 15 + .../bmad/core/tasks/advanced-elicitation.mdc | 122 +++++ .../rules/bmad/core/tasks/index-docs.mdc | 71 +++ .../rules/bmad/core/tools/shard-doc.mdc | 115 +++++ .../bmad/core/workflows/brainstorming.mdc | 7 + .../rules/bmad/core/workflows/party-mode.mdc | 7 + q1/.cursor/rules/bmad/index.mdc | 175 +++++++ .../bmd-custom-bmb-agent-builder.agent.md | 31 ++ .../bmd-custom-bmb-module-builder.agent.md | 31 ++ .../bmd-custom-bmb-workflow-builder.agent.md | 31 ++ .../bmd-custom-bmgd-game-architect.agent.md | 31 ++ .../bmd-custom-bmgd-game-designer.agent.md | 31 ++ .../agents/bmd-custom-bmgd-game-dev.agent.md | 31 ++ .../agents/bmd-custom-bmgd-game-qa.agent.md | 31 ++ ...bmd-custom-bmgd-game-scrum-master.agent.md | 31 ++ .../bmd-custom-bmgd-game-solo-dev.agent.md | 31 ++ .../agents/bmd-custom-bmm-analyst.agent.md | 31 ++ .../agents/bmd-custom-bmm-architect.agent.md | 31 ++ q1/.github/agents/bmd-custom-bmm-dev.agent.md | 31 ++ q1/.github/agents/bmd-custom-bmm-pm.agent.md | 31 ++ ...md-custom-bmm-quick-flow-solo-dev.agent.md | 31 ++ q1/.github/agents/bmd-custom-bmm-sm.agent.md | 31 ++ q1/.github/agents/bmd-custom-bmm-tea.agent.md | 31 ++ .../bmd-custom-bmm-tech-writer.agent.md | 31 ++ .../bmd-custom-bmm-ux-designer.agent.md | 31 ++ ...md-custom-cis-brainstorming-coach.agent.md | 31 ++ ...ustom-cis-creative-problem-solver.agent.md | 31 ++ ...-custom-cis-design-thinking-coach.agent.md | 31 ++ ...-custom-cis-innovation-strategist.agent.md | 31 ++ ...md-custom-cis-presentation-master.agent.md | 31 ++ .../bmd-custom-cis-storyteller.agent.md | 31 ++ .../bmd-custom-core-bmad-master.agent.md | 31 ++ .../commands/bmad/agents/bmb-agent-builder.md | 14 + .../bmad/agents/bmb-module-builder.md | 14 + .../bmad/agents/bmb-workflow-builder.md | 14 + .../bmad/agents/bmgd-game-architect.md | 14 + .../bmad/agents/bmgd-game-designer.md | 14 + .../commands/bmad/agents/bmgd-game-dev.md | 14 + .../commands/bmad/agents/bmgd-game-qa.md | 14 + .../bmad/agents/bmgd-game-scrum-master.md | 14 + .../bmad/agents/bmgd-game-solo-dev.md | 14 + q1/.iflow/commands/bmad/agents/bmm-analyst.md | 14 + .../commands/bmad/agents/bmm-architect.md | 14 + q1/.iflow/commands/bmad/agents/bmm-dev.md | 14 + q1/.iflow/commands/bmad/agents/bmm-pm.md | 14 + .../bmad/agents/bmm-quick-flow-solo-dev.md | 14 + q1/.iflow/commands/bmad/agents/bmm-sm.md | 14 + q1/.iflow/commands/bmad/agents/bmm-tea.md | 14 + .../commands/bmad/agents/bmm-tech-writer.md | 14 + .../commands/bmad/agents/bmm-ux-designer.md | 14 + .../bmad/agents/cis-brainstorming-coach.md | 14 + .../agents/cis-creative-problem-solver.md | 14 + .../bmad/agents/cis-design-thinking-coach.md | 14 + .../bmad/agents/cis-innovation-strategist.md | 14 + .../bmad/agents/cis-presentation-master.md | 14 + .../commands/bmad/agents/cis-storyteller.md | 14 + .../commands/bmad/agents/core-bmad-master.md | 14 + .../bmad/tasks/core-advanced-elicitation.md | 131 +++++ .../commands/bmad/tasks/core-index-docs.md | 81 +++ .../bmad/tasks/core-validate-workflow.md | 104 ++++ .../commands/bmad/tasks/core-workflow.md | 251 ++++++++++ .../bmb-Meal Prep & Nutrition Plan.md | 5 + .../bmad/workflows/bmb-create-agent.md | 5 + .../bmad/workflows/bmb-create-module.md | 5 + .../bmad/workflows/bmb-create-workflow.md | 5 + .../commands/bmad/workflows/bmb-edit-agent.md | 5 + .../bmad/workflows/bmb-edit-workflow.md | 5 + .../bmb-workflow-compliance-check.md | 5 + .../bmad/workflows/bmgd-brainstorm-game.md | 13 + .../bmad/workflows/bmgd-code-review.md | 13 + .../bmad/workflows/bmgd-correct-course.md | 13 + .../bmad/workflows/bmgd-create-game-brief.md | 5 + .../bmad/workflows/bmgd-create-gdd.md | 5 + .../bmad/workflows/bmgd-create-story.md | 13 + .../bmad/workflows/bmgd-create-tech-spec.md | 13 + .../commands/bmad/workflows/bmgd-dev-story.md | 13 + .../bmad/workflows/bmgd-game-architecture.md | 13 + .../bmad/workflows/bmgd-game-brief.md | 13 + .../bmad/workflows/bmgd-gametest-automate.md | 13 + .../bmad/workflows/bmgd-gametest-framework.md | 13 + .../workflows/bmgd-gametest-performance.md | 13 + .../workflows/bmgd-gametest-playtest-plan.md | 13 + .../workflows/bmgd-gametest-test-design.md | 13 + .../workflows/bmgd-gametest-test-review.md | 13 + q1/.iflow/commands/bmad/workflows/bmgd-gdd.md | 13 + .../bmgd-generate-project-context.md | 5 + .../commands/bmad/workflows/bmgd-narrative.md | 13 + .../commands/bmad/workflows/bmgd-quick-dev.md | 13 + .../bmad/workflows/bmgd-quick-prototype.md | 13 + .../bmad/workflows/bmgd-retrospective.md | 13 + .../bmad/workflows/bmgd-sprint-planning.md | 13 + .../bmad/workflows/bmgd-sprint-status.md | 13 + .../bmad/workflows/bmgd-workflow-init.md | 13 + .../bmad/workflows/bmgd-workflow-status.md | 13 + .../bmm-check-implementation-readiness.md | 5 + .../bmad/workflows/bmm-code-review.md | 13 + .../bmad/workflows/bmm-correct-course.md | 13 + .../bmad/workflows/bmm-create-architecture.md | 5 + .../workflows/bmm-create-epics-and-stories.md | 5 + .../bmm-create-excalidraw-dataflow.md | 13 + .../bmm-create-excalidraw-diagram.md | 13 + .../bmm-create-excalidraw-flowchart.md | 13 + .../bmm-create-excalidraw-wireframe.md | 13 + .../commands/bmad/workflows/bmm-create-prd.md | 5 + .../workflows/bmm-create-product-brief.md | 5 + .../bmad/workflows/bmm-create-story.md | 13 + .../bmad/workflows/bmm-create-tech-spec.md | 13 + .../bmad/workflows/bmm-create-ux-design.md | 5 + .../commands/bmad/workflows/bmm-dev-story.md | 13 + .../bmad/workflows/bmm-document-project.md | 13 + .../workflows/bmm-generate-project-context.md | 5 + .../commands/bmad/workflows/bmm-quick-dev.md | 13 + .../commands/bmad/workflows/bmm-research.md | 5 + .../bmad/workflows/bmm-retrospective.md | 13 + .../bmad/workflows/bmm-sprint-planning.md | 13 + .../bmad/workflows/bmm-sprint-status.md | 13 + .../bmad/workflows/bmm-testarch-atdd.md | 13 + .../bmad/workflows/bmm-testarch-automate.md | 13 + .../bmad/workflows/bmm-testarch-ci.md | 13 + .../bmad/workflows/bmm-testarch-framework.md | 13 + .../bmad/workflows/bmm-testarch-nfr.md | 13 + .../workflows/bmm-testarch-test-design.md | 13 + .../workflows/bmm-testarch-test-review.md | 13 + .../bmad/workflows/bmm-testarch-trace.md | 13 + .../bmad/workflows/bmm-workflow-init.md | 13 + .../bmad/workflows/bmm-workflow-status.md | 13 + .../bmad/workflows/cis-design-thinking.md | 13 + .../bmad/workflows/cis-innovation-strategy.md | 13 + .../bmad/workflows/cis-problem-solving.md | 13 + .../bmad/workflows/cis-storytelling.md | 13 + .../bmad/workflows/core-brainstorming.md | 5 + .../bmad/workflows/core-party-mode.md | 5 + q1/.kilocodemodes | 301 ++++++++++++ .../agent/bmad-agent-bmb-agent-builder.md | 14 + .../agent/bmad-agent-bmb-module-builder.md | 14 + .../agent/bmad-agent-bmb-workflow-builder.md | 14 + .../agent/bmad-agent-bmgd-game-architect.md | 14 + .../agent/bmad-agent-bmgd-game-designer.md | 14 + .../agent/bmad-agent-bmgd-game-dev.md | 14 + q1/.opencode/agent/bmad-agent-bmgd-game-qa.md | 14 + .../bmad-agent-bmgd-game-scrum-master.md | 14 + .../agent/bmad-agent-bmgd-game-solo-dev.md | 14 + q1/.opencode/agent/bmad-agent-bmm-analyst.md | 14 + .../agent/bmad-agent-bmm-architect.md | 14 + q1/.opencode/agent/bmad-agent-bmm-dev.md | 14 + q1/.opencode/agent/bmad-agent-bmm-pm.md | 14 + .../bmad-agent-bmm-quick-flow-solo-dev.md | 14 + q1/.opencode/agent/bmad-agent-bmm-sm.md | 14 + q1/.opencode/agent/bmad-agent-bmm-tea.md | 14 + .../agent/bmad-agent-bmm-tech-writer.md | 14 + .../agent/bmad-agent-bmm-ux-designer.md | 14 + .../bmad-agent-cis-brainstorming-coach.md | 14 + .../bmad-agent-cis-creative-problem-solver.md | 14 + .../bmad-agent-cis-design-thinking-coach.md | 14 + .../bmad-agent-cis-innovation-strategist.md | 14 + .../bmad-agent-cis-presentation-master.md | 14 + .../agent/bmad-agent-cis-storyteller.md | 14 + .../agent/bmad-agent-core-bmad-master.md | 14 + .../bmad-bmb-Meal Prep & Nutrition Plan.md | 5 + q1/.opencode/command/bmad-bmb-create-agent.md | 5 + .../command/bmad-bmb-create-module.md | 5 + .../command/bmad-bmb-create-workflow.md | 5 + q1/.opencode/command/bmad-bmb-edit-agent.md | 5 + .../command/bmad-bmb-edit-workflow.md | 5 + .../bmad-bmb-workflow-compliance-check.md | 5 + .../command/bmad-bmgd-brainstorm-game.md | 13 + q1/.opencode/command/bmad-bmgd-code-review.md | 13 + .../command/bmad-bmgd-correct-course.md | 13 + .../command/bmad-bmgd-create-game-brief.md | 5 + q1/.opencode/command/bmad-bmgd-create-gdd.md | 5 + .../command/bmad-bmgd-create-story.md | 13 + .../command/bmad-bmgd-create-tech-spec.md | 13 + q1/.opencode/command/bmad-bmgd-dev-story.md | 13 + .../command/bmad-bmgd-game-architecture.md | 13 + q1/.opencode/command/bmad-bmgd-game-brief.md | 13 + .../command/bmad-bmgd-gametest-automate.md | 13 + .../command/bmad-bmgd-gametest-framework.md | 13 + .../command/bmad-bmgd-gametest-performance.md | 13 + .../bmad-bmgd-gametest-playtest-plan.md | 13 + .../command/bmad-bmgd-gametest-test-design.md | 13 + .../command/bmad-bmgd-gametest-test-review.md | 13 + q1/.opencode/command/bmad-bmgd-gdd.md | 13 + .../bmad-bmgd-generate-project-context.md | 5 + q1/.opencode/command/bmad-bmgd-narrative.md | 13 + q1/.opencode/command/bmad-bmgd-quick-dev.md | 13 + .../command/bmad-bmgd-quick-prototype.md | 13 + .../command/bmad-bmgd-retrospective.md | 13 + .../command/bmad-bmgd-sprint-planning.md | 13 + .../command/bmad-bmgd-sprint-status.md | 13 + .../command/bmad-bmgd-workflow-init.md | 13 + .../command/bmad-bmgd-workflow-status.md | 13 + ...bmad-bmm-check-implementation-readiness.md | 5 + q1/.opencode/command/bmad-bmm-code-review.md | 13 + .../command/bmad-bmm-correct-course.md | 13 + .../command/bmad-bmm-create-architecture.md | 5 + .../bmad-bmm-create-epics-and-stories.md | 5 + .../bmad-bmm-create-excalidraw-dataflow.md | 13 + .../bmad-bmm-create-excalidraw-diagram.md | 13 + .../bmad-bmm-create-excalidraw-flowchart.md | 13 + .../bmad-bmm-create-excalidraw-wireframe.md | 13 + q1/.opencode/command/bmad-bmm-create-prd.md | 5 + .../command/bmad-bmm-create-product-brief.md | 5 + q1/.opencode/command/bmad-bmm-create-story.md | 13 + .../command/bmad-bmm-create-tech-spec.md | 13 + .../command/bmad-bmm-create-ux-design.md | 5 + q1/.opencode/command/bmad-bmm-dev-story.md | 13 + .../command/bmad-bmm-document-project.md | 13 + .../bmad-bmm-generate-project-context.md | 5 + q1/.opencode/command/bmad-bmm-quick-dev.md | 13 + q1/.opencode/command/bmad-bmm-research.md | 5 + .../command/bmad-bmm-retrospective.md | 13 + .../command/bmad-bmm-sprint-planning.md | 13 + .../command/bmad-bmm-sprint-status.md | 13 + .../command/bmad-bmm-testarch-atdd.md | 13 + .../command/bmad-bmm-testarch-automate.md | 13 + q1/.opencode/command/bmad-bmm-testarch-ci.md | 13 + .../command/bmad-bmm-testarch-framework.md | 13 + q1/.opencode/command/bmad-bmm-testarch-nfr.md | 13 + .../command/bmad-bmm-testarch-test-design.md | 13 + .../command/bmad-bmm-testarch-test-review.md | 13 + .../command/bmad-bmm-testarch-trace.md | 13 + .../command/bmad-bmm-workflow-init.md | 13 + .../command/bmad-bmm-workflow-status.md | 13 + .../command/bmad-cis-design-thinking.md | 13 + .../command/bmad-cis-innovation-strategy.md | 13 + .../command/bmad-cis-problem-solving.md | 13 + q1/.opencode/command/bmad-cis-storytelling.md | 13 + .../command/bmad-core-brainstorming.md | 5 + q1/.opencode/command/bmad-core-party-mode.md | 5 + .../bmad-task-core-advanced-elicitation.md | 9 + .../command/bmad-task-core-index-docs.md | 9 + .../command/bmad-tool-core-shard-doc.md | 9 + .../bmad/bmb/agents/agent-builder.toml | 12 + .../bmad/bmb/agents/module-builder.toml | 12 + .../bmad/bmb/agents/workflow-builder.toml | 12 + .../bmad/bmgd/agents/game-architect.toml | 12 + .../bmad/bmgd/agents/game-designer.toml | 12 + .../commands/bmad/bmgd/agents/game-dev.toml | 12 + .../commands/bmad/bmgd/agents/game-qa.toml | 12 + .../bmad/bmgd/agents/game-scrum-master.toml | 12 + .../bmad/bmgd/agents/game-solo-dev.toml | 12 + .../bmad/bmgd/workflows/brainstorm-game.toml | 46 ++ .../bmad/bmgd/workflows/code-review.toml | 66 +++ .../bmad/bmgd/workflows/correct-course.toml | 65 +++ .../bmad/bmgd/workflows/create-story.toml | 81 +++ .../bmad/bmgd/workflows/create-tech-spec.toml | 29 ++ .../bmad/bmgd/workflows/dev-story.toml | 70 +++ .../bmgd/workflows/game-architecture.toml | 74 +++ .../bmad/bmgd/workflows/game-brief.toml | 48 ++ .../commands/bmad/bmgd/workflows/gdd.toml | 51 ++ .../bmad/bmgd/workflows/narrative.toml | 55 +++ .../bmad/bmgd/workflows/quick-dev.toml | 47 ++ .../bmad/bmgd/workflows/quick-prototype.toml | 38 ++ .../bmad/bmgd/workflows/retrospective.toml | 64 +++ .../bmad/bmgd/workflows/sprint-planning.toml | 58 +++ .../bmad/bmgd/workflows/sprint-status.toml | 37 ++ .../bmad/bmgd/workflows/workflow-init.toml | 31 ++ .../bmad/bmgd/workflows/workflow-status.toml | 32 ++ .../commands/bmad/bmm/agents/analyst.toml | 12 + .../commands/bmad/bmm/agents/architect.toml | 12 + q1/.qwen/commands/bmad/bmm/agents/dev.toml | 12 + q1/.qwen/commands/bmad/bmm/agents/pm.toml | 12 + .../bmad/bmm/agents/quick-flow-solo-dev.toml | 12 + q1/.qwen/commands/bmad/bmm/agents/sm.toml | 12 + q1/.qwen/commands/bmad/bmm/agents/tea.toml | 12 + .../commands/bmad/bmm/agents/tech-writer.toml | 12 + .../commands/bmad/bmm/agents/ux-designer.toml | 12 + .../bmad/bmm/workflows/code-review.toml | 56 +++ .../bmad/bmm/workflows/correct-course.toml | 60 +++ .../workflows/create-excalidraw-dataflow.toml | 29 ++ .../workflows/create-excalidraw-diagram.toml | 29 ++ .../create-excalidraw-flowchart.toml | 29 ++ .../create-excalidraw-wireframe.toml | 29 ++ .../bmad/bmm/workflows/create-story.toml | 62 +++ .../bmad/bmm/workflows/create-tech-spec.toml | 28 ++ .../bmad/bmm/workflows/dev-story.toml | 29 ++ .../bmad/bmm/workflows/document-project.toml | 33 ++ .../bmad/bmm/workflows/quick-dev.toml | 35 ++ .../bmad/bmm/workflows/retrospective.toml | 59 +++ .../bmad/bmm/workflows/sprint-planning.toml | 55 +++ .../bmad/bmm/workflows/sprint-status.toml | 37 ++ .../bmad/bmm/workflows/workflow-init.toml | 31 ++ .../bmad/bmm/workflows/workflow-status.toml | 32 ++ .../bmad/cis/agents/brainstorming-coach.toml | 12 + .../cis/agents/creative-problem-solver.toml | 12 + .../cis/agents/design-thinking-coach.toml | 12 + .../cis/agents/innovation-strategist.toml | 12 + .../bmad/cis/agents/presentation-master.toml | 12 + .../commands/bmad/cis/agents/storyteller.toml | 12 + .../bmad/cis/workflows/design-thinking.toml | 31 ++ .../cis/workflows/innovation-strategy.toml | 31 ++ .../bmad/cis/workflows/problem-solving.toml | 31 ++ .../bmad/cis/workflows/storytelling.toml | 31 ++ .../bmad/core/agents/bmad-master.toml | 12 + .../commands/bmad/core/tools/shard-doc.toml | 112 +++++ .../bmad-task-core-advanced-elicitation.md | 9 + .../references/bmad-task-core-index-docs.md | 9 + .../references/bmad-tool-core-shard-doc.md | 9 + .../subagents/bmad-bmb-agent-builder.md | 6 + .../subagents/bmad-bmb-module-builder.md | 6 + .../subagents/bmad-bmb-workflow-builder.md | 6 + .../subagents/bmad-bmgd-game-architect.md | 6 + .../subagents/bmad-bmgd-game-designer.md | 6 + q1/.rovodev/subagents/bmad-bmgd-game-dev.md | 6 + q1/.rovodev/subagents/bmad-bmgd-game-qa.md | 6 + .../subagents/bmad-bmgd-game-scrum-master.md | 6 + .../subagents/bmad-bmgd-game-solo-dev.md | 6 + q1/.rovodev/subagents/bmad-bmm-analyst.md | 6 + q1/.rovodev/subagents/bmad-bmm-architect.md | 6 + q1/.rovodev/subagents/bmad-bmm-dev.md | 6 + q1/.rovodev/subagents/bmad-bmm-pm.md | 6 + .../subagents/bmad-bmm-quick-flow-solo-dev.md | 6 + q1/.rovodev/subagents/bmad-bmm-sm.md | 6 + q1/.rovodev/subagents/bmad-bmm-tea.md | 6 + q1/.rovodev/subagents/bmad-bmm-tech-writer.md | 6 + q1/.rovodev/subagents/bmad-bmm-ux-designer.md | 6 + .../subagents/bmad-cis-brainstorming-coach.md | 6 + .../bmad-cis-creative-problem-solver.md | 6 + .../bmad-cis-design-thinking-coach.md | 6 + .../bmad-cis-innovation-strategist.md | 6 + .../subagents/bmad-cis-presentation-master.md | 6 + q1/.rovodev/subagents/bmad-cis-storyteller.md | 6 + .../subagents/bmad-core-bmad-master.md | 6 + .../workflows/Meal Prep & Nutrition Plan.md | 5 + q1/.rovodev/workflows/brainstorm-game.md | 13 + q1/.rovodev/workflows/brainstorming.md | 5 + .../check-implementation-readiness.md | 5 + q1/.rovodev/workflows/code-review.md | 13 + q1/.rovodev/workflows/correct-course.md | 13 + q1/.rovodev/workflows/create-agent.md | 5 + q1/.rovodev/workflows/create-architecture.md | 5 + .../workflows/create-epics-and-stories.md | 5 + .../workflows/create-excalidraw-dataflow.md | 13 + .../workflows/create-excalidraw-diagram.md | 13 + .../workflows/create-excalidraw-flowchart.md | 13 + .../workflows/create-excalidraw-wireframe.md | 13 + q1/.rovodev/workflows/create-game-brief.md | 5 + q1/.rovodev/workflows/create-gdd.md | 5 + q1/.rovodev/workflows/create-module.md | 5 + q1/.rovodev/workflows/create-prd.md | 5 + q1/.rovodev/workflows/create-product-brief.md | 5 + q1/.rovodev/workflows/create-story.md | 13 + q1/.rovodev/workflows/create-tech-spec.md | 13 + q1/.rovodev/workflows/create-ux-design.md | 5 + q1/.rovodev/workflows/create-workflow.md | 5 + q1/.rovodev/workflows/design-thinking.md | 13 + q1/.rovodev/workflows/dev-story.md | 13 + q1/.rovodev/workflows/document-project.md | 13 + q1/.rovodev/workflows/edit-agent.md | 5 + q1/.rovodev/workflows/edit-workflow.md | 5 + q1/.rovodev/workflows/game-architecture.md | 13 + q1/.rovodev/workflows/game-brief.md | 13 + q1/.rovodev/workflows/gametest-automate.md | 13 + q1/.rovodev/workflows/gametest-framework.md | 13 + q1/.rovodev/workflows/gametest-performance.md | 13 + .../workflows/gametest-playtest-plan.md | 13 + q1/.rovodev/workflows/gametest-test-design.md | 13 + q1/.rovodev/workflows/gametest-test-review.md | 13 + q1/.rovodev/workflows/gdd.md | 13 + .../workflows/generate-project-context.md | 5 + q1/.rovodev/workflows/innovation-strategy.md | 13 + q1/.rovodev/workflows/narrative.md | 13 + q1/.rovodev/workflows/party-mode.md | 5 + q1/.rovodev/workflows/problem-solving.md | 13 + q1/.rovodev/workflows/quick-dev.md | 13 + q1/.rovodev/workflows/quick-prototype.md | 13 + q1/.rovodev/workflows/research.md | 5 + q1/.rovodev/workflows/retrospective.md | 13 + q1/.rovodev/workflows/sprint-planning.md | 13 + q1/.rovodev/workflows/sprint-status.md | 13 + q1/.rovodev/workflows/storytelling.md | 13 + q1/.rovodev/workflows/testarch-atdd.md | 13 + q1/.rovodev/workflows/testarch-automate.md | 13 + q1/.rovodev/workflows/testarch-ci.md | 13 + q1/.rovodev/workflows/testarch-framework.md | 13 + q1/.rovodev/workflows/testarch-nfr.md | 13 + q1/.rovodev/workflows/testarch-test-design.md | 13 + q1/.rovodev/workflows/testarch-test-review.md | 13 + q1/.rovodev/workflows/testarch-trace.md | 13 + .../workflows/workflow-compliance-check.md | 5 + q1/.rovodev/workflows/workflow-init.md | 13 + q1/.rovodev/workflows/workflow-status.md | 13 + .../installers/lib/core/config-collector.js | 2 +- tools/cli/installers/lib/core/installer.js | 9 +- tools/cli/installers/lib/ide/antigravity.js | 6 +- tools/cli/installers/lib/ide/claude-code.js | 6 +- tools/cli/installers/lib/ide/codex.js | 2 +- .../cli/installers/lib/ide/github-copilot.js | 2 +- tools/cli/lib/ui.js | 4 +- 783 files changed, 13034 insertions(+), 413 deletions(-) create mode 100644 q1/.augment/commands/bmad/agents/bmb-agent-builder.md create mode 100644 q1/.augment/commands/bmad/agents/bmb-module-builder.md create mode 100644 q1/.augment/commands/bmad/agents/bmb-workflow-builder.md create mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-architect.md create mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-designer.md create mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-dev.md create mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-qa.md create mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md create mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-analyst.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-architect.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-dev.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-pm.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-sm.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-tea.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-tech-writer.md create mode 100644 q1/.augment/commands/bmad/agents/bmm-ux-designer.md create mode 100644 q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md create mode 100644 q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md create mode 100644 q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md create mode 100644 q1/.augment/commands/bmad/agents/cis-innovation-strategist.md create mode 100644 q1/.augment/commands/bmad/agents/cis-presentation-master.md create mode 100644 q1/.augment/commands/bmad/agents/cis-storyteller.md create mode 100644 q1/.augment/commands/bmad/agents/core-bmad-master.md create mode 100644 q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md create mode 100644 q1/.augment/commands/bmad/tasks/core-index-docs.md create mode 100644 q1/.augment/commands/bmad/tools/core-shard-doc.md create mode 100644 q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md create mode 100644 q1/.augment/commands/bmad/workflows/bmb-create-agent.md create mode 100644 q1/.augment/commands/bmad/workflows/bmb-create-module.md create mode 100644 q1/.augment/commands/bmad/workflows/bmb-create-workflow.md create mode 100644 q1/.augment/commands/bmad/workflows/bmb-edit-agent.md create mode 100644 q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md create mode 100644 q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-code-review.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-correct-course.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-story.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-dev-story.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-game-brief.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gdd.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-narrative.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-retrospective.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md create mode 100644 q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-code-review.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-correct-course.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-architecture.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-prd.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-story.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-dev-story.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-document-project.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-quick-dev.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-research.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-retrospective.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-sprint-status.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-workflow-init.md create mode 100644 q1/.augment/commands/bmad/workflows/bmm-workflow-status.md create mode 100644 q1/.augment/commands/bmad/workflows/cis-design-thinking.md create mode 100644 q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md create mode 100644 q1/.augment/commands/bmad/workflows/cis-problem-solving.md create mode 100644 q1/.augment/commands/bmad/workflows/cis-storytelling.md create mode 100644 q1/.augment/commands/bmad/workflows/core-brainstorming.md create mode 100644 q1/.augment/commands/bmad/workflows/core-party-mode.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-README.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md create mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-README.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md create mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-analyst.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-architect.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-dev.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-pm.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-sm.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-tea.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-README.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-research.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md create mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md create mode 100644 q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md create mode 100644 q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md create mode 100644 q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md create mode 100644 q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md create mode 100644 q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md create mode 100644 q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md create mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-README.md create mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md create mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md create mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md create mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md create mode 100644 q1/.clinerules/workflows/bmad-core-agents-bmad-master.md create mode 100644 q1/.clinerules/workflows/bmad-core-workflows-README.md create mode 100644 q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md create mode 100644 q1/.clinerules/workflows/bmad-core-workflows-party-mode.md create mode 100644 q1/.crush/commands/bmad/bmb/agents/agent-builder.md create mode 100644 q1/.crush/commands/bmad/bmb/agents/module-builder.md create mode 100644 q1/.crush/commands/bmad/bmb/agents/workflow-builder.md create mode 100644 q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md create mode 100644 q1/.crush/commands/bmad/bmb/workflows/create-agent.md create mode 100644 q1/.crush/commands/bmad/bmb/workflows/create-module.md create mode 100644 q1/.crush/commands/bmad/bmb/workflows/create-workflow.md create mode 100644 q1/.crush/commands/bmad/bmb/workflows/edit-agent.md create mode 100644 q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md create mode 100644 q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md create mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-architect.md create mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-designer.md create mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-dev.md create mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-qa.md create mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md create mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/code-review.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/correct-course.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-story.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/dev-story.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/game-brief.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gdd.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/narrative.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/retrospective.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md create mode 100644 q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/analyst.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/architect.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/dev.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/pm.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/sm.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/tea.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/tech-writer.md create mode 100644 q1/.crush/commands/bmad/bmm/agents/ux-designer.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/code-review.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/correct-course.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-architecture.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-prd.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-story.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/dev-story.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/document-project.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/quick-dev.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/research.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/retrospective.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/sprint-status.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/workflow-init.md create mode 100644 q1/.crush/commands/bmad/bmm/workflows/workflow-status.md create mode 100644 q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md create mode 100644 q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md create mode 100644 q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md create mode 100644 q1/.crush/commands/bmad/cis/agents/innovation-strategist.md create mode 100644 q1/.crush/commands/bmad/cis/agents/presentation-master.md create mode 100644 q1/.crush/commands/bmad/cis/agents/storyteller.md create mode 100644 q1/.crush/commands/bmad/cis/workflows/design-thinking.md create mode 100644 q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md create mode 100644 q1/.crush/commands/bmad/cis/workflows/problem-solving.md create mode 100644 q1/.crush/commands/bmad/cis/workflows/storytelling.md create mode 100644 q1/.crush/commands/bmad/core/agents/bmad-master.md create mode 100644 q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md create mode 100644 q1/.crush/commands/bmad/core/tasks/index-docs.md create mode 100644 q1/.crush/commands/bmad/core/tools/shard-doc.md create mode 100644 q1/.crush/commands/bmad/core/workflows/brainstorming.md create mode 100644 q1/.crush/commands/bmad/core/workflows/party-mode.md create mode 100644 q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc create mode 100644 q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc create mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/analyst.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/architect.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/dev.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/pm.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/sm.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/tea.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/research.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc create mode 100644 q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc create mode 100644 q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc create mode 100644 q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc create mode 100644 q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc create mode 100644 q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc create mode 100644 q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc create mode 100644 q1/.cursor/rules/bmad/cis/agents/storyteller.mdc create mode 100644 q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc create mode 100644 q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc create mode 100644 q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc create mode 100644 q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc create mode 100644 q1/.cursor/rules/bmad/core/agents/bmad-master.mdc create mode 100644 q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc create mode 100644 q1/.cursor/rules/bmad/core/tasks/index-docs.mdc create mode 100644 q1/.cursor/rules/bmad/core/tools/shard-doc.mdc create mode 100644 q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc create mode 100644 q1/.cursor/rules/bmad/core/workflows/party-mode.mdc create mode 100644 q1/.cursor/rules/bmad/index.mdc create mode 100644 q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmb-module-builder.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-analyst.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-architect.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-dev.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-pm.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-sm.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-tea.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md create mode 100644 q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md create mode 100644 q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md create mode 100644 q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md create mode 100644 q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md create mode 100644 q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md create mode 100644 q1/.github/agents/bmd-custom-cis-presentation-master.agent.md create mode 100644 q1/.github/agents/bmd-custom-cis-storyteller.agent.md create mode 100644 q1/.github/agents/bmd-custom-core-bmad-master.agent.md create mode 100644 q1/.iflow/commands/bmad/agents/bmb-agent-builder.md create mode 100644 q1/.iflow/commands/bmad/agents/bmb-module-builder.md create mode 100644 q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md create mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-architect.md create mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-designer.md create mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-dev.md create mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-qa.md create mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md create mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-analyst.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-architect.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-dev.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-pm.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-sm.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-tea.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-tech-writer.md create mode 100644 q1/.iflow/commands/bmad/agents/bmm-ux-designer.md create mode 100644 q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md create mode 100644 q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md create mode 100644 q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md create mode 100644 q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md create mode 100644 q1/.iflow/commands/bmad/agents/cis-presentation-master.md create mode 100644 q1/.iflow/commands/bmad/agents/cis-storyteller.md create mode 100644 q1/.iflow/commands/bmad/agents/core-bmad-master.md create mode 100644 q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md create mode 100644 q1/.iflow/commands/bmad/tasks/core-index-docs.md create mode 100644 q1/.iflow/commands/bmad/tasks/core-validate-workflow.md create mode 100644 q1/.iflow/commands/bmad/tasks/core-workflow.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmb-create-agent.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmb-create-module.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-code-review.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-story.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gdd.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-narrative.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-code-review.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-correct-course.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-prd.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-story.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-dev-story.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-document-project.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-research.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-retrospective.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md create mode 100644 q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md create mode 100644 q1/.iflow/commands/bmad/workflows/cis-design-thinking.md create mode 100644 q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md create mode 100644 q1/.iflow/commands/bmad/workflows/cis-problem-solving.md create mode 100644 q1/.iflow/commands/bmad/workflows/cis-storytelling.md create mode 100644 q1/.iflow/commands/bmad/workflows/core-brainstorming.md create mode 100644 q1/.iflow/commands/bmad/workflows/core-party-mode.md create mode 100644 q1/.kilocodemodes create mode 100644 q1/.opencode/agent/bmad-agent-bmb-agent-builder.md create mode 100644 q1/.opencode/agent/bmad-agent-bmb-module-builder.md create mode 100644 q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md create mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-architect.md create mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-designer.md create mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-dev.md create mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-qa.md create mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md create mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-analyst.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-architect.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-dev.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-pm.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-sm.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-tea.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-tech-writer.md create mode 100644 q1/.opencode/agent/bmad-agent-bmm-ux-designer.md create mode 100644 q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md create mode 100644 q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md create mode 100644 q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md create mode 100644 q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md create mode 100644 q1/.opencode/agent/bmad-agent-cis-presentation-master.md create mode 100644 q1/.opencode/agent/bmad-agent-cis-storyteller.md create mode 100644 q1/.opencode/agent/bmad-agent-core-bmad-master.md create mode 100644 q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md create mode 100644 q1/.opencode/command/bmad-bmb-create-agent.md create mode 100644 q1/.opencode/command/bmad-bmb-create-module.md create mode 100644 q1/.opencode/command/bmad-bmb-create-workflow.md create mode 100644 q1/.opencode/command/bmad-bmb-edit-agent.md create mode 100644 q1/.opencode/command/bmad-bmb-edit-workflow.md create mode 100644 q1/.opencode/command/bmad-bmb-workflow-compliance-check.md create mode 100644 q1/.opencode/command/bmad-bmgd-brainstorm-game.md create mode 100644 q1/.opencode/command/bmad-bmgd-code-review.md create mode 100644 q1/.opencode/command/bmad-bmgd-correct-course.md create mode 100644 q1/.opencode/command/bmad-bmgd-create-game-brief.md create mode 100644 q1/.opencode/command/bmad-bmgd-create-gdd.md create mode 100644 q1/.opencode/command/bmad-bmgd-create-story.md create mode 100644 q1/.opencode/command/bmad-bmgd-create-tech-spec.md create mode 100644 q1/.opencode/command/bmad-bmgd-dev-story.md create mode 100644 q1/.opencode/command/bmad-bmgd-game-architecture.md create mode 100644 q1/.opencode/command/bmad-bmgd-game-brief.md create mode 100644 q1/.opencode/command/bmad-bmgd-gametest-automate.md create mode 100644 q1/.opencode/command/bmad-bmgd-gametest-framework.md create mode 100644 q1/.opencode/command/bmad-bmgd-gametest-performance.md create mode 100644 q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md create mode 100644 q1/.opencode/command/bmad-bmgd-gametest-test-design.md create mode 100644 q1/.opencode/command/bmad-bmgd-gametest-test-review.md create mode 100644 q1/.opencode/command/bmad-bmgd-gdd.md create mode 100644 q1/.opencode/command/bmad-bmgd-generate-project-context.md create mode 100644 q1/.opencode/command/bmad-bmgd-narrative.md create mode 100644 q1/.opencode/command/bmad-bmgd-quick-dev.md create mode 100644 q1/.opencode/command/bmad-bmgd-quick-prototype.md create mode 100644 q1/.opencode/command/bmad-bmgd-retrospective.md create mode 100644 q1/.opencode/command/bmad-bmgd-sprint-planning.md create mode 100644 q1/.opencode/command/bmad-bmgd-sprint-status.md create mode 100644 q1/.opencode/command/bmad-bmgd-workflow-init.md create mode 100644 q1/.opencode/command/bmad-bmgd-workflow-status.md create mode 100644 q1/.opencode/command/bmad-bmm-check-implementation-readiness.md create mode 100644 q1/.opencode/command/bmad-bmm-code-review.md create mode 100644 q1/.opencode/command/bmad-bmm-correct-course.md create mode 100644 q1/.opencode/command/bmad-bmm-create-architecture.md create mode 100644 q1/.opencode/command/bmad-bmm-create-epics-and-stories.md create mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md create mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md create mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md create mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md create mode 100644 q1/.opencode/command/bmad-bmm-create-prd.md create mode 100644 q1/.opencode/command/bmad-bmm-create-product-brief.md create mode 100644 q1/.opencode/command/bmad-bmm-create-story.md create mode 100644 q1/.opencode/command/bmad-bmm-create-tech-spec.md create mode 100644 q1/.opencode/command/bmad-bmm-create-ux-design.md create mode 100644 q1/.opencode/command/bmad-bmm-dev-story.md create mode 100644 q1/.opencode/command/bmad-bmm-document-project.md create mode 100644 q1/.opencode/command/bmad-bmm-generate-project-context.md create mode 100644 q1/.opencode/command/bmad-bmm-quick-dev.md create mode 100644 q1/.opencode/command/bmad-bmm-research.md create mode 100644 q1/.opencode/command/bmad-bmm-retrospective.md create mode 100644 q1/.opencode/command/bmad-bmm-sprint-planning.md create mode 100644 q1/.opencode/command/bmad-bmm-sprint-status.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-atdd.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-automate.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-ci.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-framework.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-nfr.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-test-design.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-test-review.md create mode 100644 q1/.opencode/command/bmad-bmm-testarch-trace.md create mode 100644 q1/.opencode/command/bmad-bmm-workflow-init.md create mode 100644 q1/.opencode/command/bmad-bmm-workflow-status.md create mode 100644 q1/.opencode/command/bmad-cis-design-thinking.md create mode 100644 q1/.opencode/command/bmad-cis-innovation-strategy.md create mode 100644 q1/.opencode/command/bmad-cis-problem-solving.md create mode 100644 q1/.opencode/command/bmad-cis-storytelling.md create mode 100644 q1/.opencode/command/bmad-core-brainstorming.md create mode 100644 q1/.opencode/command/bmad-core-party-mode.md create mode 100644 q1/.opencode/command/bmad-task-core-advanced-elicitation.md create mode 100644 q1/.opencode/command/bmad-task-core-index-docs.md create mode 100644 q1/.opencode/command/bmad-tool-core-shard-doc.md create mode 100644 q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml create mode 100644 q1/.qwen/commands/bmad/bmb/agents/module-builder.toml create mode 100644 q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml create mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/analyst.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/architect.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/dev.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/pm.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/sm.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/tea.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml create mode 100644 q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/code-review.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-story.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/document-project.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml create mode 100644 q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml create mode 100644 q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml create mode 100644 q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml create mode 100644 q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml create mode 100644 q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml create mode 100644 q1/.qwen/commands/bmad/cis/agents/presentation-master.toml create mode 100644 q1/.qwen/commands/bmad/cis/agents/storyteller.toml create mode 100644 q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml create mode 100644 q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml create mode 100644 q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml create mode 100644 q1/.qwen/commands/bmad/cis/workflows/storytelling.toml create mode 100644 q1/.qwen/commands/bmad/core/agents/bmad-master.toml create mode 100644 q1/.qwen/commands/bmad/core/tools/shard-doc.toml create mode 100644 q1/.rovodev/references/bmad-task-core-advanced-elicitation.md create mode 100644 q1/.rovodev/references/bmad-task-core-index-docs.md create mode 100644 q1/.rovodev/references/bmad-tool-core-shard-doc.md create mode 100644 q1/.rovodev/subagents/bmad-bmb-agent-builder.md create mode 100644 q1/.rovodev/subagents/bmad-bmb-module-builder.md create mode 100644 q1/.rovodev/subagents/bmad-bmb-workflow-builder.md create mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-architect.md create mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-designer.md create mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-dev.md create mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-qa.md create mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md create mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-analyst.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-architect.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-dev.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-pm.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-sm.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-tea.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-tech-writer.md create mode 100644 q1/.rovodev/subagents/bmad-bmm-ux-designer.md create mode 100644 q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md create mode 100644 q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md create mode 100644 q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md create mode 100644 q1/.rovodev/subagents/bmad-cis-innovation-strategist.md create mode 100644 q1/.rovodev/subagents/bmad-cis-presentation-master.md create mode 100644 q1/.rovodev/subagents/bmad-cis-storyteller.md create mode 100644 q1/.rovodev/subagents/bmad-core-bmad-master.md create mode 100644 q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md create mode 100644 q1/.rovodev/workflows/brainstorm-game.md create mode 100644 q1/.rovodev/workflows/brainstorming.md create mode 100644 q1/.rovodev/workflows/check-implementation-readiness.md create mode 100644 q1/.rovodev/workflows/code-review.md create mode 100644 q1/.rovodev/workflows/correct-course.md create mode 100644 q1/.rovodev/workflows/create-agent.md create mode 100644 q1/.rovodev/workflows/create-architecture.md create mode 100644 q1/.rovodev/workflows/create-epics-and-stories.md create mode 100644 q1/.rovodev/workflows/create-excalidraw-dataflow.md create mode 100644 q1/.rovodev/workflows/create-excalidraw-diagram.md create mode 100644 q1/.rovodev/workflows/create-excalidraw-flowchart.md create mode 100644 q1/.rovodev/workflows/create-excalidraw-wireframe.md create mode 100644 q1/.rovodev/workflows/create-game-brief.md create mode 100644 q1/.rovodev/workflows/create-gdd.md create mode 100644 q1/.rovodev/workflows/create-module.md create mode 100644 q1/.rovodev/workflows/create-prd.md create mode 100644 q1/.rovodev/workflows/create-product-brief.md create mode 100644 q1/.rovodev/workflows/create-story.md create mode 100644 q1/.rovodev/workflows/create-tech-spec.md create mode 100644 q1/.rovodev/workflows/create-ux-design.md create mode 100644 q1/.rovodev/workflows/create-workflow.md create mode 100644 q1/.rovodev/workflows/design-thinking.md create mode 100644 q1/.rovodev/workflows/dev-story.md create mode 100644 q1/.rovodev/workflows/document-project.md create mode 100644 q1/.rovodev/workflows/edit-agent.md create mode 100644 q1/.rovodev/workflows/edit-workflow.md create mode 100644 q1/.rovodev/workflows/game-architecture.md create mode 100644 q1/.rovodev/workflows/game-brief.md create mode 100644 q1/.rovodev/workflows/gametest-automate.md create mode 100644 q1/.rovodev/workflows/gametest-framework.md create mode 100644 q1/.rovodev/workflows/gametest-performance.md create mode 100644 q1/.rovodev/workflows/gametest-playtest-plan.md create mode 100644 q1/.rovodev/workflows/gametest-test-design.md create mode 100644 q1/.rovodev/workflows/gametest-test-review.md create mode 100644 q1/.rovodev/workflows/gdd.md create mode 100644 q1/.rovodev/workflows/generate-project-context.md create mode 100644 q1/.rovodev/workflows/innovation-strategy.md create mode 100644 q1/.rovodev/workflows/narrative.md create mode 100644 q1/.rovodev/workflows/party-mode.md create mode 100644 q1/.rovodev/workflows/problem-solving.md create mode 100644 q1/.rovodev/workflows/quick-dev.md create mode 100644 q1/.rovodev/workflows/quick-prototype.md create mode 100644 q1/.rovodev/workflows/research.md create mode 100644 q1/.rovodev/workflows/retrospective.md create mode 100644 q1/.rovodev/workflows/sprint-planning.md create mode 100644 q1/.rovodev/workflows/sprint-status.md create mode 100644 q1/.rovodev/workflows/storytelling.md create mode 100644 q1/.rovodev/workflows/testarch-atdd.md create mode 100644 q1/.rovodev/workflows/testarch-automate.md create mode 100644 q1/.rovodev/workflows/testarch-ci.md create mode 100644 q1/.rovodev/workflows/testarch-framework.md create mode 100644 q1/.rovodev/workflows/testarch-nfr.md create mode 100644 q1/.rovodev/workflows/testarch-test-design.md create mode 100644 q1/.rovodev/workflows/testarch-test-review.md create mode 100644 q1/.rovodev/workflows/testarch-trace.md create mode 100644 q1/.rovodev/workflows/workflow-compliance-check.md create mode 100644 q1/.rovodev/workflows/workflow-init.md create mode 100644 q1/.rovodev/workflows/workflow-status.md diff --git a/package-lock.json b/package-lock.json index d2421a22..3cc663db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "fs-extra": "^11.3.0", "glob": "^11.0.3", "ignore": "^7.0.5", - "inquirer": "^8.2.6", + "inquirer": "^9.3.8", "js-yaml": "^4.1.0", "ora": "^5.4.1", "semver": "^7.6.3", @@ -98,7 +98,6 @@ "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -594,40 +593,6 @@ "node": ">=0.1.90" } }, - "node_modules/@emnapi/core": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", - "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.0.4", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", - "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", - "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", @@ -846,13 +811,13 @@ } }, "node_modules/@inquirer/external-editor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", - "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", "license": "MIT", "dependencies": { - "chardet": "^2.1.0", - "iconv-lite": "^0.6.3" + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" }, "engines": { "node": ">=18" @@ -866,6 +831,15 @@ } } }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", @@ -1592,19 +1566,6 @@ "url": "https://github.com/sponsors/ksylvan" } }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1707,17 +1668,6 @@ "@sinonjs/commons": "^3.0.1" } }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", - "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1841,7 +1791,6 @@ "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~7.10.0" } @@ -1883,34 +1832,6 @@ "dev": true, "license": "ISC" }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@unrs/resolver-binding-darwin-arm64": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", @@ -1925,240 +1846,12 @@ "darwin" ] }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2520,7 +2213,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001735", "electron-to-chromium": "^1.5.204", @@ -2841,9 +2533,9 @@ } }, "node_modules/chardet": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", - "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", "license": "MIT" }, "node_modules/ci-info": { @@ -3015,12 +2707,12 @@ } }, "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "license": "ISC", "engines": { - "node": ">= 10" + "node": ">= 12" } }, "node_modules/cliui": { @@ -3410,7 +3102,6 @@ "integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -3931,30 +3622,6 @@ "node": ">= 0.4.0" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -4314,15 +3981,19 @@ } }, "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", + "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/ieee754": { @@ -4443,29 +4114,26 @@ } }, "node_modules/inquirer": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz", - "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", + "version": "9.3.8", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.3.8.tgz", + "integrity": "sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w==", "license": "MIT", "dependencies": { - "@inquirer/external-editor": "^1.0.0", - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", + "@inquirer/external-editor": "^1.0.2", + "@inquirer/figures": "^1.0.3", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "1.0.0", "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=18" } }, "node_modules/inquirer/node_modules/wrap-ansi": { @@ -5857,12 +5525,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, "node_modules/lodash.iteratee": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.iteratee/-/lodash.iteratee-4.7.0.tgz", @@ -6976,10 +6638,13 @@ "license": "MIT" }, "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "license": "ISC" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/nano-spawn": { "version": "1.0.2", @@ -7498,7 +7163,6 @@ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -7793,9 +7457,9 @@ "license": "MIT" }, "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", "license": "MIT", "engines": { "node": ">=0.12.0" @@ -8284,12 +7948,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "license": "MIT" - }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", @@ -8331,7 +7989,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -8979,6 +8636,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zod": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz", diff --git a/package.json b/package.json index f9694ae6..511f7fae 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "fs-extra": "^11.3.0", "glob": "^11.0.3", "ignore": "^7.0.5", - "inquirer": "^8.2.6", + "inquirer": "^9.3.8", "js-yaml": "^4.1.0", "ora": "^5.4.1", "semver": "^7.6.3", diff --git a/q1/.augment/commands/bmad/agents/bmb-agent-builder.md b/q1/.augment/commands/bmad/agents/bmb-agent-builder.md new file mode 100644 index 00000000..2dd96fa3 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmb-agent-builder.md @@ -0,0 +1,14 @@ +--- +name: 'agent-builder' +description: 'agent-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmb-module-builder.md b/q1/.augment/commands/bmad/agents/bmb-module-builder.md new file mode 100644 index 00000000..2e35abeb --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmb-module-builder.md @@ -0,0 +1,14 @@ +--- +name: 'module-builder' +description: 'module-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmb-workflow-builder.md b/q1/.augment/commands/bmad/agents/bmb-workflow-builder.md new file mode 100644 index 00000000..f388a48c --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmb-workflow-builder.md @@ -0,0 +1,14 @@ +--- +name: 'workflow-builder' +description: 'workflow-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-architect.md b/q1/.augment/commands/bmad/agents/bmgd-game-architect.md new file mode 100644 index 00000000..7528a352 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmgd-game-architect.md @@ -0,0 +1,14 @@ +--- +name: 'game-architect' +description: 'game-architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-designer.md b/q1/.augment/commands/bmad/agents/bmgd-game-designer.md new file mode 100644 index 00000000..bb276b18 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmgd-game-designer.md @@ -0,0 +1,14 @@ +--- +name: 'game-designer' +description: 'game-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-dev.md b/q1/.augment/commands/bmad/agents/bmgd-game-dev.md new file mode 100644 index 00000000..00ecac81 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmgd-game-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-dev' +description: 'game-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-qa.md b/q1/.augment/commands/bmad/agents/bmgd-game-qa.md new file mode 100644 index 00000000..cbb4434d --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmgd-game-qa.md @@ -0,0 +1,14 @@ +--- +name: 'game-qa' +description: 'game-qa agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md b/q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md new file mode 100644 index 00000000..7873999e --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md @@ -0,0 +1,14 @@ +--- +name: 'game-scrum-master' +description: 'game-scrum-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md b/q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md new file mode 100644 index 00000000..24974f20 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-solo-dev' +description: 'game-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-analyst.md b/q1/.augment/commands/bmad/agents/bmm-analyst.md new file mode 100644 index 00000000..7224bfa4 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-analyst.md @@ -0,0 +1,14 @@ +--- +name: 'analyst' +description: 'analyst agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-architect.md b/q1/.augment/commands/bmad/agents/bmm-architect.md new file mode 100644 index 00000000..8bf9f3a1 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-architect.md @@ -0,0 +1,14 @@ +--- +name: 'architect' +description: 'architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-dev.md b/q1/.augment/commands/bmad/agents/bmm-dev.md new file mode 100644 index 00000000..171ad6eb --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-dev.md @@ -0,0 +1,14 @@ +--- +name: 'dev' +description: 'dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-pm.md b/q1/.augment/commands/bmad/agents/bmm-pm.md new file mode 100644 index 00000000..347e7d4e --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-pm.md @@ -0,0 +1,14 @@ +--- +name: 'pm' +description: 'pm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md b/q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md new file mode 100644 index 00000000..7a956561 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'quick-flow-solo-dev' +description: 'quick-flow-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-sm.md b/q1/.augment/commands/bmad/agents/bmm-sm.md new file mode 100644 index 00000000..bf7d6710 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-sm.md @@ -0,0 +1,14 @@ +--- +name: 'sm' +description: 'sm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-tea.md b/q1/.augment/commands/bmad/agents/bmm-tea.md new file mode 100644 index 00000000..a91b8888 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-tea.md @@ -0,0 +1,14 @@ +--- +name: 'tea' +description: 'tea agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-tech-writer.md b/q1/.augment/commands/bmad/agents/bmm-tech-writer.md new file mode 100644 index 00000000..1926e6eb --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-tech-writer.md @@ -0,0 +1,14 @@ +--- +name: 'tech-writer' +description: 'tech-writer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/bmm-ux-designer.md b/q1/.augment/commands/bmad/agents/bmm-ux-designer.md new file mode 100644 index 00000000..66a16bd9 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/bmm-ux-designer.md @@ -0,0 +1,14 @@ +--- +name: 'ux-designer' +description: 'ux-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md b/q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md new file mode 100644 index 00000000..ee3aeb32 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md @@ -0,0 +1,14 @@ +--- +name: 'brainstorming-coach' +description: 'brainstorming-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md b/q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md new file mode 100644 index 00000000..11dbb44e --- /dev/null +++ b/q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md @@ -0,0 +1,14 @@ +--- +name: 'creative-problem-solver' +description: 'creative-problem-solver agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md b/q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md new file mode 100644 index 00000000..dd616724 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md @@ -0,0 +1,14 @@ +--- +name: 'design-thinking-coach' +description: 'design-thinking-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/cis-innovation-strategist.md b/q1/.augment/commands/bmad/agents/cis-innovation-strategist.md new file mode 100644 index 00000000..9155c727 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/cis-innovation-strategist.md @@ -0,0 +1,14 @@ +--- +name: 'innovation-strategist' +description: 'innovation-strategist agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/cis-presentation-master.md b/q1/.augment/commands/bmad/agents/cis-presentation-master.md new file mode 100644 index 00000000..19340d91 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/cis-presentation-master.md @@ -0,0 +1,14 @@ +--- +name: 'presentation-master' +description: 'presentation-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/cis-storyteller.md b/q1/.augment/commands/bmad/agents/cis-storyteller.md new file mode 100644 index 00000000..06f816fa --- /dev/null +++ b/q1/.augment/commands/bmad/agents/cis-storyteller.md @@ -0,0 +1,14 @@ +--- +name: 'storyteller' +description: 'storyteller agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/agents/core-bmad-master.md b/q1/.augment/commands/bmad/agents/core-bmad-master.md new file mode 100644 index 00000000..07d39970 --- /dev/null +++ b/q1/.augment/commands/bmad/agents/core-bmad-master.md @@ -0,0 +1,14 @@ +--- +name: 'bmad-master' +description: 'bmad-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md b/q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md new file mode 100644 index 00000000..0dae25df --- /dev/null +++ b/q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md @@ -0,0 +1,127 @@ +--- +description: 'Execute the Advanced Elicitation task' +--- + +# Advanced Elicitation Task + + + +MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER +DO NOT skip steps or change the sequence +HALT immediately when halt-conditions are met +Each action xml tag within step xml tag is a REQUIRED action to complete that step +Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + When called during template workflow processing: + 1. Receive or review the current section content that was just generated or + 2. Apply elicitation methods iteratively to enhance that specific content + 3. Return the enhanced version back when user selects 'x' to proceed and return back + 4. The enhanced content replaces the original section content in the output document + + + + + Load and read {{methods}} and {{agent-party}} + + + category: Method grouping (core, structural, risk, etc.) + method_name: Display name for the method + description: Rich explanation of what the method does, when to use it, and why it's valuable + output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") + + + + Use conversation history + Analyze: content type, complexity, stakeholder needs, risk level, and creative potential + + + + 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential + 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV + 3. Select 5 methods: Choose methods that best match the context based on their descriptions + 4. Balance approach: Include mix of foundational and specialized techniques as appropriate + + + + + + + **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** + Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: + + 1. [Method Name] + 2. [Method Name] + 3. [Method Name] + 4. [Method Name] + 5. [Method Name] + r. Reshuffle the list with 5 new options + a. List all methods with descriptions + x. Proceed / No Further Actions + + + + + Execute the selected method using its description from the CSV + Adapt the method's complexity and output format based on the current context + Apply the method creatively to the current section content being enhanced + Display the enhanced version showing what the method revealed or improved + CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. + CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to + follow the instructions given by the user. + CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations + + + Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format + When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being + potentially the most useful for the document or section being discovered + + + Complete elicitation and proceed + Return the fully enhanced content back to create-doc.md + The enhanced content becomes the final version for that section + Signal completion back to create-doc.md to continue with next section + + + List all methods with their descriptions from the CSV in a compact table + Allow user to select any method by name or number from the full list + After selection, execute the method as described in the n="1-5" case above + + + Apply changes to current section content and re-present choices + + + Execute methods in sequence on the content, then re-offer choices + + + + + + Method execution: Use the description from CSV to understand and apply each method + Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") + Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) + Creative application: Interpret methods flexibly based on context while maintaining pattern consistency + Focus on actionable insights + Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user + indicates otherwise) + Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory + already + Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution + Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session + Each method application builds upon previous enhancements + Content preservation: Track all enhancements made during elicitation + Iterative enhancement: Each selected method (1-5) should: + 1. Apply to the current enhanced version of the content + 2. Show the improvements made + 3. Return to the prompt for additional elicitations or completion + + + + + +## Module + +BMAD CORE module diff --git a/q1/.augment/commands/bmad/tasks/core-index-docs.md b/q1/.augment/commands/bmad/tasks/core-index-docs.md new file mode 100644 index 00000000..a294a723 --- /dev/null +++ b/q1/.augment/commands/bmad/tasks/core-index-docs.md @@ -0,0 +1,77 @@ +--- +description: 'Execute the Index Docs task' +--- + +# Index Docs Task + + + +MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER +DO NOT skip steps or change the sequence +HALT immediately when halt-conditions are met +Each action xml tag within step xml tag is a REQUIRED action to complete that step +Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + + List all files and subdirectories in the target location + + + + Organize files by type, purpose, or subdirectory + + + + Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the + filename + + + + Write or update index.md with organized file listings + + + + + + + # Directory Index + + ## Files + + - **[filename.ext](./filename.ext)** - Brief description + - **[another-file.ext](./another-file.ext)** - Brief description + + ## Subdirectories + + ### subfolder/ + + - **[file1.ext](./subfolder/file1.ext)** - Brief description + - **[file2.ext](./subfolder/file2.ext)** - Brief description + + ### another-folder/ + + - **[file3.ext](./another-folder/file3.ext)** - Brief description + + + + + + HALT if target directory does not exist or is inaccessible + HALT if user does not have write permissions to create index.md + + + + Use relative paths starting with ./ + Group similar files together + Read file contents to generate accurate descriptions - don't guess from filenames + Keep descriptions concise but informative (3-10 words) + Sort alphabetically within groups + Skip hidden files (starting with .) unless specified + + + +## Module + +BMAD CORE module diff --git a/q1/.augment/commands/bmad/tools/core-shard-doc.md b/q1/.augment/commands/bmad/tools/core-shard-doc.md new file mode 100644 index 00000000..41bc01d2 --- /dev/null +++ b/q1/.augment/commands/bmad/tools/core-shard-doc.md @@ -0,0 +1,120 @@ +--- +description: 'Use the Shard Document tool' +--- + +# Shard Document Tool + + +Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action xml tag within step xml tag is a REQUIRED action to complete that step + Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index + + + + + Ask user for the source document path if not provided already + Verify file exists and is accessible + Verify file is markdown format (.md extension) + HALT with error message + + + + Determine default destination: same location as source file, folder named after source file without .md extension + Example: /path/to/architecture.md → /path/to/architecture/ + Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) + Use the suggested destination path + Use the custom destination path + Verify destination folder exists or can be created + Check write permissions for destination + HALT with error message + + + + Inform user that sharding is beginning + Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` + Capture command output and any errors + HALT and display error to user + + + + Check that destination folder contains sharded files + Verify index.md was created in destination folder + Count the number of files created + HALT with error message + + + + Display completion report to user including: + - Source document path and name + - Destination folder path + - Number of section files created + - Confirmation that index.md was created + - Any tool output or warnings + Inform user that sharding completed successfully + + + + Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion + Present user with options for the original document: + + What would you like to do with the original document `[source-document-name]`? + + Options: + [d] Delete - Remove the original (recommended - shards can always be recombined) + [m] Move to archive - Move original to a backup/archive location + [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) + + Your choice (d/m/k): + + + Delete the original source document file + Confirm deletion to user: "✓ Original document deleted: [source-document-path]" + The document can be reconstructed from shards by concatenating all section files in order + + + + Determine default archive location: same directory as source, in an "archive" subfolder + Example: /path/to/architecture.md → /path/to/archive/architecture.md + Archive location ([y] to use default: [default-archive-path], or provide custom path): + Use default archive path + Use custom archive path + Create archive directory if it doesn't exist + Move original document to archive location + Confirm move to user: "✓ Original document moved to: [archive-path]" + + + + Display warning to user: + ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. + + This creates confusion because: + - The discover_inputs protocol may load the wrong version + - Updates to one won't reflect in the other + - You'll have duplicate content taking up space + + Consider deleting or archiving the original document. + Confirm user choice: "Original document kept at: [source-document-path]" + + + + + + + HALT if npx command fails or produces no output files + + + +## Module + +BMAD CORE module diff --git a/q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md b/q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md new file mode 100644 index 00000000..8524a86c --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md @@ -0,0 +1,5 @@ +--- +description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-create-agent.md b/q1/.augment/commands/bmad/workflows/bmb-create-agent.md new file mode 100644 index 00000000..59662ba5 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmb-create-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-create-module.md b/q1/.augment/commands/bmad/workflows/bmb-create-module.md new file mode 100644 index 00000000..ae1a98c1 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmb-create-module.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-create-workflow.md b/q1/.augment/commands/bmad/workflows/bmb-create-workflow.md new file mode 100644 index 00000000..3d563a4f --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmb-create-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Create structured standalone workflows using markdown-based step architecture' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-edit-agent.md b/q1/.augment/commands/bmad/workflows/bmb-edit-agent.md new file mode 100644 index 00000000..0c9a6b30 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmb-edit-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Edit existing BMAD agents while following all best practices and conventions' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md b/q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md new file mode 100644 index 00000000..afcaa2f4 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md b/q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md new file mode 100644 index 00000000..a32d5fe5 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md @@ -0,0 +1,5 @@ +--- +description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md b/q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md new file mode 100644 index 00000000..04220291 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md @@ -0,0 +1,13 @@ +--- +description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-code-review.md b/q1/.augment/commands/bmad/workflows/bmgd-code-review.md new file mode 100644 index 00000000..7b26134f --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-correct-course.md b/q1/.augment/commands/bmad/workflows/bmgd-correct-course.md new file mode 100644 index 00000000..cfcd8eaf --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md b/q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md new file mode 100644 index 00000000..3bb52d6d --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md b/q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md new file mode 100644 index 00000000..4dcc804e --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-story.md b/q1/.augment/commands/bmad/workflows/bmgd-create-story.md new file mode 100644 index 00000000..ad75462a --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md b/q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md new file mode 100644 index 00000000..f957ebc9 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-dev-story.md b/q1/.augment/commands/bmad/workflows/bmgd-dev-story.md new file mode 100644 index 00000000..a8b771dd --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md b/q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md new file mode 100644 index 00000000..36ef3279 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md @@ -0,0 +1,13 @@ +--- +description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-game-brief.md b/q1/.augment/commands/bmad/workflows/bmgd-game-brief.md new file mode 100644 index 00000000..e0303ff1 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-game-brief.md @@ -0,0 +1,13 @@ +--- +description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md new file mode 100644 index 00000000..dfccaca9 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md new file mode 100644 index 00000000..cd6272ab --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md new file mode 100644 index 00000000..7255df6c --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md @@ -0,0 +1,13 @@ +--- +description: 'Design performance testing strategy for frame rate, memory, and loading times' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md new file mode 100644 index 00000000..988d010c --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md @@ -0,0 +1,13 @@ +--- +description: 'Create structured playtesting sessions for gameplay validation and user feedback' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md new file mode 100644 index 00000000..05ac011f --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md new file mode 100644 index 00000000..23879a38 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality, coverage, and identify gaps in game testing' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gdd.md b/q1/.augment/commands/bmad/workflows/bmgd-gdd.md new file mode 100644 index 00000000..0bf8eabd --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-gdd.md @@ -0,0 +1,13 @@ +--- +description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md b/q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md new file mode 100644 index 00000000..6c44337a --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-narrative.md b/q1/.augment/commands/bmad/workflows/bmgd-narrative.md new file mode 100644 index 00000000..264f45e5 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-narrative.md @@ -0,0 +1,13 @@ +--- +description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md b/q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md new file mode 100644 index 00000000..09da4e5a --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md b/q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md new file mode 100644 index 00000000..e7df33a6 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md @@ -0,0 +1,13 @@ +--- +description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-retrospective.md b/q1/.augment/commands/bmad/workflows/bmgd-retrospective.md new file mode 100644 index 00000000..4dd8bae5 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md b/q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md new file mode 100644 index 00000000..cba2b9cd --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md b/q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md new file mode 100644 index 00000000..457f6f91 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md b/q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md new file mode 100644 index 00000000..e366e16a --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md b/q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md new file mode 100644 index 00000000..9ea158ae --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md b/q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md new file mode 100644 index 00000000..66734354 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md @@ -0,0 +1,5 @@ +--- +description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-code-review.md b/q1/.augment/commands/bmad/workflows/bmm-code-review.md new file mode 100644 index 00000000..ae4a62fb --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-correct-course.md b/q1/.augment/commands/bmad/workflows/bmm-correct-course.md new file mode 100644 index 00000000..b5f02774 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-architecture.md b/q1/.augment/commands/bmad/workflows/bmm-create-architecture.md new file mode 100644 index 00000000..0b0f015d --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-architecture.md @@ -0,0 +1,5 @@ +--- +description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md b/q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md new file mode 100644 index 00000000..db0fe4b7 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md @@ -0,0 +1,5 @@ +--- +description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md new file mode 100644 index 00000000..47578ee0 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md @@ -0,0 +1,13 @@ +--- +description: 'Create data flow diagrams (DFD) in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md new file mode 100644 index 00000000..684236aa --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md @@ -0,0 +1,13 @@ +--- +description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md new file mode 100644 index 00000000..8e45ee70 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md @@ -0,0 +1,13 @@ +--- +description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md new file mode 100644 index 00000000..ea645354 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md @@ -0,0 +1,13 @@ +--- +description: 'Create website or app wireframes in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-prd.md b/q1/.augment/commands/bmad/workflows/bmm-create-prd.md new file mode 100644 index 00000000..63050671 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-prd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md b/q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md new file mode 100644 index 00000000..16f891de --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-story.md b/q1/.augment/commands/bmad/workflows/bmm-create-story.md new file mode 100644 index 00000000..d2f282c0 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md b/q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md new file mode 100644 index 00000000..488a7644 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md b/q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md new file mode 100644 index 00000000..283bbed1 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md @@ -0,0 +1,5 @@ +--- +description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-dev-story.md b/q1/.augment/commands/bmad/workflows/bmm-dev-story.md new file mode 100644 index 00000000..66b569c1 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-document-project.md b/q1/.augment/commands/bmad/workflows/bmm-document-project.md new file mode 100644 index 00000000..d5295d7e --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-document-project.md @@ -0,0 +1,13 @@ +--- +description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md b/q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md new file mode 100644 index 00000000..561d5afd --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-quick-dev.md b/q1/.augment/commands/bmad/workflows/bmm-quick-dev.md new file mode 100644 index 00000000..77d5a122 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-research.md b/q1/.augment/commands/bmad/workflows/bmm-research.md new file mode 100644 index 00000000..1ee378f0 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-research.md @@ -0,0 +1,5 @@ +--- +description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-retrospective.md b/q1/.augment/commands/bmad/workflows/bmm-retrospective.md new file mode 100644 index 00000000..85a04d7c --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md b/q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md new file mode 100644 index 00000000..e8530d26 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-sprint-status.md b/q1/.augment/commands/bmad/workflows/bmm-sprint-status.md new file mode 100644 index 00000000..d4ec9a0b --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md new file mode 100644 index 00000000..75956725 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md @@ -0,0 +1,13 @@ +--- +description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md new file mode 100644 index 00000000..015922af --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md new file mode 100644 index 00000000..337dba4e --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md @@ -0,0 +1,13 @@ +--- +description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md new file mode 100644 index 00000000..b2c16a24 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md new file mode 100644 index 00000000..f2438734 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md @@ -0,0 +1,13 @@ +--- +description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md new file mode 100644 index 00000000..747263b9 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md new file mode 100644 index 00000000..07ac2ec1 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality using comprehensive knowledge base and best practices validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md new file mode 100644 index 00000000..26b38b8b --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md @@ -0,0 +1,13 @@ +--- +description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-workflow-init.md b/q1/.augment/commands/bmad/workflows/bmm-workflow-init.md new file mode 100644 index 00000000..0de870e5 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMM project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/bmm-workflow-status.md b/q1/.augment/commands/bmad/workflows/bmm-workflow-status.md new file mode 100644 index 00000000..58eccc1a --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/bmm-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/cis-design-thinking.md b/q1/.augment/commands/bmad/workflows/cis-design-thinking.md new file mode 100644 index 00000000..402ce806 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/cis-design-thinking.md @@ -0,0 +1,13 @@ +--- +description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md b/q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md new file mode 100644 index 00000000..761734be --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md @@ -0,0 +1,13 @@ +--- +description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/cis-problem-solving.md b/q1/.augment/commands/bmad/workflows/cis-problem-solving.md new file mode 100644 index 00000000..ec388f5d --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/cis-problem-solving.md @@ -0,0 +1,13 @@ +--- +description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/cis-storytelling.md b/q1/.augment/commands/bmad/workflows/cis-storytelling.md new file mode 100644 index 00000000..32f1e267 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/cis-storytelling.md @@ -0,0 +1,13 @@ +--- +description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.augment/commands/bmad/workflows/core-brainstorming.md b/q1/.augment/commands/bmad/workflows/core-brainstorming.md new file mode 100644 index 00000000..be33b790 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/core-brainstorming.md @@ -0,0 +1,5 @@ +--- +description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/core-party-mode.md b/q1/.augment/commands/bmad/workflows/core-party-mode.md new file mode 100644 index 00000000..4d790067 --- /dev/null +++ b/q1/.augment/commands/bmad/workflows/core-party-mode.md @@ -0,0 +1,5 @@ +--- +description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md b/q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md new file mode 100644 index 00000000..2dd96fa3 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md @@ -0,0 +1,14 @@ +--- +name: 'agent-builder' +description: 'agent-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md b/q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md new file mode 100644 index 00000000..2e35abeb --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md @@ -0,0 +1,14 @@ +--- +name: 'module-builder' +description: 'module-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md b/q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md new file mode 100644 index 00000000..f388a48c --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md @@ -0,0 +1,14 @@ +--- +name: 'workflow-builder' +description: 'workflow-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md b/q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md new file mode 100644 index 00000000..8524a86c --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md @@ -0,0 +1,5 @@ +--- +description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-README.md b/q1/.clinerules/workflows/bmad-bmb-workflows-README.md new file mode 100644 index 00000000..2916b252 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-README.md @@ -0,0 +1,52 @@ +# BMB Workflows + +## Available Workflows in bmb + +**Meal Prep & Nutrition Plan** + +- Path: `_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md` +- Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits. + +**create-agent** + +- Path: `_bmad/bmb/workflows/create-agent/workflow.md` +- Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure + +**create-module** + +- Path: `_bmad/bmb/workflows/create-module/workflow.md` +- Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure + +**create-workflow** + +- Path: `_bmad/bmb/workflows/create-workflow/workflow.md` +- Create structured standalone workflows using markdown-based step architecture + +**edit-agent** + +- Path: `_bmad/bmb/workflows/edit-agent/workflow.md` +- Edit existing BMAD agents while following all best practices and conventions + +**edit-workflow** + +- Path: `_bmad/bmb/workflows/edit-workflow/workflow.md` +- Intelligent workflow editor that helps modify existing workflows while following best practices + +**workflow-compliance-check** + +- Path: `_bmad/bmb/workflows/workflow-compliance-check/workflow.md` +- Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting + +## Execution + +When running any workflow: + +1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml +2. Pass the workflow path as 'workflow-config' parameter +3. Follow workflow.xml instructions EXACTLY +4. Save outputs after EACH section + +## Modes + +- Normal: Full interaction +- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md b/q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md new file mode 100644 index 00000000..59662ba5 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md b/q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md new file mode 100644 index 00000000..ae1a98c1 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md b/q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md new file mode 100644 index 00000000..3d563a4f --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Create structured standalone workflows using markdown-based step architecture' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md b/q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md new file mode 100644 index 00000000..0c9a6b30 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Edit existing BMAD agents while following all best practices and conventions' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md b/q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md new file mode 100644 index 00000000..afcaa2f4 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md b/q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md new file mode 100644 index 00000000..a32d5fe5 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md @@ -0,0 +1,5 @@ +--- +description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md new file mode 100644 index 00000000..7528a352 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md @@ -0,0 +1,14 @@ +--- +name: 'game-architect' +description: 'game-architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md new file mode 100644 index 00000000..bb276b18 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md @@ -0,0 +1,14 @@ +--- +name: 'game-designer' +description: 'game-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md new file mode 100644 index 00000000..00ecac81 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-dev' +description: 'game-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md new file mode 100644 index 00000000..cbb4434d --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md @@ -0,0 +1,14 @@ +--- +name: 'game-qa' +description: 'game-qa agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md new file mode 100644 index 00000000..7873999e --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md @@ -0,0 +1,14 @@ +--- +name: 'game-scrum-master' +description: 'game-scrum-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md new file mode 100644 index 00000000..24974f20 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-solo-dev' +description: 'game-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-README.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-README.md new file mode 100644 index 00000000..95dbea74 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-README.md @@ -0,0 +1,147 @@ +# BMGD Workflows + +## Available Workflows in bmgd + +**brainstorm-game** + +- Path: `_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml` +- Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques. + +**create-game-brief** + +- Path: `_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md` +- Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design. + +**game-brief** + +- Path: `_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml` +- Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration + +**create-gdd** + +- Path: `_bmad/bmgd/workflows/2-design/gdd/workflow.md` +- Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user. + +**gdd** + +- Path: `_bmad/bmgd/workflows/2-design/gdd/workflow.yaml` +- Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance. + +**narrative** + +- Path: `_bmad/bmgd/workflows/2-design/narrative/workflow.yaml` +- Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning. + +**game-architecture** + +- Path: `_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml` +- Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development. + +**generate-project-context** + +- Path: `_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md` +- Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency. + +**code-review** + +- Path: `_bmad/bmgd/workflows/4-production/code-review/workflow.yaml` +- Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations. + +**correct-course** + +- Path: `_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml` +- Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation + +**create-story** + +- Path: `_bmad/bmgd/workflows/4-production/create-story/workflow.yaml` +- Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder + +**dev-story** + +- Path: `_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml` +- Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria + +**retrospective** + +- Path: `_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml` +- Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic + +**sprint-planning** + +- Path: `_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml` +- Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle + +**sprint-status** + +- Path: `_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml` +- Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow. + +**create-tech-spec** + +- Path: `_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml` +- Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec. + +**quick-dev** + +- Path: `_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml` +- Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations. + +**quick-prototype** + +- Path: `_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml` +- Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup. + +**gametest-automate** + +- Path: `_bmad/bmgd/workflows/gametest/automate/workflow.yaml` +- Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios + +**gametest-performance** + +- Path: `_bmad/bmgd/workflows/gametest/performance/workflow.yaml` +- Design performance testing strategy for frame rate, memory, and loading times + +**gametest-playtest-plan** + +- Path: `_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml` +- Create structured playtesting sessions for gameplay validation and user feedback + +**gametest-test-design** + +- Path: `_bmad/bmgd/workflows/gametest/test-design/workflow.yaml` +- Create comprehensive game test scenarios covering gameplay, progression, and quality requirements + +**gametest-framework** + +- Path: `_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml` +- Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects + +**gametest-test-review** + +- Path: `_bmad/bmgd/workflows/gametest/test-review/workflow.yaml` +- Review test quality, coverage, and identify gaps in game testing + +**workflow-init** + +- Path: `_bmad/bmgd/workflows/workflow-status/init/workflow.yaml` +- Initialize a new BMGD game project by determining level, type, and creating workflow path + +**workflow-status** + +- Path: `_bmad/bmgd/workflows/workflow-status/workflow.yaml` +- Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects. + +## Execution + +When running any workflow: + +1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml +2. Pass the workflow path as 'workflow-config' parameter +3. Follow workflow.xml instructions EXACTLY +4. Save outputs after EACH section + +## Modes + +- Normal: Full interaction +- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md new file mode 100644 index 00000000..04220291 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md @@ -0,0 +1,13 @@ +--- +description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md new file mode 100644 index 00000000..7b26134f --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md new file mode 100644 index 00000000..cfcd8eaf --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md new file mode 100644 index 00000000..3bb52d6d --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md new file mode 100644 index 00000000..4dcc804e --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md new file mode 100644 index 00000000..ad75462a --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md new file mode 100644 index 00000000..f957ebc9 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md new file mode 100644 index 00000000..a8b771dd --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md new file mode 100644 index 00000000..36ef3279 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md @@ -0,0 +1,13 @@ +--- +description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md new file mode 100644 index 00000000..e0303ff1 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md @@ -0,0 +1,13 @@ +--- +description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md new file mode 100644 index 00000000..dfccaca9 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md new file mode 100644 index 00000000..cd6272ab --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md new file mode 100644 index 00000000..7255df6c --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md @@ -0,0 +1,13 @@ +--- +description: 'Design performance testing strategy for frame rate, memory, and loading times' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md new file mode 100644 index 00000000..988d010c --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md @@ -0,0 +1,13 @@ +--- +description: 'Create structured playtesting sessions for gameplay validation and user feedback' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md new file mode 100644 index 00000000..05ac011f --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md new file mode 100644 index 00000000..23879a38 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality, coverage, and identify gaps in game testing' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md new file mode 100644 index 00000000..0bf8eabd --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md @@ -0,0 +1,13 @@ +--- +description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md new file mode 100644 index 00000000..6c44337a --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md new file mode 100644 index 00000000..264f45e5 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md @@ -0,0 +1,13 @@ +--- +description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md new file mode 100644 index 00000000..09da4e5a --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md new file mode 100644 index 00000000..e7df33a6 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md @@ -0,0 +1,13 @@ +--- +description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md new file mode 100644 index 00000000..4dd8bae5 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md new file mode 100644 index 00000000..cba2b9cd --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md new file mode 100644 index 00000000..457f6f91 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md new file mode 100644 index 00000000..e366e16a --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md new file mode 100644 index 00000000..9ea158ae --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-analyst.md b/q1/.clinerules/workflows/bmad-bmm-agents-analyst.md new file mode 100644 index 00000000..7224bfa4 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-analyst.md @@ -0,0 +1,14 @@ +--- +name: 'analyst' +description: 'analyst agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-architect.md b/q1/.clinerules/workflows/bmad-bmm-agents-architect.md new file mode 100644 index 00000000..8bf9f3a1 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-architect.md @@ -0,0 +1,14 @@ +--- +name: 'architect' +description: 'architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-dev.md b/q1/.clinerules/workflows/bmad-bmm-agents-dev.md new file mode 100644 index 00000000..171ad6eb --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-dev.md @@ -0,0 +1,14 @@ +--- +name: 'dev' +description: 'dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-pm.md b/q1/.clinerules/workflows/bmad-bmm-agents-pm.md new file mode 100644 index 00000000..347e7d4e --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-pm.md @@ -0,0 +1,14 @@ +--- +name: 'pm' +description: 'pm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md b/q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md new file mode 100644 index 00000000..7a956561 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'quick-flow-solo-dev' +description: 'quick-flow-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-sm.md b/q1/.clinerules/workflows/bmad-bmm-agents-sm.md new file mode 100644 index 00000000..bf7d6710 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-sm.md @@ -0,0 +1,14 @@ +--- +name: 'sm' +description: 'sm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-tea.md b/q1/.clinerules/workflows/bmad-bmm-agents-tea.md new file mode 100644 index 00000000..a91b8888 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-tea.md @@ -0,0 +1,14 @@ +--- +name: 'tea' +description: 'tea agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md b/q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md new file mode 100644 index 00000000..1926e6eb --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md @@ -0,0 +1,14 @@ +--- +name: 'tech-writer' +description: 'tech-writer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md b/q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md new file mode 100644 index 00000000..66a16bd9 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md @@ -0,0 +1,14 @@ +--- +name: 'ux-designer' +description: 'ux-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-README.md b/q1/.clinerules/workflows/bmad-bmm-workflows-README.md new file mode 100644 index 00000000..be109735 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-README.md @@ -0,0 +1,177 @@ +# BMM Workflows + +## Available Workflows in bmm + +**create-product-brief** + +- Path: `_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md` +- Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers. + +**research** + +- Path: `_bmad/bmm/workflows/1-analysis/research/workflow.md` +- Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types. + +**create-ux-design** + +- Path: `_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md` +- Work with a peer UX Design expert to plan your applications UX patterns, look and feel. + +**create-prd** + +- Path: `_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md` +- Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers. + +**check-implementation-readiness** + +- Path: `_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md` +- Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues. + +**create-architecture** + +- Path: `_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md` +- Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts. + +**create-epics-and-stories** + +- Path: `_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md` +- Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams. + +**code-review** + +- Path: `_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml` +- Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. + +**correct-course** + +- Path: `_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml` +- Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation + +**create-story** + +- Path: `_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml` +- Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking + +**dev-story** + +- Path: `_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml` +- Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria + +**retrospective** + +- Path: `_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml` +- Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic + +**sprint-planning** + +- Path: `_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml` +- Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle + +**sprint-status** + +- Path: `_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml` +- Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow. + +**create-tech-spec** + +- Path: `_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml` +- Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec. + +**quick-dev** + +- Path: `_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml` +- Flexible development - execute tech-specs OR direct instructions with optional planning. + +**document-project** + +- Path: `_bmad/bmm/workflows/document-project/workflow.yaml` +- Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development + +**create-excalidraw-dataflow** + +- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml` +- Create data flow diagrams (DFD) in Excalidraw format + +**create-excalidraw-diagram** + +- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml` +- Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format + +**create-excalidraw-flowchart** + +- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml` +- Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows + +**create-excalidraw-wireframe** + +- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml` +- Create website or app wireframes in Excalidraw format + +**generate-project-context** + +- Path: `_bmad/bmm/workflows/generate-project-context/workflow.md` +- Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency. + +**testarch-atdd** + +- Path: `_bmad/bmm/workflows/testarch/atdd/workflow.yaml` +- Generate failing acceptance tests before implementation using TDD red-green-refactor cycle + +**testarch-automate** + +- Path: `_bmad/bmm/workflows/testarch/automate/workflow.yaml` +- Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite + +**testarch-ci** + +- Path: `_bmad/bmm/workflows/testarch/ci/workflow.yaml` +- Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection + +**testarch-framework** + +- Path: `_bmad/bmm/workflows/testarch/framework/workflow.yaml` +- Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration + +**testarch-nfr** + +- Path: `_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml` +- Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation + +**testarch-test-design** + +- Path: `_bmad/bmm/workflows/testarch/test-design/workflow.yaml` +- Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase. + +**testarch-test-review** + +- Path: `_bmad/bmm/workflows/testarch/test-review/workflow.yaml` +- Review test quality using comprehensive knowledge base and best practices validation + +**testarch-trace** + +- Path: `_bmad/bmm/workflows/testarch/trace/workflow.yaml` +- Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED) + +**workflow-init** + +- Path: `_bmad/bmm/workflows/workflow-status/init/workflow.yaml` +- Initialize a new BMM project by determining level, type, and creating workflow path + +**workflow-status** + +- Path: `_bmad/bmm/workflows/workflow-status/workflow.yaml` +- Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects. + +## Execution + +When running any workflow: + +1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml +2. Pass the workflow path as 'workflow-config' parameter +3. Follow workflow.xml instructions EXACTLY +4. Save outputs after EACH section + +## Modes + +- Normal: Full interaction +- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md b/q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md new file mode 100644 index 00000000..66734354 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md @@ -0,0 +1,5 @@ +--- +description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md b/q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md new file mode 100644 index 00000000..ae4a62fb --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md b/q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md new file mode 100644 index 00000000..b5f02774 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md new file mode 100644 index 00000000..0b0f015d --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md @@ -0,0 +1,5 @@ +--- +description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md new file mode 100644 index 00000000..db0fe4b7 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md @@ -0,0 +1,5 @@ +--- +description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md new file mode 100644 index 00000000..47578ee0 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md @@ -0,0 +1,13 @@ +--- +description: 'Create data flow diagrams (DFD) in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md new file mode 100644 index 00000000..684236aa --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md @@ -0,0 +1,13 @@ +--- +description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md new file mode 100644 index 00000000..8e45ee70 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md @@ -0,0 +1,13 @@ +--- +description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md new file mode 100644 index 00000000..ea645354 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md @@ -0,0 +1,13 @@ +--- +description: 'Create website or app wireframes in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md new file mode 100644 index 00000000..63050671 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md new file mode 100644 index 00000000..16f891de --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md new file mode 100644 index 00000000..d2f282c0 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md new file mode 100644 index 00000000..488a7644 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md new file mode 100644 index 00000000..283bbed1 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md @@ -0,0 +1,5 @@ +--- +description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md b/q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md new file mode 100644 index 00000000..66b569c1 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md b/q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md new file mode 100644 index 00000000..d5295d7e --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md @@ -0,0 +1,13 @@ +--- +description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md b/q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md new file mode 100644 index 00000000..561d5afd --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md b/q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md new file mode 100644 index 00000000..77d5a122 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-research.md b/q1/.clinerules/workflows/bmad-bmm-workflows-research.md new file mode 100644 index 00000000..1ee378f0 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-research.md @@ -0,0 +1,5 @@ +--- +description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md b/q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md new file mode 100644 index 00000000..85a04d7c --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md b/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md new file mode 100644 index 00000000..e8530d26 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md b/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md new file mode 100644 index 00000000..d4ec9a0b --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md new file mode 100644 index 00000000..75956725 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md @@ -0,0 +1,13 @@ +--- +description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md new file mode 100644 index 00000000..015922af --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md new file mode 100644 index 00000000..337dba4e --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md @@ -0,0 +1,13 @@ +--- +description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md new file mode 100644 index 00000000..b2c16a24 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md new file mode 100644 index 00000000..f2438734 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md @@ -0,0 +1,13 @@ +--- +description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md new file mode 100644 index 00000000..747263b9 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md new file mode 100644 index 00000000..07ac2ec1 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality using comprehensive knowledge base and best practices validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md new file mode 100644 index 00000000..26b38b8b --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md @@ -0,0 +1,13 @@ +--- +description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md b/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md new file mode 100644 index 00000000..0de870e5 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMM project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md b/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md new file mode 100644 index 00000000..58eccc1a --- /dev/null +++ b/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md b/q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md new file mode 100644 index 00000000..ee3aeb32 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md @@ -0,0 +1,14 @@ +--- +name: 'brainstorming-coach' +description: 'brainstorming-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md b/q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md new file mode 100644 index 00000000..11dbb44e --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md @@ -0,0 +1,14 @@ +--- +name: 'creative-problem-solver' +description: 'creative-problem-solver agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md b/q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md new file mode 100644 index 00000000..dd616724 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md @@ -0,0 +1,14 @@ +--- +name: 'design-thinking-coach' +description: 'design-thinking-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md b/q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md new file mode 100644 index 00000000..9155c727 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md @@ -0,0 +1,14 @@ +--- +name: 'innovation-strategist' +description: 'innovation-strategist agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md b/q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md new file mode 100644 index 00000000..19340d91 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md @@ -0,0 +1,14 @@ +--- +name: 'presentation-master' +description: 'presentation-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md b/q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md new file mode 100644 index 00000000..06f816fa --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md @@ -0,0 +1,14 @@ +--- +name: 'storyteller' +description: 'storyteller agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-README.md b/q1/.clinerules/workflows/bmad-cis-workflows-README.md new file mode 100644 index 00000000..e9d85e64 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-workflows-README.md @@ -0,0 +1,37 @@ +# CIS Workflows + +## Available Workflows in cis + +**design-thinking** + +- Path: `_bmad/cis/workflows/design-thinking/workflow.yaml` +- Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs. + +**innovation-strategy** + +- Path: `_bmad/cis/workflows/innovation-strategy/workflow.yaml` +- Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities. + +**problem-solving** + +- Path: `_bmad/cis/workflows/problem-solving/workflow.yaml` +- Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks. + +**storytelling** + +- Path: `_bmad/cis/workflows/storytelling/workflow.yaml` +- Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose. + +## Execution + +When running any workflow: + +1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml +2. Pass the workflow path as 'workflow-config' parameter +3. Follow workflow.xml instructions EXACTLY +4. Save outputs after EACH section + +## Modes + +- Normal: Full interaction +- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md b/q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md new file mode 100644 index 00000000..402ce806 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md @@ -0,0 +1,13 @@ +--- +description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md b/q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md new file mode 100644 index 00000000..761734be --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md @@ -0,0 +1,13 @@ +--- +description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md b/q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md new file mode 100644 index 00000000..ec388f5d --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md @@ -0,0 +1,13 @@ +--- +description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md b/q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md new file mode 100644 index 00000000..32f1e267 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md @@ -0,0 +1,13 @@ +--- +description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.clinerules/workflows/bmad-core-agents-bmad-master.md b/q1/.clinerules/workflows/bmad-core-agents-bmad-master.md new file mode 100644 index 00000000..07d39970 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-core-agents-bmad-master.md @@ -0,0 +1,14 @@ +--- +name: 'bmad-master' +description: 'bmad-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.clinerules/workflows/bmad-core-workflows-README.md b/q1/.clinerules/workflows/bmad-core-workflows-README.md new file mode 100644 index 00000000..f08f0261 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-core-workflows-README.md @@ -0,0 +1,27 @@ +# CORE Workflows + +## Available Workflows in core + +**brainstorming** + +- Path: `_bmad/core/workflows/brainstorming/workflow.md` +- Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods + +**party-mode** + +- Path: `_bmad/core/workflows/party-mode/workflow.md` +- Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations + +## Execution + +When running any workflow: + +1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml +2. Pass the workflow path as 'workflow-config' parameter +3. Follow workflow.xml instructions EXACTLY +4. Save outputs after EACH section + +## Modes + +- Normal: Full interaction +- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md b/q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md new file mode 100644 index 00000000..be33b790 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md @@ -0,0 +1,5 @@ +--- +description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-core-workflows-party-mode.md b/q1/.clinerules/workflows/bmad-core-workflows-party-mode.md new file mode 100644 index 00000000..4d790067 --- /dev/null +++ b/q1/.clinerules/workflows/bmad-core-workflows-party-mode.md @@ -0,0 +1,5 @@ +--- +description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/agents/agent-builder.md b/q1/.crush/commands/bmad/bmb/agents/agent-builder.md new file mode 100644 index 00000000..2dd96fa3 --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/agents/agent-builder.md @@ -0,0 +1,14 @@ +--- +name: 'agent-builder' +description: 'agent-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmb/agents/module-builder.md b/q1/.crush/commands/bmad/bmb/agents/module-builder.md new file mode 100644 index 00000000..2e35abeb --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/agents/module-builder.md @@ -0,0 +1,14 @@ +--- +name: 'module-builder' +description: 'module-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmb/agents/workflow-builder.md b/q1/.crush/commands/bmad/bmb/agents/workflow-builder.md new file mode 100644 index 00000000..f388a48c --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/agents/workflow-builder.md @@ -0,0 +1,14 @@ +--- +name: 'workflow-builder' +description: 'workflow-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md b/q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md new file mode 100644 index 00000000..8524a86c --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md @@ -0,0 +1,5 @@ +--- +description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/create-agent.md b/q1/.crush/commands/bmad/bmb/workflows/create-agent.md new file mode 100644 index 00000000..59662ba5 --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/workflows/create-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/create-module.md b/q1/.crush/commands/bmad/bmb/workflows/create-module.md new file mode 100644 index 00000000..ae1a98c1 --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/workflows/create-module.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/create-workflow.md b/q1/.crush/commands/bmad/bmb/workflows/create-workflow.md new file mode 100644 index 00000000..3d563a4f --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/workflows/create-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Create structured standalone workflows using markdown-based step architecture' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/edit-agent.md b/q1/.crush/commands/bmad/bmb/workflows/edit-agent.md new file mode 100644 index 00000000..0c9a6b30 --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/workflows/edit-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Edit existing BMAD agents while following all best practices and conventions' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md b/q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md new file mode 100644 index 00000000..afcaa2f4 --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md b/q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md new file mode 100644 index 00000000..a32d5fe5 --- /dev/null +++ b/q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md @@ -0,0 +1,5 @@ +--- +description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-architect.md b/q1/.crush/commands/bmad/bmgd/agents/game-architect.md new file mode 100644 index 00000000..7528a352 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/agents/game-architect.md @@ -0,0 +1,14 @@ +--- +name: 'game-architect' +description: 'game-architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-designer.md b/q1/.crush/commands/bmad/bmgd/agents/game-designer.md new file mode 100644 index 00000000..bb276b18 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/agents/game-designer.md @@ -0,0 +1,14 @@ +--- +name: 'game-designer' +description: 'game-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-dev.md b/q1/.crush/commands/bmad/bmgd/agents/game-dev.md new file mode 100644 index 00000000..00ecac81 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/agents/game-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-dev' +description: 'game-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-qa.md b/q1/.crush/commands/bmad/bmgd/agents/game-qa.md new file mode 100644 index 00000000..cbb4434d --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/agents/game-qa.md @@ -0,0 +1,14 @@ +--- +name: 'game-qa' +description: 'game-qa agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md b/q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md new file mode 100644 index 00000000..7873999e --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md @@ -0,0 +1,14 @@ +--- +name: 'game-scrum-master' +description: 'game-scrum-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md b/q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md new file mode 100644 index 00000000..24974f20 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-solo-dev' +description: 'game-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md b/q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md new file mode 100644 index 00000000..04220291 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md @@ -0,0 +1,13 @@ +--- +description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/code-review.md b/q1/.crush/commands/bmad/bmgd/workflows/code-review.md new file mode 100644 index 00000000..7b26134f --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/correct-course.md b/q1/.crush/commands/bmad/bmgd/workflows/correct-course.md new file mode 100644 index 00000000..cfcd8eaf --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md b/q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md new file mode 100644 index 00000000..3bb52d6d --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md b/q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md new file mode 100644 index 00000000..4dcc804e --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-story.md b/q1/.crush/commands/bmad/bmgd/workflows/create-story.md new file mode 100644 index 00000000..ad75462a --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md b/q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md new file mode 100644 index 00000000..f957ebc9 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/dev-story.md b/q1/.crush/commands/bmad/bmgd/workflows/dev-story.md new file mode 100644 index 00000000..a8b771dd --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md b/q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md new file mode 100644 index 00000000..36ef3279 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md @@ -0,0 +1,13 @@ +--- +description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/game-brief.md b/q1/.crush/commands/bmad/bmgd/workflows/game-brief.md new file mode 100644 index 00000000..e0303ff1 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/game-brief.md @@ -0,0 +1,13 @@ +--- +description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md new file mode 100644 index 00000000..dfccaca9 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md new file mode 100644 index 00000000..cd6272ab --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md new file mode 100644 index 00000000..7255df6c --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md @@ -0,0 +1,13 @@ +--- +description: 'Design performance testing strategy for frame rate, memory, and loading times' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md new file mode 100644 index 00000000..988d010c --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md @@ -0,0 +1,13 @@ +--- +description: 'Create structured playtesting sessions for gameplay validation and user feedback' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md new file mode 100644 index 00000000..05ac011f --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md new file mode 100644 index 00000000..23879a38 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality, coverage, and identify gaps in game testing' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gdd.md b/q1/.crush/commands/bmad/bmgd/workflows/gdd.md new file mode 100644 index 00000000..0bf8eabd --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/gdd.md @@ -0,0 +1,13 @@ +--- +description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md b/q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md new file mode 100644 index 00000000..6c44337a --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/workflows/narrative.md b/q1/.crush/commands/bmad/bmgd/workflows/narrative.md new file mode 100644 index 00000000..264f45e5 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/narrative.md @@ -0,0 +1,13 @@ +--- +description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md b/q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md new file mode 100644 index 00000000..09da4e5a --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md b/q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md new file mode 100644 index 00000000..e7df33a6 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md @@ -0,0 +1,13 @@ +--- +description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/retrospective.md b/q1/.crush/commands/bmad/bmgd/workflows/retrospective.md new file mode 100644 index 00000000..4dd8bae5 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md b/q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md new file mode 100644 index 00000000..cba2b9cd --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md b/q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md new file mode 100644 index 00000000..457f6f91 --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md b/q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md new file mode 100644 index 00000000..e366e16a --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md b/q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md new file mode 100644 index 00000000..9ea158ae --- /dev/null +++ b/q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/agents/analyst.md b/q1/.crush/commands/bmad/bmm/agents/analyst.md new file mode 100644 index 00000000..7224bfa4 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/analyst.md @@ -0,0 +1,14 @@ +--- +name: 'analyst' +description: 'analyst agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/architect.md b/q1/.crush/commands/bmad/bmm/agents/architect.md new file mode 100644 index 00000000..8bf9f3a1 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/architect.md @@ -0,0 +1,14 @@ +--- +name: 'architect' +description: 'architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/dev.md b/q1/.crush/commands/bmad/bmm/agents/dev.md new file mode 100644 index 00000000..171ad6eb --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/dev.md @@ -0,0 +1,14 @@ +--- +name: 'dev' +description: 'dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/pm.md b/q1/.crush/commands/bmad/bmm/agents/pm.md new file mode 100644 index 00000000..347e7d4e --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/pm.md @@ -0,0 +1,14 @@ +--- +name: 'pm' +description: 'pm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md b/q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md new file mode 100644 index 00000000..7a956561 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'quick-flow-solo-dev' +description: 'quick-flow-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/sm.md b/q1/.crush/commands/bmad/bmm/agents/sm.md new file mode 100644 index 00000000..bf7d6710 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/sm.md @@ -0,0 +1,14 @@ +--- +name: 'sm' +description: 'sm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/tea.md b/q1/.crush/commands/bmad/bmm/agents/tea.md new file mode 100644 index 00000000..a91b8888 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/tea.md @@ -0,0 +1,14 @@ +--- +name: 'tea' +description: 'tea agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/tech-writer.md b/q1/.crush/commands/bmad/bmm/agents/tech-writer.md new file mode 100644 index 00000000..1926e6eb --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/tech-writer.md @@ -0,0 +1,14 @@ +--- +name: 'tech-writer' +description: 'tech-writer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/agents/ux-designer.md b/q1/.crush/commands/bmad/bmm/agents/ux-designer.md new file mode 100644 index 00000000..66a16bd9 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/agents/ux-designer.md @@ -0,0 +1,14 @@ +--- +name: 'ux-designer' +description: 'ux-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md b/q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md new file mode 100644 index 00000000..66734354 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md @@ -0,0 +1,5 @@ +--- +description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/code-review.md b/q1/.crush/commands/bmad/bmm/workflows/code-review.md new file mode 100644 index 00000000..ae4a62fb --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/correct-course.md b/q1/.crush/commands/bmad/bmm/workflows/correct-course.md new file mode 100644 index 00000000..b5f02774 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-architecture.md b/q1/.crush/commands/bmad/bmm/workflows/create-architecture.md new file mode 100644 index 00000000..0b0f015d --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-architecture.md @@ -0,0 +1,5 @@ +--- +description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md b/q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md new file mode 100644 index 00000000..db0fe4b7 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md @@ -0,0 +1,5 @@ +--- +description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md new file mode 100644 index 00000000..47578ee0 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md @@ -0,0 +1,13 @@ +--- +description: 'Create data flow diagrams (DFD) in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md new file mode 100644 index 00000000..684236aa --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md @@ -0,0 +1,13 @@ +--- +description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md new file mode 100644 index 00000000..8e45ee70 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md @@ -0,0 +1,13 @@ +--- +description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md new file mode 100644 index 00000000..ea645354 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md @@ -0,0 +1,13 @@ +--- +description: 'Create website or app wireframes in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-prd.md b/q1/.crush/commands/bmad/bmm/workflows/create-prd.md new file mode 100644 index 00000000..63050671 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-prd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md b/q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md new file mode 100644 index 00000000..16f891de --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-story.md b/q1/.crush/commands/bmad/bmm/workflows/create-story.md new file mode 100644 index 00000000..d2f282c0 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md b/q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md new file mode 100644 index 00000000..488a7644 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md b/q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md new file mode 100644 index 00000000..283bbed1 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md @@ -0,0 +1,5 @@ +--- +description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/dev-story.md b/q1/.crush/commands/bmad/bmm/workflows/dev-story.md new file mode 100644 index 00000000..66b569c1 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/document-project.md b/q1/.crush/commands/bmad/bmm/workflows/document-project.md new file mode 100644 index 00000000..d5295d7e --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/document-project.md @@ -0,0 +1,13 @@ +--- +description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md b/q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md new file mode 100644 index 00000000..561d5afd --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/quick-dev.md b/q1/.crush/commands/bmad/bmm/workflows/quick-dev.md new file mode 100644 index 00000000..77d5a122 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/research.md b/q1/.crush/commands/bmad/bmm/workflows/research.md new file mode 100644 index 00000000..1ee378f0 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/research.md @@ -0,0 +1,5 @@ +--- +description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/retrospective.md b/q1/.crush/commands/bmad/bmm/workflows/retrospective.md new file mode 100644 index 00000000..85a04d7c --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md b/q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md new file mode 100644 index 00000000..e8530d26 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/sprint-status.md b/q1/.crush/commands/bmad/bmm/workflows/sprint-status.md new file mode 100644 index 00000000..d4ec9a0b --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md new file mode 100644 index 00000000..75956725 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md @@ -0,0 +1,13 @@ +--- +description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md new file mode 100644 index 00000000..015922af --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md new file mode 100644 index 00000000..337dba4e --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md @@ -0,0 +1,13 @@ +--- +description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md new file mode 100644 index 00000000..b2c16a24 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md new file mode 100644 index 00000000..f2438734 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md @@ -0,0 +1,13 @@ +--- +description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md new file mode 100644 index 00000000..747263b9 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md new file mode 100644 index 00000000..07ac2ec1 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality using comprehensive knowledge base and best practices validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md new file mode 100644 index 00000000..26b38b8b --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md @@ -0,0 +1,13 @@ +--- +description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/workflow-init.md b/q1/.crush/commands/bmad/bmm/workflows/workflow-init.md new file mode 100644 index 00000000..0de870e5 --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMM project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/bmm/workflows/workflow-status.md b/q1/.crush/commands/bmad/bmm/workflows/workflow-status.md new file mode 100644 index 00000000..58eccc1a --- /dev/null +++ b/q1/.crush/commands/bmad/bmm/workflows/workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md b/q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md new file mode 100644 index 00000000..ee3aeb32 --- /dev/null +++ b/q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md @@ -0,0 +1,14 @@ +--- +name: 'brainstorming-coach' +description: 'brainstorming-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md b/q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md new file mode 100644 index 00000000..11dbb44e --- /dev/null +++ b/q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md @@ -0,0 +1,14 @@ +--- +name: 'creative-problem-solver' +description: 'creative-problem-solver agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md b/q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md new file mode 100644 index 00000000..dd616724 --- /dev/null +++ b/q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md @@ -0,0 +1,14 @@ +--- +name: 'design-thinking-coach' +description: 'design-thinking-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/cis/agents/innovation-strategist.md b/q1/.crush/commands/bmad/cis/agents/innovation-strategist.md new file mode 100644 index 00000000..9155c727 --- /dev/null +++ b/q1/.crush/commands/bmad/cis/agents/innovation-strategist.md @@ -0,0 +1,14 @@ +--- +name: 'innovation-strategist' +description: 'innovation-strategist agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/cis/agents/presentation-master.md b/q1/.crush/commands/bmad/cis/agents/presentation-master.md new file mode 100644 index 00000000..19340d91 --- /dev/null +++ b/q1/.crush/commands/bmad/cis/agents/presentation-master.md @@ -0,0 +1,14 @@ +--- +name: 'presentation-master' +description: 'presentation-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/cis/agents/storyteller.md b/q1/.crush/commands/bmad/cis/agents/storyteller.md new file mode 100644 index 00000000..06f816fa --- /dev/null +++ b/q1/.crush/commands/bmad/cis/agents/storyteller.md @@ -0,0 +1,14 @@ +--- +name: 'storyteller' +description: 'storyteller agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/cis/workflows/design-thinking.md b/q1/.crush/commands/bmad/cis/workflows/design-thinking.md new file mode 100644 index 00000000..402ce806 --- /dev/null +++ b/q1/.crush/commands/bmad/cis/workflows/design-thinking.md @@ -0,0 +1,13 @@ +--- +description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md b/q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md new file mode 100644 index 00000000..761734be --- /dev/null +++ b/q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md @@ -0,0 +1,13 @@ +--- +description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/cis/workflows/problem-solving.md b/q1/.crush/commands/bmad/cis/workflows/problem-solving.md new file mode 100644 index 00000000..ec388f5d --- /dev/null +++ b/q1/.crush/commands/bmad/cis/workflows/problem-solving.md @@ -0,0 +1,13 @@ +--- +description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/cis/workflows/storytelling.md b/q1/.crush/commands/bmad/cis/workflows/storytelling.md new file mode 100644 index 00000000..32f1e267 --- /dev/null +++ b/q1/.crush/commands/bmad/cis/workflows/storytelling.md @@ -0,0 +1,13 @@ +--- +description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.crush/commands/bmad/core/agents/bmad-master.md b/q1/.crush/commands/bmad/core/agents/bmad-master.md new file mode 100644 index 00000000..07d39970 --- /dev/null +++ b/q1/.crush/commands/bmad/core/agents/bmad-master.md @@ -0,0 +1,14 @@ +--- +name: 'bmad-master' +description: 'bmad-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md b/q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md new file mode 100644 index 00000000..072cc393 --- /dev/null +++ b/q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md @@ -0,0 +1,131 @@ +# /task-advanced-elicitation Command + +When this command is used, execute the following task: + +## Advanced Elicitation Task + + + +MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER +DO NOT skip steps or change the sequence +HALT immediately when halt-conditions are met +Each action xml tag within step xml tag is a REQUIRED action to complete that step +Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + When called during template workflow processing: + 1. Receive or review the current section content that was just generated or + 2. Apply elicitation methods iteratively to enhance that specific content + 3. Return the enhanced version back when user selects 'x' to proceed and return back + 4. The enhanced content replaces the original section content in the output document + + + + + Load and read {{methods}} and {{agent-party}} + + + category: Method grouping (core, structural, risk, etc.) + method_name: Display name for the method + description: Rich explanation of what the method does, when to use it, and why it's valuable + output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") + + + + Use conversation history + Analyze: content type, complexity, stakeholder needs, risk level, and creative potential + + + + 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential + 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV + 3. Select 5 methods: Choose methods that best match the context based on their descriptions + 4. Balance approach: Include mix of foundational and specialized techniques as appropriate + + + + + + + **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** + Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: + + 1. [Method Name] + 2. [Method Name] + 3. [Method Name] + 4. [Method Name] + 5. [Method Name] + r. Reshuffle the list with 5 new options + a. List all methods with descriptions + x. Proceed / No Further Actions + + + + + Execute the selected method using its description from the CSV + Adapt the method's complexity and output format based on the current context + Apply the method creatively to the current section content being enhanced + Display the enhanced version showing what the method revealed or improved + CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. + CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to + follow the instructions given by the user. + CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations + + + Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format + When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being + potentially the most useful for the document or section being discovered + + + Complete elicitation and proceed + Return the fully enhanced content back to create-doc.md + The enhanced content becomes the final version for that section + Signal completion back to create-doc.md to continue with next section + + + List all methods with their descriptions from the CSV in a compact table + Allow user to select any method by name or number from the full list + After selection, execute the method as described in the n="1-5" case above + + + Apply changes to current section content and re-present choices + + + Execute methods in sequence on the content, then re-offer choices + + + + + + Method execution: Use the description from CSV to understand and apply each method + Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") + Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) + Creative application: Interpret methods flexibly based on context while maintaining pattern consistency + Focus on actionable insights + Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user + indicates otherwise) + Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory + already + Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution + Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session + Each method application builds upon previous enhancements + Content preservation: Track all enhancements made during elicitation + Iterative enhancement: Each selected method (1-5) should: + 1. Apply to the current enhanced version of the content + 2. Show the improvements made + 3. Return to the prompt for additional elicitations or completion + + + + + +## Command Usage + +This command executes the Advanced Elicitation task from the BMAD CORE module. + +## Module + +Part of the BMAD CORE module. diff --git a/q1/.crush/commands/bmad/core/tasks/index-docs.md b/q1/.crush/commands/bmad/core/tasks/index-docs.md new file mode 100644 index 00000000..76e9fbe7 --- /dev/null +++ b/q1/.crush/commands/bmad/core/tasks/index-docs.md @@ -0,0 +1,81 @@ +# /task-index-docs Command + +When this command is used, execute the following task: + +## Index Docs Task + + + +MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER +DO NOT skip steps or change the sequence +HALT immediately when halt-conditions are met +Each action xml tag within step xml tag is a REQUIRED action to complete that step +Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + + List all files and subdirectories in the target location + + + + Organize files by type, purpose, or subdirectory + + + + Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the + filename + + + + Write or update index.md with organized file listings + + + + + + + # Directory Index + + ## Files + + - **[filename.ext](./filename.ext)** - Brief description + - **[another-file.ext](./another-file.ext)** - Brief description + + ## Subdirectories + + ### subfolder/ + + - **[file1.ext](./subfolder/file1.ext)** - Brief description + - **[file2.ext](./subfolder/file2.ext)** - Brief description + + ### another-folder/ + + - **[file3.ext](./another-folder/file3.ext)** - Brief description + + + + + + HALT if target directory does not exist or is inaccessible + HALT if user does not have write permissions to create index.md + + + + Use relative paths starting with ./ + Group similar files together + Read file contents to generate accurate descriptions - don't guess from filenames + Keep descriptions concise but informative (3-10 words) + Sort alphabetically within groups + Skip hidden files (starting with .) unless specified + + + +## Command Usage + +This command executes the Index Docs task from the BMAD CORE module. + +## Module + +Part of the BMAD CORE module. diff --git a/q1/.crush/commands/bmad/core/tools/shard-doc.md b/q1/.crush/commands/bmad/core/tools/shard-doc.md new file mode 100644 index 00000000..8f02be66 --- /dev/null +++ b/q1/.crush/commands/bmad/core/tools/shard-doc.md @@ -0,0 +1,124 @@ +# /tool-shard-doc Command + +When this command is used, execute the following tool: + +## Shard Document Tool + + +Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action xml tag within step xml tag is a REQUIRED action to complete that step + Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index + + + + + Ask user for the source document path if not provided already + Verify file exists and is accessible + Verify file is markdown format (.md extension) + HALT with error message + + + + Determine default destination: same location as source file, folder named after source file without .md extension + Example: /path/to/architecture.md → /path/to/architecture/ + Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) + Use the suggested destination path + Use the custom destination path + Verify destination folder exists or can be created + Check write permissions for destination + HALT with error message + + + + Inform user that sharding is beginning + Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` + Capture command output and any errors + HALT and display error to user + + + + Check that destination folder contains sharded files + Verify index.md was created in destination folder + Count the number of files created + HALT with error message + + + + Display completion report to user including: + - Source document path and name + - Destination folder path + - Number of section files created + - Confirmation that index.md was created + - Any tool output or warnings + Inform user that sharding completed successfully + + + + Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion + Present user with options for the original document: + + What would you like to do with the original document `[source-document-name]`? + + Options: + [d] Delete - Remove the original (recommended - shards can always be recombined) + [m] Move to archive - Move original to a backup/archive location + [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) + + Your choice (d/m/k): + + + Delete the original source document file + Confirm deletion to user: "✓ Original document deleted: [source-document-path]" + The document can be reconstructed from shards by concatenating all section files in order + + + + Determine default archive location: same directory as source, in an "archive" subfolder + Example: /path/to/architecture.md → /path/to/archive/architecture.md + Archive location ([y] to use default: [default-archive-path], or provide custom path): + Use default archive path + Use custom archive path + Create archive directory if it doesn't exist + Move original document to archive location + Confirm move to user: "✓ Original document moved to: [archive-path]" + + + + Display warning to user: + ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. + + This creates confusion because: + - The discover_inputs protocol may load the wrong version + - Updates to one won't reflect in the other + - You'll have duplicate content taking up space + + Consider deleting or archiving the original document. + Confirm user choice: "Original document kept at: [source-document-path]" + + + + + + + HALT if npx command fails or produces no output files + + + +## Command Usage + +This command executes the Shard Document tool from the BMAD CORE module. + +## Module + +Part of the BMAD CORE module. diff --git a/q1/.crush/commands/bmad/core/workflows/brainstorming.md b/q1/.crush/commands/bmad/core/workflows/brainstorming.md new file mode 100644 index 00000000..be33b790 --- /dev/null +++ b/q1/.crush/commands/bmad/core/workflows/brainstorming.md @@ -0,0 +1,5 @@ +--- +description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/core/workflows/party-mode.md b/q1/.crush/commands/bmad/core/workflows/party-mode.md new file mode 100644 index 00000000..4d790067 --- /dev/null +++ b/q1/.crush/commands/bmad/core/workflows/party-mode.md @@ -0,0 +1,5 @@ +--- +description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc b/q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc new file mode 100644 index 00000000..4508b552 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMB Agent: agent-builder +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc b/q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc new file mode 100644 index 00000000..48a62ce7 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMB Agent: module-builder +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc b/q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc new file mode 100644 index 00000000..c021965f --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMB Agent: workflow-builder +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc b/q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc new file mode 100644 index 00000000..24f9d611 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMB Agent: Meal Prep & Nutrition Plan +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc b/q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc new file mode 100644 index 00000000..86455cf7 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMB Agent: create-agent +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc b/q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc new file mode 100644 index 00000000..452f851c --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMB Agent: create-module +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc b/q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc new file mode 100644 index 00000000..525650dc --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMB Agent: create-workflow +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc b/q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc new file mode 100644 index 00000000..3e0e25f3 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMB Agent: edit-agent +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc b/q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc new file mode 100644 index 00000000..70bb490e --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMB Agent: edit-workflow +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc b/q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc new file mode 100644 index 00000000..79be829d --- /dev/null +++ b/q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMB Agent: workflow-compliance-check +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc new file mode 100644 index 00000000..aeb4e6dc --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-architect +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc new file mode 100644 index 00000000..0b1e124e --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-designer +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc new file mode 100644 index 00000000..adb76140 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-dev +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc new file mode 100644 index 00000000..d79de702 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-qa +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc new file mode 100644 index 00000000..7b07f463 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-scrum-master +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc new file mode 100644 index 00000000..91154ad6 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-solo-dev +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc new file mode 100644 index 00000000..b67c4058 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: brainstorm-game +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc new file mode 100644 index 00000000..837e99af --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: code-review +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc new file mode 100644 index 00000000..4d2d8a63 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: correct-course +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc new file mode 100644 index 00000000..3648157d --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMGD Agent: create-game-brief +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc new file mode 100644 index 00000000..4feaaebc --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMGD Agent: create-gdd +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc new file mode 100644 index 00000000..8976b42c --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: create-story +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc new file mode 100644 index 00000000..be684c26 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: create-tech-spec +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc new file mode 100644 index 00000000..210c65a3 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: dev-story +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc new file mode 100644 index 00000000..a5b35d9f --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-architecture +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc new file mode 100644 index 00000000..94e06d4b --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: game-brief +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc new file mode 100644 index 00000000..e617c796 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: gametest-automate +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc new file mode 100644 index 00000000..77524df2 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: gametest-framework +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc new file mode 100644 index 00000000..2c0647f9 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: gametest-performance +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc new file mode 100644 index 00000000..908b419a --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: gametest-playtest-plan +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc new file mode 100644 index 00000000..c5dbc7e7 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: gametest-test-design +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc new file mode 100644 index 00000000..e952409c --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: gametest-test-review +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc new file mode 100644 index 00000000..593def5d --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: gdd +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc new file mode 100644 index 00000000..a08b6945 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMGD Agent: generate-project-context +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc new file mode 100644 index 00000000..93528b98 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: narrative +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc new file mode 100644 index 00000000..05852989 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: quick-dev +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc new file mode 100644 index 00000000..535c8b2a --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: quick-prototype +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc new file mode 100644 index 00000000..be84655e --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: retrospective +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc new file mode 100644 index 00000000..0450dfd4 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: sprint-planning +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc new file mode 100644 index 00000000..4d073301 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: sprint-status +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc new file mode 100644 index 00000000..0d76cbb1 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: workflow-init +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc new file mode 100644 index 00000000..95764c64 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMGD Agent: workflow-status +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/agents/analyst.mdc b/q1/.cursor/rules/bmad/bmm/agents/analyst.mdc new file mode 100644 index 00000000..dc6d8404 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/analyst.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: analyst +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/architect.mdc b/q1/.cursor/rules/bmad/bmm/agents/architect.mdc new file mode 100644 index 00000000..d2e75b12 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/architect.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: architect +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/dev.mdc b/q1/.cursor/rules/bmad/bmm/agents/dev.mdc new file mode 100644 index 00000000..7225de99 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/dev.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: dev +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/pm.mdc b/q1/.cursor/rules/bmad/bmm/agents/pm.mdc new file mode 100644 index 00000000..71dd92ee --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/pm.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: pm +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc b/q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc new file mode 100644 index 00000000..44406d4b --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: quick-flow-solo-dev +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/sm.mdc b/q1/.cursor/rules/bmad/bmm/agents/sm.mdc new file mode 100644 index 00000000..e041237f --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/sm.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: sm +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/tea.mdc b/q1/.cursor/rules/bmad/bmm/agents/tea.mdc new file mode 100644 index 00000000..ad8d8e88 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/tea.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: tea +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc b/q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc new file mode 100644 index 00000000..58870cad --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: tech-writer +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc b/q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc new file mode 100644 index 00000000..666c13bf --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: ux-designer +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc b/q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc new file mode 100644 index 00000000..08a239d5 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: check-implementation-readiness +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc b/q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc new file mode 100644 index 00000000..94f37f9b --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: code-review +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc b/q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc new file mode 100644 index 00000000..c5f2ab84 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: correct-course +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc new file mode 100644 index 00000000..03185ece --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: create-architecture +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc new file mode 100644 index 00000000..e70e4f7f --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: create-epics-and-stories +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc new file mode 100644 index 00000000..b23293df --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: create-excalidraw-dataflow +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc new file mode 100644 index 00000000..fb0e6f40 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: create-excalidraw-diagram +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc new file mode 100644 index 00000000..20f6d676 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: create-excalidraw-flowchart +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc new file mode 100644 index 00000000..da3b67b4 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: create-excalidraw-wireframe +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc new file mode 100644 index 00000000..0e53ccb5 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: create-prd +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc new file mode 100644 index 00000000..cf6d2be6 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: create-product-brief +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc new file mode 100644 index 00000000..68e59fed --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: create-story +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc new file mode 100644 index 00000000..7bc4c480 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: create-tech-spec +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc new file mode 100644 index 00000000..f5ab6679 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: create-ux-design +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc b/q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc new file mode 100644 index 00000000..a2162c81 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: dev-story +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc b/q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc new file mode 100644 index 00000000..d2b95bc4 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: document-project +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc b/q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc new file mode 100644 index 00000000..38c36c4b --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: generate-project-context +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc b/q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc new file mode 100644 index 00000000..032088b7 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: quick-dev +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/research.mdc b/q1/.cursor/rules/bmad/bmm/workflows/research.mdc new file mode 100644 index 00000000..2bd1bd1e --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/research.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD BMM Agent: research +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc b/q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc new file mode 100644 index 00000000..e89aa3a0 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: retrospective +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc b/q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc new file mode 100644 index 00000000..cde00e13 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: sprint-planning +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc b/q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc new file mode 100644 index 00000000..79ad83cc --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: sprint-status +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc new file mode 100644 index 00000000..c0a094e3 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-atdd +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc new file mode 100644 index 00000000..97a833b7 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-automate +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc new file mode 100644 index 00000000..dd8f121e --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-ci +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc new file mode 100644 index 00000000..cb05c50f --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-framework +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc new file mode 100644 index 00000000..0271de8c --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-nfr +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc new file mode 100644 index 00000000..ef5c1d18 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-test-design +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc new file mode 100644 index 00000000..004d3346 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-test-review +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc new file mode 100644 index 00000000..de4db386 --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: testarch-trace +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc b/q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc new file mode 100644 index 00000000..14eef79b --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: workflow-init +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc b/q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc new file mode 100644 index 00000000..238946ec --- /dev/null +++ b/q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD BMM Agent: workflow-status +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc b/q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc new file mode 100644 index 00000000..ab15671e --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: brainstorming-coach +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc b/q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc new file mode 100644 index 00000000..cc767a87 --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: creative-problem-solver +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc b/q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc new file mode 100644 index 00000000..ec1de341 --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: design-thinking-coach +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc b/q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc new file mode 100644 index 00000000..32aa483b --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: innovation-strategist +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc b/q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc new file mode 100644 index 00000000..2fc36de6 --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: presentation-master +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/cis/agents/storyteller.mdc b/q1/.cursor/rules/bmad/cis/agents/storyteller.mdc new file mode 100644 index 00000000..4870c572 --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/agents/storyteller.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: storyteller +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc b/q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc new file mode 100644 index 00000000..40477e43 --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: design-thinking +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc b/q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc new file mode 100644 index 00000000..d0bcdb5b --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: innovation-strategy +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc b/q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc new file mode 100644 index 00000000..8c2e856a --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: problem-solving +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc b/q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc new file mode 100644 index 00000000..0746ecfc --- /dev/null +++ b/q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CIS Agent: storytelling +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.cursor/rules/bmad/core/agents/bmad-master.mdc b/q1/.cursor/rules/bmad/core/agents/bmad-master.mdc new file mode 100644 index 00000000..81678e4d --- /dev/null +++ b/q1/.cursor/rules/bmad/core/agents/bmad-master.mdc @@ -0,0 +1,15 @@ +--- +description: BMAD CORE Agent: bmad-master +globs: +alwaysApply: false +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc b/q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc new file mode 100644 index 00000000..b145911c --- /dev/null +++ b/q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc @@ -0,0 +1,122 @@ +--- +description: BMAD CORE Task: Advanced Elicitation +globs: +alwaysApply: false +--- + + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action xml tag within step xml tag is a REQUIRED action to complete that step + Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + When called during template workflow processing: + 1. Receive or review the current section content that was just generated or + 2. Apply elicitation methods iteratively to enhance that specific content + 3. Return the enhanced version back when user selects 'x' to proceed and return back + 4. The enhanced content replaces the original section content in the output document + + + + + Load and read {{methods}} and {{agent-party}} + + + category: Method grouping (core, structural, risk, etc.) + method_name: Display name for the method + description: Rich explanation of what the method does, when to use it, and why it's valuable + output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") + + + + Use conversation history + Analyze: content type, complexity, stakeholder needs, risk level, and creative potential + + + + 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential + 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV + 3. Select 5 methods: Choose methods that best match the context based on their descriptions + 4. Balance approach: Include mix of foundational and specialized techniques as appropriate + + + + + + + **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** + Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: + + 1. [Method Name] + 2. [Method Name] + 3. [Method Name] + 4. [Method Name] + 5. [Method Name] + r. Reshuffle the list with 5 new options + a. List all methods with descriptions + x. Proceed / No Further Actions + + + + + Execute the selected method using its description from the CSV + Adapt the method's complexity and output format based on the current context + Apply the method creatively to the current section content being enhanced + Display the enhanced version showing what the method revealed or improved + CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. + CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to + follow the instructions given by the user. + CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations + + + Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format + When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being + potentially the most useful for the document or section being discovered + + + Complete elicitation and proceed + Return the fully enhanced content back to create-doc.md + The enhanced content becomes the final version for that section + Signal completion back to create-doc.md to continue with next section + + + List all methods with their descriptions from the CSV in a compact table + Allow user to select any method by name or number from the full list + After selection, execute the method as described in the n="1-5" case above + + + Apply changes to current section content and re-present choices + + + Execute methods in sequence on the content, then re-offer choices + + + + + + Method execution: Use the description from CSV to understand and apply each method + Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") + Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) + Creative application: Interpret methods flexibly based on context while maintaining pattern consistency + Focus on actionable insights + Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user + indicates otherwise) + Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory + already + Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution + Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session + Each method application builds upon previous enhancements + Content preservation: Track all enhancements made during elicitation + Iterative enhancement: Each selected method (1-5) should: + 1. Apply to the current enhanced version of the content + 2. Show the improvements made + 3. Return to the prompt for additional elicitations or completion + + + \ No newline at end of file diff --git a/q1/.cursor/rules/bmad/core/tasks/index-docs.mdc b/q1/.cursor/rules/bmad/core/tasks/index-docs.mdc new file mode 100644 index 00000000..71520c90 --- /dev/null +++ b/q1/.cursor/rules/bmad/core/tasks/index-docs.mdc @@ -0,0 +1,71 @@ +--- +description: BMAD CORE Task: Index Docs +globs: +alwaysApply: false +--- + + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action xml tag within step xml tag is a REQUIRED action to complete that step + Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + + List all files and subdirectories in the target location + + + + Organize files by type, purpose, or subdirectory + + + + Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the + filename + + + + Write or update index.md with organized file listings + + + + + + # Directory Index + + ## Files + + - **[filename.ext](./filename.ext)** - Brief description + - **[another-file.ext](./another-file.ext)** - Brief description + + ## Subdirectories + + ### subfolder/ + + - **[file1.ext](./subfolder/file1.ext)** - Brief description + - **[file2.ext](./subfolder/file2.ext)** - Brief description + + ### another-folder/ + + - **[file3.ext](./another-folder/file3.ext)** - Brief description + + + + + HALT if target directory does not exist or is inaccessible + HALT if user does not have write permissions to create index.md + + + + Use relative paths starting with ./ + Group similar files together + Read file contents to generate accurate descriptions - don't guess from filenames + Keep descriptions concise but informative (3-10 words) + Sort alphabetically within groups + Skip hidden files (starting with .) unless specified + + \ No newline at end of file diff --git a/q1/.cursor/rules/bmad/core/tools/shard-doc.mdc b/q1/.cursor/rules/bmad/core/tools/shard-doc.mdc new file mode 100644 index 00000000..c60fc8f6 --- /dev/null +++ b/q1/.cursor/rules/bmad/core/tools/shard-doc.mdc @@ -0,0 +1,115 @@ +--- +description: BMAD CORE Tool: Shard Document +globs: +alwaysApply: false +--- + + + Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action xml tag within step xml tag is a REQUIRED action to complete that step + Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index + + + + + Ask user for the source document path if not provided already + Verify file exists and is accessible + Verify file is markdown format (.md extension) + HALT with error message + + + + Determine default destination: same location as source file, folder named after source file without .md extension + Example: /path/to/architecture.md → /path/to/architecture/ + Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) + Use the suggested destination path + Use the custom destination path + Verify destination folder exists or can be created + Check write permissions for destination + HALT with error message + + + + Inform user that sharding is beginning + Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` + Capture command output and any errors + HALT and display error to user + + + + Check that destination folder contains sharded files + Verify index.md was created in destination folder + Count the number of files created + HALT with error message + + + + Display completion report to user including: + - Source document path and name + - Destination folder path + - Number of section files created + - Confirmation that index.md was created + - Any tool output or warnings + Inform user that sharding completed successfully + + + + Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion + Present user with options for the original document: + + What would you like to do with the original document `[source-document-name]`? + + Options: + [d] Delete - Remove the original (recommended - shards can always be recombined) + [m] Move to archive - Move original to a backup/archive location + [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) + + Your choice (d/m/k): + + + Delete the original source document file + Confirm deletion to user: "✓ Original document deleted: [source-document-path]" + The document can be reconstructed from shards by concatenating all section files in order + + + + Determine default archive location: same directory as source, in an "archive" subfolder + Example: /path/to/architecture.md → /path/to/archive/architecture.md + Archive location ([y] to use default: [default-archive-path], or provide custom path): + Use default archive path + Use custom archive path + Create archive directory if it doesn't exist + Move original document to archive location + Confirm move to user: "✓ Original document moved to: [archive-path]" + + + + Display warning to user: + ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. + + This creates confusion because: + - The discover_inputs protocol may load the wrong version + - Updates to one won't reflect in the other + - You'll have duplicate content taking up space + + Consider deleting or archiving the original document. + Confirm user choice: "Original document kept at: [source-document-path]" + + + + + + HALT if npx command fails or produces no output files + + \ No newline at end of file diff --git a/q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc b/q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc new file mode 100644 index 00000000..467ae630 --- /dev/null +++ b/q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD CORE Agent: brainstorming +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/core/workflows/party-mode.mdc b/q1/.cursor/rules/bmad/core/workflows/party-mode.mdc new file mode 100644 index 00000000..9edb0906 --- /dev/null +++ b/q1/.cursor/rules/bmad/core/workflows/party-mode.mdc @@ -0,0 +1,7 @@ +--- +description: BMAD CORE Agent: party-mode +globs: +alwaysApply: false +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/index.mdc b/q1/.cursor/rules/bmad/index.mdc new file mode 100644 index 00000000..b2755620 --- /dev/null +++ b/q1/.cursor/rules/bmad/index.mdc @@ -0,0 +1,175 @@ +--- +description: BMAD Method - Master Index +globs: +alwaysApply: true +--- + +# BMAD Method - Cursor Rules Index + +This is the master index for all BMAD agents, tasks, tools, and workflows available in your project. + +## Installation Complete! + +BMAD rules have been installed to: `.cursor/rules/bmad/` + +**Note:** BMAD does not modify your `.cursorrules` file. You manage that separately. + +## How to Use + +- Reference specific agents: @bmad/{module}/agents/{agent-name} +- Reference specific tasks: @bmad/{module}/tasks/{task-name} +- Reference specific tools: @bmad/{module}/tools/{tool-name} +- Reference specific workflows: @bmad/{module}/workflows/{workflow-name} +- Reference entire modules: @bmad/{module} +- Reference this index: @bmad/index + +## Available Modules + +### CORE + +**Agents:** +- @bmad/core/agents/bmad-master - bmad-master + +**Tasks:** +- @bmad/core/tasks/advanced-elicitation - advanced-elicitation +- @bmad/core/tasks/index-docs - index-docs + +**Tools:** +- @bmad/core/tools/shard-doc - shard-doc + +**Workflows:** +- @bmad/core/workflows/brainstorming - brainstorming +- @bmad/core/workflows/party-mode - party-mode + +### BMB + +**Agents:** +- @bmad/bmb/agents/agent-builder - agent-builder +- @bmad/bmb/agents/module-builder - module-builder +- @bmad/bmb/agents/workflow-builder - workflow-builder + +**Workflows:** +- @bmad/bmb/workflows/Meal Prep & Nutrition Plan - Meal Prep & Nutrition Plan +- @bmad/bmb/workflows/create-agent - create-agent +- @bmad/bmb/workflows/create-module - create-module +- @bmad/bmb/workflows/create-workflow - create-workflow +- @bmad/bmb/workflows/edit-agent - edit-agent +- @bmad/bmb/workflows/edit-workflow - edit-workflow +- @bmad/bmb/workflows/workflow-compliance-check - workflow-compliance-check + +### BMGD + +**Agents:** +- @bmad/bmgd/agents/game-architect - game-architect +- @bmad/bmgd/agents/game-designer - game-designer +- @bmad/bmgd/agents/game-dev - game-dev +- @bmad/bmgd/agents/game-qa - game-qa +- @bmad/bmgd/agents/game-scrum-master - game-scrum-master +- @bmad/bmgd/agents/game-solo-dev - game-solo-dev + +**Workflows:** +- @bmad/bmgd/workflows/brainstorm-game - brainstorm-game +- @bmad/bmgd/workflows/create-game-brief - create-game-brief +- @bmad/bmgd/workflows/game-brief - game-brief +- @bmad/bmgd/workflows/create-gdd - create-gdd +- @bmad/bmgd/workflows/gdd - gdd +- @bmad/bmgd/workflows/narrative - narrative +- @bmad/bmgd/workflows/game-architecture - game-architecture +- @bmad/bmgd/workflows/generate-project-context - generate-project-context +- @bmad/bmgd/workflows/code-review - code-review +- @bmad/bmgd/workflows/correct-course - correct-course +- @bmad/bmgd/workflows/create-story - create-story +- @bmad/bmgd/workflows/dev-story - dev-story +- @bmad/bmgd/workflows/retrospective - retrospective +- @bmad/bmgd/workflows/sprint-planning - sprint-planning +- @bmad/bmgd/workflows/sprint-status - sprint-status +- @bmad/bmgd/workflows/create-tech-spec - create-tech-spec +- @bmad/bmgd/workflows/quick-dev - quick-dev +- @bmad/bmgd/workflows/quick-prototype - quick-prototype +- @bmad/bmgd/workflows/gametest-automate - gametest-automate +- @bmad/bmgd/workflows/gametest-performance - gametest-performance +- @bmad/bmgd/workflows/gametest-playtest-plan - gametest-playtest-plan +- @bmad/bmgd/workflows/gametest-test-design - gametest-test-design +- @bmad/bmgd/workflows/gametest-framework - gametest-framework +- @bmad/bmgd/workflows/gametest-test-review - gametest-test-review +- @bmad/bmgd/workflows/workflow-init - workflow-init +- @bmad/bmgd/workflows/workflow-status - workflow-status + +### BMM + +**Agents:** +- @bmad/bmm/agents/analyst - analyst +- @bmad/bmm/agents/architect - architect +- @bmad/bmm/agents/dev - dev +- @bmad/bmm/agents/pm - pm +- @bmad/bmm/agents/quick-flow-solo-dev - quick-flow-solo-dev +- @bmad/bmm/agents/sm - sm +- @bmad/bmm/agents/tea - tea +- @bmad/bmm/agents/tech-writer - tech-writer +- @bmad/bmm/agents/ux-designer - ux-designer + +**Workflows:** +- @bmad/bmm/workflows/create-product-brief - create-product-brief +- @bmad/bmm/workflows/research - research +- @bmad/bmm/workflows/create-ux-design - create-ux-design +- @bmad/bmm/workflows/create-prd - create-prd +- @bmad/bmm/workflows/check-implementation-readiness - check-implementation-readiness +- @bmad/bmm/workflows/create-architecture - create-architecture +- @bmad/bmm/workflows/create-epics-and-stories - create-epics-and-stories +- @bmad/bmm/workflows/code-review - code-review +- @bmad/bmm/workflows/correct-course - correct-course +- @bmad/bmm/workflows/create-story - create-story +- @bmad/bmm/workflows/dev-story - dev-story +- @bmad/bmm/workflows/retrospective - retrospective +- @bmad/bmm/workflows/sprint-planning - sprint-planning +- @bmad/bmm/workflows/sprint-status - sprint-status +- @bmad/bmm/workflows/create-tech-spec - create-tech-spec +- @bmad/bmm/workflows/quick-dev - quick-dev +- @bmad/bmm/workflows/document-project - document-project +- @bmad/bmm/workflows/create-excalidraw-dataflow - create-excalidraw-dataflow +- @bmad/bmm/workflows/create-excalidraw-diagram - create-excalidraw-diagram +- @bmad/bmm/workflows/create-excalidraw-flowchart - create-excalidraw-flowchart +- @bmad/bmm/workflows/create-excalidraw-wireframe - create-excalidraw-wireframe +- @bmad/bmm/workflows/generate-project-context - generate-project-context +- @bmad/bmm/workflows/testarch-atdd - testarch-atdd +- @bmad/bmm/workflows/testarch-automate - testarch-automate +- @bmad/bmm/workflows/testarch-ci - testarch-ci +- @bmad/bmm/workflows/testarch-framework - testarch-framework +- @bmad/bmm/workflows/testarch-nfr - testarch-nfr +- @bmad/bmm/workflows/testarch-test-design - testarch-test-design +- @bmad/bmm/workflows/testarch-test-review - testarch-test-review +- @bmad/bmm/workflows/testarch-trace - testarch-trace +- @bmad/bmm/workflows/workflow-init - workflow-init +- @bmad/bmm/workflows/workflow-status - workflow-status + +### CIS + +**Agents:** +- @bmad/cis/agents/brainstorming-coach - brainstorming-coach +- @bmad/cis/agents/creative-problem-solver - creative-problem-solver +- @bmad/cis/agents/design-thinking-coach - design-thinking-coach +- @bmad/cis/agents/innovation-strategist - innovation-strategist +- @bmad/cis/agents/presentation-master - presentation-master +- @bmad/cis/agents/storyteller - storyteller + +**Workflows:** +- @bmad/cis/workflows/design-thinking - design-thinking +- @bmad/cis/workflows/innovation-strategy - innovation-strategy +- @bmad/cis/workflows/problem-solving - problem-solving +- @bmad/cis/workflows/storytelling - storytelling + + +## Quick Reference + +- All BMAD rules are Manual type - reference them explicitly when needed +- Agents provide persona-based assistance with specific expertise +- Tasks are reusable workflows for common operations +- Tools provide specialized functionality +- Workflows orchestrate multi-step processes +- Each agent includes an activation block for proper initialization + +## Configuration + +BMAD rules are configured as Manual rules (alwaysApply: false) to give you control +over when they're included in your context. Reference them explicitly when you need +specific agent expertise, task workflows, tools, or guided workflows. diff --git a/q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md b/q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md new file mode 100644 index 00000000..1c4c17c3 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Agent Builder agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Agent Builder Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmb-module-builder.agent.md b/q1/.github/agents/bmd-custom-bmb-module-builder.agent.md new file mode 100644 index 00000000..88b79f94 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmb-module-builder.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Module Builder agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Module Builder Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md b/q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md new file mode 100644 index 00000000..56344343 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Workflow Builder agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Workflow Builder Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md new file mode 100644 index 00000000..642f8fff --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Game Architect agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Game Architect Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md new file mode 100644 index 00000000..a07fc274 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Game Designer agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Game Designer Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md new file mode 100644 index 00000000..dd897497 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Game Dev agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Game Dev Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md new file mode 100644 index 00000000..8f0eb162 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Game Qa agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Game Qa Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md new file mode 100644 index 00000000..6b40b66b --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Game Scrum Master agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Game Scrum Master Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md new file mode 100644 index 00000000..2cb41dc0 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Game Solo Dev agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Game Solo Dev Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-analyst.agent.md b/q1/.github/agents/bmd-custom-bmm-analyst.agent.md new file mode 100644 index 00000000..506b8d42 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-analyst.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Analyst agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Analyst Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-architect.agent.md b/q1/.github/agents/bmd-custom-bmm-architect.agent.md new file mode 100644 index 00000000..f1fb73da --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-architect.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Architect agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Architect Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-dev.agent.md b/q1/.github/agents/bmd-custom-bmm-dev.agent.md new file mode 100644 index 00000000..305ccadc --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-dev.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Dev agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Dev Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-pm.agent.md b/q1/.github/agents/bmd-custom-bmm-pm.agent.md new file mode 100644 index 00000000..2c6c1e9a --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-pm.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Pm agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Pm Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md b/q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md new file mode 100644 index 00000000..7c72b37b --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Quick Flow Solo Dev agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Quick Flow Solo Dev Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-sm.agent.md b/q1/.github/agents/bmd-custom-bmm-sm.agent.md new file mode 100644 index 00000000..f4b43e8a --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-sm.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Sm agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Sm Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-tea.agent.md b/q1/.github/agents/bmd-custom-bmm-tea.agent.md new file mode 100644 index 00000000..f129228f --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-tea.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Tea agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Tea Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md b/q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md new file mode 100644 index 00000000..517e915e --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Tech Writer agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Tech Writer Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md b/q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md new file mode 100644 index 00000000..4a032dd9 --- /dev/null +++ b/q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Ux Designer agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Ux Designer Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md b/q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md new file mode 100644 index 00000000..950789db --- /dev/null +++ b/q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Brainstorming Coach agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Brainstorming Coach Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md b/q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md new file mode 100644 index 00000000..6a3f2255 --- /dev/null +++ b/q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Creative Problem Solver agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Creative Problem Solver Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md b/q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md new file mode 100644 index 00000000..f7defed9 --- /dev/null +++ b/q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Design Thinking Coach agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Design Thinking Coach Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md b/q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md new file mode 100644 index 00000000..5d6ffbbc --- /dev/null +++ b/q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Innovation Strategist agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Innovation Strategist Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-cis-presentation-master.agent.md b/q1/.github/agents/bmd-custom-cis-presentation-master.agent.md new file mode 100644 index 00000000..ffa8cd4d --- /dev/null +++ b/q1/.github/agents/bmd-custom-cis-presentation-master.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Presentation Master agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Presentation Master Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-cis-storyteller.agent.md b/q1/.github/agents/bmd-custom-cis-storyteller.agent.md new file mode 100644 index 00000000..28bfbb74 --- /dev/null +++ b/q1/.github/agents/bmd-custom-cis-storyteller.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Storyteller agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Storyteller Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.github/agents/bmd-custom-core-bmad-master.agent.md b/q1/.github/agents/bmd-custom-core-bmad-master.agent.md new file mode 100644 index 00000000..a567adde --- /dev/null +++ b/q1/.github/agents/bmd-custom-core-bmad-master.agent.md @@ -0,0 +1,31 @@ +--- +description: 'Activates the Bmad Master agent persona.' +tools: + [ + 'changes', + 'edit', + 'fetch', + 'githubRepo', + 'problems', + 'runCommands', + 'runTasks', + 'runTests', + 'search', + 'runSubagent', + 'testFailure', + 'todos', + 'usages', + ] +--- + +# Bmad Master Agent + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmb-agent-builder.md b/q1/.iflow/commands/bmad/agents/bmb-agent-builder.md new file mode 100644 index 00000000..2dd96fa3 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmb-agent-builder.md @@ -0,0 +1,14 @@ +--- +name: 'agent-builder' +description: 'agent-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmb-module-builder.md b/q1/.iflow/commands/bmad/agents/bmb-module-builder.md new file mode 100644 index 00000000..2e35abeb --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmb-module-builder.md @@ -0,0 +1,14 @@ +--- +name: 'module-builder' +description: 'module-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md b/q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md new file mode 100644 index 00000000..f388a48c --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md @@ -0,0 +1,14 @@ +--- +name: 'workflow-builder' +description: 'workflow-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-architect.md b/q1/.iflow/commands/bmad/agents/bmgd-game-architect.md new file mode 100644 index 00000000..7528a352 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmgd-game-architect.md @@ -0,0 +1,14 @@ +--- +name: 'game-architect' +description: 'game-architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-designer.md b/q1/.iflow/commands/bmad/agents/bmgd-game-designer.md new file mode 100644 index 00000000..bb276b18 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmgd-game-designer.md @@ -0,0 +1,14 @@ +--- +name: 'game-designer' +description: 'game-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-dev.md b/q1/.iflow/commands/bmad/agents/bmgd-game-dev.md new file mode 100644 index 00000000..00ecac81 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmgd-game-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-dev' +description: 'game-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-qa.md b/q1/.iflow/commands/bmad/agents/bmgd-game-qa.md new file mode 100644 index 00000000..cbb4434d --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmgd-game-qa.md @@ -0,0 +1,14 @@ +--- +name: 'game-qa' +description: 'game-qa agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md b/q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md new file mode 100644 index 00000000..7873999e --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md @@ -0,0 +1,14 @@ +--- +name: 'game-scrum-master' +description: 'game-scrum-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md b/q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md new file mode 100644 index 00000000..24974f20 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-solo-dev' +description: 'game-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-analyst.md b/q1/.iflow/commands/bmad/agents/bmm-analyst.md new file mode 100644 index 00000000..7224bfa4 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-analyst.md @@ -0,0 +1,14 @@ +--- +name: 'analyst' +description: 'analyst agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-architect.md b/q1/.iflow/commands/bmad/agents/bmm-architect.md new file mode 100644 index 00000000..8bf9f3a1 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-architect.md @@ -0,0 +1,14 @@ +--- +name: 'architect' +description: 'architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-dev.md b/q1/.iflow/commands/bmad/agents/bmm-dev.md new file mode 100644 index 00000000..171ad6eb --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-dev.md @@ -0,0 +1,14 @@ +--- +name: 'dev' +description: 'dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-pm.md b/q1/.iflow/commands/bmad/agents/bmm-pm.md new file mode 100644 index 00000000..347e7d4e --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-pm.md @@ -0,0 +1,14 @@ +--- +name: 'pm' +description: 'pm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md b/q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md new file mode 100644 index 00000000..7a956561 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'quick-flow-solo-dev' +description: 'quick-flow-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-sm.md b/q1/.iflow/commands/bmad/agents/bmm-sm.md new file mode 100644 index 00000000..bf7d6710 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-sm.md @@ -0,0 +1,14 @@ +--- +name: 'sm' +description: 'sm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-tea.md b/q1/.iflow/commands/bmad/agents/bmm-tea.md new file mode 100644 index 00000000..a91b8888 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-tea.md @@ -0,0 +1,14 @@ +--- +name: 'tea' +description: 'tea agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-tech-writer.md b/q1/.iflow/commands/bmad/agents/bmm-tech-writer.md new file mode 100644 index 00000000..1926e6eb --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-tech-writer.md @@ -0,0 +1,14 @@ +--- +name: 'tech-writer' +description: 'tech-writer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/bmm-ux-designer.md b/q1/.iflow/commands/bmad/agents/bmm-ux-designer.md new file mode 100644 index 00000000..66a16bd9 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/bmm-ux-designer.md @@ -0,0 +1,14 @@ +--- +name: 'ux-designer' +description: 'ux-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md b/q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md new file mode 100644 index 00000000..ee3aeb32 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md @@ -0,0 +1,14 @@ +--- +name: 'brainstorming-coach' +description: 'brainstorming-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md b/q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md new file mode 100644 index 00000000..11dbb44e --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md @@ -0,0 +1,14 @@ +--- +name: 'creative-problem-solver' +description: 'creative-problem-solver agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md b/q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md new file mode 100644 index 00000000..dd616724 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md @@ -0,0 +1,14 @@ +--- +name: 'design-thinking-coach' +description: 'design-thinking-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md b/q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md new file mode 100644 index 00000000..9155c727 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md @@ -0,0 +1,14 @@ +--- +name: 'innovation-strategist' +description: 'innovation-strategist agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/cis-presentation-master.md b/q1/.iflow/commands/bmad/agents/cis-presentation-master.md new file mode 100644 index 00000000..19340d91 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/cis-presentation-master.md @@ -0,0 +1,14 @@ +--- +name: 'presentation-master' +description: 'presentation-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/cis-storyteller.md b/q1/.iflow/commands/bmad/agents/cis-storyteller.md new file mode 100644 index 00000000..06f816fa --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/cis-storyteller.md @@ -0,0 +1,14 @@ +--- +name: 'storyteller' +description: 'storyteller agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/agents/core-bmad-master.md b/q1/.iflow/commands/bmad/agents/core-bmad-master.md new file mode 100644 index 00000000..07d39970 --- /dev/null +++ b/q1/.iflow/commands/bmad/agents/core-bmad-master.md @@ -0,0 +1,14 @@ +--- +name: 'bmad-master' +description: 'bmad-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md b/q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md new file mode 100644 index 00000000..83868386 --- /dev/null +++ b/q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md @@ -0,0 +1,131 @@ +# /task-advanced-elicitation Command + +When this command is used, execute the following task: + +## Advanced Elicitation Task + + + +MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER +DO NOT skip steps or change the sequence +HALT immediately when halt-conditions are met +Each action xml tag within step xml tag is a REQUIRED action to complete that step +Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + When called during template workflow processing: + 1. Receive or review the current section content that was just generated or + 2. Apply elicitation methods iteratively to enhance that specific content + 3. Return the enhanced version back when user selects 'x' to proceed and return back + 4. The enhanced content replaces the original section content in the output document + + + + + Load and read {{methods}} and {{agent-party}} + + + category: Method grouping (core, structural, risk, etc.) + method_name: Display name for the method + description: Rich explanation of what the method does, when to use it, and why it's valuable + output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") + + + + Use conversation history + Analyze: content type, complexity, stakeholder needs, risk level, and creative potential + + + + 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential + 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV + 3. Select 5 methods: Choose methods that best match the context based on their descriptions + 4. Balance approach: Include mix of foundational and specialized techniques as appropriate + + + + + + + **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** + Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: + + 1. [Method Name] + 2. [Method Name] + 3. [Method Name] + 4. [Method Name] + 5. [Method Name] + r. Reshuffle the list with 5 new options + a. List all methods with descriptions + x. Proceed / No Further Actions + + + + + Execute the selected method using its description from the CSV + Adapt the method's complexity and output format based on the current context + Apply the method creatively to the current section content being enhanced + Display the enhanced version showing what the method revealed or improved + CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. + CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to + follow the instructions given by the user. + CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations + + + Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format + When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being + potentially the most useful for the document or section being discovered + + + Complete elicitation and proceed + Return the fully enhanced content back to create-doc.md + The enhanced content becomes the final version for that section + Signal completion back to create-doc.md to continue with next section + + + List all methods with their descriptions from the CSV in a compact table + Allow user to select any method by name or number from the full list + After selection, execute the method as described in the n="1-5" case above + + + Apply changes to current section content and re-present choices + + + Execute methods in sequence on the content, then re-offer choices + + + + + + Method execution: Use the description from CSV to understand and apply each method + Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") + Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) + Creative application: Interpret methods flexibly based on context while maintaining pattern consistency + Focus on actionable insights + Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user + indicates otherwise) + Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory + already + Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution + Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session + Each method application builds upon previous enhancements + Content preservation: Track all enhancements made during elicitation + Iterative enhancement: Each selected method (1-5) should: + 1. Apply to the current enhanced version of the content + 2. Show the improvements made + 3. Return to the prompt for additional elicitations or completion + + + + + +## Usage + +This command executes the Advanced Elicitation task from the BMAD CORE module. + +## Module + +Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/tasks/core-index-docs.md b/q1/.iflow/commands/bmad/tasks/core-index-docs.md new file mode 100644 index 00000000..55af66e2 --- /dev/null +++ b/q1/.iflow/commands/bmad/tasks/core-index-docs.md @@ -0,0 +1,81 @@ +# /task-index-docs Command + +When this command is used, execute the following task: + +## Index Docs Task + + + +MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER +DO NOT skip steps or change the sequence +HALT immediately when halt-conditions are met +Each action xml tag within step xml tag is a REQUIRED action to complete that step +Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + + List all files and subdirectories in the target location + + + + Organize files by type, purpose, or subdirectory + + + + Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the + filename + + + + Write or update index.md with organized file listings + + + + + + + # Directory Index + + ## Files + + - **[filename.ext](./filename.ext)** - Brief description + - **[another-file.ext](./another-file.ext)** - Brief description + + ## Subdirectories + + ### subfolder/ + + - **[file1.ext](./subfolder/file1.ext)** - Brief description + - **[file2.ext](./subfolder/file2.ext)** - Brief description + + ### another-folder/ + + - **[file3.ext](./another-folder/file3.ext)** - Brief description + + + + + + HALT if target directory does not exist or is inaccessible + HALT if user does not have write permissions to create index.md + + + + Use relative paths starting with ./ + Group similar files together + Read file contents to generate accurate descriptions - don't guess from filenames + Keep descriptions concise but informative (3-10 words) + Sort alphabetically within groups + Skip hidden files (starting with .) unless specified + + + +## Usage + +This command executes the Index Docs task from the BMAD CORE module. + +## Module + +Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/tasks/core-validate-workflow.md b/q1/.iflow/commands/bmad/tasks/core-validate-workflow.md new file mode 100644 index 00000000..63b3171f --- /dev/null +++ b/q1/.iflow/commands/bmad/tasks/core-validate-workflow.md @@ -0,0 +1,104 @@ +# /task-validate-workflow Command + +When this command is used, execute the following task: + +## Validate Workflow Task + + + Run a checklist against a document with thorough analysis and produce a validation report + + + + + + + + + + If checklist not provided, load checklist.md from workflow location + Try to fuzzy match for files similar to the input document name or if user did not provide the document. If document not + provided or unsure, ask user: "Which document should I validate?" + Load both the checklist and document + + + + For EVERY checklist item, WITHOUT SKIPPING ANY: + + + Read requirement carefully + Search document for evidence along with any ancillary loaded documents or artifacts (quotes with line numbers) + Analyze deeply - look for explicit AND implied coverage + + + ✓ PASS - Requirement fully met (provide evidence) + ⚠ PARTIAL - Some coverage but incomplete (explain gaps) + ✗ FAIL - Not met or severely deficient (explain why) + ➖ N/A - Not applicable (explain reason) + + + + DO NOT SKIP ANY SECTIONS OR ITEMS + + + + Create validation-report-{timestamp}.md in document's folder + + + # Validation Report + + **Document:** {document-path} + **Checklist:** {checklist-path} + **Date:** {timestamp} + + ## Summary + - Overall: X/Y passed (Z%) + - Critical Issues: {count} + + ## Section Results + + ### {Section Name} + Pass Rate: X/Y (Z%) + + {For each item:} + [MARK] {Item description} + Evidence: {Quote with line# or explanation} + {If FAIL/PARTIAL: Impact: {why this matters}} + + ## Failed Items + {All ✗ items with recommendations} + + ## Partial Items + {All ⚠ items with what's missing} + + ## Recommendations + 1. Must Fix: {critical failures} + 2. Should Improve: {important gaps} + 3. Consider: {minor improvements} + + + + + Present section-by-section summary + Highlight all critical issues + Provide path to saved report + HALT - do not continue unless user asks + + + + + + NEVER skip sections - validate EVERYTHING + ALWAYS provide evidence (quotes + line numbers) for marks + Think deeply about each requirement - don't rush + Save report to document's folder automatically + HALT after presenting summary - wait for user + + + +## Usage + +This command executes the Validate Workflow task from the BMAD CORE module. + +## Module + +Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/tasks/core-workflow.md b/q1/.iflow/commands/bmad/tasks/core-workflow.md new file mode 100644 index 00000000..0c64aaf1 --- /dev/null +++ b/q1/.iflow/commands/bmad/tasks/core-workflow.md @@ -0,0 +1,251 @@ +# /task-workflow Command + +When this command is used, execute the following task: + +## Workflow Task + + + Execute given workflow by loading its configuration, following instructions, and producing output + + + Always read COMPLETE files - NEVER use offset/limit when reading any workflow related files + Instructions are MANDATORY - either as file path, steps or embedded list in YAML, XML or markdown + Execute ALL steps in instructions IN EXACT ORDER + Save to template output file after EVERY "template-output" tag + NEVER skip a step - YOU are responsible for every steps execution without fail or excuse + + + + Steps execute in exact numerical order (1, 2, 3...) + Optional steps: Ask user unless #yolo mode active + Template-output tags: Save content, discuss with the user the section completed, and NEVER proceed until the users indicates + to proceed (unless YOLO mode has been activated) + + + + + + Read workflow.yaml from provided path + Load config_source (REQUIRED for all modules) + Load external config from config_source path + Resolve all {config_source}: references with values from config + Resolve system variables (date:system-generated) and paths ({project-root}, {installed_path}) + Ask user for input of any variables that are still unknown + + + + Instructions: Read COMPLETE file from path OR embedded list (REQUIRED) + If template path → Read COMPLETE template file + If validation path → Note path for later loading when needed + If template: false → Mark as action-workflow (else template-workflow) + Data files (csv, json) → Store paths only, load on-demand when instructions reference them + + + + Resolve default_output_file path with all variables and {{date}} + Create output directory if doesn't exist + If template-workflow → Write template to output file with placeholders + If action-workflow → Skip file creation + + + + + For each step in instructions: + + + If optional="true" and NOT #yolo → Ask user to include + If if="condition" → Evaluate condition + If for-each="item" → Repeat step for each item + If repeat="n" → Repeat step n times + + + + Process step instructions (markdown or XML tags) + Replace {{variables}} with values (ask user if unknown) + + action xml tag → Perform the action + check if="condition" xml tag → Conditional block wrapping actions (requires closing </check>) + ask xml tag → Prompt user and WAIT for response + invoke-workflow xml tag → Execute another workflow with given inputs and the workflow.xml runner + invoke-task xml tag → Execute specified task + invoke-protocol name="protocol_name" xml tag → Execute reusable protocol from protocols section + goto step="x" → Jump to specified step + + + + + + Generate content for this section + Save to file (Write first time, Edit subsequent) + Display generated content + [a] Advanced Elicitation, [c] Continue, [p] Party-Mode, [y] YOLO the rest of this document only. WAIT for response. + Start the advanced elicitation workflow {project-root}/_bmad/core/tasks/advanced-elicitation.xml + + + Continue to next step + + + Start the party-mode workflow {project-root}/_bmad/core/workflows/party-mode/workflow.yaml + + + Enter #yolo mode for the rest of the workflow + + + + + + + If no special tags and NOT #yolo: + Continue to next step? (y/n/edit) + + + + + Confirm document saved to output path + Report workflow completion + + + + + + Full user interaction and confirmation of EVERY step at EVERY template output - NO EXCEPTIONS except yolo MODE + Skip all confirmations and elicitation, minimize prompts and try to produce all of the workflow automatically by + simulating the remaining discussions with an simulated expert user + + + + + step n="X" goal="..." - Define step with number and goal + optional="true" - Step can be skipped + if="condition" - Conditional execution + for-each="collection" - Iterate over items + repeat="n" - Repeat n times + + + action - Required action to perform + action if="condition" - Single conditional action (inline, no closing tag needed) + check if="condition">...</check> - Conditional block wrapping multiple items (closing tag required) + ask - Get user input (ALWAYS wait for response before continuing) + goto - Jump to another step + invoke-workflow - Call another workflow + invoke-task - Call a task + invoke-protocol - Execute a reusable protocol (e.g., discover_inputs) + + + template-output - Save content checkpoint + critical - Cannot be skipped + example - Show example output + + + + + + Intelligently load project files (whole or sharded) based on workflow's input_file_patterns configuration + + Only execute if workflow.yaml contains input_file_patterns section + + + + Read input_file_patterns from loaded workflow.yaml + For each pattern group (prd, architecture, epics, etc.), note the load_strategy if present + + + + For each pattern in input_file_patterns: + + + + Determine load_strategy from pattern config (defaults to FULL_LOAD if not specified) + + + Load ALL files in sharded directory - used for PRD, Architecture, UX, brownfield docs + Use glob pattern to find ALL .md files (e.g., "{output_folder}/*architecture*/*.md") + Load EVERY matching file completely + Concatenate content in logical order (index.md first if exists, then alphabetical) + Store in variable: {pattern_name_content} + + + + Load specific shard using template variable - example: used for epics with {{epic_num}} + Check for template variables in sharded_single pattern (e.g., {{epic_num}}) + If variable undefined, ask user for value OR infer from context + Resolve template to specific file path + Load that specific file + Store in variable: {pattern_name_content} + + + + Load index.md, analyze structure and description of each doc in the index, then intelligently load relevant docs + DO NOT BE LAZY - use best judgment to load documents that might have relevant information, even if only a 5% chance + Load index.md from sharded directory + Parse table of contents, links, section headers + Analyze workflow's purpose and objective + Identify which linked/referenced documents are likely relevant + If workflow is about authentication and index shows "Auth Overview", "Payment Setup", "Deployment" → Load auth + docs, consider deployment docs, skip payment + Load all identified relevant documents + Store combined content in variable: {pattern_name_content} + When in doubt, LOAD IT - context is valuable, being thorough is better than missing critical info + + Mark pattern as RESOLVED, skip to next pattern + + + + + + Attempt glob match on 'whole' pattern (e.g., "{output_folder}/*prd*.md") + + Load ALL matching files completely (no offset/limit) + Store content in variable: {pattern_name_content} (e.g., {prd_content}) + Mark pattern as RESOLVED, skip to next pattern + + + + + + + Set {pattern_name_content} to empty string + Note in session: "No {pattern_name} files found" (not an error, just unavailable, offer use change to provide) + + + + + + List all loaded content variables with file counts + + ✓ Loaded {prd_content} from 5 sharded files: prd/index.md, prd/requirements.md, ... + ✓ Loaded {architecture_content} from 1 file: Architecture.md + ✓ Loaded {epics_content} from selective load: epics/epic-3.md + ○ No ux_design files found + + This gives workflow transparency into what context is available + + + + + + + + + + • This is the complete workflow execution engine + • You MUST Follow instructions exactly as written + • The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml + • You MUST have already loaded and processed: {installed_path}/workflow.yaml + • This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context + • YOU ARE FACILITATING A CONVERSATION With a user to produce a final document step by step. The whole process is meant to be + collaborative helping the user flesh out their ideas. Do not rush or optimize and skip any section. + + + + +## Usage + +This command executes the Workflow task from the BMAD CORE module. + +## Module + +Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md b/q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md new file mode 100644 index 00000000..8524a86c --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md @@ -0,0 +1,5 @@ +--- +description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-create-agent.md b/q1/.iflow/commands/bmad/workflows/bmb-create-agent.md new file mode 100644 index 00000000..59662ba5 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmb-create-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-create-module.md b/q1/.iflow/commands/bmad/workflows/bmb-create-module.md new file mode 100644 index 00000000..ae1a98c1 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmb-create-module.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md b/q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md new file mode 100644 index 00000000..3d563a4f --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Create structured standalone workflows using markdown-based step architecture' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md b/q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md new file mode 100644 index 00000000..0c9a6b30 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Edit existing BMAD agents while following all best practices and conventions' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md b/q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md new file mode 100644 index 00000000..afcaa2f4 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md b/q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md new file mode 100644 index 00000000..a32d5fe5 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md @@ -0,0 +1,5 @@ +--- +description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md b/q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md new file mode 100644 index 00000000..04220291 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md @@ -0,0 +1,13 @@ +--- +description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-code-review.md b/q1/.iflow/commands/bmad/workflows/bmgd-code-review.md new file mode 100644 index 00000000..7b26134f --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md b/q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md new file mode 100644 index 00000000..cfcd8eaf --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md new file mode 100644 index 00000000..3bb52d6d --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md new file mode 100644 index 00000000..4dcc804e --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-story.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-story.md new file mode 100644 index 00000000..ad75462a --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md new file mode 100644 index 00000000..f957ebc9 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md b/q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md new file mode 100644 index 00000000..a8b771dd --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md b/q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md new file mode 100644 index 00000000..36ef3279 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md @@ -0,0 +1,13 @@ +--- +description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md b/q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md new file mode 100644 index 00000000..e0303ff1 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md @@ -0,0 +1,13 @@ +--- +description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md new file mode 100644 index 00000000..dfccaca9 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md new file mode 100644 index 00000000..cd6272ab --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md new file mode 100644 index 00000000..7255df6c --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md @@ -0,0 +1,13 @@ +--- +description: 'Design performance testing strategy for frame rate, memory, and loading times' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md new file mode 100644 index 00000000..988d010c --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md @@ -0,0 +1,13 @@ +--- +description: 'Create structured playtesting sessions for gameplay validation and user feedback' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md new file mode 100644 index 00000000..05ac011f --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md new file mode 100644 index 00000000..23879a38 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality, coverage, and identify gaps in game testing' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gdd.md b/q1/.iflow/commands/bmad/workflows/bmgd-gdd.md new file mode 100644 index 00000000..0bf8eabd --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-gdd.md @@ -0,0 +1,13 @@ +--- +description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md b/q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md new file mode 100644 index 00000000..6c44337a --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-narrative.md b/q1/.iflow/commands/bmad/workflows/bmgd-narrative.md new file mode 100644 index 00000000..264f45e5 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-narrative.md @@ -0,0 +1,13 @@ +--- +description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md b/q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md new file mode 100644 index 00000000..09da4e5a --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md b/q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md new file mode 100644 index 00000000..e7df33a6 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md @@ -0,0 +1,13 @@ +--- +description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md b/q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md new file mode 100644 index 00000000..4dd8bae5 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md b/q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md new file mode 100644 index 00000000..cba2b9cd --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md b/q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md new file mode 100644 index 00000000..457f6f91 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md b/q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md new file mode 100644 index 00000000..e366e16a --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md b/q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md new file mode 100644 index 00000000..9ea158ae --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md b/q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md new file mode 100644 index 00000000..66734354 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md @@ -0,0 +1,5 @@ +--- +description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-code-review.md b/q1/.iflow/commands/bmad/workflows/bmm-code-review.md new file mode 100644 index 00000000..ae4a62fb --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-correct-course.md b/q1/.iflow/commands/bmad/workflows/bmm-correct-course.md new file mode 100644 index 00000000..b5f02774 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md b/q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md new file mode 100644 index 00000000..0b0f015d --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md @@ -0,0 +1,5 @@ +--- +description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md b/q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md new file mode 100644 index 00000000..db0fe4b7 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md @@ -0,0 +1,5 @@ +--- +description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md new file mode 100644 index 00000000..47578ee0 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md @@ -0,0 +1,13 @@ +--- +description: 'Create data flow diagrams (DFD) in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md new file mode 100644 index 00000000..684236aa --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md @@ -0,0 +1,13 @@ +--- +description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md new file mode 100644 index 00000000..8e45ee70 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md @@ -0,0 +1,13 @@ +--- +description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md new file mode 100644 index 00000000..ea645354 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md @@ -0,0 +1,13 @@ +--- +description: 'Create website or app wireframes in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-prd.md b/q1/.iflow/commands/bmad/workflows/bmm-create-prd.md new file mode 100644 index 00000000..63050671 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-prd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md b/q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md new file mode 100644 index 00000000..16f891de --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-story.md b/q1/.iflow/commands/bmad/workflows/bmm-create-story.md new file mode 100644 index 00000000..d2f282c0 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md b/q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md new file mode 100644 index 00000000..488a7644 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md b/q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md new file mode 100644 index 00000000..283bbed1 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md @@ -0,0 +1,5 @@ +--- +description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-dev-story.md b/q1/.iflow/commands/bmad/workflows/bmm-dev-story.md new file mode 100644 index 00000000..66b569c1 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-document-project.md b/q1/.iflow/commands/bmad/workflows/bmm-document-project.md new file mode 100644 index 00000000..d5295d7e --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-document-project.md @@ -0,0 +1,13 @@ +--- +description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md b/q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md new file mode 100644 index 00000000..561d5afd --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md b/q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md new file mode 100644 index 00000000..77d5a122 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-research.md b/q1/.iflow/commands/bmad/workflows/bmm-research.md new file mode 100644 index 00000000..1ee378f0 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-research.md @@ -0,0 +1,5 @@ +--- +description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-retrospective.md b/q1/.iflow/commands/bmad/workflows/bmm-retrospective.md new file mode 100644 index 00000000..85a04d7c --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md b/q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md new file mode 100644 index 00000000..e8530d26 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md b/q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md new file mode 100644 index 00000000..d4ec9a0b --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md new file mode 100644 index 00000000..75956725 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md @@ -0,0 +1,13 @@ +--- +description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md new file mode 100644 index 00000000..015922af --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md new file mode 100644 index 00000000..337dba4e --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md @@ -0,0 +1,13 @@ +--- +description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md new file mode 100644 index 00000000..b2c16a24 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md new file mode 100644 index 00000000..f2438734 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md @@ -0,0 +1,13 @@ +--- +description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md new file mode 100644 index 00000000..747263b9 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md new file mode 100644 index 00000000..07ac2ec1 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality using comprehensive knowledge base and best practices validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md new file mode 100644 index 00000000..26b38b8b --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md @@ -0,0 +1,13 @@ +--- +description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md b/q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md new file mode 100644 index 00000000..0de870e5 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMM project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md b/q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md new file mode 100644 index 00000000..58eccc1a --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/cis-design-thinking.md b/q1/.iflow/commands/bmad/workflows/cis-design-thinking.md new file mode 100644 index 00000000..402ce806 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/cis-design-thinking.md @@ -0,0 +1,13 @@ +--- +description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md b/q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md new file mode 100644 index 00000000..761734be --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md @@ -0,0 +1,13 @@ +--- +description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/cis-problem-solving.md b/q1/.iflow/commands/bmad/workflows/cis-problem-solving.md new file mode 100644 index 00000000..ec388f5d --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/cis-problem-solving.md @@ -0,0 +1,13 @@ +--- +description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/cis-storytelling.md b/q1/.iflow/commands/bmad/workflows/cis-storytelling.md new file mode 100644 index 00000000..32f1e267 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/cis-storytelling.md @@ -0,0 +1,13 @@ +--- +description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.iflow/commands/bmad/workflows/core-brainstorming.md b/q1/.iflow/commands/bmad/workflows/core-brainstorming.md new file mode 100644 index 00000000..be33b790 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/core-brainstorming.md @@ -0,0 +1,5 @@ +--- +description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/core-party-mode.md b/q1/.iflow/commands/bmad/workflows/core-party-mode.md new file mode 100644 index 00000000..4d790067 --- /dev/null +++ b/q1/.iflow/commands/bmad/workflows/core-party-mode.md @@ -0,0 +1,5 @@ +--- +description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.kilocodemodes b/q1/.kilocodemodes new file mode 100644 index 00000000..66febf26 --- /dev/null +++ b/q1/.kilocodemodes @@ -0,0 +1,301 @@ +customModes: + - slug: bmad-core-bmad-master + name: '🤖 Bmad Master' + roleDefinition: You are a Bmad Master specializing in bmad master tasks. + whenToUse: Use for Bmad Master tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/core/agents/bmad-master.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmb-agent-builder + name: '🤖 Agent Builder' + roleDefinition: You are a Agent Builder specializing in agent builder tasks. + whenToUse: Use for Agent Builder tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmb/agents/agent-builder.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmb-module-builder + name: '🤖 Module Builder' + roleDefinition: You are a Module Builder specializing in module builder tasks. + whenToUse: Use for Module Builder tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmb/agents/module-builder.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmb-workflow-builder + name: '🤖 Workflow Builder' + roleDefinition: You are a Workflow Builder specializing in workflow builder tasks. + whenToUse: Use for Workflow Builder tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmb/agents/workflow-builder.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmgd-game-architect + name: '🤖 Game Architect' + roleDefinition: You are a Game Architect specializing in game architect tasks. + whenToUse: Use for Game Architect tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmgd/agents/game-architect.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmgd-game-designer + name: '🤖 Game Designer' + roleDefinition: You are a Game Designer specializing in game designer tasks. + whenToUse: Use for Game Designer tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmgd/agents/game-designer.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmgd-game-dev + name: '🤖 Game Dev' + roleDefinition: You are a Game Dev specializing in game dev tasks. + whenToUse: Use for Game Dev tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmgd/agents/game-dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmgd-game-qa + name: '🤖 Game Qa' + roleDefinition: You are a Game Qa specializing in game qa tasks. + whenToUse: Use for Game Qa tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmgd/agents/game-qa.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmgd-game-scrum-master + name: '🤖 Game Scrum Master' + roleDefinition: You are a Game Scrum Master specializing in game scrum master tasks. + whenToUse: Use for Game Scrum Master tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmgd/agents/game-scrum-master.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmgd-game-solo-dev + name: '🤖 Game Solo Dev' + roleDefinition: You are a Game Solo Dev specializing in game solo dev tasks. + whenToUse: Use for Game Solo Dev tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmgd/agents/game-solo-dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-analyst + name: '🤖 Analyst' + roleDefinition: You are a Analyst specializing in analyst tasks. + whenToUse: Use for Analyst tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/analyst.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-architect + name: '🤖 Architect' + roleDefinition: You are a Architect specializing in architect tasks. + whenToUse: Use for Architect tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/architect.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-dev + name: '🤖 Dev' + roleDefinition: You are a Dev specializing in dev tasks. + whenToUse: Use for Dev tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-pm + name: '🤖 Pm' + roleDefinition: You are a Pm specializing in pm tasks. + whenToUse: Use for Pm tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/pm.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-quick-flow-solo-dev + name: '🤖 Quick Flow Solo Dev' + roleDefinition: You are a Quick Flow Solo Dev specializing in quick flow solo dev tasks. + whenToUse: Use for Quick Flow Solo Dev tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/quick-flow-solo-dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-sm + name: '🤖 Sm' + roleDefinition: You are a Sm specializing in sm tasks. + whenToUse: Use for Sm tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/sm.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-tea + name: '🤖 Tea' + roleDefinition: You are a Tea specializing in tea tasks. + whenToUse: Use for Tea tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/tea.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-tech-writer + name: '🤖 Tech Writer' + roleDefinition: You are a Tech Writer specializing in tech writer tasks. + whenToUse: Use for Tech Writer tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/tech-writer.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-bmm-ux-designer + name: '🤖 Ux Designer' + roleDefinition: You are a Ux Designer specializing in ux designer tasks. + whenToUse: Use for Ux Designer tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/bmm/agents/ux-designer.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-cis-brainstorming-coach + name: '🤖 Brainstorming Coach' + roleDefinition: You are a Brainstorming Coach specializing in brainstorming coach tasks. + whenToUse: Use for Brainstorming Coach tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/cis/agents/brainstorming-coach.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-cis-creative-problem-solver + name: '🤖 Creative Problem Solver' + roleDefinition: You are a Creative Problem Solver specializing in creative problem solver tasks. + whenToUse: Use for Creative Problem Solver tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/cis/agents/creative-problem-solver.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-cis-design-thinking-coach + name: '🤖 Design Thinking Coach' + roleDefinition: You are a Design Thinking Coach specializing in design thinking coach tasks. + whenToUse: Use for Design Thinking Coach tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/cis/agents/design-thinking-coach.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-cis-innovation-strategist + name: '🤖 Innovation Strategist' + roleDefinition: You are a Innovation Strategist specializing in innovation strategist tasks. + whenToUse: Use for Innovation Strategist tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/cis/agents/innovation-strategist.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-cis-presentation-master + name: '🤖 Presentation Master' + roleDefinition: You are a Presentation Master specializing in presentation master tasks. + whenToUse: Use for Presentation Master tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/cis/agents/presentation-master.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp + - slug: bmad-cis-storyteller + name: '🤖 Storyteller' + roleDefinition: You are a Storyteller specializing in storyteller tasks. + whenToUse: Use for Storyteller tasks + customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + Read the full YAML from _bmad/cis/agents/storyteller/storyteller.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - browser + - command + - mcp diff --git a/q1/.opencode/agent/bmad-agent-bmb-agent-builder.md b/q1/.opencode/agent/bmad-agent-bmb-agent-builder.md new file mode 100644 index 00000000..2dd96fa3 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmb-agent-builder.md @@ -0,0 +1,14 @@ +--- +name: 'agent-builder' +description: 'agent-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmb-module-builder.md b/q1/.opencode/agent/bmad-agent-bmb-module-builder.md new file mode 100644 index 00000000..2e35abeb --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmb-module-builder.md @@ -0,0 +1,14 @@ +--- +name: 'module-builder' +description: 'module-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md b/q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md new file mode 100644 index 00000000..f388a48c --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md @@ -0,0 +1,14 @@ +--- +name: 'workflow-builder' +description: 'workflow-builder agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-architect.md b/q1/.opencode/agent/bmad-agent-bmgd-game-architect.md new file mode 100644 index 00000000..7528a352 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmgd-game-architect.md @@ -0,0 +1,14 @@ +--- +name: 'game-architect' +description: 'game-architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-designer.md b/q1/.opencode/agent/bmad-agent-bmgd-game-designer.md new file mode 100644 index 00000000..bb276b18 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmgd-game-designer.md @@ -0,0 +1,14 @@ +--- +name: 'game-designer' +description: 'game-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-dev.md b/q1/.opencode/agent/bmad-agent-bmgd-game-dev.md new file mode 100644 index 00000000..00ecac81 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmgd-game-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-dev' +description: 'game-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-qa.md b/q1/.opencode/agent/bmad-agent-bmgd-game-qa.md new file mode 100644 index 00000000..cbb4434d --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmgd-game-qa.md @@ -0,0 +1,14 @@ +--- +name: 'game-qa' +description: 'game-qa agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md b/q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md new file mode 100644 index 00000000..7873999e --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md @@ -0,0 +1,14 @@ +--- +name: 'game-scrum-master' +description: 'game-scrum-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md b/q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md new file mode 100644 index 00000000..24974f20 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'game-solo-dev' +description: 'game-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-analyst.md b/q1/.opencode/agent/bmad-agent-bmm-analyst.md new file mode 100644 index 00000000..7224bfa4 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-analyst.md @@ -0,0 +1,14 @@ +--- +name: 'analyst' +description: 'analyst agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-architect.md b/q1/.opencode/agent/bmad-agent-bmm-architect.md new file mode 100644 index 00000000..8bf9f3a1 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-architect.md @@ -0,0 +1,14 @@ +--- +name: 'architect' +description: 'architect agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-dev.md b/q1/.opencode/agent/bmad-agent-bmm-dev.md new file mode 100644 index 00000000..171ad6eb --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-dev.md @@ -0,0 +1,14 @@ +--- +name: 'dev' +description: 'dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-pm.md b/q1/.opencode/agent/bmad-agent-bmm-pm.md new file mode 100644 index 00000000..347e7d4e --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-pm.md @@ -0,0 +1,14 @@ +--- +name: 'pm' +description: 'pm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md b/q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md new file mode 100644 index 00000000..7a956561 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md @@ -0,0 +1,14 @@ +--- +name: 'quick-flow-solo-dev' +description: 'quick-flow-solo-dev agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-sm.md b/q1/.opencode/agent/bmad-agent-bmm-sm.md new file mode 100644 index 00000000..bf7d6710 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-sm.md @@ -0,0 +1,14 @@ +--- +name: 'sm' +description: 'sm agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-tea.md b/q1/.opencode/agent/bmad-agent-bmm-tea.md new file mode 100644 index 00000000..a91b8888 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-tea.md @@ -0,0 +1,14 @@ +--- +name: 'tea' +description: 'tea agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-tech-writer.md b/q1/.opencode/agent/bmad-agent-bmm-tech-writer.md new file mode 100644 index 00000000..1926e6eb --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-tech-writer.md @@ -0,0 +1,14 @@ +--- +name: 'tech-writer' +description: 'tech-writer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-bmm-ux-designer.md b/q1/.opencode/agent/bmad-agent-bmm-ux-designer.md new file mode 100644 index 00000000..66a16bd9 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-bmm-ux-designer.md @@ -0,0 +1,14 @@ +--- +name: 'ux-designer' +description: 'ux-designer agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md b/q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md new file mode 100644 index 00000000..ee3aeb32 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md @@ -0,0 +1,14 @@ +--- +name: 'brainstorming-coach' +description: 'brainstorming-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md b/q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md new file mode 100644 index 00000000..11dbb44e --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md @@ -0,0 +1,14 @@ +--- +name: 'creative-problem-solver' +description: 'creative-problem-solver agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md b/q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md new file mode 100644 index 00000000..dd616724 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md @@ -0,0 +1,14 @@ +--- +name: 'design-thinking-coach' +description: 'design-thinking-coach agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md b/q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md new file mode 100644 index 00000000..9155c727 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md @@ -0,0 +1,14 @@ +--- +name: 'innovation-strategist' +description: 'innovation-strategist agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-cis-presentation-master.md b/q1/.opencode/agent/bmad-agent-cis-presentation-master.md new file mode 100644 index 00000000..19340d91 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-cis-presentation-master.md @@ -0,0 +1,14 @@ +--- +name: 'presentation-master' +description: 'presentation-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-cis-storyteller.md b/q1/.opencode/agent/bmad-agent-cis-storyteller.md new file mode 100644 index 00000000..06f816fa --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-cis-storyteller.md @@ -0,0 +1,14 @@ +--- +name: 'storyteller' +description: 'storyteller agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/agent/bmad-agent-core-bmad-master.md b/q1/.opencode/agent/bmad-agent-core-bmad-master.md new file mode 100644 index 00000000..07d39970 --- /dev/null +++ b/q1/.opencode/agent/bmad-agent-core-bmad-master.md @@ -0,0 +1,14 @@ +--- +name: 'bmad-master' +description: 'bmad-master agent' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + diff --git a/q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md b/q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md new file mode 100644 index 00000000..8524a86c --- /dev/null +++ b/q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md @@ -0,0 +1,5 @@ +--- +description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-create-agent.md b/q1/.opencode/command/bmad-bmb-create-agent.md new file mode 100644 index 00000000..59662ba5 --- /dev/null +++ b/q1/.opencode/command/bmad-bmb-create-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-create-module.md b/q1/.opencode/command/bmad-bmb-create-module.md new file mode 100644 index 00000000..ae1a98c1 --- /dev/null +++ b/q1/.opencode/command/bmad-bmb-create-module.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-create-workflow.md b/q1/.opencode/command/bmad-bmb-create-workflow.md new file mode 100644 index 00000000..3d563a4f --- /dev/null +++ b/q1/.opencode/command/bmad-bmb-create-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Create structured standalone workflows using markdown-based step architecture' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-edit-agent.md b/q1/.opencode/command/bmad-bmb-edit-agent.md new file mode 100644 index 00000000..0c9a6b30 --- /dev/null +++ b/q1/.opencode/command/bmad-bmb-edit-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Edit existing BMAD agents while following all best practices and conventions' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-edit-workflow.md b/q1/.opencode/command/bmad-bmb-edit-workflow.md new file mode 100644 index 00000000..afcaa2f4 --- /dev/null +++ b/q1/.opencode/command/bmad-bmb-edit-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-workflow-compliance-check.md b/q1/.opencode/command/bmad-bmb-workflow-compliance-check.md new file mode 100644 index 00000000..a32d5fe5 --- /dev/null +++ b/q1/.opencode/command/bmad-bmb-workflow-compliance-check.md @@ -0,0 +1,5 @@ +--- +description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-brainstorm-game.md b/q1/.opencode/command/bmad-bmgd-brainstorm-game.md new file mode 100644 index 00000000..04220291 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-brainstorm-game.md @@ -0,0 +1,13 @@ +--- +description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-code-review.md b/q1/.opencode/command/bmad-bmgd-code-review.md new file mode 100644 index 00000000..7b26134f --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-correct-course.md b/q1/.opencode/command/bmad-bmgd-correct-course.md new file mode 100644 index 00000000..cfcd8eaf --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-create-game-brief.md b/q1/.opencode/command/bmad-bmgd-create-game-brief.md new file mode 100644 index 00000000..3bb52d6d --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-create-game-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-create-gdd.md b/q1/.opencode/command/bmad-bmgd-create-gdd.md new file mode 100644 index 00000000..4dcc804e --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-create-gdd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-create-story.md b/q1/.opencode/command/bmad-bmgd-create-story.md new file mode 100644 index 00000000..ad75462a --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-create-tech-spec.md b/q1/.opencode/command/bmad-bmgd-create-tech-spec.md new file mode 100644 index 00000000..f957ebc9 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-dev-story.md b/q1/.opencode/command/bmad-bmgd-dev-story.md new file mode 100644 index 00000000..a8b771dd --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-game-architecture.md b/q1/.opencode/command/bmad-bmgd-game-architecture.md new file mode 100644 index 00000000..36ef3279 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-game-architecture.md @@ -0,0 +1,13 @@ +--- +description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-game-brief.md b/q1/.opencode/command/bmad-bmgd-game-brief.md new file mode 100644 index 00000000..e0303ff1 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-game-brief.md @@ -0,0 +1,13 @@ +--- +description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-gametest-automate.md b/q1/.opencode/command/bmad-bmgd-gametest-automate.md new file mode 100644 index 00000000..dfccaca9 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-gametest-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-gametest-framework.md b/q1/.opencode/command/bmad-bmgd-gametest-framework.md new file mode 100644 index 00000000..cd6272ab --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-gametest-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-gametest-performance.md b/q1/.opencode/command/bmad-bmgd-gametest-performance.md new file mode 100644 index 00000000..7255df6c --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-gametest-performance.md @@ -0,0 +1,13 @@ +--- +description: 'Design performance testing strategy for frame rate, memory, and loading times' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md b/q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md new file mode 100644 index 00000000..988d010c --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md @@ -0,0 +1,13 @@ +--- +description: 'Create structured playtesting sessions for gameplay validation and user feedback' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-gametest-test-design.md b/q1/.opencode/command/bmad-bmgd-gametest-test-design.md new file mode 100644 index 00000000..05ac011f --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-gametest-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-gametest-test-review.md b/q1/.opencode/command/bmad-bmgd-gametest-test-review.md new file mode 100644 index 00000000..23879a38 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-gametest-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality, coverage, and identify gaps in game testing' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-gdd.md b/q1/.opencode/command/bmad-bmgd-gdd.md new file mode 100644 index 00000000..0bf8eabd --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-gdd.md @@ -0,0 +1,13 @@ +--- +description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-generate-project-context.md b/q1/.opencode/command/bmad-bmgd-generate-project-context.md new file mode 100644 index 00000000..6c44337a --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-narrative.md b/q1/.opencode/command/bmad-bmgd-narrative.md new file mode 100644 index 00000000..264f45e5 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-narrative.md @@ -0,0 +1,13 @@ +--- +description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-quick-dev.md b/q1/.opencode/command/bmad-bmgd-quick-dev.md new file mode 100644 index 00000000..09da4e5a --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-quick-prototype.md b/q1/.opencode/command/bmad-bmgd-quick-prototype.md new file mode 100644 index 00000000..e7df33a6 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-quick-prototype.md @@ -0,0 +1,13 @@ +--- +description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-retrospective.md b/q1/.opencode/command/bmad-bmgd-retrospective.md new file mode 100644 index 00000000..4dd8bae5 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-sprint-planning.md b/q1/.opencode/command/bmad-bmgd-sprint-planning.md new file mode 100644 index 00000000..cba2b9cd --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-sprint-status.md b/q1/.opencode/command/bmad-bmgd-sprint-status.md new file mode 100644 index 00000000..457f6f91 --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-workflow-init.md b/q1/.opencode/command/bmad-bmgd-workflow-init.md new file mode 100644 index 00000000..e366e16a --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmgd-workflow-status.md b/q1/.opencode/command/bmad-bmgd-workflow-status.md new file mode 100644 index 00000000..9ea158ae --- /dev/null +++ b/q1/.opencode/command/bmad-bmgd-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-check-implementation-readiness.md b/q1/.opencode/command/bmad-bmm-check-implementation-readiness.md new file mode 100644 index 00000000..66734354 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-check-implementation-readiness.md @@ -0,0 +1,5 @@ +--- +description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-code-review.md b/q1/.opencode/command/bmad-bmm-code-review.md new file mode 100644 index 00000000..ae4a62fb --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-correct-course.md b/q1/.opencode/command/bmad-bmm-correct-course.md new file mode 100644 index 00000000..b5f02774 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-create-architecture.md b/q1/.opencode/command/bmad-bmm-create-architecture.md new file mode 100644 index 00000000..0b0f015d --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-architecture.md @@ -0,0 +1,5 @@ +--- +description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-epics-and-stories.md b/q1/.opencode/command/bmad-bmm-create-epics-and-stories.md new file mode 100644 index 00000000..db0fe4b7 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-epics-and-stories.md @@ -0,0 +1,5 @@ +--- +description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md new file mode 100644 index 00000000..47578ee0 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md @@ -0,0 +1,13 @@ +--- +description: 'Create data flow diagrams (DFD) in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md new file mode 100644 index 00000000..684236aa --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md @@ -0,0 +1,13 @@ +--- +description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md new file mode 100644 index 00000000..8e45ee70 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md @@ -0,0 +1,13 @@ +--- +description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md new file mode 100644 index 00000000..ea645354 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md @@ -0,0 +1,13 @@ +--- +description: 'Create website or app wireframes in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-create-prd.md b/q1/.opencode/command/bmad-bmm-create-prd.md new file mode 100644 index 00000000..63050671 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-prd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-product-brief.md b/q1/.opencode/command/bmad-bmm-create-product-brief.md new file mode 100644 index 00000000..16f891de --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-product-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-story.md b/q1/.opencode/command/bmad-bmm-create-story.md new file mode 100644 index 00000000..d2f282c0 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-create-tech-spec.md b/q1/.opencode/command/bmad-bmm-create-tech-spec.md new file mode 100644 index 00000000..488a7644 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-create-ux-design.md b/q1/.opencode/command/bmad-bmm-create-ux-design.md new file mode 100644 index 00000000..283bbed1 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-create-ux-design.md @@ -0,0 +1,5 @@ +--- +description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-dev-story.md b/q1/.opencode/command/bmad-bmm-dev-story.md new file mode 100644 index 00000000..66b569c1 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-document-project.md b/q1/.opencode/command/bmad-bmm-document-project.md new file mode 100644 index 00000000..d5295d7e --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-document-project.md @@ -0,0 +1,13 @@ +--- +description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-generate-project-context.md b/q1/.opencode/command/bmad-bmm-generate-project-context.md new file mode 100644 index 00000000..561d5afd --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-quick-dev.md b/q1/.opencode/command/bmad-bmm-quick-dev.md new file mode 100644 index 00000000..77d5a122 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-research.md b/q1/.opencode/command/bmad-bmm-research.md new file mode 100644 index 00000000..1ee378f0 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-research.md @@ -0,0 +1,5 @@ +--- +description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-retrospective.md b/q1/.opencode/command/bmad-bmm-retrospective.md new file mode 100644 index 00000000..85a04d7c --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-sprint-planning.md b/q1/.opencode/command/bmad-bmm-sprint-planning.md new file mode 100644 index 00000000..e8530d26 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-sprint-status.md b/q1/.opencode/command/bmad-bmm-sprint-status.md new file mode 100644 index 00000000..d4ec9a0b --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-atdd.md b/q1/.opencode/command/bmad-bmm-testarch-atdd.md new file mode 100644 index 00000000..75956725 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-atdd.md @@ -0,0 +1,13 @@ +--- +description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-automate.md b/q1/.opencode/command/bmad-bmm-testarch-automate.md new file mode 100644 index 00000000..015922af --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-ci.md b/q1/.opencode/command/bmad-bmm-testarch-ci.md new file mode 100644 index 00000000..337dba4e --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-ci.md @@ -0,0 +1,13 @@ +--- +description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-framework.md b/q1/.opencode/command/bmad-bmm-testarch-framework.md new file mode 100644 index 00000000..b2c16a24 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-nfr.md b/q1/.opencode/command/bmad-bmm-testarch-nfr.md new file mode 100644 index 00000000..f2438734 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-nfr.md @@ -0,0 +1,13 @@ +--- +description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-test-design.md b/q1/.opencode/command/bmad-bmm-testarch-test-design.md new file mode 100644 index 00000000..747263b9 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-test-review.md b/q1/.opencode/command/bmad-bmm-testarch-test-review.md new file mode 100644 index 00000000..07ac2ec1 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality using comprehensive knowledge base and best practices validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-testarch-trace.md b/q1/.opencode/command/bmad-bmm-testarch-trace.md new file mode 100644 index 00000000..26b38b8b --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-testarch-trace.md @@ -0,0 +1,13 @@ +--- +description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-workflow-init.md b/q1/.opencode/command/bmad-bmm-workflow-init.md new file mode 100644 index 00000000..0de870e5 --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMM project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-bmm-workflow-status.md b/q1/.opencode/command/bmad-bmm-workflow-status.md new file mode 100644 index 00000000..58eccc1a --- /dev/null +++ b/q1/.opencode/command/bmad-bmm-workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-cis-design-thinking.md b/q1/.opencode/command/bmad-cis-design-thinking.md new file mode 100644 index 00000000..402ce806 --- /dev/null +++ b/q1/.opencode/command/bmad-cis-design-thinking.md @@ -0,0 +1,13 @@ +--- +description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-cis-innovation-strategy.md b/q1/.opencode/command/bmad-cis-innovation-strategy.md new file mode 100644 index 00000000..761734be --- /dev/null +++ b/q1/.opencode/command/bmad-cis-innovation-strategy.md @@ -0,0 +1,13 @@ +--- +description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-cis-problem-solving.md b/q1/.opencode/command/bmad-cis-problem-solving.md new file mode 100644 index 00000000..ec388f5d --- /dev/null +++ b/q1/.opencode/command/bmad-cis-problem-solving.md @@ -0,0 +1,13 @@ +--- +description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-cis-storytelling.md b/q1/.opencode/command/bmad-cis-storytelling.md new file mode 100644 index 00000000..32f1e267 --- /dev/null +++ b/q1/.opencode/command/bmad-cis-storytelling.md @@ -0,0 +1,13 @@ +--- +description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.opencode/command/bmad-core-brainstorming.md b/q1/.opencode/command/bmad-core-brainstorming.md new file mode 100644 index 00000000..be33b790 --- /dev/null +++ b/q1/.opencode/command/bmad-core-brainstorming.md @@ -0,0 +1,5 @@ +--- +description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-core-party-mode.md b/q1/.opencode/command/bmad-core-party-mode.md new file mode 100644 index 00000000..4d790067 --- /dev/null +++ b/q1/.opencode/command/bmad-core-party-mode.md @@ -0,0 +1,5 @@ +--- +description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-task-core-advanced-elicitation.md b/q1/.opencode/command/bmad-task-core-advanced-elicitation.md new file mode 100644 index 00000000..c7886fc2 --- /dev/null +++ b/q1/.opencode/command/bmad-task-core-advanced-elicitation.md @@ -0,0 +1,9 @@ +--- +description: 'When called from workflow' +--- + +# Advanced Elicitation + +LOAD and execute the task at: \_bmad/core/tasks/advanced-elicitation.xml + +Follow all instructions in the task file exactly as written. diff --git a/q1/.opencode/command/bmad-task-core-index-docs.md b/q1/.opencode/command/bmad-task-core-index-docs.md new file mode 100644 index 00000000..7fb38143 --- /dev/null +++ b/q1/.opencode/command/bmad-task-core-index-docs.md @@ -0,0 +1,9 @@ +--- +description: 'Generates or updates an index.md of all documents in the specified directory' +--- + +# Index Docs + +LOAD and execute the task at: \_bmad/core/tasks/index-docs.xml + +Follow all instructions in the task file exactly as written. diff --git a/q1/.opencode/command/bmad-tool-core-shard-doc.md b/q1/.opencode/command/bmad-tool-core-shard-doc.md new file mode 100644 index 00000000..12aa20f5 --- /dev/null +++ b/q1/.opencode/command/bmad-tool-core-shard-doc.md @@ -0,0 +1,9 @@ +--- +description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections' +--- + +# Shard Document + +LOAD and execute the tool at: \_bmad/core/tools/shard-doc.xml + +Follow all instructions in the tool file exactly as written. diff --git a/q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml b/q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml new file mode 100644 index 00000000..049dff89 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml @@ -0,0 +1,12 @@ +description = "BMAD BMB Agent: agent-builder" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmb/agents/module-builder.toml b/q1/.qwen/commands/bmad/bmb/agents/module-builder.toml new file mode 100644 index 00000000..53379b77 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmb/agents/module-builder.toml @@ -0,0 +1,12 @@ +description = "BMAD BMB Agent: module-builder" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml b/q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml new file mode 100644 index 00000000..bc49cfcb --- /dev/null +++ b/q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml @@ -0,0 +1,12 @@ +description = "BMAD BMB Agent: workflow-builder" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml new file mode 100644 index 00000000..d1c63037 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml @@ -0,0 +1,12 @@ +description = "BMAD BMGD Agent: game-architect" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml new file mode 100644 index 00000000..c36e1402 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml @@ -0,0 +1,12 @@ +description = "BMAD BMGD Agent: game-designer" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml new file mode 100644 index 00000000..b518df1b --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml @@ -0,0 +1,12 @@ +description = "BMAD BMGD Agent: game-dev" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml new file mode 100644 index 00000000..2448ec91 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml @@ -0,0 +1,12 @@ +description = "BMAD BMGD Agent: game-qa" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml new file mode 100644 index 00000000..33c8e8ce --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml @@ -0,0 +1,12 @@ +description = "BMAD BMGD Agent: game-scrum-master" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml new file mode 100644 index 00000000..fe2b2ec1 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml @@ -0,0 +1,12 @@ +description = "BMAD BMGD Agent: game-solo-dev" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml b/q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml new file mode 100644 index 00000000..2036630c --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml @@ -0,0 +1,46 @@ +description = "BMAD BMGD Workflow: brainstorm-game" +prompt = """ +# Brainstorm Game Workflow Configuration +name: "brainstorm-game" +description: "Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +game_dev_experience: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components - Step-file architecture +installed_path: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game" +instructions: "{installed_path}/workflow.md" +template: false + +# Context and techniques for game brainstorming +game_context: "{installed_path}/game-context.md" +game_brain_methods: "{installed_path}/game-brain-methods.csv" + +# CORE brainstorming workflow reference (for technique merging) +core_brainstorming: "{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml" + +# Output configuration +default_output_file: "{output_folder}/brainstorming-session-{date}.md" + +# Workflow metadata +version: "2.0.0" +paradigm: "step-file-architecture" +features: + - "Step-file architecture for modular execution" + - "Game-specific brainstorming techniques" + - "MDA Framework exploration" + - "Core loop brainstorming" + - "Player fantasy mining" + - "Genre mashup ideation" + - "State tracking via frontmatter" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml b/q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml new file mode 100644 index 00000000..d9727588 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml @@ -0,0 +1,66 @@ +description = "BMAD BMGD Workflow: code-review" +prompt = """ +# Review Story Workflow - Game Development +name: code-review +description: "Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" +sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/code-review" +instructions: "{installed_path}/instructions.xml" +validation: "{installed_path}/checklist.md" +template: false + +variables: + # Project context + project_context: "**/project-context.md" + story_dir: "{sprint_artifacts}" + +# Smart input file references - game-specific patterns +# Priority: Whole document first, then sharded version +# Strategy: SELECTIVE LOAD - only load the specific epic needed for this story review +input_file_patterns: + gdd: + description: "Game Design Document" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" + load_strategy: "FULL_LOAD" + narrative: + description: "Narrative Design Document (if story-driven)" + whole: "{output_folder}/*narrative*.md" + sharded: "{output_folder}/*narrative*/*.md" + load_strategy: "FULL_LOAD" + architecture: + description: "Game architecture and technical decisions" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + ux_design: + description: "UX design specification (if UI)" + whole: "{output_folder}/*ux*.md" + sharded: "{output_folder}/*ux*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics with user stories" + whole: "{output_folder}/*epic*.md" + sharded_index: "{output_folder}/*epic*/index.md" + sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + load_strategy: "SELECTIVE_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/index.md" + load_strategy: "INDEX_GUIDED" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml b/q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml new file mode 100644 index 00000000..34353d5c --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml @@ -0,0 +1,65 @@ +description = "BMAD BMGD Workflow: correct-course" +prompt = """ +# Correct Course - Sprint Change Management Workflow +name: "correct-course" +description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation" +author: "BMad Method" + +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" +sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: Load project context for impact analysis +input_file_patterns: + gdd: + description: "Game Design Document" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" + load_strategy: "FULL_LOAD" + narrative: + description: "Narrative Design Document (if story-driven)" + whole: "{output_folder}/*narrative*.md" + sharded: "{output_folder}/*narrative*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics with user stories" + whole: "{output_folder}/*epic*.md" + sharded: "{output_folder}/*epic*/*.md" + load_strategy: "FULL_LOAD" + architecture: + description: "Game architecture and technical decisions" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + ux_design: + description: "UX design specification (if UI)" + whole: "{output_folder}/*ux*.md" + sharded: "{output_folder}/*ux*/*.md" + load_strategy: "FULL_LOAD" + tech_spec: + description: "Technical specification" + whole: "{output_folder}/tech-spec*.md" + load_strategy: "FULL_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/index.md" + load_strategy: "INDEX_GUIDED" + +installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course" +template: false +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" +checklist: "{installed_path}/checklist.md" +default_output_file: "{output_folder}/sprint-change-proposal-{date}.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml b/q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml new file mode 100644 index 00000000..7b97f549 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml @@ -0,0 +1,81 @@ +description = "BMAD BMGD Workflow: create-story" +prompt = """ +name: create-story +description: "Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" +story_dir: "{sprint_artifacts}" + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/create-story" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.xml" +validation: "{installed_path}/checklist.md" + +# Variables and inputs +variables: + sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking + epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown + prd_file: "{output_folder}/PRD.md" # Fallback for requirements + architecture_file: "{output_folder}/architecture.md" # Optional architecture context + tech_spec_file: "" # Will be auto-discovered from docs as tech-spec-epic-{{epic_num}}-*.md + tech_spec_search_dir: "{project-root}/docs" + tech_spec_glob_template: "tech-spec-epic-{{epic_num}}*.md" + arch_docs_search_dirs: | + - "{project-root}/docs" + - "{output_folder}" + arch_docs_file_names: | + - *architecture*.md + story_title: "" # Will be elicited if not derivable + +default_output_file: "{story_dir}/{{story_key}}.md" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: SELECTIVE LOAD - only load the specific epic needed for this story +input_file_patterns: + gdd: + description: "Game Design Document" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" + load_strategy: "FULL_LOAD" + narrative: + description: "Narrative Design Document (if story-driven)" + whole: "{output_folder}/*narrative*.md" + sharded: "{output_folder}/*narrative*/*.md" + load_strategy: "FULL_LOAD" + tech_spec: + description: "Technical specification" + whole: "{output_folder}/tech-spec.md" + load_strategy: "FULL_LOAD" + architecture: + description: "Game architecture and technical decisions" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + ux_design: + description: "UX design specification (if UI)" + whole: "{output_folder}/*ux*.md" + sharded: "{output_folder}/*ux*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics with user stories" + whole: "{output_folder}/*epic*.md" + sharded_index: "{output_folder}/*epic*/index.md" + sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + load_strategy: "SELECTIVE_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/index.md" + load_strategy: "INDEX_GUIDED" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml b/q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml new file mode 100644 index 00000000..ee8ea4c0 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml @@ -0,0 +1,29 @@ +description = "BMAD BMGD Workflow: create-tech-spec" +prompt = """ +# Quick-Flow: Create Tech-Spec (Game Development) +name: create-tech-spec +description: "Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec." +author: "BMad" + +# Config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +sprint_artifacts: "{config_source}:sprint_artifacts" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec" +instructions: "{installed_path}/instructions.md" + +# Related workflows +quick_dev_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" +quick_prototype_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" +party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" +advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml b/q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml new file mode 100644 index 00000000..cd9f4c4d --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml @@ -0,0 +1,70 @@ +description = "BMAD BMGD Workflow: dev-story" +prompt = """ +name: dev-story +description: "Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +story_dir: "{config_source}:sprint_artifacts" +date: system-generated + +story_file: "" # Explicit story path; auto-discovered if empty +# Context file uses same story_key as story file (e.g., "1-2-user-authentication.context.xml") +context_file: "{story_dir}/{{story_key}}.context.xml" +sprint_artifacts: "{config_source}:sprint_artifacts" +sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: Load necessary context for story implementation +input_file_patterns: + gdd: + description: "Game Design Document" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" + load_strategy: "FULL_LOAD" + narrative: + description: "Narrative Design Document (if story-driven)" + whole: "{output_folder}/*narrative*.md" + sharded: "{output_folder}/*narrative*/*.md" + load_strategy: "FULL_LOAD" + architecture: + description: "Game architecture and technical decisions" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + tech_spec: + description: "Technical specification" + whole: "{output_folder}/tech-spec*.md" + sharded: "{sprint_artifacts}/tech-spec-epic-*.md" + load_strategy: "SELECTIVE_LOAD" + ux_design: + description: "UX design specification (if UI)" + whole: "{output_folder}/*ux*.md" + sharded: "{output_folder}/*ux*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics with user stories" + whole: "{output_folder}/*epic*.md" + sharded_index: "{output_folder}/*epic*/index.md" + sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + load_strategy: "SELECTIVE_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/index.md" + load_strategy: "INDEX_GUIDED" + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/dev-story" +instructions: "{installed_path}/instructions.xml" +validation: "{installed_path}/checklist.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml b/q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml new file mode 100644 index 00000000..a7a92d0f --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml @@ -0,0 +1,74 @@ +description = "BMAD BMGD Workflow: game-architecture" +prompt = """ +# Game Architecture Workflow Configuration +name: game-architecture +description: "Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development." +author: "BMad" + +# Critical variables +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +game_dev_experience: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components - Step-file architecture +installed_path: "{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture" +instructions: "{installed_path}/workflow.md" +validation: "{installed_path}/checklist.md" +template: "{installed_path}/templates/architecture-template.md" + +# Knowledge bases for intelligent decision making +decision_catalog: "{installed_path}/decision-catalog.yaml" +architecture_patterns: "{installed_path}/architecture-patterns.yaml" +pattern_categories: "{installed_path}/pattern-categories.csv" + +# Smart input file references - handles both whole docs and sharded docs +input_file_patterns: + gdd: + description: "Game Design Document with mechanics and systems" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/index.md" + load_strategy: "INDEX_GUIDED" + + epics: + description: "Epic definitions with user stories" + whole: "{output_folder}/*epic*.md" + sharded: "{output_folder}/*epic*/index.md" + load_strategy: "FULL_LOAD" + + brief: + description: "Game Brief with vision and scope (optional)" + whole: "{output_folder}/*brief*.md" + sharded: "{output_folder}/*brief*/index.md" + load_strategy: "INDEX_GUIDED" + + narrative: + description: "Narrative design with story and characters (optional)" + whole: "{output_folder}/*narrative*.md" + sharded: "{output_folder}/*narrative*/index.md" + load_strategy: "INDEX_GUIDED" + +# Output configuration +default_output_file: "{output_folder}/game-architecture.md" + +# Workflow metadata +version: "2.0.0" +replaces: "architecture" +paradigm: "step-file-architecture" +features: + - "Step-file architecture for modular execution" + - "Starter template discovery and integration" + - "Dynamic version verification via web search" + - "Adaptive facilitation by skill level" + - "Decision-focused architecture" + - "Novel pattern design for unique concepts" + - "Intelligent pattern identification" + - "Implementation patterns for agent consistency" + - "State tracking via frontmatter" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml b/q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml new file mode 100644 index 00000000..19278a55 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml @@ -0,0 +1,48 @@ +description = "BMAD BMGD Workflow: game-brief" +prompt = """ +# Game Brief - Interactive Workflow Configuration +name: game-brief +description: "Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +game_dev_experience: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components - Step-file architecture +installed_path: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief" +instructions: "{installed_path}/workflow.md" +template: "{installed_path}/templates/game-brief-template.md" +validation: "{installed_path}/checklist.md" + +# Smart input file references - handles brainstorming/research docs +input_file_patterns: + brainstorm: + description: "Brainstorming or ideation documents (optional)" + whole: "{output_folder}/*brainstorm*.md" + sharded: "{output_folder}/*brainstorm*/index.md" + load_strategy: "FULL_LOAD" + + research: + description: "Market or domain research (optional)" + whole: "{output_folder}/*research*.md" + sharded: "{output_folder}/*research*/index.md" + load_strategy: "FULL_LOAD" + + inspiration: + description: "Inspiration or reference documents (optional)" + whole: "{output_folder}/*inspiration*.md" + sharded: "{output_folder}/*inspiration*/index.md" + load_strategy: "FULL_LOAD" + +# Output configuration +default_output_file: "{output_folder}/game-brief.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml b/q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml new file mode 100644 index 00000000..ebb9254e --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml @@ -0,0 +1,51 @@ +description = "BMAD BMGD Workflow: gdd" +prompt = """ +# Game Design Document (GDD) Workflow +name: gdd +description: "Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +game_dev_experience: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components - Step-file architecture +installed_path: "{project-root}/_bmad/bmgd/workflows/2-design/gdd" +instructions: "{installed_path}/workflow.md" +template: "{installed_path}/templates/gdd-template.md" +game_types_csv: "{installed_path}/game-types.csv" + +# Output configuration +default_output_file: "{output_folder}/gdd.md" + +# Game type references (loaded based on game type selection) +game_type_guides: "{installed_path}/game-types/" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +input_file_patterns: + game_brief: + description: "Game vision and core concept (optional)" + whole: "{output_folder}/*game-brief*.md" + sharded: "{output_folder}/*game-brief*/index.md" + load_strategy: "INDEX_GUIDED" + + research: + description: "Market or domain research (optional)" + whole: "{output_folder}/*research*.md" + sharded: "{output_folder}/*research*/index.md" + load_strategy: "FULL_LOAD" + + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/index.md" + load_strategy: "INDEX_GUIDED" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml b/q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml new file mode 100644 index 00000000..890216f2 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml @@ -0,0 +1,55 @@ +description = "BMAD BMGD Workflow: narrative" +prompt = """ +# Narrative Design Workflow +name: narrative +description: "Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +game_dev_experience: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components - Step-file architecture +installed_path: "{project-root}/_bmad/bmgd/workflows/2-design/narrative" +instructions: "{installed_path}/workflow.md" +template: "{installed_path}/templates/narrative-template.md" +validation: "{installed_path}/checklist.md" + +# Smart input file references +input_file_patterns: + gdd: + description: "Game Design Document with mechanics and systems" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/index.md" + load_strategy: "INDEX_GUIDED" + + brief: + description: "Game Brief with vision (optional)" + whole: "{output_folder}/*brief*.md" + sharded: "{output_folder}/*brief*/index.md" + load_strategy: "INDEX_GUIDED" + +# Output configuration +default_output_file: "{output_folder}/narrative-design.md" + +# Workflow metadata +version: "2.0.0" +paradigm: "step-file-architecture" +features: + - "Step-file architecture for modular execution" + - "Narrative complexity assessment" + - "Character development facilitation" + - "World-building guidance" + - "Dialogue system design" + - "Environmental storytelling planning" + - "Production scope estimation" + - "State tracking via frontmatter" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml b/q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml new file mode 100644 index 00000000..46c89dcb --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml @@ -0,0 +1,47 @@ +description = "BMAD BMGD Workflow: quick-dev" +prompt = """ +# Quick-Flow: Quick-Dev (Game Development) +name: quick-dev +description: "Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations." +author: "BMad" + +# Config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +sprint_artifacts: "{config_source}:sprint_artifacts" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:game_dev_experience" +date: system-generated + +# Project context +project_context: "**/project-context.md" + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev" +instructions: "{installed_path}/instructions.md" +checklist: "{installed_path}/checklist.md" + +# Related workflows +quick_prototype_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" +party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" +advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + +# Routing resources (lazy-loaded) +workflow_init: "{project-root}/_bmad/bmgd/workflows/workflow-status/init/workflow.yaml" + +# Game-specific input patterns +input_file_patterns: + gdd: + description: "Game Design Document" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" + load_strategy: "FULL_LOAD" + architecture: + description: "Game architecture and technical decisions" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml b/q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml new file mode 100644 index 00000000..d98b50d2 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml @@ -0,0 +1,38 @@ +description = "BMAD BMGD Workflow: quick-prototype" +prompt = """ +# Quick-Flow: Quick-Prototype (Game Development) +name: quick-prototype +description: "Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup." +author: "BMad" + +# Config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +sprint_artifacts: "{config_source}:sprint_artifacts" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:game_dev_experience" +date: system-generated + +# Project context +project_context: "**/project-context.md" + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype" +instructions: "{installed_path}/instructions.md" +checklist: "{installed_path}/checklist.md" + +# Related workflows +quick_dev_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" +party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" +advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + +# Game-specific references +gdd_patterns: + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" +architecture_patterns: + whole: "{output_folder}/*architecture*.md" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml b/q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml new file mode 100644 index 00000000..69e6cb7e --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml @@ -0,0 +1,64 @@ +description = "BMAD BMGD Workflow: retrospective" +prompt = """ +# Retrospective - Epic Completion Review Workflow +name: "retrospective" +description: "Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic" +author: "BMad" + +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" + +installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/retrospective" +template: false +instructions: "{installed_path}/instructions.md" + +required_inputs: + - agent_manifest: "{project-root}/_bmad/_config/agent-manifest.csv" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: SELECTIVE LOAD - only load the completed epic and relevant retrospectives +input_file_patterns: + gdd: + description: "Game Design Document" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" + load_strategy: "FULL_LOAD" + narrative: + description: "Narrative Design Document (if story-driven)" + whole: "{output_folder}/*narrative*.md" + sharded: "{output_folder}/*narrative*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics with user stories" + whole: "{output_folder}/*epic*.md" + sharded_index: "{output_folder}/*epic*/index.md" + sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + load_strategy: "SELECTIVE_LOAD" + previous_retrospective: + description: "Previous retrospective (optional)" + pattern: "{sprint_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" + load_strategy: "SELECTIVE_LOAD" + architecture: + description: "Game architecture and technical decisions" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/*.md" + load_strategy: "INDEX_GUIDED" + +# Required files +sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +story_directory: "{sprint_artifacts}" +retrospectives_folder: "{sprint_artifacts}" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml b/q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml new file mode 100644 index 00000000..8965db19 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml @@ -0,0 +1,58 @@ +description = "BMAD BMGD Workflow: sprint-planning" +prompt = """ +name: sprint-planning +description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-planning" +instructions: "{installed_path}/instructions.md" +template: "{installed_path}/sprint-status-template.yaml" +validation: "{installed_path}/checklist.md" + +# Variables and inputs +variables: + # Project identification + project_name: "{config_source}:project_name" + + # Tracking system configuration + tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello + story_location: "{config_source}:sprint_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello + story_location_absolute: "{config_source}:sprint_artifacts" # Absolute path for file operations + + # Source files (file-system only) + epics_location: "{output_folder}" # Directory containing epic*.md files + epics_pattern: "epic*.md" # Pattern to find epic files + + # Output configuration + status_file: "{sprint_artifacts}/sprint-status.yaml" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: FULL LOAD - sprint planning needs ALL epics to build complete status +input_file_patterns: + gdd: + description: "Game Design Document" + whole: "{output_folder}/*gdd*.md" + sharded: "{output_folder}/*gdd*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics with user stories" + whole: "{output_folder}/*epic*.md" + sharded: "{output_folder}/*epic*/*.md" + load_strategy: "FULL_LOAD" + +# Output configuration +default_output_file: "{status_file}" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml b/q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml new file mode 100644 index 00000000..2a0c5c8c --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml @@ -0,0 +1,37 @@ +description = "BMAD BMGD Workflow: sprint-status" +prompt = """ +# Sprint Status - Game Development Implementation Tracker +name: sprint-status +description: "Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-status" +instructions: "{installed_path}/instructions.md" + +# Inputs +variables: + sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + tracking_system: "file-system" + +# Smart input file references +input_file_patterns: + sprint_status: + description: "Sprint status file generated by sprint-planning" + whole: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + load_strategy: "FULL_LOAD" + +# Standalone so IDE commands get generated +standalone: true + +# No web bundle needed +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml b/q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml new file mode 100644 index 00000000..f3380791 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml @@ -0,0 +1,31 @@ +description = "BMAD BMGD Workflow: workflow-init" +prompt = """ +# Workflow Init - Initial Game Project Setup +name: workflow-init +description: "Initialize a new BMGD game project by determining level, type, and creating workflow path" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +sprint_artifacts: "{config_source}:sprint_artifacts" +user_name: "{config_source}:user_name" +project_name: "{config_source}:project_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/workflow-status/init" +instructions: "{installed_path}/instructions.md" +template: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow-status-template.yaml" + +# Path data files +path_files: "{project-root}/_bmad/bmgd/workflows/workflow-status/paths/" + +# Output configuration +default_output_file: "{output_folder}/bmgd-workflow-status.yaml" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml b/q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml new file mode 100644 index 00000000..8e08624a --- /dev/null +++ b/q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml @@ -0,0 +1,32 @@ +description = "BMAD BMGD Workflow: workflow-status" +prompt = """ +# Workflow Status - Master Router and Status Tracker for BMGD +name: workflow-status +description: 'Lightweight status checker - answers "what should I do now?" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmgd/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +game_dev_experience: "{config_source}:game_dev_experience" +date: system-generated + +# Workflow components +installed_path: "{project-root}/_bmad/bmgd/workflows/workflow-status" +instructions: "{installed_path}/instructions.md" + +# Template for status file creation (used by workflow-init) +template: "{installed_path}/workflow-status-template.yaml" + +# Path definitions for project types +path_files: "{installed_path}/paths/" + +# Output configuration - reads existing status +default_output_file: "{output_folder}/bmgd-workflow-status.yaml" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/analyst.toml b/q1/.qwen/commands/bmad/bmm/agents/analyst.toml new file mode 100644 index 00000000..3b4e67b2 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/analyst.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: analyst" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/architect.toml b/q1/.qwen/commands/bmad/bmm/agents/architect.toml new file mode 100644 index 00000000..cad0f7cc --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/architect.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: architect" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/dev.toml b/q1/.qwen/commands/bmad/bmm/agents/dev.toml new file mode 100644 index 00000000..b12d376a --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/dev.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: dev" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/pm.toml b/q1/.qwen/commands/bmad/bmm/agents/pm.toml new file mode 100644 index 00000000..3edb3c14 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/pm.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: pm" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml b/q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml new file mode 100644 index 00000000..d1e185c7 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: quick-flow-solo-dev" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/sm.toml b/q1/.qwen/commands/bmad/bmm/agents/sm.toml new file mode 100644 index 00000000..61926483 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/sm.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: sm" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/tea.toml b/q1/.qwen/commands/bmad/bmm/agents/tea.toml new file mode 100644 index 00000000..493befaa --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/tea.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: tea" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml b/q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml new file mode 100644 index 00000000..a2ea460f --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: tech-writer" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml b/q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml new file mode 100644 index 00000000..1ce9c848 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml @@ -0,0 +1,12 @@ +description = "BMAD BMM Agent: ux-designer" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/code-review.toml b/q1/.qwen/commands/bmad/bmm/workflows/code-review.toml new file mode 100644 index 00000000..062c82d3 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/code-review.toml @@ -0,0 +1,56 @@ +description = "BMAD BMM Workflow: code-review" +prompt = """ +# Review Story Workflow +name: code-review +description: "Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" +sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review" +instructions: "{installed_path}/instructions.xml" +validation: "{installed_path}/checklist.md" +template: false + +variables: + # Project context + project_context: "**/project-context.md" + story_dir: "{sprint_artifacts}" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: SELECTIVE LOAD - only load the specific epic needed for this story review +input_file_patterns: + architecture: + description: "System architecture for review context" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + ux_design: + description: "UX design specification (if UI review)" + whole: "{output_folder}/*ux*.md" + sharded: "{output_folder}/*ux*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "Epic containing story being reviewed" + whole: "{output_folder}/*epic*.md" + sharded_index: "{output_folder}/*epic*/index.md" + sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + load_strategy: "SELECTIVE_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/index.md" + load_strategy: "INDEX_GUIDED" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml b/q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml new file mode 100644 index 00000000..9235b2d8 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml @@ -0,0 +1,60 @@ +description = "BMAD BMM Workflow: correct-course" +prompt = """ +# Correct Course - Sprint Change Management Workflow +name: "correct-course" +description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation" +author: "BMad Method" + +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" +sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: Load project context for impact analysis +input_file_patterns: + prd: + description: "Product requirements for impact analysis" + whole: "{output_folder}/*prd*.md" + sharded: "{output_folder}/*prd*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics to analyze change impact" + whole: "{output_folder}/*epic*.md" + sharded: "{output_folder}/*epic*/*.md" + load_strategy: "FULL_LOAD" + architecture: + description: "System architecture and decisions" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + ux_design: + description: "UX design specification (if UI impacts)" + whole: "{output_folder}/*ux*.md" + sharded: "{output_folder}/*ux*/*.md" + load_strategy: "FULL_LOAD" + tech_spec: + description: "Technical specification" + whole: "{output_folder}/tech-spec*.md" + load_strategy: "FULL_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/index.md" + load_strategy: "INDEX_GUIDED" + +installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course" +template: false +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" +checklist: "{installed_path}/checklist.md" +default_output_file: "{output_folder}/sprint-change-proposal-{date}.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml new file mode 100644 index 00000000..78275a26 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml @@ -0,0 +1,29 @@ +description = "BMAD BMM Workflow: create-excalidraw-dataflow" +prompt = """ +name: create-excalidraw-dataflow +description: "Create data flow diagrams (DFD) in Excalidraw format" +author: "BMad" + +# Config values +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow" +shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Core Excalidraw resources (universal knowledge) +helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" +json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" + +# Domain-specific resources (technical diagrams) +templates: "{shared_path}/excalidraw-templates.yaml" +library: "{shared_path}/excalidraw-library.json" + +# Output file (respects user's configured output_folder) +default_output_file: "{output_folder}/excalidraw-diagrams/dataflow-{timestamp}.excalidraw" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml new file mode 100644 index 00000000..f2c980ae --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml @@ -0,0 +1,29 @@ +description = "BMAD BMM Workflow: create-excalidraw-diagram" +prompt = """ +name: create-excalidraw-diagram +description: "Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format" +author: "BMad" + +# Config values +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram" +shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Core Excalidraw resources (universal knowledge) +helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" +json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" + +# Domain-specific resources (technical diagrams) +templates: "{shared_path}/excalidraw-templates.yaml" +library: "{shared_path}/excalidraw-library.json" + +# Output file (respects user's configured output_folder) +default_output_file: "{output_folder}/excalidraw-diagrams/diagram-{timestamp}.excalidraw" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml new file mode 100644 index 00000000..965bc593 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml @@ -0,0 +1,29 @@ +description = "BMAD BMM Workflow: create-excalidraw-flowchart" +prompt = """ +name: create-excalidraw-flowchart +description: "Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows" +author: "BMad" + +# Config values +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart" +shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Core Excalidraw resources (universal knowledge) +helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" +json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" + +# Domain-specific resources (technical diagrams) +templates: "{shared_path}/excalidraw-templates.yaml" +library: "{shared_path}/excalidraw-library.json" + +# Output file (respects user's configured output_folder) +default_output_file: "{output_folder}/excalidraw-diagrams/flowchart-{timestamp}.excalidraw" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml new file mode 100644 index 00000000..998f6dd1 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml @@ -0,0 +1,29 @@ +description = "BMAD BMM Workflow: create-excalidraw-wireframe" +prompt = """ +name: create-excalidraw-wireframe +description: "Create website or app wireframes in Excalidraw format" +author: "BMad" + +# Config values +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe" +shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Core Excalidraw resources (universal knowledge) +helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" +json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" + +# Domain-specific resources (technical diagrams) +templates: "{shared_path}/excalidraw-templates.yaml" +library: "{shared_path}/excalidraw-library.json" + +# Output file (respects user's configured output_folder) +default_output_file: "{output_folder}/excalidraw-diagrams/wireframe-{timestamp}.excalidraw" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-story.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-story.toml new file mode 100644 index 00000000..80afd18b --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/create-story.toml @@ -0,0 +1,62 @@ +description = "BMAD BMM Workflow: create-story" +prompt = """ +name: create-story +description: "Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" +story_dir: "{sprint_artifacts}" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.xml" +validation: "{installed_path}/checklist.md" + +# Variables and inputs +variables: + sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking + epics_file: "{output_folder}/epics.md" # Enhanced epics+stories with BDD and source hints + prd_file: "{output_folder}/PRD.md" # Fallback for requirements (if not in epics file) + architecture_file: "{output_folder}/architecture.md" # Fallback for constraints (if not in epics file) + ux_file: "{output_folder}/ux.md" # Fallback for UX requirements (if not in epics file) + story_title: "" # Will be elicited if not derivable + +# Project context +project_context: "**/project-context.md" + +default_output_file: "{story_dir}/{{story_key}}.md" + +# Smart input file references - Simplified for enhanced approach +# The epics+stories file should contain everything needed with source hints +input_file_patterns: + prd: + description: "PRD (fallback - epics file should have most content)" + whole: "{output_folder}/*prd*.md" + sharded: "{output_folder}/*prd*/*.md" + load_strategy: "SELECTIVE_LOAD" # Only load if needed + architecture: + description: "Architecture (fallback - epics file should have relevant sections)" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "SELECTIVE_LOAD" # Only load if needed + ux: + description: "UX design (fallback - epics file should have relevant sections)" + whole: "{output_folder}/*ux*.md" + sharded: "{output_folder}/*ux*/*.md" + load_strategy: "SELECTIVE_LOAD" # Only load if needed + epics: + description: "Enhanced epics+stories file with BDD and source hints" + whole: "{output_folder}/*epic*.md" + sharded: "{output_folder}/*epic*/*.md" + load_strategy: "SELECTIVE_LOAD" # Only load needed epic + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml new file mode 100644 index 00000000..a28c9c63 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml @@ -0,0 +1,28 @@ +description = "BMAD BMM Workflow: create-tech-spec" +prompt = """ +# Quick-Flow: Create Tech-Spec +name: create-tech-spec +description: "Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec." +author: "BMad" + +# Config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +sprint_artifacts: "{config_source}:sprint_artifacts" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" +date: system-generated + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec" +instructions: "{installed_path}/instructions.md" + +# Related workflows +quick_dev_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml" +party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" +advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml b/q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml new file mode 100644 index 00000000..8f9f05c0 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml @@ -0,0 +1,29 @@ +description = "BMAD BMM Workflow: dev-story" +prompt = """ +name: dev-story +description: "Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +story_dir: "{config_source}:sprint_artifacts" +date: system-generated + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/dev-story" +instructions: "{installed_path}/instructions.xml" +validation: "{installed_path}/checklist.md" + +story_file: "" # Explicit story path; auto-discovered if empty +sprint_artifacts: "{config_source}:sprint_artifacts" +sprint_status: "{sprint_artifacts}/sprint-status.yaml" +project_context: "**/project-context.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/document-project.toml b/q1/.qwen/commands/bmad/bmm/workflows/document-project.toml new file mode 100644 index 00000000..7a6ba3c4 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/document-project.toml @@ -0,0 +1,33 @@ +description = "BMAD BMM Workflow: document-project" +prompt = """ +# Document Project Workflow Configuration +name: "document-project" +version: "1.2.0" +description: "Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development" +author: "BMad" + +# Critical variables +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" +date: system-generated + +# Module path and component files +installed_path: "{project-root}/_bmad/bmm/workflows/document-project" +template: false # This is an action workflow with multiple output files +instructions: "{installed_path}/instructions.md" +validation: "{installed_path}/checklist.md" + +# Required data files - CRITICAL for project type detection and documentation requirements +documentation_requirements_csv: "{installed_path}/documentation-requirements.csv" + +# Output configuration - Multiple files generated in output folder +# Primary output: {output_folder}/index.md +# Additional files generated by sub-workflows based on project structure + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml b/q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml new file mode 100644 index 00000000..552d331b --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml @@ -0,0 +1,35 @@ +description = "BMAD BMM Workflow: quick-dev" +prompt = """ +# Quick-Flow: Quick-Dev +name: quick-dev +description: "Flexible development - execute tech-specs OR direct instructions with optional planning." +author: "BMad" + +# Config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +sprint_artifacts: "{config_source}:sprint_artifacts" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +date: system-generated + +# Project context +project_context: "**/project-context.md" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev" +instructions: "{installed_path}/instructions.md" +checklist: "{installed_path}/checklist.md" + +# Related workflows +create_tech_spec_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml" +party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" +advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + +# Routing resources (lazy-loaded) +project_levels: "{project-root}/_bmad/bmm/workflows/workflow-status/project-levels.yaml" +workflow_init: "{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml b/q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml new file mode 100644 index 00000000..f85fd06c --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml @@ -0,0 +1,59 @@ +description = "BMAD BMM Workflow: retrospective" +prompt = """ +# Retrospective - Epic Completion Review Workflow +name: "retrospective" +description: "Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic" +author: "BMad" + +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +user_skill_level: "{config_source}:user_skill_level" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" + +installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective" +template: false +instructions: "{installed_path}/instructions.md" + +required_inputs: + - agent_manifest: "{project-root}/_bmad/_config/agent-manifest.csv" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: SELECTIVE LOAD - only load the completed epic and relevant retrospectives +input_file_patterns: + epics: + description: "The completed epic for retrospective" + whole: "{output_folder}/*epic*.md" + sharded_index: "{output_folder}/*epic*/index.md" + sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + load_strategy: "SELECTIVE_LOAD" + previous_retrospective: + description: "Previous epic's retrospective (optional)" + pattern: "{sprint_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" + load_strategy: "SELECTIVE_LOAD" + architecture: + description: "System architecture for context" + whole: "{output_folder}/*architecture*.md" + sharded: "{output_folder}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + prd: + description: "Product requirements for context" + whole: "{output_folder}/*prd*.md" + sharded: "{output_folder}/*prd*/*.md" + load_strategy: "FULL_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{output_folder}/*.md" + load_strategy: "INDEX_GUIDED" + +# Required files +sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +story_directory: "{sprint_artifacts}" +retrospectives_folder: "{sprint_artifacts}" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml b/q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml new file mode 100644 index 00000000..4b7b42b6 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml @@ -0,0 +1,55 @@ +description = "BMAD BMM Workflow: sprint-planning" +prompt = """ +name: sprint-planning +description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning" +instructions: "{installed_path}/instructions.md" +template: "{installed_path}/sprint-status-template.yaml" +validation: "{installed_path}/checklist.md" + +# Variables and inputs +variables: + # Project context + project_context: "**/project-context.md" + # Project identification + project_name: "{config_source}:project_name" + + # Tracking system configuration + tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello + story_location: "{config_source}:sprint_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello + story_location_absolute: "{config_source}:sprint_artifacts" # Absolute path for file operations + + # Source files (file-system only) + epics_location: "{output_folder}" # Directory containing epic*.md files + epics_pattern: "epic*.md" # Pattern to find epic files + + # Output configuration + status_file: "{sprint_artifacts}/sprint-status.yaml" + +# Smart input file references - handles both whole docs and sharded docs +# Priority: Whole document first, then sharded version +# Strategy: FULL LOAD - sprint planning needs ALL epics to build complete status +input_file_patterns: + epics: + description: "All epics with user stories" + whole: "{output_folder}/*epic*.md" + sharded: "{output_folder}/*epic*/*.md" + load_strategy: "FULL_LOAD" + +# Output configuration +default_output_file: "{status_file}" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml b/q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml new file mode 100644 index 00000000..200d6b45 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml @@ -0,0 +1,37 @@ +description = "BMAD BMM Workflow: sprint-status" +prompt = """ +# Sprint Status - Implementation Tracker +name: sprint-status +description: "Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow." +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +date: system-generated +sprint_artifacts: "{config_source}:sprint_artifacts" + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-status" +instructions: "{installed_path}/instructions.md" + +# Inputs +variables: + sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + tracking_system: "file-system" + +# Smart input file references +input_file_patterns: + sprint_status: + description: "Sprint status file generated by sprint-planning" + whole: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + load_strategy: "FULL_LOAD" + +# Standalone so IDE commands get generated +standalone: true + +# No web bundle needed +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml b/q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml new file mode 100644 index 00000000..6c05d31b --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml @@ -0,0 +1,31 @@ +description = "BMAD BMM Workflow: workflow-init" +prompt = """ +# Workflow Init - Initial Project Setup +name: workflow-init +description: "Initialize a new BMM project by determining level, type, and creating workflow path" +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +sprint_artifacts: "{config_source}:sprint_artifacts" +user_name: "{config_source}:user_name" +project_name: "{config_source}:project_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" +date: system-generated + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/workflow-status/init" +instructions: "{installed_path}/instructions.md" +template: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow-status-template.yaml" + +# Path data files +path_files: "{project-root}/_bmad/bmm/workflows/workflow-status/paths/" + +# Output configuration +default_output_file: "{output_folder}/bmm-workflow-status.yaml" + +standalone: true +""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml b/q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml new file mode 100644 index 00000000..437f2135 --- /dev/null +++ b/q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml @@ -0,0 +1,32 @@ +description = "BMAD BMM Workflow: workflow-status" +prompt = """ +# Workflow Status - Master Router and Status Tracker +name: workflow-status +description: 'Lightweight status checker - answers "what should I do now?" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +author: "BMad" + +# Critical variables from config +config_source: "{project-root}/_bmad/bmm/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +document_output_language: "{config_source}:document_output_language" +user_skill_level: "{config_source}:user_skill_level" +date: system-generated + +# Workflow components +installed_path: "{project-root}/_bmad/bmm/workflows/workflow-status" +instructions: "{installed_path}/instructions.md" + +# Template for status file creation (used by workflow-init) +template: "{installed_path}/workflow-status-template.yaml" + +# Path definitions for project types +path_files: "{installed_path}/paths/" + +# Output configuration - reads existing status +default_output_file: "{output_folder}/bmm-workflow-status.yaml" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml b/q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml new file mode 100644 index 00000000..75f82dc4 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml @@ -0,0 +1,12 @@ +description = "BMAD CIS Agent: brainstorming-coach" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml b/q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml new file mode 100644 index 00000000..99ed9a76 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml @@ -0,0 +1,12 @@ +description = "BMAD CIS Agent: creative-problem-solver" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml b/q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml new file mode 100644 index 00000000..e7dedde5 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml @@ -0,0 +1,12 @@ +description = "BMAD CIS Agent: design-thinking-coach" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml b/q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml new file mode 100644 index 00000000..f661f163 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml @@ -0,0 +1,12 @@ +description = "BMAD CIS Agent: innovation-strategist" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/cis/agents/presentation-master.toml b/q1/.qwen/commands/bmad/cis/agents/presentation-master.toml new file mode 100644 index 00000000..6029e8d6 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/agents/presentation-master.toml @@ -0,0 +1,12 @@ +description = "BMAD CIS Agent: presentation-master" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/cis/agents/storyteller.toml b/q1/.qwen/commands/bmad/cis/agents/storyteller.toml new file mode 100644 index 00000000..a1bd3763 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/agents/storyteller.toml @@ -0,0 +1,12 @@ +description = "BMAD CIS Agent: storyteller" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml b/q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml new file mode 100644 index 00000000..f83b0fa2 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml @@ -0,0 +1,31 @@ +description = "BMAD CIS Workflow: design-thinking" +prompt = """ +# Design Thinking Workflow Configuration +name: "design-thinking" +description: "Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs." +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/_bmad/cis/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Context can be provided via data attribute when invoking +# Example: data="{path}/product-context.md" provides project context + +# Module path and component files +installed_path: "{project-root}/_bmad/cis/workflows/design-thinking" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.md" + +# Required Data Files +design_methods: "{installed_path}/design-methods.csv" + +# Output configuration +default_output_file: "{output_folder}/design-thinking-{{date}}.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml b/q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml new file mode 100644 index 00000000..9df70d80 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml @@ -0,0 +1,31 @@ +description = "BMAD CIS Workflow: innovation-strategy" +prompt = """ +# Innovation Strategy Workflow Configuration +name: "innovation-strategy" +description: "Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities." +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/_bmad/cis/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Context can be provided via data attribute when invoking +# Example: data="{path}/industry-analysis.md" provides market context + +# Module path and component files +installed_path: "{project-root}/_bmad/cis/workflows/innovation-strategy" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.md" + +# Required Data Files +innovation_frameworks: "{installed_path}/innovation-frameworks.csv" + +# Output configuration +default_output_file: "{output_folder}/innovation-strategy-{{date}}.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml b/q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml new file mode 100644 index 00000000..f87619fa --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml @@ -0,0 +1,31 @@ +description = "BMAD CIS Workflow: problem-solving" +prompt = """ +# Problem Solving Workflow Configuration +name: "problem-solving" +description: "Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks." +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/_bmad/cis/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Context can be provided via data attribute when invoking +# Example: data="{path}/problem-brief.md" provides context + +# Module path and component files +installed_path: "{project-root}/_bmad/cis/workflows/problem-solving" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.md" + +# Required Data Files +solving_methods: "{installed_path}/solving-methods.csv" + +# Output configuration +default_output_file: "{output_folder}/problem-solution-{{date}}.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/storytelling.toml b/q1/.qwen/commands/bmad/cis/workflows/storytelling.toml new file mode 100644 index 00000000..2fd17ae8 --- /dev/null +++ b/q1/.qwen/commands/bmad/cis/workflows/storytelling.toml @@ -0,0 +1,31 @@ +description = "BMAD CIS Workflow: storytelling" +prompt = """ +# Storytelling Workflow Configuration +name: "storytelling" +description: "Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose." +author: "BMad" + +# Critical variables load from config_source +config_source: "{project-root}/_bmad/cis/config.yaml" +output_folder: "{config_source}:output_folder" +user_name: "{config_source}:user_name" +communication_language: "{config_source}:communication_language" +date: system-generated + +# Context can be provided via data attribute when invoking +# Example: data="{path}/brand-info.md" provides brand context + +# Module path and component files +installed_path: "{project-root}/_bmad/cis/workflows/storytelling" +template: "{installed_path}/template.md" +instructions: "{installed_path}/instructions.md" + +# Required Data Files +story_frameworks: "{installed_path}/story-types.csv" + +# Output configuration +default_output_file: "{output_folder}/story-{{date}}.md" + +standalone: true + +""" diff --git a/q1/.qwen/commands/bmad/core/agents/bmad-master.toml b/q1/.qwen/commands/bmad/core/agents/bmad-master.toml new file mode 100644 index 00000000..de4fdc5d --- /dev/null +++ b/q1/.qwen/commands/bmad/core/agents/bmad-master.toml @@ -0,0 +1,12 @@ +description = "BMAD CORE Agent: bmad-master" +prompt = """ +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + + +1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. Execute ALL activation steps exactly as written in the agent file +4. Follow the agent's persona and menu system precisely +5. Stay in character throughout the session + +""" diff --git a/q1/.qwen/commands/bmad/core/tools/shard-doc.toml b/q1/.qwen/commands/bmad/core/tools/shard-doc.toml new file mode 100644 index 00000000..464810c1 --- /dev/null +++ b/q1/.qwen/commands/bmad/core/tools/shard-doc.toml @@ -0,0 +1,112 @@ +description = "BMAD CORE Tool: Shard Document" +prompt = """ + + Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action xml tag within step xml tag is a REQUIRED action to complete that step + Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution + + + + Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index + + + + + Ask user for the source document path if not provided already + Verify file exists and is accessible + Verify file is markdown format (.md extension) + HALT with error message + + + + Determine default destination: same location as source file, folder named after source file without .md extension + Example: /path/to/architecture.md → /path/to/architecture/ + Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) + Use the suggested destination path + Use the custom destination path + Verify destination folder exists or can be created + Check write permissions for destination + HALT with error message + + + + Inform user that sharding is beginning + Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` + Capture command output and any errors + HALT and display error to user + + + + Check that destination folder contains sharded files + Verify index.md was created in destination folder + Count the number of files created + HALT with error message + + + + Display completion report to user including: + - Source document path and name + - Destination folder path + - Number of section files created + - Confirmation that index.md was created + - Any tool output or warnings + Inform user that sharding completed successfully + + + + Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion + Present user with options for the original document: + + What would you like to do with the original document `[source-document-name]`? + + Options: + [d] Delete - Remove the original (recommended - shards can always be recombined) + [m] Move to archive - Move original to a backup/archive location + [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) + + Your choice (d/m/k): + + + Delete the original source document file + Confirm deletion to user: "✓ Original document deleted: [source-document-path]" + The document can be reconstructed from shards by concatenating all section files in order + + + + Determine default archive location: same directory as source, in an "archive" subfolder + Example: /path/to/architecture.md → /path/to/archive/architecture.md + Archive location ([y] to use default: [default-archive-path], or provide custom path): + Use default archive path + Use custom archive path + Create archive directory if it doesn't exist + Move original document to archive location + Confirm move to user: "✓ Original document moved to: [archive-path]" + + + + Display warning to user: + ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. + + This creates confusion because: + - The discover_inputs protocol may load the wrong version + - Updates to one won't reflect in the other + - You'll have duplicate content taking up space + + Consider deleting or archiving the original document. + Confirm user choice: "Original document kept at: [source-document-path]" + + + + + + HALT if npx command fails or produces no output files + + +""" diff --git a/q1/.rovodev/references/bmad-task-core-advanced-elicitation.md b/q1/.rovodev/references/bmad-task-core-advanced-elicitation.md new file mode 100644 index 00000000..c7886fc2 --- /dev/null +++ b/q1/.rovodev/references/bmad-task-core-advanced-elicitation.md @@ -0,0 +1,9 @@ +--- +description: 'When called from workflow' +--- + +# Advanced Elicitation + +LOAD and execute the task at: \_bmad/core/tasks/advanced-elicitation.xml + +Follow all instructions in the task file exactly as written. diff --git a/q1/.rovodev/references/bmad-task-core-index-docs.md b/q1/.rovodev/references/bmad-task-core-index-docs.md new file mode 100644 index 00000000..7fb38143 --- /dev/null +++ b/q1/.rovodev/references/bmad-task-core-index-docs.md @@ -0,0 +1,9 @@ +--- +description: 'Generates or updates an index.md of all documents in the specified directory' +--- + +# Index Docs + +LOAD and execute the task at: \_bmad/core/tasks/index-docs.xml + +Follow all instructions in the task file exactly as written. diff --git a/q1/.rovodev/references/bmad-tool-core-shard-doc.md b/q1/.rovodev/references/bmad-tool-core-shard-doc.md new file mode 100644 index 00000000..12aa20f5 --- /dev/null +++ b/q1/.rovodev/references/bmad-tool-core-shard-doc.md @@ -0,0 +1,9 @@ +--- +description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections' +--- + +# Shard Document + +LOAD and execute the tool at: \_bmad/core/tools/shard-doc.xml + +Follow all instructions in the tool file exactly as written. diff --git a/q1/.rovodev/subagents/bmad-bmb-agent-builder.md b/q1/.rovodev/subagents/bmad-bmb-agent-builder.md new file mode 100644 index 00000000..5db4f4bd --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmb-agent-builder.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmb-agent-builder +description: 'BMAD agent: Agent Builder' +--- + +You are a specialized agent for agent builder tasks. diff --git a/q1/.rovodev/subagents/bmad-bmb-module-builder.md b/q1/.rovodev/subagents/bmad-bmb-module-builder.md new file mode 100644 index 00000000..17d9784f --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmb-module-builder.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmb-module-builder +description: 'BMAD agent: Module Builder' +--- + +You are a specialized agent for module builder tasks. diff --git a/q1/.rovodev/subagents/bmad-bmb-workflow-builder.md b/q1/.rovodev/subagents/bmad-bmb-workflow-builder.md new file mode 100644 index 00000000..d2542236 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmb-workflow-builder.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmb-workflow-builder +description: 'BMAD agent: Workflow Builder' +--- + +You are a specialized agent for workflow builder tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-architect.md b/q1/.rovodev/subagents/bmad-bmgd-game-architect.md new file mode 100644 index 00000000..cb7cf248 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmgd-game-architect.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmgd-game-architect +description: 'BMAD agent: Game Architect' +--- + +You are a specialized agent for game architect tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-designer.md b/q1/.rovodev/subagents/bmad-bmgd-game-designer.md new file mode 100644 index 00000000..70b3e48b --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmgd-game-designer.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmgd-game-designer +description: 'BMAD agent: Game Designer' +--- + +You are a specialized agent for game designer tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-dev.md b/q1/.rovodev/subagents/bmad-bmgd-game-dev.md new file mode 100644 index 00000000..c3fb0895 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmgd-game-dev.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmgd-game-dev +description: 'BMAD agent: Game Dev' +--- + +You are a specialized agent for game dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-qa.md b/q1/.rovodev/subagents/bmad-bmgd-game-qa.md new file mode 100644 index 00000000..6e794834 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmgd-game-qa.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmgd-game-qa +description: 'BMAD agent: Game Qa' +--- + +You are a specialized agent for game qa tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md b/q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md new file mode 100644 index 00000000..4d0a60b6 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmgd-game-scrum-master +description: 'BMAD agent: Game Scrum Master' +--- + +You are a specialized agent for game scrum master tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md b/q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md new file mode 100644 index 00000000..d12fb621 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmgd-game-solo-dev +description: 'BMAD agent: Game Solo Dev' +--- + +You are a specialized agent for game solo dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-analyst.md b/q1/.rovodev/subagents/bmad-bmm-analyst.md new file mode 100644 index 00000000..f113ab37 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-analyst.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-analyst +description: 'BMAD agent: Analyst' +--- + +You are a specialized agent for analyst tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-architect.md b/q1/.rovodev/subagents/bmad-bmm-architect.md new file mode 100644 index 00000000..c58c877a --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-architect.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-architect +description: 'BMAD agent: Architect' +--- + +You are a specialized agent for architect tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-dev.md b/q1/.rovodev/subagents/bmad-bmm-dev.md new file mode 100644 index 00000000..4b65c9bd --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-dev.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-dev +description: 'BMAD agent: Dev' +--- + +You are a specialized agent for dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-pm.md b/q1/.rovodev/subagents/bmad-bmm-pm.md new file mode 100644 index 00000000..85713d58 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-pm.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-pm +description: 'BMAD agent: Pm' +--- + +You are a specialized agent for pm tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md b/q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md new file mode 100644 index 00000000..75ed19a1 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-quick-flow-solo-dev +description: 'BMAD agent: Quick Flow Solo Dev' +--- + +You are a specialized agent for quick flow solo dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-sm.md b/q1/.rovodev/subagents/bmad-bmm-sm.md new file mode 100644 index 00000000..f926c62b --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-sm.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-sm +description: 'BMAD agent: Sm' +--- + +You are a specialized agent for sm tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-tea.md b/q1/.rovodev/subagents/bmad-bmm-tea.md new file mode 100644 index 00000000..42da57c2 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-tea.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-tea +description: 'BMAD agent: Tea' +--- + +You are a specialized agent for tea tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-tech-writer.md b/q1/.rovodev/subagents/bmad-bmm-tech-writer.md new file mode 100644 index 00000000..96f157b2 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-tech-writer.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-tech-writer +description: 'BMAD agent: Tech Writer' +--- + +You are a specialized agent for tech writer tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-ux-designer.md b/q1/.rovodev/subagents/bmad-bmm-ux-designer.md new file mode 100644 index 00000000..9d47c600 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-bmm-ux-designer.md @@ -0,0 +1,6 @@ +--- +name: bmad-bmm-ux-designer +description: 'BMAD agent: Ux Designer' +--- + +You are a specialized agent for ux designer tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md b/q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md new file mode 100644 index 00000000..b364a45f --- /dev/null +++ b/q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md @@ -0,0 +1,6 @@ +--- +name: bmad-cis-brainstorming-coach +description: 'BMAD agent: Brainstorming Coach' +--- + +You are a specialized agent for brainstorming coach tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md b/q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md new file mode 100644 index 00000000..5a039f72 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md @@ -0,0 +1,6 @@ +--- +name: bmad-cis-creative-problem-solver +description: 'BMAD agent: Creative Problem Solver' +--- + +You are a specialized agent for creative problem solver tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md b/q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md new file mode 100644 index 00000000..6f3bd4cc --- /dev/null +++ b/q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md @@ -0,0 +1,6 @@ +--- +name: bmad-cis-design-thinking-coach +description: 'BMAD agent: Design Thinking Coach' +--- + +You are a specialized agent for design thinking coach tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-innovation-strategist.md b/q1/.rovodev/subagents/bmad-cis-innovation-strategist.md new file mode 100644 index 00000000..a0b4c11e --- /dev/null +++ b/q1/.rovodev/subagents/bmad-cis-innovation-strategist.md @@ -0,0 +1,6 @@ +--- +name: bmad-cis-innovation-strategist +description: 'BMAD agent: Innovation Strategist' +--- + +You are a specialized agent for innovation strategist tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-presentation-master.md b/q1/.rovodev/subagents/bmad-cis-presentation-master.md new file mode 100644 index 00000000..2f0184b7 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-cis-presentation-master.md @@ -0,0 +1,6 @@ +--- +name: bmad-cis-presentation-master +description: 'BMAD agent: Presentation Master' +--- + +You are a specialized agent for presentation master tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-storyteller.md b/q1/.rovodev/subagents/bmad-cis-storyteller.md new file mode 100644 index 00000000..2ac4bd41 --- /dev/null +++ b/q1/.rovodev/subagents/bmad-cis-storyteller.md @@ -0,0 +1,6 @@ +--- +name: bmad-cis-storyteller +description: 'BMAD agent: Storyteller' +--- + +You are a specialized agent for storyteller tasks. diff --git a/q1/.rovodev/subagents/bmad-core-bmad-master.md b/q1/.rovodev/subagents/bmad-core-bmad-master.md new file mode 100644 index 00000000..1e2637db --- /dev/null +++ b/q1/.rovodev/subagents/bmad-core-bmad-master.md @@ -0,0 +1,6 @@ +--- +name: bmad-core-bmad-master +description: 'BMAD agent: Bmad Master' +--- + +You are a specialized agent for bmad master tasks. diff --git a/q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md b/q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md new file mode 100644 index 00000000..8524a86c --- /dev/null +++ b/q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md @@ -0,0 +1,5 @@ +--- +description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/brainstorm-game.md b/q1/.rovodev/workflows/brainstorm-game.md new file mode 100644 index 00000000..04220291 --- /dev/null +++ b/q1/.rovodev/workflows/brainstorm-game.md @@ -0,0 +1,13 @@ +--- +description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/brainstorming.md b/q1/.rovodev/workflows/brainstorming.md new file mode 100644 index 00000000..be33b790 --- /dev/null +++ b/q1/.rovodev/workflows/brainstorming.md @@ -0,0 +1,5 @@ +--- +description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/check-implementation-readiness.md b/q1/.rovodev/workflows/check-implementation-readiness.md new file mode 100644 index 00000000..66734354 --- /dev/null +++ b/q1/.rovodev/workflows/check-implementation-readiness.md @@ -0,0 +1,5 @@ +--- +description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/code-review.md b/q1/.rovodev/workflows/code-review.md new file mode 100644 index 00000000..ae4a62fb --- /dev/null +++ b/q1/.rovodev/workflows/code-review.md @@ -0,0 +1,13 @@ +--- +description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/correct-course.md b/q1/.rovodev/workflows/correct-course.md new file mode 100644 index 00000000..b5f02774 --- /dev/null +++ b/q1/.rovodev/workflows/correct-course.md @@ -0,0 +1,13 @@ +--- +description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/create-agent.md b/q1/.rovodev/workflows/create-agent.md new file mode 100644 index 00000000..59662ba5 --- /dev/null +++ b/q1/.rovodev/workflows/create-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-architecture.md b/q1/.rovodev/workflows/create-architecture.md new file mode 100644 index 00000000..0b0f015d --- /dev/null +++ b/q1/.rovodev/workflows/create-architecture.md @@ -0,0 +1,5 @@ +--- +description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-epics-and-stories.md b/q1/.rovodev/workflows/create-epics-and-stories.md new file mode 100644 index 00000000..db0fe4b7 --- /dev/null +++ b/q1/.rovodev/workflows/create-epics-and-stories.md @@ -0,0 +1,5 @@ +--- +description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-excalidraw-dataflow.md b/q1/.rovodev/workflows/create-excalidraw-dataflow.md new file mode 100644 index 00000000..47578ee0 --- /dev/null +++ b/q1/.rovodev/workflows/create-excalidraw-dataflow.md @@ -0,0 +1,13 @@ +--- +description: 'Create data flow diagrams (DFD) in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/create-excalidraw-diagram.md b/q1/.rovodev/workflows/create-excalidraw-diagram.md new file mode 100644 index 00000000..684236aa --- /dev/null +++ b/q1/.rovodev/workflows/create-excalidraw-diagram.md @@ -0,0 +1,13 @@ +--- +description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/create-excalidraw-flowchart.md b/q1/.rovodev/workflows/create-excalidraw-flowchart.md new file mode 100644 index 00000000..8e45ee70 --- /dev/null +++ b/q1/.rovodev/workflows/create-excalidraw-flowchart.md @@ -0,0 +1,13 @@ +--- +description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/create-excalidraw-wireframe.md b/q1/.rovodev/workflows/create-excalidraw-wireframe.md new file mode 100644 index 00000000..ea645354 --- /dev/null +++ b/q1/.rovodev/workflows/create-excalidraw-wireframe.md @@ -0,0 +1,13 @@ +--- +description: 'Create website or app wireframes in Excalidraw format' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/create-game-brief.md b/q1/.rovodev/workflows/create-game-brief.md new file mode 100644 index 00000000..3bb52d6d --- /dev/null +++ b/q1/.rovodev/workflows/create-game-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-gdd.md b/q1/.rovodev/workflows/create-gdd.md new file mode 100644 index 00000000..4dcc804e --- /dev/null +++ b/q1/.rovodev/workflows/create-gdd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-module.md b/q1/.rovodev/workflows/create-module.md new file mode 100644 index 00000000..ae1a98c1 --- /dev/null +++ b/q1/.rovodev/workflows/create-module.md @@ -0,0 +1,5 @@ +--- +description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-prd.md b/q1/.rovodev/workflows/create-prd.md new file mode 100644 index 00000000..63050671 --- /dev/null +++ b/q1/.rovodev/workflows/create-prd.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-product-brief.md b/q1/.rovodev/workflows/create-product-brief.md new file mode 100644 index 00000000..16f891de --- /dev/null +++ b/q1/.rovodev/workflows/create-product-brief.md @@ -0,0 +1,5 @@ +--- +description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-story.md b/q1/.rovodev/workflows/create-story.md new file mode 100644 index 00000000..d2f282c0 --- /dev/null +++ b/q1/.rovodev/workflows/create-story.md @@ -0,0 +1,13 @@ +--- +description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/create-tech-spec.md b/q1/.rovodev/workflows/create-tech-spec.md new file mode 100644 index 00000000..488a7644 --- /dev/null +++ b/q1/.rovodev/workflows/create-tech-spec.md @@ -0,0 +1,13 @@ +--- +description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/create-ux-design.md b/q1/.rovodev/workflows/create-ux-design.md new file mode 100644 index 00000000..283bbed1 --- /dev/null +++ b/q1/.rovodev/workflows/create-ux-design.md @@ -0,0 +1,5 @@ +--- +description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-workflow.md b/q1/.rovodev/workflows/create-workflow.md new file mode 100644 index 00000000..3d563a4f --- /dev/null +++ b/q1/.rovodev/workflows/create-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Create structured standalone workflows using markdown-based step architecture' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/design-thinking.md b/q1/.rovodev/workflows/design-thinking.md new file mode 100644 index 00000000..402ce806 --- /dev/null +++ b/q1/.rovodev/workflows/design-thinking.md @@ -0,0 +1,13 @@ +--- +description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/dev-story.md b/q1/.rovodev/workflows/dev-story.md new file mode 100644 index 00000000..66b569c1 --- /dev/null +++ b/q1/.rovodev/workflows/dev-story.md @@ -0,0 +1,13 @@ +--- +description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/document-project.md b/q1/.rovodev/workflows/document-project.md new file mode 100644 index 00000000..d5295d7e --- /dev/null +++ b/q1/.rovodev/workflows/document-project.md @@ -0,0 +1,13 @@ +--- +description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/edit-agent.md b/q1/.rovodev/workflows/edit-agent.md new file mode 100644 index 00000000..0c9a6b30 --- /dev/null +++ b/q1/.rovodev/workflows/edit-agent.md @@ -0,0 +1,5 @@ +--- +description: 'Edit existing BMAD agents while following all best practices and conventions' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/edit-workflow.md b/q1/.rovodev/workflows/edit-workflow.md new file mode 100644 index 00000000..afcaa2f4 --- /dev/null +++ b/q1/.rovodev/workflows/edit-workflow.md @@ -0,0 +1,5 @@ +--- +description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/game-architecture.md b/q1/.rovodev/workflows/game-architecture.md new file mode 100644 index 00000000..36ef3279 --- /dev/null +++ b/q1/.rovodev/workflows/game-architecture.md @@ -0,0 +1,13 @@ +--- +description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/game-brief.md b/q1/.rovodev/workflows/game-brief.md new file mode 100644 index 00000000..e0303ff1 --- /dev/null +++ b/q1/.rovodev/workflows/game-brief.md @@ -0,0 +1,13 @@ +--- +description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/gametest-automate.md b/q1/.rovodev/workflows/gametest-automate.md new file mode 100644 index 00000000..dfccaca9 --- /dev/null +++ b/q1/.rovodev/workflows/gametest-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/gametest-framework.md b/q1/.rovodev/workflows/gametest-framework.md new file mode 100644 index 00000000..cd6272ab --- /dev/null +++ b/q1/.rovodev/workflows/gametest-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/gametest-performance.md b/q1/.rovodev/workflows/gametest-performance.md new file mode 100644 index 00000000..7255df6c --- /dev/null +++ b/q1/.rovodev/workflows/gametest-performance.md @@ -0,0 +1,13 @@ +--- +description: 'Design performance testing strategy for frame rate, memory, and loading times' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/gametest-playtest-plan.md b/q1/.rovodev/workflows/gametest-playtest-plan.md new file mode 100644 index 00000000..988d010c --- /dev/null +++ b/q1/.rovodev/workflows/gametest-playtest-plan.md @@ -0,0 +1,13 @@ +--- +description: 'Create structured playtesting sessions for gameplay validation and user feedback' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/gametest-test-design.md b/q1/.rovodev/workflows/gametest-test-design.md new file mode 100644 index 00000000..05ac011f --- /dev/null +++ b/q1/.rovodev/workflows/gametest-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/gametest-test-review.md b/q1/.rovodev/workflows/gametest-test-review.md new file mode 100644 index 00000000..23879a38 --- /dev/null +++ b/q1/.rovodev/workflows/gametest-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality, coverage, and identify gaps in game testing' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/gdd.md b/q1/.rovodev/workflows/gdd.md new file mode 100644 index 00000000..0bf8eabd --- /dev/null +++ b/q1/.rovodev/workflows/gdd.md @@ -0,0 +1,13 @@ +--- +description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/generate-project-context.md b/q1/.rovodev/workflows/generate-project-context.md new file mode 100644 index 00000000..561d5afd --- /dev/null +++ b/q1/.rovodev/workflows/generate-project-context.md @@ -0,0 +1,5 @@ +--- +description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/innovation-strategy.md b/q1/.rovodev/workflows/innovation-strategy.md new file mode 100644 index 00000000..761734be --- /dev/null +++ b/q1/.rovodev/workflows/innovation-strategy.md @@ -0,0 +1,13 @@ +--- +description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/narrative.md b/q1/.rovodev/workflows/narrative.md new file mode 100644 index 00000000..264f45e5 --- /dev/null +++ b/q1/.rovodev/workflows/narrative.md @@ -0,0 +1,13 @@ +--- +description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/party-mode.md b/q1/.rovodev/workflows/party-mode.md new file mode 100644 index 00000000..4d790067 --- /dev/null +++ b/q1/.rovodev/workflows/party-mode.md @@ -0,0 +1,5 @@ +--- +description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/problem-solving.md b/q1/.rovodev/workflows/problem-solving.md new file mode 100644 index 00000000..ec388f5d --- /dev/null +++ b/q1/.rovodev/workflows/problem-solving.md @@ -0,0 +1,13 @@ +--- +description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/quick-dev.md b/q1/.rovodev/workflows/quick-dev.md new file mode 100644 index 00000000..77d5a122 --- /dev/null +++ b/q1/.rovodev/workflows/quick-dev.md @@ -0,0 +1,13 @@ +--- +description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/quick-prototype.md b/q1/.rovodev/workflows/quick-prototype.md new file mode 100644 index 00000000..e7df33a6 --- /dev/null +++ b/q1/.rovodev/workflows/quick-prototype.md @@ -0,0 +1,13 @@ +--- +description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/research.md b/q1/.rovodev/workflows/research.md new file mode 100644 index 00000000..1ee378f0 --- /dev/null +++ b/q1/.rovodev/workflows/research.md @@ -0,0 +1,5 @@ +--- +description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/retrospective.md b/q1/.rovodev/workflows/retrospective.md new file mode 100644 index 00000000..85a04d7c --- /dev/null +++ b/q1/.rovodev/workflows/retrospective.md @@ -0,0 +1,13 @@ +--- +description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/sprint-planning.md b/q1/.rovodev/workflows/sprint-planning.md new file mode 100644 index 00000000..e8530d26 --- /dev/null +++ b/q1/.rovodev/workflows/sprint-planning.md @@ -0,0 +1,13 @@ +--- +description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/sprint-status.md b/q1/.rovodev/workflows/sprint-status.md new file mode 100644 index 00000000..d4ec9a0b --- /dev/null +++ b/q1/.rovodev/workflows/sprint-status.md @@ -0,0 +1,13 @@ +--- +description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/storytelling.md b/q1/.rovodev/workflows/storytelling.md new file mode 100644 index 00000000..32f1e267 --- /dev/null +++ b/q1/.rovodev/workflows/storytelling.md @@ -0,0 +1,13 @@ +--- +description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml +3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-atdd.md b/q1/.rovodev/workflows/testarch-atdd.md new file mode 100644 index 00000000..75956725 --- /dev/null +++ b/q1/.rovodev/workflows/testarch-atdd.md @@ -0,0 +1,13 @@ +--- +description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-automate.md b/q1/.rovodev/workflows/testarch-automate.md new file mode 100644 index 00000000..015922af --- /dev/null +++ b/q1/.rovodev/workflows/testarch-automate.md @@ -0,0 +1,13 @@ +--- +description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-ci.md b/q1/.rovodev/workflows/testarch-ci.md new file mode 100644 index 00000000..337dba4e --- /dev/null +++ b/q1/.rovodev/workflows/testarch-ci.md @@ -0,0 +1,13 @@ +--- +description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-framework.md b/q1/.rovodev/workflows/testarch-framework.md new file mode 100644 index 00000000..b2c16a24 --- /dev/null +++ b/q1/.rovodev/workflows/testarch-framework.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-nfr.md b/q1/.rovodev/workflows/testarch-nfr.md new file mode 100644 index 00000000..f2438734 --- /dev/null +++ b/q1/.rovodev/workflows/testarch-nfr.md @@ -0,0 +1,13 @@ +--- +description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-test-design.md b/q1/.rovodev/workflows/testarch-test-design.md new file mode 100644 index 00000000..747263b9 --- /dev/null +++ b/q1/.rovodev/workflows/testarch-test-design.md @@ -0,0 +1,13 @@ +--- +description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-test-review.md b/q1/.rovodev/workflows/testarch-test-review.md new file mode 100644 index 00000000..07ac2ec1 --- /dev/null +++ b/q1/.rovodev/workflows/testarch-test-review.md @@ -0,0 +1,13 @@ +--- +description: 'Review test quality using comprehensive knowledge base and best practices validation' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/testarch-trace.md b/q1/.rovodev/workflows/testarch-trace.md new file mode 100644 index 00000000..26b38b8b --- /dev/null +++ b/q1/.rovodev/workflows/testarch-trace.md @@ -0,0 +1,13 @@ +--- +description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/workflow-compliance-check.md b/q1/.rovodev/workflows/workflow-compliance-check.md new file mode 100644 index 00000000..a32d5fe5 --- /dev/null +++ b/q1/.rovodev/workflows/workflow-compliance-check.md @@ -0,0 +1,5 @@ +--- +description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' +--- + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/workflow-init.md b/q1/.rovodev/workflows/workflow-init.md new file mode 100644 index 00000000..0de870e5 --- /dev/null +++ b/q1/.rovodev/workflows/workflow-init.md @@ -0,0 +1,13 @@ +--- +description: 'Initialize a new BMM project by determining level, type, and creating workflow path' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/q1/.rovodev/workflows/workflow-status.md b/q1/.rovodev/workflows/workflow-status.md new file mode 100644 index 00000000..58eccc1a --- /dev/null +++ b/q1/.rovodev/workflows/workflow-status.md @@ -0,0 +1,13 @@ +--- +description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' +--- + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml +3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/tools/cli/installers/lib/core/config-collector.js b/tools/cli/installers/lib/core/config-collector.js index 5898ace5..a4af595f 100644 --- a/tools/cli/installers/lib/core/config-collector.js +++ b/tools/cli/installers/lib/core/config-collector.js @@ -2,7 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const yaml = require('yaml'); const chalk = require('chalk'); -const inquirer = require('inquirer'); +const inquirer = require('inquirer').default || require('inquirer'); const { getProjectRoot, getModulePath } = require('../../../lib/project-root'); const { CLIUtils } = require('../../../lib/cli-utils'); diff --git a/tools/cli/installers/lib/core/installer.js b/tools/cli/installers/lib/core/installer.js index 001b96b5..3817d9b7 100644 --- a/tools/cli/installers/lib/core/installer.js +++ b/tools/cli/installers/lib/core/installer.js @@ -2,7 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); const ora = require('ora'); -const inquirer = require('inquirer'); +const inquirer = require('inquirer').default || require('inquirer'); const { Detector } = require('./detector'); const { Manifest } = require('./manifest'); const { ModuleManager } = require('../modules/manager'); @@ -880,6 +880,7 @@ class Installer { // Check if this is a custom module let isCustomModule = false; let customInfo = null; + let useCache = false; // First check if we have a cached version if (finalCustomContent && finalCustomContent.cachedModules) { @@ -2129,7 +2130,7 @@ class Installer { * Private: Prompt for update action */ async promptUpdateAction() { - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); return await inquirer.prompt([ { type: 'list', @@ -2159,7 +2160,7 @@ class Installer { return !name.startsWith('_bmad'); // Everything else is manual cleanup }); - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); // Show warning for other offending paths FIRST if (otherOffenders.length > 0) { @@ -2458,7 +2459,7 @@ class Installer { console.log(chalk.yellow(`\n⚠️ Found ${customModulesWithMissingSources.length} custom module(s) with missing sources:`)); - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); let keptCount = 0; let updatedCount = 0; let removedCount = 0; diff --git a/tools/cli/installers/lib/ide/antigravity.js b/tools/cli/installers/lib/ide/antigravity.js index 1150d44b..53d91363 100644 --- a/tools/cli/installers/lib/ide/antigravity.js +++ b/tools/cli/installers/lib/ide/antigravity.js @@ -59,7 +59,7 @@ class AntigravitySetup extends BaseIdeSetup { if (config.subagentChoices.install !== 'none') { // Ask for installation location - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); const locationAnswer = await inquirer.prompt([ { type: 'list', @@ -298,7 +298,7 @@ class AntigravitySetup extends BaseIdeSetup { choices = await this.promptSubagentInstallation(config.subagents); if (choices.install !== 'none') { - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); const locationAnswer = await inquirer.prompt([ { type: 'list', @@ -335,7 +335,7 @@ class AntigravitySetup extends BaseIdeSetup { * Prompt user for subagent installation preferences */ async promptSubagentInstallation(subagentConfig) { - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); // First ask if they want to install subagents const { install } = await inquirer.prompt([ diff --git a/tools/cli/installers/lib/ide/claude-code.js b/tools/cli/installers/lib/ide/claude-code.js index 9fdca124..1a2da897 100644 --- a/tools/cli/installers/lib/ide/claude-code.js +++ b/tools/cli/installers/lib/ide/claude-code.js @@ -58,7 +58,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { if (config.subagentChoices.install !== 'none') { // Ask for installation location - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); const locationAnswer = await inquirer.prompt([ { type: 'list', @@ -306,7 +306,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { choices = await this.promptSubagentInstallation(config.subagents); if (choices.install !== 'none') { - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); const locationAnswer = await inquirer.prompt([ { type: 'list', @@ -343,7 +343,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { * Prompt user for subagent installation preferences */ async promptSubagentInstallation(subagentConfig) { - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); // First ask if they want to install subagents const { install } = await inquirer.prompt([ diff --git a/tools/cli/installers/lib/ide/codex.js b/tools/cli/installers/lib/ide/codex.js index 4763ac02..3a2b3373 100644 --- a/tools/cli/installers/lib/ide/codex.js +++ b/tools/cli/installers/lib/ide/codex.js @@ -22,7 +22,7 @@ class CodexSetup extends BaseIdeSetup { * @returns {Object} Collected configuration */ async collectConfiguration(options = {}) { - const inquirer = require('inquirer'); + const inquirer = require('inquirer').default || require('inquirer'); let confirmed = false; let installLocation = 'global'; diff --git a/tools/cli/installers/lib/ide/github-copilot.js b/tools/cli/installers/lib/ide/github-copilot.js index a120bac1..1409a092 100644 --- a/tools/cli/installers/lib/ide/github-copilot.js +++ b/tools/cli/installers/lib/ide/github-copilot.js @@ -2,7 +2,7 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); const { FileOps, PathUtils } = require('../../../lib/file-ops'); -const inquirer = require('inquirer'); +const inquirer = require('inquirer').default || require('inquirer'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/lib/ui.js b/tools/cli/lib/ui.js index f9a109ac..0ab6f308 100644 --- a/tools/cli/lib/ui.js +++ b/tools/cli/lib/ui.js @@ -1,5 +1,5 @@ const chalk = require('chalk'); -const inquirer = require('inquirer'); +const inquirer = require('inquirer').default || require('inquirer'); const path = require('node:path'); const os = require('node:os'); const fs = require('fs-extra'); @@ -18,7 +18,7 @@ class UI { CLIUtils.displayLogo(); // Display changelog link - console.log(chalk.cyan('\n📋 Read the latest updates: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md\n')); + console.log(chalk.cyan('\nRead the latest updates: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md\n')); const confirmedDirectory = await this.getConfirmedDirectory(); From 00ad756acfe9c1c302693cc1a8221dce9591772b Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Mon, 22 Dec 2025 19:44:15 +0800 Subject: [PATCH 06/17] remove unneeded folder --- .../commands/bmad/agents/bmb-agent-builder.md | 14 - .../bmad/agents/bmb-module-builder.md | 14 - .../bmad/agents/bmb-workflow-builder.md | 14 - .../bmad/agents/bmgd-game-architect.md | 14 - .../bmad/agents/bmgd-game-designer.md | 14 - .../commands/bmad/agents/bmgd-game-dev.md | 14 - .../commands/bmad/agents/bmgd-game-qa.md | 14 - .../bmad/agents/bmgd-game-scrum-master.md | 14 - .../bmad/agents/bmgd-game-solo-dev.md | 14 - .../commands/bmad/agents/bmm-analyst.md | 14 - .../commands/bmad/agents/bmm-architect.md | 14 - q1/.augment/commands/bmad/agents/bmm-dev.md | 14 - q1/.augment/commands/bmad/agents/bmm-pm.md | 14 - .../bmad/agents/bmm-quick-flow-solo-dev.md | 14 - q1/.augment/commands/bmad/agents/bmm-sm.md | 14 - q1/.augment/commands/bmad/agents/bmm-tea.md | 14 - .../commands/bmad/agents/bmm-tech-writer.md | 14 - .../commands/bmad/agents/bmm-ux-designer.md | 14 - .../bmad/agents/cis-brainstorming-coach.md | 14 - .../agents/cis-creative-problem-solver.md | 14 - .../bmad/agents/cis-design-thinking-coach.md | 14 - .../bmad/agents/cis-innovation-strategist.md | 14 - .../bmad/agents/cis-presentation-master.md | 14 - .../commands/bmad/agents/cis-storyteller.md | 14 - .../commands/bmad/agents/core-bmad-master.md | 14 - .../bmad/tasks/core-advanced-elicitation.md | 127 -------- .../commands/bmad/tasks/core-index-docs.md | 77 ----- .../commands/bmad/tools/core-shard-doc.md | 120 ------- .../bmb-Meal Prep & Nutrition Plan.md | 5 - .../bmad/workflows/bmb-create-agent.md | 5 - .../bmad/workflows/bmb-create-module.md | 5 - .../bmad/workflows/bmb-create-workflow.md | 5 - .../commands/bmad/workflows/bmb-edit-agent.md | 5 - .../bmad/workflows/bmb-edit-workflow.md | 5 - .../bmb-workflow-compliance-check.md | 5 - .../bmad/workflows/bmgd-brainstorm-game.md | 13 - .../bmad/workflows/bmgd-code-review.md | 13 - .../bmad/workflows/bmgd-correct-course.md | 13 - .../bmad/workflows/bmgd-create-game-brief.md | 5 - .../bmad/workflows/bmgd-create-gdd.md | 5 - .../bmad/workflows/bmgd-create-story.md | 13 - .../bmad/workflows/bmgd-create-tech-spec.md | 13 - .../commands/bmad/workflows/bmgd-dev-story.md | 13 - .../bmad/workflows/bmgd-game-architecture.md | 13 - .../bmad/workflows/bmgd-game-brief.md | 13 - .../bmad/workflows/bmgd-gametest-automate.md | 13 - .../bmad/workflows/bmgd-gametest-framework.md | 13 - .../workflows/bmgd-gametest-performance.md | 13 - .../workflows/bmgd-gametest-playtest-plan.md | 13 - .../workflows/bmgd-gametest-test-design.md | 13 - .../workflows/bmgd-gametest-test-review.md | 13 - .../commands/bmad/workflows/bmgd-gdd.md | 13 - .../bmgd-generate-project-context.md | 5 - .../commands/bmad/workflows/bmgd-narrative.md | 13 - .../commands/bmad/workflows/bmgd-quick-dev.md | 13 - .../bmad/workflows/bmgd-quick-prototype.md | 13 - .../bmad/workflows/bmgd-retrospective.md | 13 - .../bmad/workflows/bmgd-sprint-planning.md | 13 - .../bmad/workflows/bmgd-sprint-status.md | 13 - .../bmad/workflows/bmgd-workflow-init.md | 13 - .../bmad/workflows/bmgd-workflow-status.md | 13 - .../bmm-check-implementation-readiness.md | 5 - .../bmad/workflows/bmm-code-review.md | 13 - .../bmad/workflows/bmm-correct-course.md | 13 - .../bmad/workflows/bmm-create-architecture.md | 5 - .../workflows/bmm-create-epics-and-stories.md | 5 - .../bmm-create-excalidraw-dataflow.md | 13 - .../bmm-create-excalidraw-diagram.md | 13 - .../bmm-create-excalidraw-flowchart.md | 13 - .../bmm-create-excalidraw-wireframe.md | 13 - .../commands/bmad/workflows/bmm-create-prd.md | 5 - .../workflows/bmm-create-product-brief.md | 5 - .../bmad/workflows/bmm-create-story.md | 13 - .../bmad/workflows/bmm-create-tech-spec.md | 13 - .../bmad/workflows/bmm-create-ux-design.md | 5 - .../commands/bmad/workflows/bmm-dev-story.md | 13 - .../bmad/workflows/bmm-document-project.md | 13 - .../workflows/bmm-generate-project-context.md | 5 - .../commands/bmad/workflows/bmm-quick-dev.md | 13 - .../commands/bmad/workflows/bmm-research.md | 5 - .../bmad/workflows/bmm-retrospective.md | 13 - .../bmad/workflows/bmm-sprint-planning.md | 13 - .../bmad/workflows/bmm-sprint-status.md | 13 - .../bmad/workflows/bmm-testarch-atdd.md | 13 - .../bmad/workflows/bmm-testarch-automate.md | 13 - .../bmad/workflows/bmm-testarch-ci.md | 13 - .../bmad/workflows/bmm-testarch-framework.md | 13 - .../bmad/workflows/bmm-testarch-nfr.md | 13 - .../workflows/bmm-testarch-test-design.md | 13 - .../workflows/bmm-testarch-test-review.md | 13 - .../bmad/workflows/bmm-testarch-trace.md | 13 - .../bmad/workflows/bmm-workflow-init.md | 13 - .../bmad/workflows/bmm-workflow-status.md | 13 - .../bmad/workflows/cis-design-thinking.md | 13 - .../bmad/workflows/cis-innovation-strategy.md | 13 - .../bmad/workflows/cis-problem-solving.md | 13 - .../bmad/workflows/cis-storytelling.md | 13 - .../bmad/workflows/core-brainstorming.md | 5 - .../bmad/workflows/core-party-mode.md | 5 - .../bmad-bmb-agents-agent-builder.md | 14 - .../bmad-bmb-agents-module-builder.md | 14 - .../bmad-bmb-agents-workflow-builder.md | 14 - ...mb-workflows-Meal Prep & Nutrition Plan.md | 5 - .../workflows/bmad-bmb-workflows-README.md | 52 --- .../bmad-bmb-workflows-create-agent.md | 5 - .../bmad-bmb-workflows-create-module.md | 5 - .../bmad-bmb-workflows-create-workflow.md | 5 - .../bmad-bmb-workflows-edit-agent.md | 5 - .../bmad-bmb-workflows-edit-workflow.md | 5 - ...bmb-workflows-workflow-compliance-check.md | 5 - .../bmad-bmgd-agents-game-architect.md | 14 - .../bmad-bmgd-agents-game-designer.md | 14 - .../workflows/bmad-bmgd-agents-game-dev.md | 14 - .../workflows/bmad-bmgd-agents-game-qa.md | 14 - .../bmad-bmgd-agents-game-scrum-master.md | 14 - .../bmad-bmgd-agents-game-solo-dev.md | 14 - .../workflows/bmad-bmgd-workflows-README.md | 147 --------- .../bmad-bmgd-workflows-brainstorm-game.md | 13 - .../bmad-bmgd-workflows-code-review.md | 13 - .../bmad-bmgd-workflows-correct-course.md | 13 - .../bmad-bmgd-workflows-create-game-brief.md | 5 - .../bmad-bmgd-workflows-create-gdd.md | 5 - .../bmad-bmgd-workflows-create-story.md | 13 - .../bmad-bmgd-workflows-create-tech-spec.md | 13 - .../bmad-bmgd-workflows-dev-story.md | 13 - .../bmad-bmgd-workflows-game-architecture.md | 13 - .../bmad-bmgd-workflows-game-brief.md | 13 - .../bmad-bmgd-workflows-gametest-automate.md | 13 - .../bmad-bmgd-workflows-gametest-framework.md | 13 - ...mad-bmgd-workflows-gametest-performance.md | 13 - ...d-bmgd-workflows-gametest-playtest-plan.md | 13 - ...mad-bmgd-workflows-gametest-test-design.md | 13 - ...mad-bmgd-workflows-gametest-test-review.md | 13 - .../workflows/bmad-bmgd-workflows-gdd.md | 13 - ...bmgd-workflows-generate-project-context.md | 5 - .../bmad-bmgd-workflows-narrative.md | 13 - .../bmad-bmgd-workflows-quick-dev.md | 13 - .../bmad-bmgd-workflows-quick-prototype.md | 13 - .../bmad-bmgd-workflows-retrospective.md | 13 - .../bmad-bmgd-workflows-sprint-planning.md | 13 - .../bmad-bmgd-workflows-sprint-status.md | 13 - .../bmad-bmgd-workflows-workflow-init.md | 13 - .../bmad-bmgd-workflows-workflow-status.md | 13 - .../workflows/bmad-bmm-agents-analyst.md | 14 - .../workflows/bmad-bmm-agents-architect.md | 14 - .../workflows/bmad-bmm-agents-dev.md | 14 - .../workflows/bmad-bmm-agents-pm.md | 14 - .../bmad-bmm-agents-quick-flow-solo-dev.md | 14 - .../workflows/bmad-bmm-agents-sm.md | 14 - .../workflows/bmad-bmm-agents-tea.md | 14 - .../workflows/bmad-bmm-agents-tech-writer.md | 14 - .../workflows/bmad-bmm-agents-ux-designer.md | 14 - .../workflows/bmad-bmm-workflows-README.md | 177 ---------- ...orkflows-check-implementation-readiness.md | 5 - .../bmad-bmm-workflows-code-review.md | 13 - .../bmad-bmm-workflows-correct-course.md | 13 - .../bmad-bmm-workflows-create-architecture.md | 5 - ...-bmm-workflows-create-epics-and-stories.md | 5 - ...mm-workflows-create-excalidraw-dataflow.md | 13 - ...bmm-workflows-create-excalidraw-diagram.md | 13 - ...m-workflows-create-excalidraw-flowchart.md | 13 - ...m-workflows-create-excalidraw-wireframe.md | 13 - .../bmad-bmm-workflows-create-prd.md | 5 - ...bmad-bmm-workflows-create-product-brief.md | 5 - .../bmad-bmm-workflows-create-story.md | 13 - .../bmad-bmm-workflows-create-tech-spec.md | 13 - .../bmad-bmm-workflows-create-ux-design.md | 5 - .../workflows/bmad-bmm-workflows-dev-story.md | 13 - .../bmad-bmm-workflows-document-project.md | 13 - ...-bmm-workflows-generate-project-context.md | 5 - .../workflows/bmad-bmm-workflows-quick-dev.md | 13 - .../workflows/bmad-bmm-workflows-research.md | 5 - .../bmad-bmm-workflows-retrospective.md | 13 - .../bmad-bmm-workflows-sprint-planning.md | 13 - .../bmad-bmm-workflows-sprint-status.md | 13 - .../bmad-bmm-workflows-testarch-atdd.md | 13 - .../bmad-bmm-workflows-testarch-automate.md | 13 - .../bmad-bmm-workflows-testarch-ci.md | 13 - .../bmad-bmm-workflows-testarch-framework.md | 13 - .../bmad-bmm-workflows-testarch-nfr.md | 13 - ...bmad-bmm-workflows-testarch-test-design.md | 13 - ...bmad-bmm-workflows-testarch-test-review.md | 13 - .../bmad-bmm-workflows-testarch-trace.md | 13 - .../bmad-bmm-workflows-workflow-init.md | 13 - .../bmad-bmm-workflows-workflow-status.md | 13 - .../bmad-cis-agents-brainstorming-coach.md | 14 - ...bmad-cis-agents-creative-problem-solver.md | 14 - .../bmad-cis-agents-design-thinking-coach.md | 14 - .../bmad-cis-agents-innovation-strategist.md | 14 - .../bmad-cis-agents-presentation-master.md | 14 - ...bmad-cis-agents-storyteller-storyteller.md | 14 - .../workflows/bmad-cis-workflows-README.md | 37 --- .../bmad-cis-workflows-design-thinking.md | 13 - .../bmad-cis-workflows-innovation-strategy.md | 13 - .../bmad-cis-workflows-problem-solving.md | 13 - .../bmad-cis-workflows-storytelling.md | 13 - .../workflows/bmad-core-agents-bmad-master.md | 14 - .../workflows/bmad-core-workflows-README.md | 27 -- .../bmad-core-workflows-brainstorming.md | 5 - .../bmad-core-workflows-party-mode.md | 5 - .../commands/bmad/bmb/agents/agent-builder.md | 14 - .../bmad/bmb/agents/module-builder.md | 14 - .../bmad/bmb/agents/workflow-builder.md | 14 - .../workflows/Meal Prep & Nutrition Plan.md | 5 - .../bmad/bmb/workflows/create-agent.md | 5 - .../bmad/bmb/workflows/create-module.md | 5 - .../bmad/bmb/workflows/create-workflow.md | 5 - .../commands/bmad/bmb/workflows/edit-agent.md | 5 - .../bmad/bmb/workflows/edit-workflow.md | 5 - .../workflows/workflow-compliance-check.md | 5 - .../bmad/bmgd/agents/game-architect.md | 14 - .../bmad/bmgd/agents/game-designer.md | 14 - .../commands/bmad/bmgd/agents/game-dev.md | 14 - .../commands/bmad/bmgd/agents/game-qa.md | 14 - .../bmad/bmgd/agents/game-scrum-master.md | 14 - .../bmad/bmgd/agents/game-solo-dev.md | 14 - .../bmad/bmgd/workflows/brainstorm-game.md | 13 - .../bmad/bmgd/workflows/code-review.md | 13 - .../bmad/bmgd/workflows/correct-course.md | 13 - .../bmad/bmgd/workflows/create-game-brief.md | 5 - .../bmad/bmgd/workflows/create-gdd.md | 5 - .../bmad/bmgd/workflows/create-story.md | 13 - .../bmad/bmgd/workflows/create-tech-spec.md | 13 - .../commands/bmad/bmgd/workflows/dev-story.md | 13 - .../bmad/bmgd/workflows/game-architecture.md | 13 - .../bmad/bmgd/workflows/game-brief.md | 13 - .../bmad/bmgd/workflows/gametest-automate.md | 13 - .../bmad/bmgd/workflows/gametest-framework.md | 13 - .../bmgd/workflows/gametest-performance.md | 13 - .../bmgd/workflows/gametest-playtest-plan.md | 13 - .../bmgd/workflows/gametest-test-design.md | 13 - .../bmgd/workflows/gametest-test-review.md | 13 - q1/.crush/commands/bmad/bmgd/workflows/gdd.md | 13 - .../workflows/generate-project-context.md | 5 - .../commands/bmad/bmgd/workflows/narrative.md | 13 - .../commands/bmad/bmgd/workflows/quick-dev.md | 13 - .../bmad/bmgd/workflows/quick-prototype.md | 13 - .../bmad/bmgd/workflows/retrospective.md | 13 - .../bmad/bmgd/workflows/sprint-planning.md | 13 - .../bmad/bmgd/workflows/sprint-status.md | 13 - .../bmad/bmgd/workflows/workflow-init.md | 13 - .../bmad/bmgd/workflows/workflow-status.md | 13 - q1/.crush/commands/bmad/bmm/agents/analyst.md | 14 - .../commands/bmad/bmm/agents/architect.md | 14 - q1/.crush/commands/bmad/bmm/agents/dev.md | 14 - q1/.crush/commands/bmad/bmm/agents/pm.md | 14 - .../bmad/bmm/agents/quick-flow-solo-dev.md | 14 - q1/.crush/commands/bmad/bmm/agents/sm.md | 14 - q1/.crush/commands/bmad/bmm/agents/tea.md | 14 - .../commands/bmad/bmm/agents/tech-writer.md | 14 - .../commands/bmad/bmm/agents/ux-designer.md | 14 - .../check-implementation-readiness.md | 5 - .../bmad/bmm/workflows/code-review.md | 13 - .../bmad/bmm/workflows/correct-course.md | 13 - .../bmad/bmm/workflows/create-architecture.md | 5 - .../bmm/workflows/create-epics-and-stories.md | 5 - .../workflows/create-excalidraw-dataflow.md | 13 - .../workflows/create-excalidraw-diagram.md | 13 - .../workflows/create-excalidraw-flowchart.md | 13 - .../workflows/create-excalidraw-wireframe.md | 13 - .../commands/bmad/bmm/workflows/create-prd.md | 5 - .../bmm/workflows/create-product-brief.md | 5 - .../bmad/bmm/workflows/create-story.md | 13 - .../bmad/bmm/workflows/create-tech-spec.md | 13 - .../bmad/bmm/workflows/create-ux-design.md | 5 - .../commands/bmad/bmm/workflows/dev-story.md | 13 - .../bmad/bmm/workflows/document-project.md | 13 - .../bmm/workflows/generate-project-context.md | 5 - .../commands/bmad/bmm/workflows/quick-dev.md | 13 - .../commands/bmad/bmm/workflows/research.md | 5 - .../bmad/bmm/workflows/retrospective.md | 13 - .../bmad/bmm/workflows/sprint-planning.md | 13 - .../bmad/bmm/workflows/sprint-status.md | 13 - .../bmad/bmm/workflows/testarch-atdd.md | 13 - .../bmad/bmm/workflows/testarch-automate.md | 13 - .../bmad/bmm/workflows/testarch-ci.md | 13 - .../bmad/bmm/workflows/testarch-framework.md | 13 - .../bmad/bmm/workflows/testarch-nfr.md | 13 - .../bmm/workflows/testarch-test-design.md | 13 - .../bmm/workflows/testarch-test-review.md | 13 - .../bmad/bmm/workflows/testarch-trace.md | 13 - .../bmad/bmm/workflows/workflow-init.md | 13 - .../bmad/bmm/workflows/workflow-status.md | 13 - .../bmad/cis/agents/brainstorming-coach.md | 14 - .../cis/agents/creative-problem-solver.md | 14 - .../bmad/cis/agents/design-thinking-coach.md | 14 - .../bmad/cis/agents/innovation-strategist.md | 14 - .../bmad/cis/agents/presentation-master.md | 14 - .../commands/bmad/cis/agents/storyteller.md | 14 - .../bmad/cis/workflows/design-thinking.md | 13 - .../bmad/cis/workflows/innovation-strategy.md | 13 - .../bmad/cis/workflows/problem-solving.md | 13 - .../bmad/cis/workflows/storytelling.md | 13 - .../commands/bmad/core/agents/bmad-master.md | 14 - .../bmad/core/tasks/advanced-elicitation.md | 131 -------- .../commands/bmad/core/tasks/index-docs.md | 81 ----- .../commands/bmad/core/tools/shard-doc.md | 124 -------- .../bmad/core/workflows/brainstorming.md | 5 - .../bmad/core/workflows/party-mode.md | 5 - .../rules/bmad/bmb/agents/agent-builder.mdc | 15 - .../rules/bmad/bmb/agents/module-builder.mdc | 15 - .../bmad/bmb/agents/workflow-builder.mdc | 15 - .../workflows/Meal Prep & Nutrition Plan.mdc | 7 - .../rules/bmad/bmb/workflows/create-agent.mdc | 7 - .../bmad/bmb/workflows/create-module.mdc | 7 - .../bmad/bmb/workflows/create-workflow.mdc | 7 - .../rules/bmad/bmb/workflows/edit-agent.mdc | 7 - .../bmad/bmb/workflows/edit-workflow.mdc | 7 - .../workflows/workflow-compliance-check.mdc | 7 - .../rules/bmad/bmgd/agents/game-architect.mdc | 15 - .../rules/bmad/bmgd/agents/game-designer.mdc | 15 - .../rules/bmad/bmgd/agents/game-dev.mdc | 15 - q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc | 15 - .../bmad/bmgd/agents/game-scrum-master.mdc | 15 - .../rules/bmad/bmgd/agents/game-solo-dev.mdc | 15 - .../bmad/bmgd/workflows/brainstorm-game.mdc | 15 - .../rules/bmad/bmgd/workflows/code-review.mdc | 15 - .../bmad/bmgd/workflows/correct-course.mdc | 15 - .../bmad/bmgd/workflows/create-game-brief.mdc | 7 - .../rules/bmad/bmgd/workflows/create-gdd.mdc | 7 - .../bmad/bmgd/workflows/create-story.mdc | 15 - .../bmad/bmgd/workflows/create-tech-spec.mdc | 15 - .../rules/bmad/bmgd/workflows/dev-story.mdc | 15 - .../bmad/bmgd/workflows/game-architecture.mdc | 15 - .../rules/bmad/bmgd/workflows/game-brief.mdc | 15 - .../bmad/bmgd/workflows/gametest-automate.mdc | 15 - .../bmgd/workflows/gametest-framework.mdc | 15 - .../bmgd/workflows/gametest-performance.mdc | 15 - .../bmgd/workflows/gametest-playtest-plan.mdc | 15 - .../bmgd/workflows/gametest-test-design.mdc | 15 - .../bmgd/workflows/gametest-test-review.mdc | 15 - q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc | 15 - .../workflows/generate-project-context.mdc | 7 - .../rules/bmad/bmgd/workflows/narrative.mdc | 15 - .../rules/bmad/bmgd/workflows/quick-dev.mdc | 15 - .../bmad/bmgd/workflows/quick-prototype.mdc | 15 - .../bmad/bmgd/workflows/retrospective.mdc | 15 - .../bmad/bmgd/workflows/sprint-planning.mdc | 15 - .../bmad/bmgd/workflows/sprint-status.mdc | 15 - .../bmad/bmgd/workflows/workflow-init.mdc | 15 - .../bmad/bmgd/workflows/workflow-status.mdc | 15 - q1/.cursor/rules/bmad/bmm/agents/analyst.mdc | 15 - .../rules/bmad/bmm/agents/architect.mdc | 15 - q1/.cursor/rules/bmad/bmm/agents/dev.mdc | 15 - q1/.cursor/rules/bmad/bmm/agents/pm.mdc | 15 - .../bmad/bmm/agents/quick-flow-solo-dev.mdc | 15 - q1/.cursor/rules/bmad/bmm/agents/sm.mdc | 15 - q1/.cursor/rules/bmad/bmm/agents/tea.mdc | 15 - .../rules/bmad/bmm/agents/tech-writer.mdc | 15 - .../rules/bmad/bmm/agents/ux-designer.mdc | 15 - .../check-implementation-readiness.mdc | 7 - .../rules/bmad/bmm/workflows/code-review.mdc | 15 - .../bmad/bmm/workflows/correct-course.mdc | 15 - .../bmm/workflows/create-architecture.mdc | 7 - .../workflows/create-epics-and-stories.mdc | 7 - .../workflows/create-excalidraw-dataflow.mdc | 15 - .../workflows/create-excalidraw-diagram.mdc | 15 - .../workflows/create-excalidraw-flowchart.mdc | 15 - .../workflows/create-excalidraw-wireframe.mdc | 15 - .../rules/bmad/bmm/workflows/create-prd.mdc | 7 - .../bmm/workflows/create-product-brief.mdc | 7 - .../rules/bmad/bmm/workflows/create-story.mdc | 15 - .../bmad/bmm/workflows/create-tech-spec.mdc | 15 - .../bmad/bmm/workflows/create-ux-design.mdc | 7 - .../rules/bmad/bmm/workflows/dev-story.mdc | 15 - .../bmad/bmm/workflows/document-project.mdc | 15 - .../workflows/generate-project-context.mdc | 7 - .../rules/bmad/bmm/workflows/quick-dev.mdc | 15 - .../rules/bmad/bmm/workflows/research.mdc | 7 - .../bmad/bmm/workflows/retrospective.mdc | 15 - .../bmad/bmm/workflows/sprint-planning.mdc | 15 - .../bmad/bmm/workflows/sprint-status.mdc | 15 - .../bmad/bmm/workflows/testarch-atdd.mdc | 15 - .../bmad/bmm/workflows/testarch-automate.mdc | 15 - .../rules/bmad/bmm/workflows/testarch-ci.mdc | 15 - .../bmad/bmm/workflows/testarch-framework.mdc | 15 - .../rules/bmad/bmm/workflows/testarch-nfr.mdc | 15 - .../bmm/workflows/testarch-test-design.mdc | 15 - .../bmm/workflows/testarch-test-review.mdc | 15 - .../bmad/bmm/workflows/testarch-trace.mdc | 15 - .../bmad/bmm/workflows/workflow-init.mdc | 15 - .../bmad/bmm/workflows/workflow-status.mdc | 15 - .../bmad/cis/agents/brainstorming-coach.mdc | 15 - .../cis/agents/creative-problem-solver.mdc | 15 - .../bmad/cis/agents/design-thinking-coach.mdc | 15 - .../bmad/cis/agents/innovation-strategist.mdc | 15 - .../bmad/cis/agents/presentation-master.mdc | 15 - .../rules/bmad/cis/agents/storyteller.mdc | 15 - .../bmad/cis/workflows/design-thinking.mdc | 15 - .../cis/workflows/innovation-strategy.mdc | 15 - .../bmad/cis/workflows/problem-solving.mdc | 15 - .../rules/bmad/cis/workflows/storytelling.mdc | 15 - .../rules/bmad/core/agents/bmad-master.mdc | 15 - .../bmad/core/tasks/advanced-elicitation.mdc | 122 ------- .../rules/bmad/core/tasks/index-docs.mdc | 71 ----- .../rules/bmad/core/tools/shard-doc.mdc | 115 ------- .../bmad/core/workflows/brainstorming.mdc | 7 - .../rules/bmad/core/workflows/party-mode.mdc | 7 - q1/.cursor/rules/bmad/index.mdc | 175 ---------- .../bmd-custom-bmb-agent-builder.agent.md | 31 -- .../bmd-custom-bmb-module-builder.agent.md | 31 -- .../bmd-custom-bmb-workflow-builder.agent.md | 31 -- .../bmd-custom-bmgd-game-architect.agent.md | 31 -- .../bmd-custom-bmgd-game-designer.agent.md | 31 -- .../agents/bmd-custom-bmgd-game-dev.agent.md | 31 -- .../agents/bmd-custom-bmgd-game-qa.agent.md | 31 -- ...bmd-custom-bmgd-game-scrum-master.agent.md | 31 -- .../bmd-custom-bmgd-game-solo-dev.agent.md | 31 -- .../agents/bmd-custom-bmm-analyst.agent.md | 31 -- .../agents/bmd-custom-bmm-architect.agent.md | 31 -- q1/.github/agents/bmd-custom-bmm-dev.agent.md | 31 -- q1/.github/agents/bmd-custom-bmm-pm.agent.md | 31 -- ...md-custom-bmm-quick-flow-solo-dev.agent.md | 31 -- q1/.github/agents/bmd-custom-bmm-sm.agent.md | 31 -- q1/.github/agents/bmd-custom-bmm-tea.agent.md | 31 -- .../bmd-custom-bmm-tech-writer.agent.md | 31 -- .../bmd-custom-bmm-ux-designer.agent.md | 31 -- ...md-custom-cis-brainstorming-coach.agent.md | 31 -- ...ustom-cis-creative-problem-solver.agent.md | 31 -- ...-custom-cis-design-thinking-coach.agent.md | 31 -- ...-custom-cis-innovation-strategist.agent.md | 31 -- ...md-custom-cis-presentation-master.agent.md | 31 -- .../bmd-custom-cis-storyteller.agent.md | 31 -- .../bmd-custom-core-bmad-master.agent.md | 31 -- .../commands/bmad/agents/bmb-agent-builder.md | 14 - .../bmad/agents/bmb-module-builder.md | 14 - .../bmad/agents/bmb-workflow-builder.md | 14 - .../bmad/agents/bmgd-game-architect.md | 14 - .../bmad/agents/bmgd-game-designer.md | 14 - .../commands/bmad/agents/bmgd-game-dev.md | 14 - .../commands/bmad/agents/bmgd-game-qa.md | 14 - .../bmad/agents/bmgd-game-scrum-master.md | 14 - .../bmad/agents/bmgd-game-solo-dev.md | 14 - q1/.iflow/commands/bmad/agents/bmm-analyst.md | 14 - .../commands/bmad/agents/bmm-architect.md | 14 - q1/.iflow/commands/bmad/agents/bmm-dev.md | 14 - q1/.iflow/commands/bmad/agents/bmm-pm.md | 14 - .../bmad/agents/bmm-quick-flow-solo-dev.md | 14 - q1/.iflow/commands/bmad/agents/bmm-sm.md | 14 - q1/.iflow/commands/bmad/agents/bmm-tea.md | 14 - .../commands/bmad/agents/bmm-tech-writer.md | 14 - .../commands/bmad/agents/bmm-ux-designer.md | 14 - .../bmad/agents/cis-brainstorming-coach.md | 14 - .../agents/cis-creative-problem-solver.md | 14 - .../bmad/agents/cis-design-thinking-coach.md | 14 - .../bmad/agents/cis-innovation-strategist.md | 14 - .../bmad/agents/cis-presentation-master.md | 14 - .../commands/bmad/agents/cis-storyteller.md | 14 - .../commands/bmad/agents/core-bmad-master.md | 14 - .../bmad/tasks/core-advanced-elicitation.md | 131 -------- .../commands/bmad/tasks/core-index-docs.md | 81 ----- .../bmad/tasks/core-validate-workflow.md | 104 ------ .../commands/bmad/tasks/core-workflow.md | 251 --------------- .../bmb-Meal Prep & Nutrition Plan.md | 5 - .../bmad/workflows/bmb-create-agent.md | 5 - .../bmad/workflows/bmb-create-module.md | 5 - .../bmad/workflows/bmb-create-workflow.md | 5 - .../commands/bmad/workflows/bmb-edit-agent.md | 5 - .../bmad/workflows/bmb-edit-workflow.md | 5 - .../bmb-workflow-compliance-check.md | 5 - .../bmad/workflows/bmgd-brainstorm-game.md | 13 - .../bmad/workflows/bmgd-code-review.md | 13 - .../bmad/workflows/bmgd-correct-course.md | 13 - .../bmad/workflows/bmgd-create-game-brief.md | 5 - .../bmad/workflows/bmgd-create-gdd.md | 5 - .../bmad/workflows/bmgd-create-story.md | 13 - .../bmad/workflows/bmgd-create-tech-spec.md | 13 - .../commands/bmad/workflows/bmgd-dev-story.md | 13 - .../bmad/workflows/bmgd-game-architecture.md | 13 - .../bmad/workflows/bmgd-game-brief.md | 13 - .../bmad/workflows/bmgd-gametest-automate.md | 13 - .../bmad/workflows/bmgd-gametest-framework.md | 13 - .../workflows/bmgd-gametest-performance.md | 13 - .../workflows/bmgd-gametest-playtest-plan.md | 13 - .../workflows/bmgd-gametest-test-design.md | 13 - .../workflows/bmgd-gametest-test-review.md | 13 - q1/.iflow/commands/bmad/workflows/bmgd-gdd.md | 13 - .../bmgd-generate-project-context.md | 5 - .../commands/bmad/workflows/bmgd-narrative.md | 13 - .../commands/bmad/workflows/bmgd-quick-dev.md | 13 - .../bmad/workflows/bmgd-quick-prototype.md | 13 - .../bmad/workflows/bmgd-retrospective.md | 13 - .../bmad/workflows/bmgd-sprint-planning.md | 13 - .../bmad/workflows/bmgd-sprint-status.md | 13 - .../bmad/workflows/bmgd-workflow-init.md | 13 - .../bmad/workflows/bmgd-workflow-status.md | 13 - .../bmm-check-implementation-readiness.md | 5 - .../bmad/workflows/bmm-code-review.md | 13 - .../bmad/workflows/bmm-correct-course.md | 13 - .../bmad/workflows/bmm-create-architecture.md | 5 - .../workflows/bmm-create-epics-and-stories.md | 5 - .../bmm-create-excalidraw-dataflow.md | 13 - .../bmm-create-excalidraw-diagram.md | 13 - .../bmm-create-excalidraw-flowchart.md | 13 - .../bmm-create-excalidraw-wireframe.md | 13 - .../commands/bmad/workflows/bmm-create-prd.md | 5 - .../workflows/bmm-create-product-brief.md | 5 - .../bmad/workflows/bmm-create-story.md | 13 - .../bmad/workflows/bmm-create-tech-spec.md | 13 - .../bmad/workflows/bmm-create-ux-design.md | 5 - .../commands/bmad/workflows/bmm-dev-story.md | 13 - .../bmad/workflows/bmm-document-project.md | 13 - .../workflows/bmm-generate-project-context.md | 5 - .../commands/bmad/workflows/bmm-quick-dev.md | 13 - .../commands/bmad/workflows/bmm-research.md | 5 - .../bmad/workflows/bmm-retrospective.md | 13 - .../bmad/workflows/bmm-sprint-planning.md | 13 - .../bmad/workflows/bmm-sprint-status.md | 13 - .../bmad/workflows/bmm-testarch-atdd.md | 13 - .../bmad/workflows/bmm-testarch-automate.md | 13 - .../bmad/workflows/bmm-testarch-ci.md | 13 - .../bmad/workflows/bmm-testarch-framework.md | 13 - .../bmad/workflows/bmm-testarch-nfr.md | 13 - .../workflows/bmm-testarch-test-design.md | 13 - .../workflows/bmm-testarch-test-review.md | 13 - .../bmad/workflows/bmm-testarch-trace.md | 13 - .../bmad/workflows/bmm-workflow-init.md | 13 - .../bmad/workflows/bmm-workflow-status.md | 13 - .../bmad/workflows/cis-design-thinking.md | 13 - .../bmad/workflows/cis-innovation-strategy.md | 13 - .../bmad/workflows/cis-problem-solving.md | 13 - .../bmad/workflows/cis-storytelling.md | 13 - .../bmad/workflows/core-brainstorming.md | 5 - .../bmad/workflows/core-party-mode.md | 5 - q1/.kilocodemodes | 301 ------------------ .../agent/bmad-agent-bmb-agent-builder.md | 14 - .../agent/bmad-agent-bmb-module-builder.md | 14 - .../agent/bmad-agent-bmb-workflow-builder.md | 14 - .../agent/bmad-agent-bmgd-game-architect.md | 14 - .../agent/bmad-agent-bmgd-game-designer.md | 14 - .../agent/bmad-agent-bmgd-game-dev.md | 14 - q1/.opencode/agent/bmad-agent-bmgd-game-qa.md | 14 - .../bmad-agent-bmgd-game-scrum-master.md | 14 - .../agent/bmad-agent-bmgd-game-solo-dev.md | 14 - q1/.opencode/agent/bmad-agent-bmm-analyst.md | 14 - .../agent/bmad-agent-bmm-architect.md | 14 - q1/.opencode/agent/bmad-agent-bmm-dev.md | 14 - q1/.opencode/agent/bmad-agent-bmm-pm.md | 14 - .../bmad-agent-bmm-quick-flow-solo-dev.md | 14 - q1/.opencode/agent/bmad-agent-bmm-sm.md | 14 - q1/.opencode/agent/bmad-agent-bmm-tea.md | 14 - .../agent/bmad-agent-bmm-tech-writer.md | 14 - .../agent/bmad-agent-bmm-ux-designer.md | 14 - .../bmad-agent-cis-brainstorming-coach.md | 14 - .../bmad-agent-cis-creative-problem-solver.md | 14 - .../bmad-agent-cis-design-thinking-coach.md | 14 - .../bmad-agent-cis-innovation-strategist.md | 14 - .../bmad-agent-cis-presentation-master.md | 14 - .../agent/bmad-agent-cis-storyteller.md | 14 - .../agent/bmad-agent-core-bmad-master.md | 14 - .../bmad-bmb-Meal Prep & Nutrition Plan.md | 5 - q1/.opencode/command/bmad-bmb-create-agent.md | 5 - .../command/bmad-bmb-create-module.md | 5 - .../command/bmad-bmb-create-workflow.md | 5 - q1/.opencode/command/bmad-bmb-edit-agent.md | 5 - .../command/bmad-bmb-edit-workflow.md | 5 - .../bmad-bmb-workflow-compliance-check.md | 5 - .../command/bmad-bmgd-brainstorm-game.md | 13 - q1/.opencode/command/bmad-bmgd-code-review.md | 13 - .../command/bmad-bmgd-correct-course.md | 13 - .../command/bmad-bmgd-create-game-brief.md | 5 - q1/.opencode/command/bmad-bmgd-create-gdd.md | 5 - .../command/bmad-bmgd-create-story.md | 13 - .../command/bmad-bmgd-create-tech-spec.md | 13 - q1/.opencode/command/bmad-bmgd-dev-story.md | 13 - .../command/bmad-bmgd-game-architecture.md | 13 - q1/.opencode/command/bmad-bmgd-game-brief.md | 13 - .../command/bmad-bmgd-gametest-automate.md | 13 - .../command/bmad-bmgd-gametest-framework.md | 13 - .../command/bmad-bmgd-gametest-performance.md | 13 - .../bmad-bmgd-gametest-playtest-plan.md | 13 - .../command/bmad-bmgd-gametest-test-design.md | 13 - .../command/bmad-bmgd-gametest-test-review.md | 13 - q1/.opencode/command/bmad-bmgd-gdd.md | 13 - .../bmad-bmgd-generate-project-context.md | 5 - q1/.opencode/command/bmad-bmgd-narrative.md | 13 - q1/.opencode/command/bmad-bmgd-quick-dev.md | 13 - .../command/bmad-bmgd-quick-prototype.md | 13 - .../command/bmad-bmgd-retrospective.md | 13 - .../command/bmad-bmgd-sprint-planning.md | 13 - .../command/bmad-bmgd-sprint-status.md | 13 - .../command/bmad-bmgd-workflow-init.md | 13 - .../command/bmad-bmgd-workflow-status.md | 13 - ...bmad-bmm-check-implementation-readiness.md | 5 - q1/.opencode/command/bmad-bmm-code-review.md | 13 - .../command/bmad-bmm-correct-course.md | 13 - .../command/bmad-bmm-create-architecture.md | 5 - .../bmad-bmm-create-epics-and-stories.md | 5 - .../bmad-bmm-create-excalidraw-dataflow.md | 13 - .../bmad-bmm-create-excalidraw-diagram.md | 13 - .../bmad-bmm-create-excalidraw-flowchart.md | 13 - .../bmad-bmm-create-excalidraw-wireframe.md | 13 - q1/.opencode/command/bmad-bmm-create-prd.md | 5 - .../command/bmad-bmm-create-product-brief.md | 5 - q1/.opencode/command/bmad-bmm-create-story.md | 13 - .../command/bmad-bmm-create-tech-spec.md | 13 - .../command/bmad-bmm-create-ux-design.md | 5 - q1/.opencode/command/bmad-bmm-dev-story.md | 13 - .../command/bmad-bmm-document-project.md | 13 - .../bmad-bmm-generate-project-context.md | 5 - q1/.opencode/command/bmad-bmm-quick-dev.md | 13 - q1/.opencode/command/bmad-bmm-research.md | 5 - .../command/bmad-bmm-retrospective.md | 13 - .../command/bmad-bmm-sprint-planning.md | 13 - .../command/bmad-bmm-sprint-status.md | 13 - .../command/bmad-bmm-testarch-atdd.md | 13 - .../command/bmad-bmm-testarch-automate.md | 13 - q1/.opencode/command/bmad-bmm-testarch-ci.md | 13 - .../command/bmad-bmm-testarch-framework.md | 13 - q1/.opencode/command/bmad-bmm-testarch-nfr.md | 13 - .../command/bmad-bmm-testarch-test-design.md | 13 - .../command/bmad-bmm-testarch-test-review.md | 13 - .../command/bmad-bmm-testarch-trace.md | 13 - .../command/bmad-bmm-workflow-init.md | 13 - .../command/bmad-bmm-workflow-status.md | 13 - .../command/bmad-cis-design-thinking.md | 13 - .../command/bmad-cis-innovation-strategy.md | 13 - .../command/bmad-cis-problem-solving.md | 13 - q1/.opencode/command/bmad-cis-storytelling.md | 13 - .../command/bmad-core-brainstorming.md | 5 - q1/.opencode/command/bmad-core-party-mode.md | 5 - .../bmad-task-core-advanced-elicitation.md | 9 - .../command/bmad-task-core-index-docs.md | 9 - .../command/bmad-tool-core-shard-doc.md | 9 - .../bmad/bmb/agents/agent-builder.toml | 12 - .../bmad/bmb/agents/module-builder.toml | 12 - .../bmad/bmb/agents/workflow-builder.toml | 12 - .../bmad/bmgd/agents/game-architect.toml | 12 - .../bmad/bmgd/agents/game-designer.toml | 12 - .../commands/bmad/bmgd/agents/game-dev.toml | 12 - .../commands/bmad/bmgd/agents/game-qa.toml | 12 - .../bmad/bmgd/agents/game-scrum-master.toml | 12 - .../bmad/bmgd/agents/game-solo-dev.toml | 12 - .../bmad/bmgd/workflows/brainstorm-game.toml | 46 --- .../bmad/bmgd/workflows/code-review.toml | 66 ---- .../bmad/bmgd/workflows/correct-course.toml | 65 ---- .../bmad/bmgd/workflows/create-story.toml | 81 ----- .../bmad/bmgd/workflows/create-tech-spec.toml | 29 -- .../bmad/bmgd/workflows/dev-story.toml | 70 ---- .../bmgd/workflows/game-architecture.toml | 74 ----- .../bmad/bmgd/workflows/game-brief.toml | 48 --- .../commands/bmad/bmgd/workflows/gdd.toml | 51 --- .../bmad/bmgd/workflows/narrative.toml | 55 ---- .../bmad/bmgd/workflows/quick-dev.toml | 47 --- .../bmad/bmgd/workflows/quick-prototype.toml | 38 --- .../bmad/bmgd/workflows/retrospective.toml | 64 ---- .../bmad/bmgd/workflows/sprint-planning.toml | 58 ---- .../bmad/bmgd/workflows/sprint-status.toml | 37 --- .../bmad/bmgd/workflows/workflow-init.toml | 31 -- .../bmad/bmgd/workflows/workflow-status.toml | 32 -- .../commands/bmad/bmm/agents/analyst.toml | 12 - .../commands/bmad/bmm/agents/architect.toml | 12 - q1/.qwen/commands/bmad/bmm/agents/dev.toml | 12 - q1/.qwen/commands/bmad/bmm/agents/pm.toml | 12 - .../bmad/bmm/agents/quick-flow-solo-dev.toml | 12 - q1/.qwen/commands/bmad/bmm/agents/sm.toml | 12 - q1/.qwen/commands/bmad/bmm/agents/tea.toml | 12 - .../commands/bmad/bmm/agents/tech-writer.toml | 12 - .../commands/bmad/bmm/agents/ux-designer.toml | 12 - .../bmad/bmm/workflows/code-review.toml | 56 ---- .../bmad/bmm/workflows/correct-course.toml | 60 ---- .../workflows/create-excalidraw-dataflow.toml | 29 -- .../workflows/create-excalidraw-diagram.toml | 29 -- .../create-excalidraw-flowchart.toml | 29 -- .../create-excalidraw-wireframe.toml | 29 -- .../bmad/bmm/workflows/create-story.toml | 62 ---- .../bmad/bmm/workflows/create-tech-spec.toml | 28 -- .../bmad/bmm/workflows/dev-story.toml | 29 -- .../bmad/bmm/workflows/document-project.toml | 33 -- .../bmad/bmm/workflows/quick-dev.toml | 35 -- .../bmad/bmm/workflows/retrospective.toml | 59 ---- .../bmad/bmm/workflows/sprint-planning.toml | 55 ---- .../bmad/bmm/workflows/sprint-status.toml | 37 --- .../bmad/bmm/workflows/workflow-init.toml | 31 -- .../bmad/bmm/workflows/workflow-status.toml | 32 -- .../bmad/cis/agents/brainstorming-coach.toml | 12 - .../cis/agents/creative-problem-solver.toml | 12 - .../cis/agents/design-thinking-coach.toml | 12 - .../cis/agents/innovation-strategist.toml | 12 - .../bmad/cis/agents/presentation-master.toml | 12 - .../commands/bmad/cis/agents/storyteller.toml | 12 - .../bmad/cis/workflows/design-thinking.toml | 31 -- .../cis/workflows/innovation-strategy.toml | 31 -- .../bmad/cis/workflows/problem-solving.toml | 31 -- .../bmad/cis/workflows/storytelling.toml | 31 -- .../bmad/core/agents/bmad-master.toml | 12 - .../commands/bmad/core/tools/shard-doc.toml | 112 ------- .../bmad-task-core-advanced-elicitation.md | 9 - .../references/bmad-task-core-index-docs.md | 9 - .../references/bmad-tool-core-shard-doc.md | 9 - .../subagents/bmad-bmb-agent-builder.md | 6 - .../subagents/bmad-bmb-module-builder.md | 6 - .../subagents/bmad-bmb-workflow-builder.md | 6 - .../subagents/bmad-bmgd-game-architect.md | 6 - .../subagents/bmad-bmgd-game-designer.md | 6 - q1/.rovodev/subagents/bmad-bmgd-game-dev.md | 6 - q1/.rovodev/subagents/bmad-bmgd-game-qa.md | 6 - .../subagents/bmad-bmgd-game-scrum-master.md | 6 - .../subagents/bmad-bmgd-game-solo-dev.md | 6 - q1/.rovodev/subagents/bmad-bmm-analyst.md | 6 - q1/.rovodev/subagents/bmad-bmm-architect.md | 6 - q1/.rovodev/subagents/bmad-bmm-dev.md | 6 - q1/.rovodev/subagents/bmad-bmm-pm.md | 6 - .../subagents/bmad-bmm-quick-flow-solo-dev.md | 6 - q1/.rovodev/subagents/bmad-bmm-sm.md | 6 - q1/.rovodev/subagents/bmad-bmm-tea.md | 6 - q1/.rovodev/subagents/bmad-bmm-tech-writer.md | 6 - q1/.rovodev/subagents/bmad-bmm-ux-designer.md | 6 - .../subagents/bmad-cis-brainstorming-coach.md | 6 - .../bmad-cis-creative-problem-solver.md | 6 - .../bmad-cis-design-thinking-coach.md | 6 - .../bmad-cis-innovation-strategist.md | 6 - .../subagents/bmad-cis-presentation-master.md | 6 - q1/.rovodev/subagents/bmad-cis-storyteller.md | 6 - .../subagents/bmad-core-bmad-master.md | 6 - .../workflows/Meal Prep & Nutrition Plan.md | 5 - q1/.rovodev/workflows/brainstorm-game.md | 13 - q1/.rovodev/workflows/brainstorming.md | 5 - .../check-implementation-readiness.md | 5 - q1/.rovodev/workflows/code-review.md | 13 - q1/.rovodev/workflows/correct-course.md | 13 - q1/.rovodev/workflows/create-agent.md | 5 - q1/.rovodev/workflows/create-architecture.md | 5 - .../workflows/create-epics-and-stories.md | 5 - .../workflows/create-excalidraw-dataflow.md | 13 - .../workflows/create-excalidraw-diagram.md | 13 - .../workflows/create-excalidraw-flowchart.md | 13 - .../workflows/create-excalidraw-wireframe.md | 13 - q1/.rovodev/workflows/create-game-brief.md | 5 - q1/.rovodev/workflows/create-gdd.md | 5 - q1/.rovodev/workflows/create-module.md | 5 - q1/.rovodev/workflows/create-prd.md | 5 - q1/.rovodev/workflows/create-product-brief.md | 5 - q1/.rovodev/workflows/create-story.md | 13 - q1/.rovodev/workflows/create-tech-spec.md | 13 - q1/.rovodev/workflows/create-ux-design.md | 5 - q1/.rovodev/workflows/create-workflow.md | 5 - q1/.rovodev/workflows/design-thinking.md | 13 - q1/.rovodev/workflows/dev-story.md | 13 - q1/.rovodev/workflows/document-project.md | 13 - q1/.rovodev/workflows/edit-agent.md | 5 - q1/.rovodev/workflows/edit-workflow.md | 5 - q1/.rovodev/workflows/game-architecture.md | 13 - q1/.rovodev/workflows/game-brief.md | 13 - q1/.rovodev/workflows/gametest-automate.md | 13 - q1/.rovodev/workflows/gametest-framework.md | 13 - q1/.rovodev/workflows/gametest-performance.md | 13 - .../workflows/gametest-playtest-plan.md | 13 - q1/.rovodev/workflows/gametest-test-design.md | 13 - q1/.rovodev/workflows/gametest-test-review.md | 13 - q1/.rovodev/workflows/gdd.md | 13 - .../workflows/generate-project-context.md | 5 - q1/.rovodev/workflows/innovation-strategy.md | 13 - q1/.rovodev/workflows/narrative.md | 13 - q1/.rovodev/workflows/party-mode.md | 5 - q1/.rovodev/workflows/problem-solving.md | 13 - q1/.rovodev/workflows/quick-dev.md | 13 - q1/.rovodev/workflows/quick-prototype.md | 13 - q1/.rovodev/workflows/research.md | 5 - q1/.rovodev/workflows/retrospective.md | 13 - q1/.rovodev/workflows/sprint-planning.md | 13 - q1/.rovodev/workflows/sprint-status.md | 13 - q1/.rovodev/workflows/storytelling.md | 13 - q1/.rovodev/workflows/testarch-atdd.md | 13 - q1/.rovodev/workflows/testarch-automate.md | 13 - q1/.rovodev/workflows/testarch-ci.md | 13 - q1/.rovodev/workflows/testarch-framework.md | 13 - q1/.rovodev/workflows/testarch-nfr.md | 13 - q1/.rovodev/workflows/testarch-test-design.md | 13 - q1/.rovodev/workflows/testarch-test-review.md | 13 - q1/.rovodev/workflows/testarch-trace.md | 13 - .../workflows/workflow-compliance-check.md | 5 - q1/.rovodev/workflows/workflow-init.md | 13 - q1/.rovodev/workflows/workflow-status.md | 13 - 774 files changed, 12951 deletions(-) delete mode 100644 q1/.augment/commands/bmad/agents/bmb-agent-builder.md delete mode 100644 q1/.augment/commands/bmad/agents/bmb-module-builder.md delete mode 100644 q1/.augment/commands/bmad/agents/bmb-workflow-builder.md delete mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-architect.md delete mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-designer.md delete mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-dev.md delete mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-qa.md delete mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md delete mode 100644 q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-analyst.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-architect.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-dev.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-pm.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-sm.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-tea.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-tech-writer.md delete mode 100644 q1/.augment/commands/bmad/agents/bmm-ux-designer.md delete mode 100644 q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md delete mode 100644 q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md delete mode 100644 q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md delete mode 100644 q1/.augment/commands/bmad/agents/cis-innovation-strategist.md delete mode 100644 q1/.augment/commands/bmad/agents/cis-presentation-master.md delete mode 100644 q1/.augment/commands/bmad/agents/cis-storyteller.md delete mode 100644 q1/.augment/commands/bmad/agents/core-bmad-master.md delete mode 100644 q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md delete mode 100644 q1/.augment/commands/bmad/tasks/core-index-docs.md delete mode 100644 q1/.augment/commands/bmad/tools/core-shard-doc.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmb-create-agent.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmb-create-module.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmb-create-workflow.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmb-edit-agent.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-code-review.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-correct-course.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-story.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-dev-story.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-game-brief.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-gdd.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-narrative.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-retrospective.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-code-review.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-correct-course.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-architecture.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-prd.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-story.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-dev-story.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-document-project.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-quick-dev.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-research.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-retrospective.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-sprint-status.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-workflow-init.md delete mode 100644 q1/.augment/commands/bmad/workflows/bmm-workflow-status.md delete mode 100644 q1/.augment/commands/bmad/workflows/cis-design-thinking.md delete mode 100644 q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md delete mode 100644 q1/.augment/commands/bmad/workflows/cis-problem-solving.md delete mode 100644 q1/.augment/commands/bmad/workflows/cis-storytelling.md delete mode 100644 q1/.augment/commands/bmad/workflows/core-brainstorming.md delete mode 100644 q1/.augment/commands/bmad/workflows/core-party-mode.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-README.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md delete mode 100644 q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-README.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md delete mode 100644 q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-analyst.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-architect.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-dev.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-pm.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-sm.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-tea.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-README.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-research.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md delete mode 100644 q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-README.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md delete mode 100644 q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md delete mode 100644 q1/.clinerules/workflows/bmad-core-agents-bmad-master.md delete mode 100644 q1/.clinerules/workflows/bmad-core-workflows-README.md delete mode 100644 q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md delete mode 100644 q1/.clinerules/workflows/bmad-core-workflows-party-mode.md delete mode 100644 q1/.crush/commands/bmad/bmb/agents/agent-builder.md delete mode 100644 q1/.crush/commands/bmad/bmb/agents/module-builder.md delete mode 100644 q1/.crush/commands/bmad/bmb/agents/workflow-builder.md delete mode 100644 q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md delete mode 100644 q1/.crush/commands/bmad/bmb/workflows/create-agent.md delete mode 100644 q1/.crush/commands/bmad/bmb/workflows/create-module.md delete mode 100644 q1/.crush/commands/bmad/bmb/workflows/create-workflow.md delete mode 100644 q1/.crush/commands/bmad/bmb/workflows/edit-agent.md delete mode 100644 q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md delete mode 100644 q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md delete mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-architect.md delete mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-designer.md delete mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-dev.md delete mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-qa.md delete mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md delete mode 100644 q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/code-review.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/correct-course.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-story.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/dev-story.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/game-brief.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/gdd.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/narrative.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/retrospective.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md delete mode 100644 q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/analyst.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/architect.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/dev.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/pm.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/sm.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/tea.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/tech-writer.md delete mode 100644 q1/.crush/commands/bmad/bmm/agents/ux-designer.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/code-review.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/correct-course.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-architecture.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-prd.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-story.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/dev-story.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/document-project.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/quick-dev.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/research.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/retrospective.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/sprint-status.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/workflow-init.md delete mode 100644 q1/.crush/commands/bmad/bmm/workflows/workflow-status.md delete mode 100644 q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md delete mode 100644 q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md delete mode 100644 q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md delete mode 100644 q1/.crush/commands/bmad/cis/agents/innovation-strategist.md delete mode 100644 q1/.crush/commands/bmad/cis/agents/presentation-master.md delete mode 100644 q1/.crush/commands/bmad/cis/agents/storyteller.md delete mode 100644 q1/.crush/commands/bmad/cis/workflows/design-thinking.md delete mode 100644 q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md delete mode 100644 q1/.crush/commands/bmad/cis/workflows/problem-solving.md delete mode 100644 q1/.crush/commands/bmad/cis/workflows/storytelling.md delete mode 100644 q1/.crush/commands/bmad/core/agents/bmad-master.md delete mode 100644 q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md delete mode 100644 q1/.crush/commands/bmad/core/tasks/index-docs.md delete mode 100644 q1/.crush/commands/bmad/core/tools/shard-doc.md delete mode 100644 q1/.crush/commands/bmad/core/workflows/brainstorming.md delete mode 100644 q1/.crush/commands/bmad/core/workflows/party-mode.md delete mode 100644 q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc delete mode 100644 q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc delete mode 100644 q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/analyst.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/architect.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/dev.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/pm.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/sm.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/tea.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/research.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc delete mode 100644 q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/agents/storyteller.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc delete mode 100644 q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc delete mode 100644 q1/.cursor/rules/bmad/core/agents/bmad-master.mdc delete mode 100644 q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc delete mode 100644 q1/.cursor/rules/bmad/core/tasks/index-docs.mdc delete mode 100644 q1/.cursor/rules/bmad/core/tools/shard-doc.mdc delete mode 100644 q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc delete mode 100644 q1/.cursor/rules/bmad/core/workflows/party-mode.mdc delete mode 100644 q1/.cursor/rules/bmad/index.mdc delete mode 100644 q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmb-module-builder.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-analyst.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-architect.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-dev.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-pm.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-sm.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-tea.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md delete mode 100644 q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md delete mode 100644 q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md delete mode 100644 q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md delete mode 100644 q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md delete mode 100644 q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md delete mode 100644 q1/.github/agents/bmd-custom-cis-presentation-master.agent.md delete mode 100644 q1/.github/agents/bmd-custom-cis-storyteller.agent.md delete mode 100644 q1/.github/agents/bmd-custom-core-bmad-master.agent.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmb-agent-builder.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmb-module-builder.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-architect.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-designer.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-dev.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-qa.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-analyst.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-architect.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-dev.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-pm.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-sm.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-tea.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-tech-writer.md delete mode 100644 q1/.iflow/commands/bmad/agents/bmm-ux-designer.md delete mode 100644 q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md delete mode 100644 q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md delete mode 100644 q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md delete mode 100644 q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md delete mode 100644 q1/.iflow/commands/bmad/agents/cis-presentation-master.md delete mode 100644 q1/.iflow/commands/bmad/agents/cis-storyteller.md delete mode 100644 q1/.iflow/commands/bmad/agents/core-bmad-master.md delete mode 100644 q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md delete mode 100644 q1/.iflow/commands/bmad/tasks/core-index-docs.md delete mode 100644 q1/.iflow/commands/bmad/tasks/core-validate-workflow.md delete mode 100644 q1/.iflow/commands/bmad/tasks/core-workflow.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmb-create-agent.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmb-create-module.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-code-review.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-story.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-gdd.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-narrative.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-code-review.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-correct-course.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-prd.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-story.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-dev-story.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-document-project.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-research.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-retrospective.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md delete mode 100644 q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md delete mode 100644 q1/.iflow/commands/bmad/workflows/cis-design-thinking.md delete mode 100644 q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md delete mode 100644 q1/.iflow/commands/bmad/workflows/cis-problem-solving.md delete mode 100644 q1/.iflow/commands/bmad/workflows/cis-storytelling.md delete mode 100644 q1/.iflow/commands/bmad/workflows/core-brainstorming.md delete mode 100644 q1/.iflow/commands/bmad/workflows/core-party-mode.md delete mode 100644 q1/.kilocodemodes delete mode 100644 q1/.opencode/agent/bmad-agent-bmb-agent-builder.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmb-module-builder.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-architect.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-designer.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-dev.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-qa.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-analyst.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-architect.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-dev.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-pm.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-sm.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-tea.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-tech-writer.md delete mode 100644 q1/.opencode/agent/bmad-agent-bmm-ux-designer.md delete mode 100644 q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md delete mode 100644 q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md delete mode 100644 q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md delete mode 100644 q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md delete mode 100644 q1/.opencode/agent/bmad-agent-cis-presentation-master.md delete mode 100644 q1/.opencode/agent/bmad-agent-cis-storyteller.md delete mode 100644 q1/.opencode/agent/bmad-agent-core-bmad-master.md delete mode 100644 q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md delete mode 100644 q1/.opencode/command/bmad-bmb-create-agent.md delete mode 100644 q1/.opencode/command/bmad-bmb-create-module.md delete mode 100644 q1/.opencode/command/bmad-bmb-create-workflow.md delete mode 100644 q1/.opencode/command/bmad-bmb-edit-agent.md delete mode 100644 q1/.opencode/command/bmad-bmb-edit-workflow.md delete mode 100644 q1/.opencode/command/bmad-bmb-workflow-compliance-check.md delete mode 100644 q1/.opencode/command/bmad-bmgd-brainstorm-game.md delete mode 100644 q1/.opencode/command/bmad-bmgd-code-review.md delete mode 100644 q1/.opencode/command/bmad-bmgd-correct-course.md delete mode 100644 q1/.opencode/command/bmad-bmgd-create-game-brief.md delete mode 100644 q1/.opencode/command/bmad-bmgd-create-gdd.md delete mode 100644 q1/.opencode/command/bmad-bmgd-create-story.md delete mode 100644 q1/.opencode/command/bmad-bmgd-create-tech-spec.md delete mode 100644 q1/.opencode/command/bmad-bmgd-dev-story.md delete mode 100644 q1/.opencode/command/bmad-bmgd-game-architecture.md delete mode 100644 q1/.opencode/command/bmad-bmgd-game-brief.md delete mode 100644 q1/.opencode/command/bmad-bmgd-gametest-automate.md delete mode 100644 q1/.opencode/command/bmad-bmgd-gametest-framework.md delete mode 100644 q1/.opencode/command/bmad-bmgd-gametest-performance.md delete mode 100644 q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md delete mode 100644 q1/.opencode/command/bmad-bmgd-gametest-test-design.md delete mode 100644 q1/.opencode/command/bmad-bmgd-gametest-test-review.md delete mode 100644 q1/.opencode/command/bmad-bmgd-gdd.md delete mode 100644 q1/.opencode/command/bmad-bmgd-generate-project-context.md delete mode 100644 q1/.opencode/command/bmad-bmgd-narrative.md delete mode 100644 q1/.opencode/command/bmad-bmgd-quick-dev.md delete mode 100644 q1/.opencode/command/bmad-bmgd-quick-prototype.md delete mode 100644 q1/.opencode/command/bmad-bmgd-retrospective.md delete mode 100644 q1/.opencode/command/bmad-bmgd-sprint-planning.md delete mode 100644 q1/.opencode/command/bmad-bmgd-sprint-status.md delete mode 100644 q1/.opencode/command/bmad-bmgd-workflow-init.md delete mode 100644 q1/.opencode/command/bmad-bmgd-workflow-status.md delete mode 100644 q1/.opencode/command/bmad-bmm-check-implementation-readiness.md delete mode 100644 q1/.opencode/command/bmad-bmm-code-review.md delete mode 100644 q1/.opencode/command/bmad-bmm-correct-course.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-architecture.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-epics-and-stories.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-prd.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-product-brief.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-story.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-tech-spec.md delete mode 100644 q1/.opencode/command/bmad-bmm-create-ux-design.md delete mode 100644 q1/.opencode/command/bmad-bmm-dev-story.md delete mode 100644 q1/.opencode/command/bmad-bmm-document-project.md delete mode 100644 q1/.opencode/command/bmad-bmm-generate-project-context.md delete mode 100644 q1/.opencode/command/bmad-bmm-quick-dev.md delete mode 100644 q1/.opencode/command/bmad-bmm-research.md delete mode 100644 q1/.opencode/command/bmad-bmm-retrospective.md delete mode 100644 q1/.opencode/command/bmad-bmm-sprint-planning.md delete mode 100644 q1/.opencode/command/bmad-bmm-sprint-status.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-atdd.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-automate.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-ci.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-framework.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-nfr.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-test-design.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-test-review.md delete mode 100644 q1/.opencode/command/bmad-bmm-testarch-trace.md delete mode 100644 q1/.opencode/command/bmad-bmm-workflow-init.md delete mode 100644 q1/.opencode/command/bmad-bmm-workflow-status.md delete mode 100644 q1/.opencode/command/bmad-cis-design-thinking.md delete mode 100644 q1/.opencode/command/bmad-cis-innovation-strategy.md delete mode 100644 q1/.opencode/command/bmad-cis-problem-solving.md delete mode 100644 q1/.opencode/command/bmad-cis-storytelling.md delete mode 100644 q1/.opencode/command/bmad-core-brainstorming.md delete mode 100644 q1/.opencode/command/bmad-core-party-mode.md delete mode 100644 q1/.opencode/command/bmad-task-core-advanced-elicitation.md delete mode 100644 q1/.opencode/command/bmad-task-core-index-docs.md delete mode 100644 q1/.opencode/command/bmad-tool-core-shard-doc.md delete mode 100644 q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml delete mode 100644 q1/.qwen/commands/bmad/bmb/agents/module-builder.toml delete mode 100644 q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml delete mode 100644 q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/analyst.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/architect.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/dev.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/pm.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/sm.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/tea.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/code-review.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-story.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/document-project.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml delete mode 100644 q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml delete mode 100644 q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml delete mode 100644 q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml delete mode 100644 q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml delete mode 100644 q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml delete mode 100644 q1/.qwen/commands/bmad/cis/agents/presentation-master.toml delete mode 100644 q1/.qwen/commands/bmad/cis/agents/storyteller.toml delete mode 100644 q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml delete mode 100644 q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml delete mode 100644 q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml delete mode 100644 q1/.qwen/commands/bmad/cis/workflows/storytelling.toml delete mode 100644 q1/.qwen/commands/bmad/core/agents/bmad-master.toml delete mode 100644 q1/.qwen/commands/bmad/core/tools/shard-doc.toml delete mode 100644 q1/.rovodev/references/bmad-task-core-advanced-elicitation.md delete mode 100644 q1/.rovodev/references/bmad-task-core-index-docs.md delete mode 100644 q1/.rovodev/references/bmad-tool-core-shard-doc.md delete mode 100644 q1/.rovodev/subagents/bmad-bmb-agent-builder.md delete mode 100644 q1/.rovodev/subagents/bmad-bmb-module-builder.md delete mode 100644 q1/.rovodev/subagents/bmad-bmb-workflow-builder.md delete mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-architect.md delete mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-designer.md delete mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-dev.md delete mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-qa.md delete mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md delete mode 100644 q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-analyst.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-architect.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-dev.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-pm.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-sm.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-tea.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-tech-writer.md delete mode 100644 q1/.rovodev/subagents/bmad-bmm-ux-designer.md delete mode 100644 q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md delete mode 100644 q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md delete mode 100644 q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md delete mode 100644 q1/.rovodev/subagents/bmad-cis-innovation-strategist.md delete mode 100644 q1/.rovodev/subagents/bmad-cis-presentation-master.md delete mode 100644 q1/.rovodev/subagents/bmad-cis-storyteller.md delete mode 100644 q1/.rovodev/subagents/bmad-core-bmad-master.md delete mode 100644 q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md delete mode 100644 q1/.rovodev/workflows/brainstorm-game.md delete mode 100644 q1/.rovodev/workflows/brainstorming.md delete mode 100644 q1/.rovodev/workflows/check-implementation-readiness.md delete mode 100644 q1/.rovodev/workflows/code-review.md delete mode 100644 q1/.rovodev/workflows/correct-course.md delete mode 100644 q1/.rovodev/workflows/create-agent.md delete mode 100644 q1/.rovodev/workflows/create-architecture.md delete mode 100644 q1/.rovodev/workflows/create-epics-and-stories.md delete mode 100644 q1/.rovodev/workflows/create-excalidraw-dataflow.md delete mode 100644 q1/.rovodev/workflows/create-excalidraw-diagram.md delete mode 100644 q1/.rovodev/workflows/create-excalidraw-flowchart.md delete mode 100644 q1/.rovodev/workflows/create-excalidraw-wireframe.md delete mode 100644 q1/.rovodev/workflows/create-game-brief.md delete mode 100644 q1/.rovodev/workflows/create-gdd.md delete mode 100644 q1/.rovodev/workflows/create-module.md delete mode 100644 q1/.rovodev/workflows/create-prd.md delete mode 100644 q1/.rovodev/workflows/create-product-brief.md delete mode 100644 q1/.rovodev/workflows/create-story.md delete mode 100644 q1/.rovodev/workflows/create-tech-spec.md delete mode 100644 q1/.rovodev/workflows/create-ux-design.md delete mode 100644 q1/.rovodev/workflows/create-workflow.md delete mode 100644 q1/.rovodev/workflows/design-thinking.md delete mode 100644 q1/.rovodev/workflows/dev-story.md delete mode 100644 q1/.rovodev/workflows/document-project.md delete mode 100644 q1/.rovodev/workflows/edit-agent.md delete mode 100644 q1/.rovodev/workflows/edit-workflow.md delete mode 100644 q1/.rovodev/workflows/game-architecture.md delete mode 100644 q1/.rovodev/workflows/game-brief.md delete mode 100644 q1/.rovodev/workflows/gametest-automate.md delete mode 100644 q1/.rovodev/workflows/gametest-framework.md delete mode 100644 q1/.rovodev/workflows/gametest-performance.md delete mode 100644 q1/.rovodev/workflows/gametest-playtest-plan.md delete mode 100644 q1/.rovodev/workflows/gametest-test-design.md delete mode 100644 q1/.rovodev/workflows/gametest-test-review.md delete mode 100644 q1/.rovodev/workflows/gdd.md delete mode 100644 q1/.rovodev/workflows/generate-project-context.md delete mode 100644 q1/.rovodev/workflows/innovation-strategy.md delete mode 100644 q1/.rovodev/workflows/narrative.md delete mode 100644 q1/.rovodev/workflows/party-mode.md delete mode 100644 q1/.rovodev/workflows/problem-solving.md delete mode 100644 q1/.rovodev/workflows/quick-dev.md delete mode 100644 q1/.rovodev/workflows/quick-prototype.md delete mode 100644 q1/.rovodev/workflows/research.md delete mode 100644 q1/.rovodev/workflows/retrospective.md delete mode 100644 q1/.rovodev/workflows/sprint-planning.md delete mode 100644 q1/.rovodev/workflows/sprint-status.md delete mode 100644 q1/.rovodev/workflows/storytelling.md delete mode 100644 q1/.rovodev/workflows/testarch-atdd.md delete mode 100644 q1/.rovodev/workflows/testarch-automate.md delete mode 100644 q1/.rovodev/workflows/testarch-ci.md delete mode 100644 q1/.rovodev/workflows/testarch-framework.md delete mode 100644 q1/.rovodev/workflows/testarch-nfr.md delete mode 100644 q1/.rovodev/workflows/testarch-test-design.md delete mode 100644 q1/.rovodev/workflows/testarch-test-review.md delete mode 100644 q1/.rovodev/workflows/testarch-trace.md delete mode 100644 q1/.rovodev/workflows/workflow-compliance-check.md delete mode 100644 q1/.rovodev/workflows/workflow-init.md delete mode 100644 q1/.rovodev/workflows/workflow-status.md diff --git a/q1/.augment/commands/bmad/agents/bmb-agent-builder.md b/q1/.augment/commands/bmad/agents/bmb-agent-builder.md deleted file mode 100644 index 2dd96fa3..00000000 --- a/q1/.augment/commands/bmad/agents/bmb-agent-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'agent-builder' -description: 'agent-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmb-module-builder.md b/q1/.augment/commands/bmad/agents/bmb-module-builder.md deleted file mode 100644 index 2e35abeb..00000000 --- a/q1/.augment/commands/bmad/agents/bmb-module-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'module-builder' -description: 'module-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmb-workflow-builder.md b/q1/.augment/commands/bmad/agents/bmb-workflow-builder.md deleted file mode 100644 index f388a48c..00000000 --- a/q1/.augment/commands/bmad/agents/bmb-workflow-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'workflow-builder' -description: 'workflow-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-architect.md b/q1/.augment/commands/bmad/agents/bmgd-game-architect.md deleted file mode 100644 index 7528a352..00000000 --- a/q1/.augment/commands/bmad/agents/bmgd-game-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-architect' -description: 'game-architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-designer.md b/q1/.augment/commands/bmad/agents/bmgd-game-designer.md deleted file mode 100644 index bb276b18..00000000 --- a/q1/.augment/commands/bmad/agents/bmgd-game-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-designer' -description: 'game-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-dev.md b/q1/.augment/commands/bmad/agents/bmgd-game-dev.md deleted file mode 100644 index 00ecac81..00000000 --- a/q1/.augment/commands/bmad/agents/bmgd-game-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-dev' -description: 'game-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-qa.md b/q1/.augment/commands/bmad/agents/bmgd-game-qa.md deleted file mode 100644 index cbb4434d..00000000 --- a/q1/.augment/commands/bmad/agents/bmgd-game-qa.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-qa' -description: 'game-qa agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md b/q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md deleted file mode 100644 index 7873999e..00000000 --- a/q1/.augment/commands/bmad/agents/bmgd-game-scrum-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-scrum-master' -description: 'game-scrum-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md b/q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md deleted file mode 100644 index 24974f20..00000000 --- a/q1/.augment/commands/bmad/agents/bmgd-game-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-solo-dev' -description: 'game-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-analyst.md b/q1/.augment/commands/bmad/agents/bmm-analyst.md deleted file mode 100644 index 7224bfa4..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-analyst.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'analyst' -description: 'analyst agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-architect.md b/q1/.augment/commands/bmad/agents/bmm-architect.md deleted file mode 100644 index 8bf9f3a1..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'architect' -description: 'architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-dev.md b/q1/.augment/commands/bmad/agents/bmm-dev.md deleted file mode 100644 index 171ad6eb..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'dev' -description: 'dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-pm.md b/q1/.augment/commands/bmad/agents/bmm-pm.md deleted file mode 100644 index 347e7d4e..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-pm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'pm' -description: 'pm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md b/q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md deleted file mode 100644 index 7a956561..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-quick-flow-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'quick-flow-solo-dev' -description: 'quick-flow-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-sm.md b/q1/.augment/commands/bmad/agents/bmm-sm.md deleted file mode 100644 index bf7d6710..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-sm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'sm' -description: 'sm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-tea.md b/q1/.augment/commands/bmad/agents/bmm-tea.md deleted file mode 100644 index a91b8888..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-tea.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tea' -description: 'tea agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-tech-writer.md b/q1/.augment/commands/bmad/agents/bmm-tech-writer.md deleted file mode 100644 index 1926e6eb..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-tech-writer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tech-writer' -description: 'tech-writer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/bmm-ux-designer.md b/q1/.augment/commands/bmad/agents/bmm-ux-designer.md deleted file mode 100644 index 66a16bd9..00000000 --- a/q1/.augment/commands/bmad/agents/bmm-ux-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'ux-designer' -description: 'ux-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md b/q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md deleted file mode 100644 index ee3aeb32..00000000 --- a/q1/.augment/commands/bmad/agents/cis-brainstorming-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'brainstorming-coach' -description: 'brainstorming-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md b/q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md deleted file mode 100644 index 11dbb44e..00000000 --- a/q1/.augment/commands/bmad/agents/cis-creative-problem-solver.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'creative-problem-solver' -description: 'creative-problem-solver agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md b/q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md deleted file mode 100644 index dd616724..00000000 --- a/q1/.augment/commands/bmad/agents/cis-design-thinking-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'design-thinking-coach' -description: 'design-thinking-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/cis-innovation-strategist.md b/q1/.augment/commands/bmad/agents/cis-innovation-strategist.md deleted file mode 100644 index 9155c727..00000000 --- a/q1/.augment/commands/bmad/agents/cis-innovation-strategist.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'innovation-strategist' -description: 'innovation-strategist agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/cis-presentation-master.md b/q1/.augment/commands/bmad/agents/cis-presentation-master.md deleted file mode 100644 index 19340d91..00000000 --- a/q1/.augment/commands/bmad/agents/cis-presentation-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'presentation-master' -description: 'presentation-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/cis-storyteller.md b/q1/.augment/commands/bmad/agents/cis-storyteller.md deleted file mode 100644 index 06f816fa..00000000 --- a/q1/.augment/commands/bmad/agents/cis-storyteller.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'storyteller' -description: 'storyteller agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/agents/core-bmad-master.md b/q1/.augment/commands/bmad/agents/core-bmad-master.md deleted file mode 100644 index 07d39970..00000000 --- a/q1/.augment/commands/bmad/agents/core-bmad-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'bmad-master' -description: 'bmad-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md b/q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md deleted file mode 100644 index 0dae25df..00000000 --- a/q1/.augment/commands/bmad/tasks/core-advanced-elicitation.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -description: 'Execute the Advanced Elicitation task' ---- - -# Advanced Elicitation Task - - - -MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER -DO NOT skip steps or change the sequence -HALT immediately when halt-conditions are met -Each action xml tag within step xml tag is a REQUIRED action to complete that step -Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - When called during template workflow processing: - 1. Receive or review the current section content that was just generated or - 2. Apply elicitation methods iteratively to enhance that specific content - 3. Return the enhanced version back when user selects 'x' to proceed and return back - 4. The enhanced content replaces the original section content in the output document - - - - - Load and read {{methods}} and {{agent-party}} - - - category: Method grouping (core, structural, risk, etc.) - method_name: Display name for the method - description: Rich explanation of what the method does, when to use it, and why it's valuable - output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") - - - - Use conversation history - Analyze: content type, complexity, stakeholder needs, risk level, and creative potential - - - - 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential - 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV - 3. Select 5 methods: Choose methods that best match the context based on their descriptions - 4. Balance approach: Include mix of foundational and specialized techniques as appropriate - - - - - - - **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** - Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: - - 1. [Method Name] - 2. [Method Name] - 3. [Method Name] - 4. [Method Name] - 5. [Method Name] - r. Reshuffle the list with 5 new options - a. List all methods with descriptions - x. Proceed / No Further Actions - - - - - Execute the selected method using its description from the CSV - Adapt the method's complexity and output format based on the current context - Apply the method creatively to the current section content being enhanced - Display the enhanced version showing what the method revealed or improved - CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. - CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to - follow the instructions given by the user. - CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations - - - Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format - When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being - potentially the most useful for the document or section being discovered - - - Complete elicitation and proceed - Return the fully enhanced content back to create-doc.md - The enhanced content becomes the final version for that section - Signal completion back to create-doc.md to continue with next section - - - List all methods with their descriptions from the CSV in a compact table - Allow user to select any method by name or number from the full list - After selection, execute the method as described in the n="1-5" case above - - - Apply changes to current section content and re-present choices - - - Execute methods in sequence on the content, then re-offer choices - - - - - - Method execution: Use the description from CSV to understand and apply each method - Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") - Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) - Creative application: Interpret methods flexibly based on context while maintaining pattern consistency - Focus on actionable insights - Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user - indicates otherwise) - Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory - already - Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution - Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session - Each method application builds upon previous enhancements - Content preservation: Track all enhancements made during elicitation - Iterative enhancement: Each selected method (1-5) should: - 1. Apply to the current enhanced version of the content - 2. Show the improvements made - 3. Return to the prompt for additional elicitations or completion - - - - - -## Module - -BMAD CORE module diff --git a/q1/.augment/commands/bmad/tasks/core-index-docs.md b/q1/.augment/commands/bmad/tasks/core-index-docs.md deleted file mode 100644 index a294a723..00000000 --- a/q1/.augment/commands/bmad/tasks/core-index-docs.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -description: 'Execute the Index Docs task' ---- - -# Index Docs Task - - - -MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER -DO NOT skip steps or change the sequence -HALT immediately when halt-conditions are met -Each action xml tag within step xml tag is a REQUIRED action to complete that step -Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - - List all files and subdirectories in the target location - - - - Organize files by type, purpose, or subdirectory - - - - Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the - filename - - - - Write or update index.md with organized file listings - - - - - - - # Directory Index - - ## Files - - - **[filename.ext](./filename.ext)** - Brief description - - **[another-file.ext](./another-file.ext)** - Brief description - - ## Subdirectories - - ### subfolder/ - - - **[file1.ext](./subfolder/file1.ext)** - Brief description - - **[file2.ext](./subfolder/file2.ext)** - Brief description - - ### another-folder/ - - - **[file3.ext](./another-folder/file3.ext)** - Brief description - - - - - - HALT if target directory does not exist or is inaccessible - HALT if user does not have write permissions to create index.md - - - - Use relative paths starting with ./ - Group similar files together - Read file contents to generate accurate descriptions - don't guess from filenames - Keep descriptions concise but informative (3-10 words) - Sort alphabetically within groups - Skip hidden files (starting with .) unless specified - - - -## Module - -BMAD CORE module diff --git a/q1/.augment/commands/bmad/tools/core-shard-doc.md b/q1/.augment/commands/bmad/tools/core-shard-doc.md deleted file mode 100644 index 41bc01d2..00000000 --- a/q1/.augment/commands/bmad/tools/core-shard-doc.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -description: 'Use the Shard Document tool' ---- - -# Shard Document Tool - - -Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool - - - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER - DO NOT skip steps or change the sequence - HALT immediately when halt-conditions are met - Each action xml tag within step xml tag is a REQUIRED action to complete that step - Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index - - - - - Ask user for the source document path if not provided already - Verify file exists and is accessible - Verify file is markdown format (.md extension) - HALT with error message - - - - Determine default destination: same location as source file, folder named after source file without .md extension - Example: /path/to/architecture.md → /path/to/architecture/ - Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) - Use the suggested destination path - Use the custom destination path - Verify destination folder exists or can be created - Check write permissions for destination - HALT with error message - - - - Inform user that sharding is beginning - Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` - Capture command output and any errors - HALT and display error to user - - - - Check that destination folder contains sharded files - Verify index.md was created in destination folder - Count the number of files created - HALT with error message - - - - Display completion report to user including: - - Source document path and name - - Destination folder path - - Number of section files created - - Confirmation that index.md was created - - Any tool output or warnings - Inform user that sharding completed successfully - - - - Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion - Present user with options for the original document: - - What would you like to do with the original document `[source-document-name]`? - - Options: - [d] Delete - Remove the original (recommended - shards can always be recombined) - [m] Move to archive - Move original to a backup/archive location - [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) - - Your choice (d/m/k): - - - Delete the original source document file - Confirm deletion to user: "✓ Original document deleted: [source-document-path]" - The document can be reconstructed from shards by concatenating all section files in order - - - - Determine default archive location: same directory as source, in an "archive" subfolder - Example: /path/to/architecture.md → /path/to/archive/architecture.md - Archive location ([y] to use default: [default-archive-path], or provide custom path): - Use default archive path - Use custom archive path - Create archive directory if it doesn't exist - Move original document to archive location - Confirm move to user: "✓ Original document moved to: [archive-path]" - - - - Display warning to user: - ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. - - This creates confusion because: - - The discover_inputs protocol may load the wrong version - - Updates to one won't reflect in the other - - You'll have duplicate content taking up space - - Consider deleting or archiving the original document. - Confirm user choice: "Original document kept at: [source-document-path]" - - - - - - - HALT if npx command fails or produces no output files - - - -## Module - -BMAD CORE module diff --git a/q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md b/q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md deleted file mode 100644 index 8524a86c..00000000 --- a/q1/.augment/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-create-agent.md b/q1/.augment/commands/bmad/workflows/bmb-create-agent.md deleted file mode 100644 index 59662ba5..00000000 --- a/q1/.augment/commands/bmad/workflows/bmb-create-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-create-module.md b/q1/.augment/commands/bmad/workflows/bmb-create-module.md deleted file mode 100644 index ae1a98c1..00000000 --- a/q1/.augment/commands/bmad/workflows/bmb-create-module.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-create-workflow.md b/q1/.augment/commands/bmad/workflows/bmb-create-workflow.md deleted file mode 100644 index 3d563a4f..00000000 --- a/q1/.augment/commands/bmad/workflows/bmb-create-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create structured standalone workflows using markdown-based step architecture' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-edit-agent.md b/q1/.augment/commands/bmad/workflows/bmb-edit-agent.md deleted file mode 100644 index 0c9a6b30..00000000 --- a/q1/.augment/commands/bmad/workflows/bmb-edit-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Edit existing BMAD agents while following all best practices and conventions' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md b/q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md deleted file mode 100644 index afcaa2f4..00000000 --- a/q1/.augment/commands/bmad/workflows/bmb-edit-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md b/q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md deleted file mode 100644 index a32d5fe5..00000000 --- a/q1/.augment/commands/bmad/workflows/bmb-workflow-compliance-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md b/q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md deleted file mode 100644 index 04220291..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-brainstorm-game.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-code-review.md b/q1/.augment/commands/bmad/workflows/bmgd-code-review.md deleted file mode 100644 index 7b26134f..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-correct-course.md b/q1/.augment/commands/bmad/workflows/bmgd-correct-course.md deleted file mode 100644 index cfcd8eaf..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md b/q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md deleted file mode 100644 index 3bb52d6d..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-create-game-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md b/q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md deleted file mode 100644 index 4dcc804e..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-create-gdd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-story.md b/q1/.augment/commands/bmad/workflows/bmgd-create-story.md deleted file mode 100644 index ad75462a..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md b/q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md deleted file mode 100644 index f957ebc9..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-dev-story.md b/q1/.augment/commands/bmad/workflows/bmgd-dev-story.md deleted file mode 100644 index a8b771dd..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md b/q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md deleted file mode 100644 index 36ef3279..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-game-architecture.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-game-brief.md b/q1/.augment/commands/bmad/workflows/bmgd-game-brief.md deleted file mode 100644 index e0303ff1..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-game-brief.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md deleted file mode 100644 index dfccaca9..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-gametest-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md deleted file mode 100644 index cd6272ab..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-gametest-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md deleted file mode 100644 index 7255df6c..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-gametest-performance.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Design performance testing strategy for frame rate, memory, and loading times' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md deleted file mode 100644 index 988d010c..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-gametest-playtest-plan.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create structured playtesting sessions for gameplay validation and user feedback' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md deleted file mode 100644 index 05ac011f..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md b/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md deleted file mode 100644 index 23879a38..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-gametest-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality, coverage, and identify gaps in game testing' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-gdd.md b/q1/.augment/commands/bmad/workflows/bmgd-gdd.md deleted file mode 100644 index 0bf8eabd..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-gdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md b/q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md deleted file mode 100644 index 6c44337a..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmgd-narrative.md b/q1/.augment/commands/bmad/workflows/bmgd-narrative.md deleted file mode 100644 index 264f45e5..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-narrative.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md b/q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md deleted file mode 100644 index 09da4e5a..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md b/q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md deleted file mode 100644 index e7df33a6..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-quick-prototype.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-retrospective.md b/q1/.augment/commands/bmad/workflows/bmgd-retrospective.md deleted file mode 100644 index 4dd8bae5..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md b/q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md deleted file mode 100644 index cba2b9cd..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md b/q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md deleted file mode 100644 index 457f6f91..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md b/q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md deleted file mode 100644 index e366e16a..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md b/q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md deleted file mode 100644 index 9ea158ae..00000000 --- a/q1/.augment/commands/bmad/workflows/bmgd-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md b/q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md deleted file mode 100644 index 66734354..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-check-implementation-readiness.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-code-review.md b/q1/.augment/commands/bmad/workflows/bmm-code-review.md deleted file mode 100644 index ae4a62fb..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-correct-course.md b/q1/.augment/commands/bmad/workflows/bmm-correct-course.md deleted file mode 100644 index b5f02774..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-architecture.md b/q1/.augment/commands/bmad/workflows/bmm-create-architecture.md deleted file mode 100644 index 0b0f015d..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-architecture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md b/q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md deleted file mode 100644 index db0fe4b7..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-epics-and-stories.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md deleted file mode 100644 index 47578ee0..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create data flow diagrams (DFD) in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md deleted file mode 100644 index 684236aa..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-diagram.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md deleted file mode 100644 index 8e45ee70..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md b/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md deleted file mode 100644 index ea645354..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create website or app wireframes in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-prd.md b/q1/.augment/commands/bmad/workflows/bmm-create-prd.md deleted file mode 100644 index 63050671..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-prd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md b/q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md deleted file mode 100644 index 16f891de..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-product-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-story.md b/q1/.augment/commands/bmad/workflows/bmm-create-story.md deleted file mode 100644 index d2f282c0..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md b/q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md deleted file mode 100644 index 488a7644..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md b/q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md deleted file mode 100644 index 283bbed1..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-create-ux-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-dev-story.md b/q1/.augment/commands/bmad/workflows/bmm-dev-story.md deleted file mode 100644 index 66b569c1..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-document-project.md b/q1/.augment/commands/bmad/workflows/bmm-document-project.md deleted file mode 100644 index d5295d7e..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-document-project.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md b/q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md deleted file mode 100644 index 561d5afd..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-quick-dev.md b/q1/.augment/commands/bmad/workflows/bmm-quick-dev.md deleted file mode 100644 index 77d5a122..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-research.md b/q1/.augment/commands/bmad/workflows/bmm-research.md deleted file mode 100644 index 1ee378f0..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-research.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/bmm-retrospective.md b/q1/.augment/commands/bmad/workflows/bmm-retrospective.md deleted file mode 100644 index 85a04d7c..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md b/q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md deleted file mode 100644 index e8530d26..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-sprint-status.md b/q1/.augment/commands/bmad/workflows/bmm-sprint-status.md deleted file mode 100644 index d4ec9a0b..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md deleted file mode 100644 index 75956725..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-atdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md deleted file mode 100644 index 015922af..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md deleted file mode 100644 index 337dba4e..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-ci.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md deleted file mode 100644 index b2c16a24..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md deleted file mode 100644 index f2438734..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-nfr.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md deleted file mode 100644 index 747263b9..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md deleted file mode 100644 index 07ac2ec1..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality using comprehensive knowledge base and best practices validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md b/q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md deleted file mode 100644 index 26b38b8b..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-testarch-trace.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-workflow-init.md b/q1/.augment/commands/bmad/workflows/bmm-workflow-init.md deleted file mode 100644 index 0de870e5..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMM project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/bmm-workflow-status.md b/q1/.augment/commands/bmad/workflows/bmm-workflow-status.md deleted file mode 100644 index 58eccc1a..00000000 --- a/q1/.augment/commands/bmad/workflows/bmm-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/cis-design-thinking.md b/q1/.augment/commands/bmad/workflows/cis-design-thinking.md deleted file mode 100644 index 402ce806..00000000 --- a/q1/.augment/commands/bmad/workflows/cis-design-thinking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md b/q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md deleted file mode 100644 index 761734be..00000000 --- a/q1/.augment/commands/bmad/workflows/cis-innovation-strategy.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/cis-problem-solving.md b/q1/.augment/commands/bmad/workflows/cis-problem-solving.md deleted file mode 100644 index ec388f5d..00000000 --- a/q1/.augment/commands/bmad/workflows/cis-problem-solving.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/cis-storytelling.md b/q1/.augment/commands/bmad/workflows/cis-storytelling.md deleted file mode 100644 index 32f1e267..00000000 --- a/q1/.augment/commands/bmad/workflows/cis-storytelling.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.augment/commands/bmad/workflows/core-brainstorming.md b/q1/.augment/commands/bmad/workflows/core-brainstorming.md deleted file mode 100644 index be33b790..00000000 --- a/q1/.augment/commands/bmad/workflows/core-brainstorming.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.augment/commands/bmad/workflows/core-party-mode.md b/q1/.augment/commands/bmad/workflows/core-party-mode.md deleted file mode 100644 index 4d790067..00000000 --- a/q1/.augment/commands/bmad/workflows/core-party-mode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md b/q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md deleted file mode 100644 index 2dd96fa3..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-agents-agent-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'agent-builder' -description: 'agent-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md b/q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md deleted file mode 100644 index 2e35abeb..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-agents-module-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'module-builder' -description: 'module-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md b/q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md deleted file mode 100644 index f388a48c..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-agents-workflow-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'workflow-builder' -description: 'workflow-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md b/q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md deleted file mode 100644 index 8524a86c..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-Meal Prep & Nutrition Plan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-README.md b/q1/.clinerules/workflows/bmad-bmb-workflows-README.md deleted file mode 100644 index 2916b252..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-README.md +++ /dev/null @@ -1,52 +0,0 @@ -# BMB Workflows - -## Available Workflows in bmb - -**Meal Prep & Nutrition Plan** - -- Path: `_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md` -- Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits. - -**create-agent** - -- Path: `_bmad/bmb/workflows/create-agent/workflow.md` -- Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure - -**create-module** - -- Path: `_bmad/bmb/workflows/create-module/workflow.md` -- Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure - -**create-workflow** - -- Path: `_bmad/bmb/workflows/create-workflow/workflow.md` -- Create structured standalone workflows using markdown-based step architecture - -**edit-agent** - -- Path: `_bmad/bmb/workflows/edit-agent/workflow.md` -- Edit existing BMAD agents while following all best practices and conventions - -**edit-workflow** - -- Path: `_bmad/bmb/workflows/edit-workflow/workflow.md` -- Intelligent workflow editor that helps modify existing workflows while following best practices - -**workflow-compliance-check** - -- Path: `_bmad/bmb/workflows/workflow-compliance-check/workflow.md` -- Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting - -## Execution - -When running any workflow: - -1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml -2. Pass the workflow path as 'workflow-config' parameter -3. Follow workflow.xml instructions EXACTLY -4. Save outputs after EACH section - -## Modes - -- Normal: Full interaction -- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md b/q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md deleted file mode 100644 index 59662ba5..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-create-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md b/q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md deleted file mode 100644 index ae1a98c1..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-create-module.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md b/q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md deleted file mode 100644 index 3d563a4f..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-create-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create structured standalone workflows using markdown-based step architecture' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md b/q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md deleted file mode 100644 index 0c9a6b30..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-edit-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Edit existing BMAD agents while following all best practices and conventions' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md b/q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md deleted file mode 100644 index afcaa2f4..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-edit-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md b/q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md deleted file mode 100644 index a32d5fe5..00000000 --- a/q1/.clinerules/workflows/bmad-bmb-workflows-workflow-compliance-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md deleted file mode 100644 index 7528a352..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-agents-game-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-architect' -description: 'game-architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md deleted file mode 100644 index bb276b18..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-agents-game-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-designer' -description: 'game-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md deleted file mode 100644 index 00ecac81..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-agents-game-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-dev' -description: 'game-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md deleted file mode 100644 index cbb4434d..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-agents-game-qa.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-qa' -description: 'game-qa agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md deleted file mode 100644 index 7873999e..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-agents-game-scrum-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-scrum-master' -description: 'game-scrum-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md b/q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md deleted file mode 100644 index 24974f20..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-agents-game-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-solo-dev' -description: 'game-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-README.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-README.md deleted file mode 100644 index 95dbea74..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-README.md +++ /dev/null @@ -1,147 +0,0 @@ -# BMGD Workflows - -## Available Workflows in bmgd - -**brainstorm-game** - -- Path: `_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml` -- Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques. - -**create-game-brief** - -- Path: `_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md` -- Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design. - -**game-brief** - -- Path: `_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml` -- Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration - -**create-gdd** - -- Path: `_bmad/bmgd/workflows/2-design/gdd/workflow.md` -- Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user. - -**gdd** - -- Path: `_bmad/bmgd/workflows/2-design/gdd/workflow.yaml` -- Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance. - -**narrative** - -- Path: `_bmad/bmgd/workflows/2-design/narrative/workflow.yaml` -- Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning. - -**game-architecture** - -- Path: `_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml` -- Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development. - -**generate-project-context** - -- Path: `_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md` -- Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency. - -**code-review** - -- Path: `_bmad/bmgd/workflows/4-production/code-review/workflow.yaml` -- Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations. - -**correct-course** - -- Path: `_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml` -- Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation - -**create-story** - -- Path: `_bmad/bmgd/workflows/4-production/create-story/workflow.yaml` -- Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder - -**dev-story** - -- Path: `_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml` -- Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria - -**retrospective** - -- Path: `_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml` -- Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic - -**sprint-planning** - -- Path: `_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml` -- Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle - -**sprint-status** - -- Path: `_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml` -- Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow. - -**create-tech-spec** - -- Path: `_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml` -- Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec. - -**quick-dev** - -- Path: `_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml` -- Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations. - -**quick-prototype** - -- Path: `_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml` -- Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup. - -**gametest-automate** - -- Path: `_bmad/bmgd/workflows/gametest/automate/workflow.yaml` -- Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios - -**gametest-performance** - -- Path: `_bmad/bmgd/workflows/gametest/performance/workflow.yaml` -- Design performance testing strategy for frame rate, memory, and loading times - -**gametest-playtest-plan** - -- Path: `_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml` -- Create structured playtesting sessions for gameplay validation and user feedback - -**gametest-test-design** - -- Path: `_bmad/bmgd/workflows/gametest/test-design/workflow.yaml` -- Create comprehensive game test scenarios covering gameplay, progression, and quality requirements - -**gametest-framework** - -- Path: `_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml` -- Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects - -**gametest-test-review** - -- Path: `_bmad/bmgd/workflows/gametest/test-review/workflow.yaml` -- Review test quality, coverage, and identify gaps in game testing - -**workflow-init** - -- Path: `_bmad/bmgd/workflows/workflow-status/init/workflow.yaml` -- Initialize a new BMGD game project by determining level, type, and creating workflow path - -**workflow-status** - -- Path: `_bmad/bmgd/workflows/workflow-status/workflow.yaml` -- Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects. - -## Execution - -When running any workflow: - -1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml -2. Pass the workflow path as 'workflow-config' parameter -3. Follow workflow.xml instructions EXACTLY -4. Save outputs after EACH section - -## Modes - -- Normal: Full interaction -- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md deleted file mode 100644 index 04220291..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-brainstorm-game.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md deleted file mode 100644 index 7b26134f..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md deleted file mode 100644 index cfcd8eaf..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md deleted file mode 100644 index 3bb52d6d..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-game-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md deleted file mode 100644 index 4dcc804e..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-gdd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md deleted file mode 100644 index ad75462a..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md deleted file mode 100644 index f957ebc9..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md deleted file mode 100644 index a8b771dd..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md deleted file mode 100644 index 36ef3279..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-game-architecture.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md deleted file mode 100644 index e0303ff1..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-game-brief.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md deleted file mode 100644 index dfccaca9..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md deleted file mode 100644 index cd6272ab..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md deleted file mode 100644 index 7255df6c..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-performance.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Design performance testing strategy for frame rate, memory, and loading times' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md deleted file mode 100644 index 988d010c..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-playtest-plan.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create structured playtesting sessions for gameplay validation and user feedback' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md deleted file mode 100644 index 05ac011f..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md deleted file mode 100644 index 23879a38..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-gametest-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality, coverage, and identify gaps in game testing' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md deleted file mode 100644 index 0bf8eabd..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-gdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md deleted file mode 100644 index 6c44337a..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md deleted file mode 100644 index 264f45e5..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-narrative.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md deleted file mode 100644 index 09da4e5a..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md deleted file mode 100644 index e7df33a6..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-quick-prototype.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md deleted file mode 100644 index 4dd8bae5..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md deleted file mode 100644 index cba2b9cd..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md deleted file mode 100644 index 457f6f91..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md deleted file mode 100644 index e366e16a..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md b/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md deleted file mode 100644 index 9ea158ae..00000000 --- a/q1/.clinerules/workflows/bmad-bmgd-workflows-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-analyst.md b/q1/.clinerules/workflows/bmad-bmm-agents-analyst.md deleted file mode 100644 index 7224bfa4..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-analyst.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'analyst' -description: 'analyst agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-architect.md b/q1/.clinerules/workflows/bmad-bmm-agents-architect.md deleted file mode 100644 index 8bf9f3a1..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'architect' -description: 'architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-dev.md b/q1/.clinerules/workflows/bmad-bmm-agents-dev.md deleted file mode 100644 index 171ad6eb..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'dev' -description: 'dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-pm.md b/q1/.clinerules/workflows/bmad-bmm-agents-pm.md deleted file mode 100644 index 347e7d4e..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-pm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'pm' -description: 'pm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md b/q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md deleted file mode 100644 index 7a956561..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-quick-flow-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'quick-flow-solo-dev' -description: 'quick-flow-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-sm.md b/q1/.clinerules/workflows/bmad-bmm-agents-sm.md deleted file mode 100644 index bf7d6710..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-sm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'sm' -description: 'sm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-tea.md b/q1/.clinerules/workflows/bmad-bmm-agents-tea.md deleted file mode 100644 index a91b8888..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-tea.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tea' -description: 'tea agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md b/q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md deleted file mode 100644 index 1926e6eb..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-tech-writer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tech-writer' -description: 'tech-writer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md b/q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md deleted file mode 100644 index 66a16bd9..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-agents-ux-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'ux-designer' -description: 'ux-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-README.md b/q1/.clinerules/workflows/bmad-bmm-workflows-README.md deleted file mode 100644 index be109735..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-README.md +++ /dev/null @@ -1,177 +0,0 @@ -# BMM Workflows - -## Available Workflows in bmm - -**create-product-brief** - -- Path: `_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md` -- Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers. - -**research** - -- Path: `_bmad/bmm/workflows/1-analysis/research/workflow.md` -- Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types. - -**create-ux-design** - -- Path: `_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md` -- Work with a peer UX Design expert to plan your applications UX patterns, look and feel. - -**create-prd** - -- Path: `_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md` -- Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers. - -**check-implementation-readiness** - -- Path: `_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md` -- Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues. - -**create-architecture** - -- Path: `_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md` -- Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts. - -**create-epics-and-stories** - -- Path: `_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md` -- Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams. - -**code-review** - -- Path: `_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml` -- Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. - -**correct-course** - -- Path: `_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml` -- Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation - -**create-story** - -- Path: `_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml` -- Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking - -**dev-story** - -- Path: `_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml` -- Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria - -**retrospective** - -- Path: `_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml` -- Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic - -**sprint-planning** - -- Path: `_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml` -- Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle - -**sprint-status** - -- Path: `_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml` -- Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow. - -**create-tech-spec** - -- Path: `_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml` -- Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec. - -**quick-dev** - -- Path: `_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml` -- Flexible development - execute tech-specs OR direct instructions with optional planning. - -**document-project** - -- Path: `_bmad/bmm/workflows/document-project/workflow.yaml` -- Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development - -**create-excalidraw-dataflow** - -- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml` -- Create data flow diagrams (DFD) in Excalidraw format - -**create-excalidraw-diagram** - -- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml` -- Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format - -**create-excalidraw-flowchart** - -- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml` -- Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows - -**create-excalidraw-wireframe** - -- Path: `_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml` -- Create website or app wireframes in Excalidraw format - -**generate-project-context** - -- Path: `_bmad/bmm/workflows/generate-project-context/workflow.md` -- Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency. - -**testarch-atdd** - -- Path: `_bmad/bmm/workflows/testarch/atdd/workflow.yaml` -- Generate failing acceptance tests before implementation using TDD red-green-refactor cycle - -**testarch-automate** - -- Path: `_bmad/bmm/workflows/testarch/automate/workflow.yaml` -- Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite - -**testarch-ci** - -- Path: `_bmad/bmm/workflows/testarch/ci/workflow.yaml` -- Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection - -**testarch-framework** - -- Path: `_bmad/bmm/workflows/testarch/framework/workflow.yaml` -- Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration - -**testarch-nfr** - -- Path: `_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml` -- Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation - -**testarch-test-design** - -- Path: `_bmad/bmm/workflows/testarch/test-design/workflow.yaml` -- Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase. - -**testarch-test-review** - -- Path: `_bmad/bmm/workflows/testarch/test-review/workflow.yaml` -- Review test quality using comprehensive knowledge base and best practices validation - -**testarch-trace** - -- Path: `_bmad/bmm/workflows/testarch/trace/workflow.yaml` -- Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED) - -**workflow-init** - -- Path: `_bmad/bmm/workflows/workflow-status/init/workflow.yaml` -- Initialize a new BMM project by determining level, type, and creating workflow path - -**workflow-status** - -- Path: `_bmad/bmm/workflows/workflow-status/workflow.yaml` -- Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects. - -## Execution - -When running any workflow: - -1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml -2. Pass the workflow path as 'workflow-config' parameter -3. Follow workflow.xml instructions EXACTLY -4. Save outputs after EACH section - -## Modes - -- Normal: Full interaction -- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md b/q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md deleted file mode 100644 index 66734354..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-check-implementation-readiness.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md b/q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md deleted file mode 100644 index ae4a62fb..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md b/q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md deleted file mode 100644 index b5f02774..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md deleted file mode 100644 index 0b0f015d..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-architecture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md deleted file mode 100644 index db0fe4b7..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-epics-and-stories.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md deleted file mode 100644 index 47578ee0..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-dataflow.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create data flow diagrams (DFD) in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md deleted file mode 100644 index 684236aa..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-diagram.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md deleted file mode 100644 index 8e45ee70..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-flowchart.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md deleted file mode 100644 index ea645354..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-excalidraw-wireframe.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create website or app wireframes in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md deleted file mode 100644 index 63050671..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-prd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md deleted file mode 100644 index 16f891de..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-product-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md deleted file mode 100644 index d2f282c0..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md deleted file mode 100644 index 488a7644..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md b/q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md deleted file mode 100644 index 283bbed1..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-create-ux-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md b/q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md deleted file mode 100644 index 66b569c1..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md b/q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md deleted file mode 100644 index d5295d7e..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-document-project.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md b/q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md deleted file mode 100644 index 561d5afd..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md b/q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md deleted file mode 100644 index 77d5a122..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-research.md b/q1/.clinerules/workflows/bmad-bmm-workflows-research.md deleted file mode 100644 index 1ee378f0..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-research.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md b/q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md deleted file mode 100644 index 85a04d7c..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md b/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md deleted file mode 100644 index e8530d26..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md b/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md deleted file mode 100644 index d4ec9a0b..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md deleted file mode 100644 index 75956725..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-atdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md deleted file mode 100644 index 015922af..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md deleted file mode 100644 index 337dba4e..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-ci.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md deleted file mode 100644 index b2c16a24..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md deleted file mode 100644 index f2438734..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-nfr.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md deleted file mode 100644 index 747263b9..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md deleted file mode 100644 index 07ac2ec1..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality using comprehensive knowledge base and best practices validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md b/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md deleted file mode 100644 index 26b38b8b..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-testarch-trace.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md b/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md deleted file mode 100644 index 0de870e5..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMM project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md b/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md deleted file mode 100644 index 58eccc1a..00000000 --- a/q1/.clinerules/workflows/bmad-bmm-workflows-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md b/q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md deleted file mode 100644 index ee3aeb32..00000000 --- a/q1/.clinerules/workflows/bmad-cis-agents-brainstorming-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'brainstorming-coach' -description: 'brainstorming-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md b/q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md deleted file mode 100644 index 11dbb44e..00000000 --- a/q1/.clinerules/workflows/bmad-cis-agents-creative-problem-solver.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'creative-problem-solver' -description: 'creative-problem-solver agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md b/q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md deleted file mode 100644 index dd616724..00000000 --- a/q1/.clinerules/workflows/bmad-cis-agents-design-thinking-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'design-thinking-coach' -description: 'design-thinking-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md b/q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md deleted file mode 100644 index 9155c727..00000000 --- a/q1/.clinerules/workflows/bmad-cis-agents-innovation-strategist.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'innovation-strategist' -description: 'innovation-strategist agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md b/q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md deleted file mode 100644 index 19340d91..00000000 --- a/q1/.clinerules/workflows/bmad-cis-agents-presentation-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'presentation-master' -description: 'presentation-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md b/q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md deleted file mode 100644 index 06f816fa..00000000 --- a/q1/.clinerules/workflows/bmad-cis-agents-storyteller-storyteller.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'storyteller' -description: 'storyteller agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-README.md b/q1/.clinerules/workflows/bmad-cis-workflows-README.md deleted file mode 100644 index e9d85e64..00000000 --- a/q1/.clinerules/workflows/bmad-cis-workflows-README.md +++ /dev/null @@ -1,37 +0,0 @@ -# CIS Workflows - -## Available Workflows in cis - -**design-thinking** - -- Path: `_bmad/cis/workflows/design-thinking/workflow.yaml` -- Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs. - -**innovation-strategy** - -- Path: `_bmad/cis/workflows/innovation-strategy/workflow.yaml` -- Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities. - -**problem-solving** - -- Path: `_bmad/cis/workflows/problem-solving/workflow.yaml` -- Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks. - -**storytelling** - -- Path: `_bmad/cis/workflows/storytelling/workflow.yaml` -- Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose. - -## Execution - -When running any workflow: - -1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml -2. Pass the workflow path as 'workflow-config' parameter -3. Follow workflow.xml instructions EXACTLY -4. Save outputs after EACH section - -## Modes - -- Normal: Full interaction -- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md b/q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md deleted file mode 100644 index 402ce806..00000000 --- a/q1/.clinerules/workflows/bmad-cis-workflows-design-thinking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md b/q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md deleted file mode 100644 index 761734be..00000000 --- a/q1/.clinerules/workflows/bmad-cis-workflows-innovation-strategy.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md b/q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md deleted file mode 100644 index ec388f5d..00000000 --- a/q1/.clinerules/workflows/bmad-cis-workflows-problem-solving.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md b/q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md deleted file mode 100644 index 32f1e267..00000000 --- a/q1/.clinerules/workflows/bmad-cis-workflows-storytelling.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.clinerules/workflows/bmad-core-agents-bmad-master.md b/q1/.clinerules/workflows/bmad-core-agents-bmad-master.md deleted file mode 100644 index 07d39970..00000000 --- a/q1/.clinerules/workflows/bmad-core-agents-bmad-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'bmad-master' -description: 'bmad-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.clinerules/workflows/bmad-core-workflows-README.md b/q1/.clinerules/workflows/bmad-core-workflows-README.md deleted file mode 100644 index f08f0261..00000000 --- a/q1/.clinerules/workflows/bmad-core-workflows-README.md +++ /dev/null @@ -1,27 +0,0 @@ -# CORE Workflows - -## Available Workflows in core - -**brainstorming** - -- Path: `_bmad/core/workflows/brainstorming/workflow.md` -- Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods - -**party-mode** - -- Path: `_bmad/core/workflows/party-mode/workflow.md` -- Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations - -## Execution - -When running any workflow: - -1. LOAD {project-root}/\_bmad/core/tasks/workflow.xml -2. Pass the workflow path as 'workflow-config' parameter -3. Follow workflow.xml instructions EXACTLY -4. Save outputs after EACH section - -## Modes - -- Normal: Full interaction -- #yolo: Skip optional steps diff --git a/q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md b/q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md deleted file mode 100644 index be33b790..00000000 --- a/q1/.clinerules/workflows/bmad-core-workflows-brainstorming.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.clinerules/workflows/bmad-core-workflows-party-mode.md b/q1/.clinerules/workflows/bmad-core-workflows-party-mode.md deleted file mode 100644 index 4d790067..00000000 --- a/q1/.clinerules/workflows/bmad-core-workflows-party-mode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/agents/agent-builder.md b/q1/.crush/commands/bmad/bmb/agents/agent-builder.md deleted file mode 100644 index 2dd96fa3..00000000 --- a/q1/.crush/commands/bmad/bmb/agents/agent-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'agent-builder' -description: 'agent-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmb/agents/module-builder.md b/q1/.crush/commands/bmad/bmb/agents/module-builder.md deleted file mode 100644 index 2e35abeb..00000000 --- a/q1/.crush/commands/bmad/bmb/agents/module-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'module-builder' -description: 'module-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmb/agents/workflow-builder.md b/q1/.crush/commands/bmad/bmb/agents/workflow-builder.md deleted file mode 100644 index f388a48c..00000000 --- a/q1/.crush/commands/bmad/bmb/agents/workflow-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'workflow-builder' -description: 'workflow-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md b/q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md deleted file mode 100644 index 8524a86c..00000000 --- a/q1/.crush/commands/bmad/bmb/workflows/Meal Prep & Nutrition Plan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/create-agent.md b/q1/.crush/commands/bmad/bmb/workflows/create-agent.md deleted file mode 100644 index 59662ba5..00000000 --- a/q1/.crush/commands/bmad/bmb/workflows/create-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/create-module.md b/q1/.crush/commands/bmad/bmb/workflows/create-module.md deleted file mode 100644 index ae1a98c1..00000000 --- a/q1/.crush/commands/bmad/bmb/workflows/create-module.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/create-workflow.md b/q1/.crush/commands/bmad/bmb/workflows/create-workflow.md deleted file mode 100644 index 3d563a4f..00000000 --- a/q1/.crush/commands/bmad/bmb/workflows/create-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create structured standalone workflows using markdown-based step architecture' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/edit-agent.md b/q1/.crush/commands/bmad/bmb/workflows/edit-agent.md deleted file mode 100644 index 0c9a6b30..00000000 --- a/q1/.crush/commands/bmad/bmb/workflows/edit-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Edit existing BMAD agents while following all best practices and conventions' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md b/q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md deleted file mode 100644 index afcaa2f4..00000000 --- a/q1/.crush/commands/bmad/bmb/workflows/edit-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md b/q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md deleted file mode 100644 index a32d5fe5..00000000 --- a/q1/.crush/commands/bmad/bmb/workflows/workflow-compliance-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-architect.md b/q1/.crush/commands/bmad/bmgd/agents/game-architect.md deleted file mode 100644 index 7528a352..00000000 --- a/q1/.crush/commands/bmad/bmgd/agents/game-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-architect' -description: 'game-architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-designer.md b/q1/.crush/commands/bmad/bmgd/agents/game-designer.md deleted file mode 100644 index bb276b18..00000000 --- a/q1/.crush/commands/bmad/bmgd/agents/game-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-designer' -description: 'game-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-dev.md b/q1/.crush/commands/bmad/bmgd/agents/game-dev.md deleted file mode 100644 index 00ecac81..00000000 --- a/q1/.crush/commands/bmad/bmgd/agents/game-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-dev' -description: 'game-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-qa.md b/q1/.crush/commands/bmad/bmgd/agents/game-qa.md deleted file mode 100644 index cbb4434d..00000000 --- a/q1/.crush/commands/bmad/bmgd/agents/game-qa.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-qa' -description: 'game-qa agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md b/q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md deleted file mode 100644 index 7873999e..00000000 --- a/q1/.crush/commands/bmad/bmgd/agents/game-scrum-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-scrum-master' -description: 'game-scrum-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md b/q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md deleted file mode 100644 index 24974f20..00000000 --- a/q1/.crush/commands/bmad/bmgd/agents/game-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-solo-dev' -description: 'game-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md b/q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md deleted file mode 100644 index 04220291..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/brainstorm-game.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/code-review.md b/q1/.crush/commands/bmad/bmgd/workflows/code-review.md deleted file mode 100644 index 7b26134f..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/correct-course.md b/q1/.crush/commands/bmad/bmgd/workflows/correct-course.md deleted file mode 100644 index cfcd8eaf..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md b/q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md deleted file mode 100644 index 3bb52d6d..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/create-game-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md b/q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md deleted file mode 100644 index 4dcc804e..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/create-gdd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-story.md b/q1/.crush/commands/bmad/bmgd/workflows/create-story.md deleted file mode 100644 index ad75462a..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md b/q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md deleted file mode 100644 index f957ebc9..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/dev-story.md b/q1/.crush/commands/bmad/bmgd/workflows/dev-story.md deleted file mode 100644 index a8b771dd..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md b/q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md deleted file mode 100644 index 36ef3279..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/game-architecture.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/game-brief.md b/q1/.crush/commands/bmad/bmgd/workflows/game-brief.md deleted file mode 100644 index e0303ff1..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/game-brief.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md deleted file mode 100644 index dfccaca9..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/gametest-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md deleted file mode 100644 index cd6272ab..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/gametest-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md deleted file mode 100644 index 7255df6c..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/gametest-performance.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Design performance testing strategy for frame rate, memory, and loading times' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md deleted file mode 100644 index 988d010c..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/gametest-playtest-plan.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create structured playtesting sessions for gameplay validation and user feedback' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md deleted file mode 100644 index 05ac011f..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md b/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md deleted file mode 100644 index 23879a38..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/gametest-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality, coverage, and identify gaps in game testing' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/gdd.md b/q1/.crush/commands/bmad/bmgd/workflows/gdd.md deleted file mode 100644 index 0bf8eabd..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/gdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md b/q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md deleted file mode 100644 index 6c44337a..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmgd/workflows/narrative.md b/q1/.crush/commands/bmad/bmgd/workflows/narrative.md deleted file mode 100644 index 264f45e5..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/narrative.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md b/q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md deleted file mode 100644 index 09da4e5a..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md b/q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md deleted file mode 100644 index e7df33a6..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/quick-prototype.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/retrospective.md b/q1/.crush/commands/bmad/bmgd/workflows/retrospective.md deleted file mode 100644 index 4dd8bae5..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md b/q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md deleted file mode 100644 index cba2b9cd..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md b/q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md deleted file mode 100644 index 457f6f91..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md b/q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md deleted file mode 100644 index e366e16a..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md b/q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md deleted file mode 100644 index 9ea158ae..00000000 --- a/q1/.crush/commands/bmad/bmgd/workflows/workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/agents/analyst.md b/q1/.crush/commands/bmad/bmm/agents/analyst.md deleted file mode 100644 index 7224bfa4..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/analyst.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'analyst' -description: 'analyst agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/architect.md b/q1/.crush/commands/bmad/bmm/agents/architect.md deleted file mode 100644 index 8bf9f3a1..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'architect' -description: 'architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/dev.md b/q1/.crush/commands/bmad/bmm/agents/dev.md deleted file mode 100644 index 171ad6eb..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'dev' -description: 'dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/pm.md b/q1/.crush/commands/bmad/bmm/agents/pm.md deleted file mode 100644 index 347e7d4e..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/pm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'pm' -description: 'pm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md b/q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md deleted file mode 100644 index 7a956561..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/quick-flow-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'quick-flow-solo-dev' -description: 'quick-flow-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/sm.md b/q1/.crush/commands/bmad/bmm/agents/sm.md deleted file mode 100644 index bf7d6710..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/sm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'sm' -description: 'sm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/tea.md b/q1/.crush/commands/bmad/bmm/agents/tea.md deleted file mode 100644 index a91b8888..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/tea.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tea' -description: 'tea agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/tech-writer.md b/q1/.crush/commands/bmad/bmm/agents/tech-writer.md deleted file mode 100644 index 1926e6eb..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/tech-writer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tech-writer' -description: 'tech-writer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/agents/ux-designer.md b/q1/.crush/commands/bmad/bmm/agents/ux-designer.md deleted file mode 100644 index 66a16bd9..00000000 --- a/q1/.crush/commands/bmad/bmm/agents/ux-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'ux-designer' -description: 'ux-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md b/q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md deleted file mode 100644 index 66734354..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/check-implementation-readiness.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/code-review.md b/q1/.crush/commands/bmad/bmm/workflows/code-review.md deleted file mode 100644 index ae4a62fb..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/correct-course.md b/q1/.crush/commands/bmad/bmm/workflows/correct-course.md deleted file mode 100644 index b5f02774..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-architecture.md b/q1/.crush/commands/bmad/bmm/workflows/create-architecture.md deleted file mode 100644 index 0b0f015d..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-architecture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md b/q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md deleted file mode 100644 index db0fe4b7..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-epics-and-stories.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md deleted file mode 100644 index 47578ee0..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-dataflow.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create data flow diagrams (DFD) in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md deleted file mode 100644 index 684236aa..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-diagram.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md deleted file mode 100644 index 8e45ee70..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-flowchart.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md b/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md deleted file mode 100644 index ea645354..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-excalidraw-wireframe.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create website or app wireframes in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-prd.md b/q1/.crush/commands/bmad/bmm/workflows/create-prd.md deleted file mode 100644 index 63050671..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-prd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md b/q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md deleted file mode 100644 index 16f891de..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-product-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-story.md b/q1/.crush/commands/bmad/bmm/workflows/create-story.md deleted file mode 100644 index d2f282c0..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md b/q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md deleted file mode 100644 index 488a7644..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md b/q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md deleted file mode 100644 index 283bbed1..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/create-ux-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/dev-story.md b/q1/.crush/commands/bmad/bmm/workflows/dev-story.md deleted file mode 100644 index 66b569c1..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/document-project.md b/q1/.crush/commands/bmad/bmm/workflows/document-project.md deleted file mode 100644 index d5295d7e..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/document-project.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md b/q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md deleted file mode 100644 index 561d5afd..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/quick-dev.md b/q1/.crush/commands/bmad/bmm/workflows/quick-dev.md deleted file mode 100644 index 77d5a122..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/research.md b/q1/.crush/commands/bmad/bmm/workflows/research.md deleted file mode 100644 index 1ee378f0..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/research.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/bmm/workflows/retrospective.md b/q1/.crush/commands/bmad/bmm/workflows/retrospective.md deleted file mode 100644 index 85a04d7c..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md b/q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md deleted file mode 100644 index e8530d26..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/sprint-status.md b/q1/.crush/commands/bmad/bmm/workflows/sprint-status.md deleted file mode 100644 index d4ec9a0b..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md deleted file mode 100644 index 75956725..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-atdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md deleted file mode 100644 index 015922af..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md deleted file mode 100644 index 337dba4e..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-ci.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md deleted file mode 100644 index b2c16a24..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md deleted file mode 100644 index f2438734..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-nfr.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md deleted file mode 100644 index 747263b9..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md deleted file mode 100644 index 07ac2ec1..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality using comprehensive knowledge base and best practices validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md b/q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md deleted file mode 100644 index 26b38b8b..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/testarch-trace.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/workflow-init.md b/q1/.crush/commands/bmad/bmm/workflows/workflow-init.md deleted file mode 100644 index 0de870e5..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMM project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/bmm/workflows/workflow-status.md b/q1/.crush/commands/bmad/bmm/workflows/workflow-status.md deleted file mode 100644 index 58eccc1a..00000000 --- a/q1/.crush/commands/bmad/bmm/workflows/workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md b/q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md deleted file mode 100644 index ee3aeb32..00000000 --- a/q1/.crush/commands/bmad/cis/agents/brainstorming-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'brainstorming-coach' -description: 'brainstorming-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md b/q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md deleted file mode 100644 index 11dbb44e..00000000 --- a/q1/.crush/commands/bmad/cis/agents/creative-problem-solver.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'creative-problem-solver' -description: 'creative-problem-solver agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md b/q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md deleted file mode 100644 index dd616724..00000000 --- a/q1/.crush/commands/bmad/cis/agents/design-thinking-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'design-thinking-coach' -description: 'design-thinking-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/cis/agents/innovation-strategist.md b/q1/.crush/commands/bmad/cis/agents/innovation-strategist.md deleted file mode 100644 index 9155c727..00000000 --- a/q1/.crush/commands/bmad/cis/agents/innovation-strategist.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'innovation-strategist' -description: 'innovation-strategist agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/cis/agents/presentation-master.md b/q1/.crush/commands/bmad/cis/agents/presentation-master.md deleted file mode 100644 index 19340d91..00000000 --- a/q1/.crush/commands/bmad/cis/agents/presentation-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'presentation-master' -description: 'presentation-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/cis/agents/storyteller.md b/q1/.crush/commands/bmad/cis/agents/storyteller.md deleted file mode 100644 index 06f816fa..00000000 --- a/q1/.crush/commands/bmad/cis/agents/storyteller.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'storyteller' -description: 'storyteller agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/cis/workflows/design-thinking.md b/q1/.crush/commands/bmad/cis/workflows/design-thinking.md deleted file mode 100644 index 402ce806..00000000 --- a/q1/.crush/commands/bmad/cis/workflows/design-thinking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md b/q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md deleted file mode 100644 index 761734be..00000000 --- a/q1/.crush/commands/bmad/cis/workflows/innovation-strategy.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/cis/workflows/problem-solving.md b/q1/.crush/commands/bmad/cis/workflows/problem-solving.md deleted file mode 100644 index ec388f5d..00000000 --- a/q1/.crush/commands/bmad/cis/workflows/problem-solving.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/cis/workflows/storytelling.md b/q1/.crush/commands/bmad/cis/workflows/storytelling.md deleted file mode 100644 index 32f1e267..00000000 --- a/q1/.crush/commands/bmad/cis/workflows/storytelling.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.crush/commands/bmad/core/agents/bmad-master.md b/q1/.crush/commands/bmad/core/agents/bmad-master.md deleted file mode 100644 index 07d39970..00000000 --- a/q1/.crush/commands/bmad/core/agents/bmad-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'bmad-master' -description: 'bmad-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md b/q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md deleted file mode 100644 index 072cc393..00000000 --- a/q1/.crush/commands/bmad/core/tasks/advanced-elicitation.md +++ /dev/null @@ -1,131 +0,0 @@ -# /task-advanced-elicitation Command - -When this command is used, execute the following task: - -## Advanced Elicitation Task - - - -MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER -DO NOT skip steps or change the sequence -HALT immediately when halt-conditions are met -Each action xml tag within step xml tag is a REQUIRED action to complete that step -Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - When called during template workflow processing: - 1. Receive or review the current section content that was just generated or - 2. Apply elicitation methods iteratively to enhance that specific content - 3. Return the enhanced version back when user selects 'x' to proceed and return back - 4. The enhanced content replaces the original section content in the output document - - - - - Load and read {{methods}} and {{agent-party}} - - - category: Method grouping (core, structural, risk, etc.) - method_name: Display name for the method - description: Rich explanation of what the method does, when to use it, and why it's valuable - output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") - - - - Use conversation history - Analyze: content type, complexity, stakeholder needs, risk level, and creative potential - - - - 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential - 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV - 3. Select 5 methods: Choose methods that best match the context based on their descriptions - 4. Balance approach: Include mix of foundational and specialized techniques as appropriate - - - - - - - **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** - Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: - - 1. [Method Name] - 2. [Method Name] - 3. [Method Name] - 4. [Method Name] - 5. [Method Name] - r. Reshuffle the list with 5 new options - a. List all methods with descriptions - x. Proceed / No Further Actions - - - - - Execute the selected method using its description from the CSV - Adapt the method's complexity and output format based on the current context - Apply the method creatively to the current section content being enhanced - Display the enhanced version showing what the method revealed or improved - CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. - CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to - follow the instructions given by the user. - CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations - - - Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format - When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being - potentially the most useful for the document or section being discovered - - - Complete elicitation and proceed - Return the fully enhanced content back to create-doc.md - The enhanced content becomes the final version for that section - Signal completion back to create-doc.md to continue with next section - - - List all methods with their descriptions from the CSV in a compact table - Allow user to select any method by name or number from the full list - After selection, execute the method as described in the n="1-5" case above - - - Apply changes to current section content and re-present choices - - - Execute methods in sequence on the content, then re-offer choices - - - - - - Method execution: Use the description from CSV to understand and apply each method - Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") - Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) - Creative application: Interpret methods flexibly based on context while maintaining pattern consistency - Focus on actionable insights - Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user - indicates otherwise) - Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory - already - Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution - Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session - Each method application builds upon previous enhancements - Content preservation: Track all enhancements made during elicitation - Iterative enhancement: Each selected method (1-5) should: - 1. Apply to the current enhanced version of the content - 2. Show the improvements made - 3. Return to the prompt for additional elicitations or completion - - - - - -## Command Usage - -This command executes the Advanced Elicitation task from the BMAD CORE module. - -## Module - -Part of the BMAD CORE module. diff --git a/q1/.crush/commands/bmad/core/tasks/index-docs.md b/q1/.crush/commands/bmad/core/tasks/index-docs.md deleted file mode 100644 index 76e9fbe7..00000000 --- a/q1/.crush/commands/bmad/core/tasks/index-docs.md +++ /dev/null @@ -1,81 +0,0 @@ -# /task-index-docs Command - -When this command is used, execute the following task: - -## Index Docs Task - - - -MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER -DO NOT skip steps or change the sequence -HALT immediately when halt-conditions are met -Each action xml tag within step xml tag is a REQUIRED action to complete that step -Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - - List all files and subdirectories in the target location - - - - Organize files by type, purpose, or subdirectory - - - - Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the - filename - - - - Write or update index.md with organized file listings - - - - - - - # Directory Index - - ## Files - - - **[filename.ext](./filename.ext)** - Brief description - - **[another-file.ext](./another-file.ext)** - Brief description - - ## Subdirectories - - ### subfolder/ - - - **[file1.ext](./subfolder/file1.ext)** - Brief description - - **[file2.ext](./subfolder/file2.ext)** - Brief description - - ### another-folder/ - - - **[file3.ext](./another-folder/file3.ext)** - Brief description - - - - - - HALT if target directory does not exist or is inaccessible - HALT if user does not have write permissions to create index.md - - - - Use relative paths starting with ./ - Group similar files together - Read file contents to generate accurate descriptions - don't guess from filenames - Keep descriptions concise but informative (3-10 words) - Sort alphabetically within groups - Skip hidden files (starting with .) unless specified - - - -## Command Usage - -This command executes the Index Docs task from the BMAD CORE module. - -## Module - -Part of the BMAD CORE module. diff --git a/q1/.crush/commands/bmad/core/tools/shard-doc.md b/q1/.crush/commands/bmad/core/tools/shard-doc.md deleted file mode 100644 index 8f02be66..00000000 --- a/q1/.crush/commands/bmad/core/tools/shard-doc.md +++ /dev/null @@ -1,124 +0,0 @@ -# /tool-shard-doc Command - -When this command is used, execute the following tool: - -## Shard Document Tool - - -Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool - - - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER - DO NOT skip steps or change the sequence - HALT immediately when halt-conditions are met - Each action xml tag within step xml tag is a REQUIRED action to complete that step - Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index - - - - - Ask user for the source document path if not provided already - Verify file exists and is accessible - Verify file is markdown format (.md extension) - HALT with error message - - - - Determine default destination: same location as source file, folder named after source file without .md extension - Example: /path/to/architecture.md → /path/to/architecture/ - Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) - Use the suggested destination path - Use the custom destination path - Verify destination folder exists or can be created - Check write permissions for destination - HALT with error message - - - - Inform user that sharding is beginning - Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` - Capture command output and any errors - HALT and display error to user - - - - Check that destination folder contains sharded files - Verify index.md was created in destination folder - Count the number of files created - HALT with error message - - - - Display completion report to user including: - - Source document path and name - - Destination folder path - - Number of section files created - - Confirmation that index.md was created - - Any tool output or warnings - Inform user that sharding completed successfully - - - - Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion - Present user with options for the original document: - - What would you like to do with the original document `[source-document-name]`? - - Options: - [d] Delete - Remove the original (recommended - shards can always be recombined) - [m] Move to archive - Move original to a backup/archive location - [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) - - Your choice (d/m/k): - - - Delete the original source document file - Confirm deletion to user: "✓ Original document deleted: [source-document-path]" - The document can be reconstructed from shards by concatenating all section files in order - - - - Determine default archive location: same directory as source, in an "archive" subfolder - Example: /path/to/architecture.md → /path/to/archive/architecture.md - Archive location ([y] to use default: [default-archive-path], or provide custom path): - Use default archive path - Use custom archive path - Create archive directory if it doesn't exist - Move original document to archive location - Confirm move to user: "✓ Original document moved to: [archive-path]" - - - - Display warning to user: - ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. - - This creates confusion because: - - The discover_inputs protocol may load the wrong version - - Updates to one won't reflect in the other - - You'll have duplicate content taking up space - - Consider deleting or archiving the original document. - Confirm user choice: "Original document kept at: [source-document-path]" - - - - - - - HALT if npx command fails or produces no output files - - - -## Command Usage - -This command executes the Shard Document tool from the BMAD CORE module. - -## Module - -Part of the BMAD CORE module. diff --git a/q1/.crush/commands/bmad/core/workflows/brainstorming.md b/q1/.crush/commands/bmad/core/workflows/brainstorming.md deleted file mode 100644 index be33b790..00000000 --- a/q1/.crush/commands/bmad/core/workflows/brainstorming.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.crush/commands/bmad/core/workflows/party-mode.md b/q1/.crush/commands/bmad/core/workflows/party-mode.md deleted file mode 100644 index 4d790067..00000000 --- a/q1/.crush/commands/bmad/core/workflows/party-mode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc b/q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc deleted file mode 100644 index 4508b552..00000000 --- a/q1/.cursor/rules/bmad/bmb/agents/agent-builder.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMB Agent: agent-builder -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc b/q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc deleted file mode 100644 index 48a62ce7..00000000 --- a/q1/.cursor/rules/bmad/bmb/agents/module-builder.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMB Agent: module-builder -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc b/q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc deleted file mode 100644 index c021965f..00000000 --- a/q1/.cursor/rules/bmad/bmb/agents/workflow-builder.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMB Agent: workflow-builder -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc b/q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc deleted file mode 100644 index 24f9d611..00000000 --- a/q1/.cursor/rules/bmad/bmb/workflows/Meal Prep & Nutrition Plan.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMB Agent: Meal Prep & Nutrition Plan -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc b/q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc deleted file mode 100644 index 86455cf7..00000000 --- a/q1/.cursor/rules/bmad/bmb/workflows/create-agent.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMB Agent: create-agent -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc b/q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc deleted file mode 100644 index 452f851c..00000000 --- a/q1/.cursor/rules/bmad/bmb/workflows/create-module.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMB Agent: create-module -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc b/q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc deleted file mode 100644 index 525650dc..00000000 --- a/q1/.cursor/rules/bmad/bmb/workflows/create-workflow.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMB Agent: create-workflow -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc b/q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc deleted file mode 100644 index 3e0e25f3..00000000 --- a/q1/.cursor/rules/bmad/bmb/workflows/edit-agent.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMB Agent: edit-agent -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc b/q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc deleted file mode 100644 index 70bb490e..00000000 --- a/q1/.cursor/rules/bmad/bmb/workflows/edit-workflow.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMB Agent: edit-workflow -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc b/q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc deleted file mode 100644 index 79be829d..00000000 --- a/q1/.cursor/rules/bmad/bmb/workflows/workflow-compliance-check.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMB Agent: workflow-compliance-check -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc deleted file mode 100644 index aeb4e6dc..00000000 --- a/q1/.cursor/rules/bmad/bmgd/agents/game-architect.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-architect -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc deleted file mode 100644 index 0b1e124e..00000000 --- a/q1/.cursor/rules/bmad/bmgd/agents/game-designer.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-designer -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc deleted file mode 100644 index adb76140..00000000 --- a/q1/.cursor/rules/bmad/bmgd/agents/game-dev.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-dev -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc deleted file mode 100644 index d79de702..00000000 --- a/q1/.cursor/rules/bmad/bmgd/agents/game-qa.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-qa -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc deleted file mode 100644 index 7b07f463..00000000 --- a/q1/.cursor/rules/bmad/bmgd/agents/game-scrum-master.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-scrum-master -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc b/q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc deleted file mode 100644 index 91154ad6..00000000 --- a/q1/.cursor/rules/bmad/bmgd/agents/game-solo-dev.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-solo-dev -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc deleted file mode 100644 index b67c4058..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/brainstorm-game.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: brainstorm-game -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc deleted file mode 100644 index 837e99af..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/code-review.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: code-review -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc deleted file mode 100644 index 4d2d8a63..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/correct-course.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: correct-course -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc deleted file mode 100644 index 3648157d..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/create-game-brief.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMGD Agent: create-game-brief -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc deleted file mode 100644 index 4feaaebc..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/create-gdd.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMGD Agent: create-gdd -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc deleted file mode 100644 index 8976b42c..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/create-story.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: create-story -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc deleted file mode 100644 index be684c26..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/create-tech-spec.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: create-tech-spec -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc deleted file mode 100644 index 210c65a3..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/dev-story.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: dev-story -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc deleted file mode 100644 index a5b35d9f..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/game-architecture.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-architecture -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc deleted file mode 100644 index 94e06d4b..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/game-brief.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: game-brief -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc deleted file mode 100644 index e617c796..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-automate.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: gametest-automate -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc deleted file mode 100644 index 77524df2..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-framework.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: gametest-framework -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc deleted file mode 100644 index 2c0647f9..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-performance.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: gametest-performance -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc deleted file mode 100644 index 908b419a..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-playtest-plan.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: gametest-playtest-plan -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc deleted file mode 100644 index c5dbc7e7..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-design.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: gametest-test-design -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc deleted file mode 100644 index e952409c..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/gametest-test-review.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: gametest-test-review -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc deleted file mode 100644 index 593def5d..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/gdd.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: gdd -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc deleted file mode 100644 index a08b6945..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/generate-project-context.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMGD Agent: generate-project-context -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc deleted file mode 100644 index 93528b98..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/narrative.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: narrative -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc deleted file mode 100644 index 05852989..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/quick-dev.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: quick-dev -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc deleted file mode 100644 index 535c8b2a..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/quick-prototype.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: quick-prototype -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc deleted file mode 100644 index be84655e..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/retrospective.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: retrospective -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc deleted file mode 100644 index 0450dfd4..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/sprint-planning.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: sprint-planning -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc deleted file mode 100644 index 4d073301..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/sprint-status.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: sprint-status -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc deleted file mode 100644 index 0d76cbb1..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/workflow-init.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: workflow-init -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc b/q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc deleted file mode 100644 index 95764c64..00000000 --- a/q1/.cursor/rules/bmad/bmgd/workflows/workflow-status.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMGD Agent: workflow-status -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/agents/analyst.mdc b/q1/.cursor/rules/bmad/bmm/agents/analyst.mdc deleted file mode 100644 index dc6d8404..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/analyst.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: analyst -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/architect.mdc b/q1/.cursor/rules/bmad/bmm/agents/architect.mdc deleted file mode 100644 index d2e75b12..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/architect.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: architect -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/dev.mdc b/q1/.cursor/rules/bmad/bmm/agents/dev.mdc deleted file mode 100644 index 7225de99..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/dev.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: dev -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/pm.mdc b/q1/.cursor/rules/bmad/bmm/agents/pm.mdc deleted file mode 100644 index 71dd92ee..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/pm.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: pm -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc b/q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc deleted file mode 100644 index 44406d4b..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/quick-flow-solo-dev.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: quick-flow-solo-dev -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/sm.mdc b/q1/.cursor/rules/bmad/bmm/agents/sm.mdc deleted file mode 100644 index e041237f..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/sm.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: sm -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/tea.mdc b/q1/.cursor/rules/bmad/bmm/agents/tea.mdc deleted file mode 100644 index ad8d8e88..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/tea.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: tea -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc b/q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc deleted file mode 100644 index 58870cad..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/tech-writer.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: tech-writer -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc b/q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc deleted file mode 100644 index 666c13bf..00000000 --- a/q1/.cursor/rules/bmad/bmm/agents/ux-designer.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: ux-designer -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc b/q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc deleted file mode 100644 index 08a239d5..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/check-implementation-readiness.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: check-implementation-readiness -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc b/q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc deleted file mode 100644 index 94f37f9b..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/code-review.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: code-review -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc b/q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc deleted file mode 100644 index c5f2ab84..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/correct-course.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: correct-course -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc deleted file mode 100644 index 03185ece..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-architecture.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: create-architecture -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc deleted file mode 100644 index e70e4f7f..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-epics-and-stories.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: create-epics-and-stories -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc deleted file mode 100644 index b23293df..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-dataflow.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: create-excalidraw-dataflow -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc deleted file mode 100644 index fb0e6f40..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-diagram.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: create-excalidraw-diagram -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc deleted file mode 100644 index 20f6d676..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-flowchart.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: create-excalidraw-flowchart -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc deleted file mode 100644 index da3b67b4..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-excalidraw-wireframe.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: create-excalidraw-wireframe -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc deleted file mode 100644 index 0e53ccb5..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-prd.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: create-prd -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc deleted file mode 100644 index cf6d2be6..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-product-brief.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: create-product-brief -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc deleted file mode 100644 index 68e59fed..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-story.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: create-story -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc deleted file mode 100644 index 7bc4c480..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-tech-spec.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: create-tech-spec -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc b/q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc deleted file mode 100644 index f5ab6679..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/create-ux-design.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: create-ux-design -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc b/q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc deleted file mode 100644 index a2162c81..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/dev-story.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: dev-story -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc b/q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc deleted file mode 100644 index d2b95bc4..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/document-project.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: document-project -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc b/q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc deleted file mode 100644 index 38c36c4b..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/generate-project-context.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: generate-project-context -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc b/q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc deleted file mode 100644 index 032088b7..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/quick-dev.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: quick-dev -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/research.mdc b/q1/.cursor/rules/bmad/bmm/workflows/research.mdc deleted file mode 100644 index 2bd1bd1e..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/research.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD BMM Agent: research -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc b/q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc deleted file mode 100644 index e89aa3a0..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/retrospective.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: retrospective -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc b/q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc deleted file mode 100644 index cde00e13..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/sprint-planning.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: sprint-planning -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc b/q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc deleted file mode 100644 index 79ad83cc..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/sprint-status.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: sprint-status -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc deleted file mode 100644 index c0a094e3..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-atdd.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-atdd -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc deleted file mode 100644 index 97a833b7..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-automate.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-automate -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc deleted file mode 100644 index dd8f121e..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-ci.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-ci -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc deleted file mode 100644 index cb05c50f..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-framework.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-framework -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc deleted file mode 100644 index 0271de8c..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-nfr.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-nfr -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc deleted file mode 100644 index ef5c1d18..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-design.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-test-design -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc deleted file mode 100644 index 004d3346..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-test-review.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-test-review -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc b/q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc deleted file mode 100644 index de4db386..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/testarch-trace.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: testarch-trace -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc b/q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc deleted file mode 100644 index 14eef79b..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/workflow-init.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: workflow-init -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc b/q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc deleted file mode 100644 index 238946ec..00000000 --- a/q1/.cursor/rules/bmad/bmm/workflows/workflow-status.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD BMM Agent: workflow-status -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc b/q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc deleted file mode 100644 index ab15671e..00000000 --- a/q1/.cursor/rules/bmad/cis/agents/brainstorming-coach.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: brainstorming-coach -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc b/q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc deleted file mode 100644 index cc767a87..00000000 --- a/q1/.cursor/rules/bmad/cis/agents/creative-problem-solver.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: creative-problem-solver -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc b/q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc deleted file mode 100644 index ec1de341..00000000 --- a/q1/.cursor/rules/bmad/cis/agents/design-thinking-coach.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: design-thinking-coach -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc b/q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc deleted file mode 100644 index 32aa483b..00000000 --- a/q1/.cursor/rules/bmad/cis/agents/innovation-strategist.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: innovation-strategist -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc b/q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc deleted file mode 100644 index 2fc36de6..00000000 --- a/q1/.cursor/rules/bmad/cis/agents/presentation-master.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: presentation-master -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/cis/agents/storyteller.mdc b/q1/.cursor/rules/bmad/cis/agents/storyteller.mdc deleted file mode 100644 index 4870c572..00000000 --- a/q1/.cursor/rules/bmad/cis/agents/storyteller.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: storyteller -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc b/q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc deleted file mode 100644 index 40477e43..00000000 --- a/q1/.cursor/rules/bmad/cis/workflows/design-thinking.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: design-thinking -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc b/q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc deleted file mode 100644 index d0bcdb5b..00000000 --- a/q1/.cursor/rules/bmad/cis/workflows/innovation-strategy.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: innovation-strategy -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc b/q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc deleted file mode 100644 index 8c2e856a..00000000 --- a/q1/.cursor/rules/bmad/cis/workflows/problem-solving.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: problem-solving -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc b/q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc deleted file mode 100644 index 0746ecfc..00000000 --- a/q1/.cursor/rules/bmad/cis/workflows/storytelling.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CIS Agent: storytelling -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.cursor/rules/bmad/core/agents/bmad-master.mdc b/q1/.cursor/rules/bmad/core/agents/bmad-master.mdc deleted file mode 100644 index 81678e4d..00000000 --- a/q1/.cursor/rules/bmad/core/agents/bmad-master.mdc +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: BMAD CORE Agent: bmad-master -globs: -alwaysApply: false ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc b/q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc deleted file mode 100644 index b145911c..00000000 --- a/q1/.cursor/rules/bmad/core/tasks/advanced-elicitation.mdc +++ /dev/null @@ -1,122 +0,0 @@ ---- -description: BMAD CORE Task: Advanced Elicitation -globs: -alwaysApply: false ---- - - - - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER - DO NOT skip steps or change the sequence - HALT immediately when halt-conditions are met - Each action xml tag within step xml tag is a REQUIRED action to complete that step - Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - When called during template workflow processing: - 1. Receive or review the current section content that was just generated or - 2. Apply elicitation methods iteratively to enhance that specific content - 3. Return the enhanced version back when user selects 'x' to proceed and return back - 4. The enhanced content replaces the original section content in the output document - - - - - Load and read {{methods}} and {{agent-party}} - - - category: Method grouping (core, structural, risk, etc.) - method_name: Display name for the method - description: Rich explanation of what the method does, when to use it, and why it's valuable - output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") - - - - Use conversation history - Analyze: content type, complexity, stakeholder needs, risk level, and creative potential - - - - 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential - 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV - 3. Select 5 methods: Choose methods that best match the context based on their descriptions - 4. Balance approach: Include mix of foundational and specialized techniques as appropriate - - - - - - - **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** - Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: - - 1. [Method Name] - 2. [Method Name] - 3. [Method Name] - 4. [Method Name] - 5. [Method Name] - r. Reshuffle the list with 5 new options - a. List all methods with descriptions - x. Proceed / No Further Actions - - - - - Execute the selected method using its description from the CSV - Adapt the method's complexity and output format based on the current context - Apply the method creatively to the current section content being enhanced - Display the enhanced version showing what the method revealed or improved - CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. - CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to - follow the instructions given by the user. - CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations - - - Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format - When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being - potentially the most useful for the document or section being discovered - - - Complete elicitation and proceed - Return the fully enhanced content back to create-doc.md - The enhanced content becomes the final version for that section - Signal completion back to create-doc.md to continue with next section - - - List all methods with their descriptions from the CSV in a compact table - Allow user to select any method by name or number from the full list - After selection, execute the method as described in the n="1-5" case above - - - Apply changes to current section content and re-present choices - - - Execute methods in sequence on the content, then re-offer choices - - - - - - Method execution: Use the description from CSV to understand and apply each method - Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") - Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) - Creative application: Interpret methods flexibly based on context while maintaining pattern consistency - Focus on actionable insights - Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user - indicates otherwise) - Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory - already - Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution - Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session - Each method application builds upon previous enhancements - Content preservation: Track all enhancements made during elicitation - Iterative enhancement: Each selected method (1-5) should: - 1. Apply to the current enhanced version of the content - 2. Show the improvements made - 3. Return to the prompt for additional elicitations or completion - - - \ No newline at end of file diff --git a/q1/.cursor/rules/bmad/core/tasks/index-docs.mdc b/q1/.cursor/rules/bmad/core/tasks/index-docs.mdc deleted file mode 100644 index 71520c90..00000000 --- a/q1/.cursor/rules/bmad/core/tasks/index-docs.mdc +++ /dev/null @@ -1,71 +0,0 @@ ---- -description: BMAD CORE Task: Index Docs -globs: -alwaysApply: false ---- - - - - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER - DO NOT skip steps or change the sequence - HALT immediately when halt-conditions are met - Each action xml tag within step xml tag is a REQUIRED action to complete that step - Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - - List all files and subdirectories in the target location - - - - Organize files by type, purpose, or subdirectory - - - - Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the - filename - - - - Write or update index.md with organized file listings - - - - - - # Directory Index - - ## Files - - - **[filename.ext](./filename.ext)** - Brief description - - **[another-file.ext](./another-file.ext)** - Brief description - - ## Subdirectories - - ### subfolder/ - - - **[file1.ext](./subfolder/file1.ext)** - Brief description - - **[file2.ext](./subfolder/file2.ext)** - Brief description - - ### another-folder/ - - - **[file3.ext](./another-folder/file3.ext)** - Brief description - - - - - HALT if target directory does not exist or is inaccessible - HALT if user does not have write permissions to create index.md - - - - Use relative paths starting with ./ - Group similar files together - Read file contents to generate accurate descriptions - don't guess from filenames - Keep descriptions concise but informative (3-10 words) - Sort alphabetically within groups - Skip hidden files (starting with .) unless specified - - \ No newline at end of file diff --git a/q1/.cursor/rules/bmad/core/tools/shard-doc.mdc b/q1/.cursor/rules/bmad/core/tools/shard-doc.mdc deleted file mode 100644 index c60fc8f6..00000000 --- a/q1/.cursor/rules/bmad/core/tools/shard-doc.mdc +++ /dev/null @@ -1,115 +0,0 @@ ---- -description: BMAD CORE Tool: Shard Document -globs: -alwaysApply: false ---- - - - Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool - - - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER - DO NOT skip steps or change the sequence - HALT immediately when halt-conditions are met - Each action xml tag within step xml tag is a REQUIRED action to complete that step - Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index - - - - - Ask user for the source document path if not provided already - Verify file exists and is accessible - Verify file is markdown format (.md extension) - HALT with error message - - - - Determine default destination: same location as source file, folder named after source file without .md extension - Example: /path/to/architecture.md → /path/to/architecture/ - Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) - Use the suggested destination path - Use the custom destination path - Verify destination folder exists or can be created - Check write permissions for destination - HALT with error message - - - - Inform user that sharding is beginning - Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` - Capture command output and any errors - HALT and display error to user - - - - Check that destination folder contains sharded files - Verify index.md was created in destination folder - Count the number of files created - HALT with error message - - - - Display completion report to user including: - - Source document path and name - - Destination folder path - - Number of section files created - - Confirmation that index.md was created - - Any tool output or warnings - Inform user that sharding completed successfully - - - - Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion - Present user with options for the original document: - - What would you like to do with the original document `[source-document-name]`? - - Options: - [d] Delete - Remove the original (recommended - shards can always be recombined) - [m] Move to archive - Move original to a backup/archive location - [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) - - Your choice (d/m/k): - - - Delete the original source document file - Confirm deletion to user: "✓ Original document deleted: [source-document-path]" - The document can be reconstructed from shards by concatenating all section files in order - - - - Determine default archive location: same directory as source, in an "archive" subfolder - Example: /path/to/architecture.md → /path/to/archive/architecture.md - Archive location ([y] to use default: [default-archive-path], or provide custom path): - Use default archive path - Use custom archive path - Create archive directory if it doesn't exist - Move original document to archive location - Confirm move to user: "✓ Original document moved to: [archive-path]" - - - - Display warning to user: - ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. - - This creates confusion because: - - The discover_inputs protocol may load the wrong version - - Updates to one won't reflect in the other - - You'll have duplicate content taking up space - - Consider deleting or archiving the original document. - Confirm user choice: "Original document kept at: [source-document-path]" - - - - - - HALT if npx command fails or produces no output files - - \ No newline at end of file diff --git a/q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc b/q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc deleted file mode 100644 index 467ae630..00000000 --- a/q1/.cursor/rules/bmad/core/workflows/brainstorming.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD CORE Agent: brainstorming -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/core/workflows/party-mode.mdc b/q1/.cursor/rules/bmad/core/workflows/party-mode.mdc deleted file mode 100644 index 9edb0906..00000000 --- a/q1/.cursor/rules/bmad/core/workflows/party-mode.mdc +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: BMAD CORE Agent: party-mode -globs: -alwaysApply: false ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.cursor/rules/bmad/index.mdc b/q1/.cursor/rules/bmad/index.mdc deleted file mode 100644 index b2755620..00000000 --- a/q1/.cursor/rules/bmad/index.mdc +++ /dev/null @@ -1,175 +0,0 @@ ---- -description: BMAD Method - Master Index -globs: -alwaysApply: true ---- - -# BMAD Method - Cursor Rules Index - -This is the master index for all BMAD agents, tasks, tools, and workflows available in your project. - -## Installation Complete! - -BMAD rules have been installed to: `.cursor/rules/bmad/` - -**Note:** BMAD does not modify your `.cursorrules` file. You manage that separately. - -## How to Use - -- Reference specific agents: @bmad/{module}/agents/{agent-name} -- Reference specific tasks: @bmad/{module}/tasks/{task-name} -- Reference specific tools: @bmad/{module}/tools/{tool-name} -- Reference specific workflows: @bmad/{module}/workflows/{workflow-name} -- Reference entire modules: @bmad/{module} -- Reference this index: @bmad/index - -## Available Modules - -### CORE - -**Agents:** -- @bmad/core/agents/bmad-master - bmad-master - -**Tasks:** -- @bmad/core/tasks/advanced-elicitation - advanced-elicitation -- @bmad/core/tasks/index-docs - index-docs - -**Tools:** -- @bmad/core/tools/shard-doc - shard-doc - -**Workflows:** -- @bmad/core/workflows/brainstorming - brainstorming -- @bmad/core/workflows/party-mode - party-mode - -### BMB - -**Agents:** -- @bmad/bmb/agents/agent-builder - agent-builder -- @bmad/bmb/agents/module-builder - module-builder -- @bmad/bmb/agents/workflow-builder - workflow-builder - -**Workflows:** -- @bmad/bmb/workflows/Meal Prep & Nutrition Plan - Meal Prep & Nutrition Plan -- @bmad/bmb/workflows/create-agent - create-agent -- @bmad/bmb/workflows/create-module - create-module -- @bmad/bmb/workflows/create-workflow - create-workflow -- @bmad/bmb/workflows/edit-agent - edit-agent -- @bmad/bmb/workflows/edit-workflow - edit-workflow -- @bmad/bmb/workflows/workflow-compliance-check - workflow-compliance-check - -### BMGD - -**Agents:** -- @bmad/bmgd/agents/game-architect - game-architect -- @bmad/bmgd/agents/game-designer - game-designer -- @bmad/bmgd/agents/game-dev - game-dev -- @bmad/bmgd/agents/game-qa - game-qa -- @bmad/bmgd/agents/game-scrum-master - game-scrum-master -- @bmad/bmgd/agents/game-solo-dev - game-solo-dev - -**Workflows:** -- @bmad/bmgd/workflows/brainstorm-game - brainstorm-game -- @bmad/bmgd/workflows/create-game-brief - create-game-brief -- @bmad/bmgd/workflows/game-brief - game-brief -- @bmad/bmgd/workflows/create-gdd - create-gdd -- @bmad/bmgd/workflows/gdd - gdd -- @bmad/bmgd/workflows/narrative - narrative -- @bmad/bmgd/workflows/game-architecture - game-architecture -- @bmad/bmgd/workflows/generate-project-context - generate-project-context -- @bmad/bmgd/workflows/code-review - code-review -- @bmad/bmgd/workflows/correct-course - correct-course -- @bmad/bmgd/workflows/create-story - create-story -- @bmad/bmgd/workflows/dev-story - dev-story -- @bmad/bmgd/workflows/retrospective - retrospective -- @bmad/bmgd/workflows/sprint-planning - sprint-planning -- @bmad/bmgd/workflows/sprint-status - sprint-status -- @bmad/bmgd/workflows/create-tech-spec - create-tech-spec -- @bmad/bmgd/workflows/quick-dev - quick-dev -- @bmad/bmgd/workflows/quick-prototype - quick-prototype -- @bmad/bmgd/workflows/gametest-automate - gametest-automate -- @bmad/bmgd/workflows/gametest-performance - gametest-performance -- @bmad/bmgd/workflows/gametest-playtest-plan - gametest-playtest-plan -- @bmad/bmgd/workflows/gametest-test-design - gametest-test-design -- @bmad/bmgd/workflows/gametest-framework - gametest-framework -- @bmad/bmgd/workflows/gametest-test-review - gametest-test-review -- @bmad/bmgd/workflows/workflow-init - workflow-init -- @bmad/bmgd/workflows/workflow-status - workflow-status - -### BMM - -**Agents:** -- @bmad/bmm/agents/analyst - analyst -- @bmad/bmm/agents/architect - architect -- @bmad/bmm/agents/dev - dev -- @bmad/bmm/agents/pm - pm -- @bmad/bmm/agents/quick-flow-solo-dev - quick-flow-solo-dev -- @bmad/bmm/agents/sm - sm -- @bmad/bmm/agents/tea - tea -- @bmad/bmm/agents/tech-writer - tech-writer -- @bmad/bmm/agents/ux-designer - ux-designer - -**Workflows:** -- @bmad/bmm/workflows/create-product-brief - create-product-brief -- @bmad/bmm/workflows/research - research -- @bmad/bmm/workflows/create-ux-design - create-ux-design -- @bmad/bmm/workflows/create-prd - create-prd -- @bmad/bmm/workflows/check-implementation-readiness - check-implementation-readiness -- @bmad/bmm/workflows/create-architecture - create-architecture -- @bmad/bmm/workflows/create-epics-and-stories - create-epics-and-stories -- @bmad/bmm/workflows/code-review - code-review -- @bmad/bmm/workflows/correct-course - correct-course -- @bmad/bmm/workflows/create-story - create-story -- @bmad/bmm/workflows/dev-story - dev-story -- @bmad/bmm/workflows/retrospective - retrospective -- @bmad/bmm/workflows/sprint-planning - sprint-planning -- @bmad/bmm/workflows/sprint-status - sprint-status -- @bmad/bmm/workflows/create-tech-spec - create-tech-spec -- @bmad/bmm/workflows/quick-dev - quick-dev -- @bmad/bmm/workflows/document-project - document-project -- @bmad/bmm/workflows/create-excalidraw-dataflow - create-excalidraw-dataflow -- @bmad/bmm/workflows/create-excalidraw-diagram - create-excalidraw-diagram -- @bmad/bmm/workflows/create-excalidraw-flowchart - create-excalidraw-flowchart -- @bmad/bmm/workflows/create-excalidraw-wireframe - create-excalidraw-wireframe -- @bmad/bmm/workflows/generate-project-context - generate-project-context -- @bmad/bmm/workflows/testarch-atdd - testarch-atdd -- @bmad/bmm/workflows/testarch-automate - testarch-automate -- @bmad/bmm/workflows/testarch-ci - testarch-ci -- @bmad/bmm/workflows/testarch-framework - testarch-framework -- @bmad/bmm/workflows/testarch-nfr - testarch-nfr -- @bmad/bmm/workflows/testarch-test-design - testarch-test-design -- @bmad/bmm/workflows/testarch-test-review - testarch-test-review -- @bmad/bmm/workflows/testarch-trace - testarch-trace -- @bmad/bmm/workflows/workflow-init - workflow-init -- @bmad/bmm/workflows/workflow-status - workflow-status - -### CIS - -**Agents:** -- @bmad/cis/agents/brainstorming-coach - brainstorming-coach -- @bmad/cis/agents/creative-problem-solver - creative-problem-solver -- @bmad/cis/agents/design-thinking-coach - design-thinking-coach -- @bmad/cis/agents/innovation-strategist - innovation-strategist -- @bmad/cis/agents/presentation-master - presentation-master -- @bmad/cis/agents/storyteller - storyteller - -**Workflows:** -- @bmad/cis/workflows/design-thinking - design-thinking -- @bmad/cis/workflows/innovation-strategy - innovation-strategy -- @bmad/cis/workflows/problem-solving - problem-solving -- @bmad/cis/workflows/storytelling - storytelling - - -## Quick Reference - -- All BMAD rules are Manual type - reference them explicitly when needed -- Agents provide persona-based assistance with specific expertise -- Tasks are reusable workflows for common operations -- Tools provide specialized functionality -- Workflows orchestrate multi-step processes -- Each agent includes an activation block for proper initialization - -## Configuration - -BMAD rules are configured as Manual rules (alwaysApply: false) to give you control -over when they're included in your context. Reference them explicitly when you need -specific agent expertise, task workflows, tools, or guided workflows. diff --git a/q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md b/q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md deleted file mode 100644 index 1c4c17c3..00000000 --- a/q1/.github/agents/bmd-custom-bmb-agent-builder.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Agent Builder agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Agent Builder Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmb-module-builder.agent.md b/q1/.github/agents/bmd-custom-bmb-module-builder.agent.md deleted file mode 100644 index 88b79f94..00000000 --- a/q1/.github/agents/bmd-custom-bmb-module-builder.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Module Builder agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Module Builder Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md b/q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md deleted file mode 100644 index 56344343..00000000 --- a/q1/.github/agents/bmd-custom-bmb-workflow-builder.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Workflow Builder agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Workflow Builder Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md deleted file mode 100644 index 642f8fff..00000000 --- a/q1/.github/agents/bmd-custom-bmgd-game-architect.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Game Architect agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Game Architect Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md deleted file mode 100644 index a07fc274..00000000 --- a/q1/.github/agents/bmd-custom-bmgd-game-designer.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Game Designer agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Game Designer Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md deleted file mode 100644 index dd897497..00000000 --- a/q1/.github/agents/bmd-custom-bmgd-game-dev.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Game Dev agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Game Dev Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md deleted file mode 100644 index 8f0eb162..00000000 --- a/q1/.github/agents/bmd-custom-bmgd-game-qa.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Game Qa agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Game Qa Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md deleted file mode 100644 index 6b40b66b..00000000 --- a/q1/.github/agents/bmd-custom-bmgd-game-scrum-master.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Game Scrum Master agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Game Scrum Master Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md b/q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md deleted file mode 100644 index 2cb41dc0..00000000 --- a/q1/.github/agents/bmd-custom-bmgd-game-solo-dev.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Game Solo Dev agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Game Solo Dev Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-analyst.agent.md b/q1/.github/agents/bmd-custom-bmm-analyst.agent.md deleted file mode 100644 index 506b8d42..00000000 --- a/q1/.github/agents/bmd-custom-bmm-analyst.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Analyst agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Analyst Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-architect.agent.md b/q1/.github/agents/bmd-custom-bmm-architect.agent.md deleted file mode 100644 index f1fb73da..00000000 --- a/q1/.github/agents/bmd-custom-bmm-architect.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Architect agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Architect Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-dev.agent.md b/q1/.github/agents/bmd-custom-bmm-dev.agent.md deleted file mode 100644 index 305ccadc..00000000 --- a/q1/.github/agents/bmd-custom-bmm-dev.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Dev agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Dev Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-pm.agent.md b/q1/.github/agents/bmd-custom-bmm-pm.agent.md deleted file mode 100644 index 2c6c1e9a..00000000 --- a/q1/.github/agents/bmd-custom-bmm-pm.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Pm agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Pm Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md b/q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md deleted file mode 100644 index 7c72b37b..00000000 --- a/q1/.github/agents/bmd-custom-bmm-quick-flow-solo-dev.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Quick Flow Solo Dev agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Quick Flow Solo Dev Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-sm.agent.md b/q1/.github/agents/bmd-custom-bmm-sm.agent.md deleted file mode 100644 index f4b43e8a..00000000 --- a/q1/.github/agents/bmd-custom-bmm-sm.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Sm agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Sm Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-tea.agent.md b/q1/.github/agents/bmd-custom-bmm-tea.agent.md deleted file mode 100644 index f129228f..00000000 --- a/q1/.github/agents/bmd-custom-bmm-tea.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Tea agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Tea Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md b/q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md deleted file mode 100644 index 517e915e..00000000 --- a/q1/.github/agents/bmd-custom-bmm-tech-writer.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Tech Writer agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Tech Writer Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md b/q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md deleted file mode 100644 index 4a032dd9..00000000 --- a/q1/.github/agents/bmd-custom-bmm-ux-designer.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Ux Designer agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Ux Designer Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md b/q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md deleted file mode 100644 index 950789db..00000000 --- a/q1/.github/agents/bmd-custom-cis-brainstorming-coach.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Brainstorming Coach agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Brainstorming Coach Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md b/q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md deleted file mode 100644 index 6a3f2255..00000000 --- a/q1/.github/agents/bmd-custom-cis-creative-problem-solver.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Creative Problem Solver agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Creative Problem Solver Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md b/q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md deleted file mode 100644 index f7defed9..00000000 --- a/q1/.github/agents/bmd-custom-cis-design-thinking-coach.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Design Thinking Coach agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Design Thinking Coach Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md b/q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md deleted file mode 100644 index 5d6ffbbc..00000000 --- a/q1/.github/agents/bmd-custom-cis-innovation-strategist.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Innovation Strategist agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Innovation Strategist Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-cis-presentation-master.agent.md b/q1/.github/agents/bmd-custom-cis-presentation-master.agent.md deleted file mode 100644 index ffa8cd4d..00000000 --- a/q1/.github/agents/bmd-custom-cis-presentation-master.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Presentation Master agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Presentation Master Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-cis-storyteller.agent.md b/q1/.github/agents/bmd-custom-cis-storyteller.agent.md deleted file mode 100644 index 28bfbb74..00000000 --- a/q1/.github/agents/bmd-custom-cis-storyteller.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Storyteller agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Storyteller Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.github/agents/bmd-custom-core-bmad-master.agent.md b/q1/.github/agents/bmd-custom-core-bmad-master.agent.md deleted file mode 100644 index a567adde..00000000 --- a/q1/.github/agents/bmd-custom-core-bmad-master.agent.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: 'Activates the Bmad Master agent persona.' -tools: - [ - 'changes', - 'edit', - 'fetch', - 'githubRepo', - 'problems', - 'runCommands', - 'runTasks', - 'runTests', - 'search', - 'runSubagent', - 'testFailure', - 'todos', - 'usages', - ] ---- - -# Bmad Master Agent - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmb-agent-builder.md b/q1/.iflow/commands/bmad/agents/bmb-agent-builder.md deleted file mode 100644 index 2dd96fa3..00000000 --- a/q1/.iflow/commands/bmad/agents/bmb-agent-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'agent-builder' -description: 'agent-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmb-module-builder.md b/q1/.iflow/commands/bmad/agents/bmb-module-builder.md deleted file mode 100644 index 2e35abeb..00000000 --- a/q1/.iflow/commands/bmad/agents/bmb-module-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'module-builder' -description: 'module-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md b/q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md deleted file mode 100644 index f388a48c..00000000 --- a/q1/.iflow/commands/bmad/agents/bmb-workflow-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'workflow-builder' -description: 'workflow-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-architect.md b/q1/.iflow/commands/bmad/agents/bmgd-game-architect.md deleted file mode 100644 index 7528a352..00000000 --- a/q1/.iflow/commands/bmad/agents/bmgd-game-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-architect' -description: 'game-architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-designer.md b/q1/.iflow/commands/bmad/agents/bmgd-game-designer.md deleted file mode 100644 index bb276b18..00000000 --- a/q1/.iflow/commands/bmad/agents/bmgd-game-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-designer' -description: 'game-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-dev.md b/q1/.iflow/commands/bmad/agents/bmgd-game-dev.md deleted file mode 100644 index 00ecac81..00000000 --- a/q1/.iflow/commands/bmad/agents/bmgd-game-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-dev' -description: 'game-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-qa.md b/q1/.iflow/commands/bmad/agents/bmgd-game-qa.md deleted file mode 100644 index cbb4434d..00000000 --- a/q1/.iflow/commands/bmad/agents/bmgd-game-qa.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-qa' -description: 'game-qa agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md b/q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md deleted file mode 100644 index 7873999e..00000000 --- a/q1/.iflow/commands/bmad/agents/bmgd-game-scrum-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-scrum-master' -description: 'game-scrum-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md b/q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md deleted file mode 100644 index 24974f20..00000000 --- a/q1/.iflow/commands/bmad/agents/bmgd-game-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-solo-dev' -description: 'game-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-analyst.md b/q1/.iflow/commands/bmad/agents/bmm-analyst.md deleted file mode 100644 index 7224bfa4..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-analyst.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'analyst' -description: 'analyst agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-architect.md b/q1/.iflow/commands/bmad/agents/bmm-architect.md deleted file mode 100644 index 8bf9f3a1..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'architect' -description: 'architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-dev.md b/q1/.iflow/commands/bmad/agents/bmm-dev.md deleted file mode 100644 index 171ad6eb..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'dev' -description: 'dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-pm.md b/q1/.iflow/commands/bmad/agents/bmm-pm.md deleted file mode 100644 index 347e7d4e..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-pm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'pm' -description: 'pm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md b/q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md deleted file mode 100644 index 7a956561..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-quick-flow-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'quick-flow-solo-dev' -description: 'quick-flow-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-sm.md b/q1/.iflow/commands/bmad/agents/bmm-sm.md deleted file mode 100644 index bf7d6710..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-sm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'sm' -description: 'sm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-tea.md b/q1/.iflow/commands/bmad/agents/bmm-tea.md deleted file mode 100644 index a91b8888..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-tea.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tea' -description: 'tea agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-tech-writer.md b/q1/.iflow/commands/bmad/agents/bmm-tech-writer.md deleted file mode 100644 index 1926e6eb..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-tech-writer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tech-writer' -description: 'tech-writer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/bmm-ux-designer.md b/q1/.iflow/commands/bmad/agents/bmm-ux-designer.md deleted file mode 100644 index 66a16bd9..00000000 --- a/q1/.iflow/commands/bmad/agents/bmm-ux-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'ux-designer' -description: 'ux-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md b/q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md deleted file mode 100644 index ee3aeb32..00000000 --- a/q1/.iflow/commands/bmad/agents/cis-brainstorming-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'brainstorming-coach' -description: 'brainstorming-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md b/q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md deleted file mode 100644 index 11dbb44e..00000000 --- a/q1/.iflow/commands/bmad/agents/cis-creative-problem-solver.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'creative-problem-solver' -description: 'creative-problem-solver agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md b/q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md deleted file mode 100644 index dd616724..00000000 --- a/q1/.iflow/commands/bmad/agents/cis-design-thinking-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'design-thinking-coach' -description: 'design-thinking-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md b/q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md deleted file mode 100644 index 9155c727..00000000 --- a/q1/.iflow/commands/bmad/agents/cis-innovation-strategist.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'innovation-strategist' -description: 'innovation-strategist agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/cis-presentation-master.md b/q1/.iflow/commands/bmad/agents/cis-presentation-master.md deleted file mode 100644 index 19340d91..00000000 --- a/q1/.iflow/commands/bmad/agents/cis-presentation-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'presentation-master' -description: 'presentation-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/cis-storyteller.md b/q1/.iflow/commands/bmad/agents/cis-storyteller.md deleted file mode 100644 index 06f816fa..00000000 --- a/q1/.iflow/commands/bmad/agents/cis-storyteller.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'storyteller' -description: 'storyteller agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/agents/core-bmad-master.md b/q1/.iflow/commands/bmad/agents/core-bmad-master.md deleted file mode 100644 index 07d39970..00000000 --- a/q1/.iflow/commands/bmad/agents/core-bmad-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'bmad-master' -description: 'bmad-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md b/q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md deleted file mode 100644 index 83868386..00000000 --- a/q1/.iflow/commands/bmad/tasks/core-advanced-elicitation.md +++ /dev/null @@ -1,131 +0,0 @@ -# /task-advanced-elicitation Command - -When this command is used, execute the following task: - -## Advanced Elicitation Task - - - -MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER -DO NOT skip steps or change the sequence -HALT immediately when halt-conditions are met -Each action xml tag within step xml tag is a REQUIRED action to complete that step -Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - When called during template workflow processing: - 1. Receive or review the current section content that was just generated or - 2. Apply elicitation methods iteratively to enhance that specific content - 3. Return the enhanced version back when user selects 'x' to proceed and return back - 4. The enhanced content replaces the original section content in the output document - - - - - Load and read {{methods}} and {{agent-party}} - - - category: Method grouping (core, structural, risk, etc.) - method_name: Display name for the method - description: Rich explanation of what the method does, when to use it, and why it's valuable - output_pattern: Flexible flow guide using → arrows (e.g., "analysis → insights → action") - - - - Use conversation history - Analyze: content type, complexity, stakeholder needs, risk level, and creative potential - - - - 1. Analyze context: Content type, complexity, stakeholder needs, risk level, creative potential - 2. Parse descriptions: Understand each method's purpose from the rich descriptions in CSV - 3. Select 5 methods: Choose methods that best match the context based on their descriptions - 4. Balance approach: Include mix of foundational and specialized techniques as appropriate - - - - - - - **Advanced Elicitation Options (If you launched Party Mode, they will participate randomly)** - Choose a number (1-5), [r] to Reshuffle, [a] List All, or [x] to Proceed: - - 1. [Method Name] - 2. [Method Name] - 3. [Method Name] - 4. [Method Name] - 5. [Method Name] - r. Reshuffle the list with 5 new options - a. List all methods with descriptions - x. Proceed / No Further Actions - - - - - Execute the selected method using its description from the CSV - Adapt the method's complexity and output format based on the current context - Apply the method creatively to the current section content being enhanced - Display the enhanced version showing what the method revealed or improved - CRITICAL: Ask the user if they would like to apply the changes to the doc (y/n/other) and HALT to await response. - CRITICAL: ONLY if Yes, apply the changes. IF No, discard your memory of the proposed changes. If any other reply, try best to - follow the instructions given by the user. - CRITICAL: Re-present the same 1-5,r,x prompt to allow additional elicitations - - - Select 5 random methods from advanced-elicitation-methods.csv, present new list with same prompt format - When selecting, try to think and pick a diverse set of methods covering different categories and approaches, with 1 and 2 being - potentially the most useful for the document or section being discovered - - - Complete elicitation and proceed - Return the fully enhanced content back to create-doc.md - The enhanced content becomes the final version for that section - Signal completion back to create-doc.md to continue with next section - - - List all methods with their descriptions from the CSV in a compact table - Allow user to select any method by name or number from the full list - After selection, execute the method as described in the n="1-5" case above - - - Apply changes to current section content and re-present choices - - - Execute methods in sequence on the content, then re-offer choices - - - - - - Method execution: Use the description from CSV to understand and apply each method - Output pattern: Use the pattern as a flexible guide (e.g., "paths → evaluation → selection") - Dynamic adaptation: Adjust complexity based on content needs (simple to sophisticated) - Creative application: Interpret methods flexibly based on context while maintaining pattern consistency - Focus on actionable insights - Stay relevant: Tie elicitation to specific content being analyzed (the current section from the document being created unless user - indicates otherwise) - Identify personas: For single or multi-persona methods, clearly identify viewpoints, and use party members if available in memory - already - Critical loop behavior: Always re-offer the 1-5,r,a,x choices after each method execution - Continue until user selects 'x' to proceed with enhanced content, confirm or ask the user what should be accepted from the session - Each method application builds upon previous enhancements - Content preservation: Track all enhancements made during elicitation - Iterative enhancement: Each selected method (1-5) should: - 1. Apply to the current enhanced version of the content - 2. Show the improvements made - 3. Return to the prompt for additional elicitations or completion - - - - - -## Usage - -This command executes the Advanced Elicitation task from the BMAD CORE module. - -## Module - -Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/tasks/core-index-docs.md b/q1/.iflow/commands/bmad/tasks/core-index-docs.md deleted file mode 100644 index 55af66e2..00000000 --- a/q1/.iflow/commands/bmad/tasks/core-index-docs.md +++ /dev/null @@ -1,81 +0,0 @@ -# /task-index-docs Command - -When this command is used, execute the following task: - -## Index Docs Task - - - -MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER -DO NOT skip steps or change the sequence -HALT immediately when halt-conditions are met -Each action xml tag within step xml tag is a REQUIRED action to complete that step -Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - - List all files and subdirectories in the target location - - - - Organize files by type, purpose, or subdirectory - - - - Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the - filename - - - - Write or update index.md with organized file listings - - - - - - - # Directory Index - - ## Files - - - **[filename.ext](./filename.ext)** - Brief description - - **[another-file.ext](./another-file.ext)** - Brief description - - ## Subdirectories - - ### subfolder/ - - - **[file1.ext](./subfolder/file1.ext)** - Brief description - - **[file2.ext](./subfolder/file2.ext)** - Brief description - - ### another-folder/ - - - **[file3.ext](./another-folder/file3.ext)** - Brief description - - - - - - HALT if target directory does not exist or is inaccessible - HALT if user does not have write permissions to create index.md - - - - Use relative paths starting with ./ - Group similar files together - Read file contents to generate accurate descriptions - don't guess from filenames - Keep descriptions concise but informative (3-10 words) - Sort alphabetically within groups - Skip hidden files (starting with .) unless specified - - - -## Usage - -This command executes the Index Docs task from the BMAD CORE module. - -## Module - -Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/tasks/core-validate-workflow.md b/q1/.iflow/commands/bmad/tasks/core-validate-workflow.md deleted file mode 100644 index 63b3171f..00000000 --- a/q1/.iflow/commands/bmad/tasks/core-validate-workflow.md +++ /dev/null @@ -1,104 +0,0 @@ -# /task-validate-workflow Command - -When this command is used, execute the following task: - -## Validate Workflow Task - - - Run a checklist against a document with thorough analysis and produce a validation report - - - - - - - - - - If checklist not provided, load checklist.md from workflow location - Try to fuzzy match for files similar to the input document name or if user did not provide the document. If document not - provided or unsure, ask user: "Which document should I validate?" - Load both the checklist and document - - - - For EVERY checklist item, WITHOUT SKIPPING ANY: - - - Read requirement carefully - Search document for evidence along with any ancillary loaded documents or artifacts (quotes with line numbers) - Analyze deeply - look for explicit AND implied coverage - - - ✓ PASS - Requirement fully met (provide evidence) - ⚠ PARTIAL - Some coverage but incomplete (explain gaps) - ✗ FAIL - Not met or severely deficient (explain why) - ➖ N/A - Not applicable (explain reason) - - - - DO NOT SKIP ANY SECTIONS OR ITEMS - - - - Create validation-report-{timestamp}.md in document's folder - - - # Validation Report - - **Document:** {document-path} - **Checklist:** {checklist-path} - **Date:** {timestamp} - - ## Summary - - Overall: X/Y passed (Z%) - - Critical Issues: {count} - - ## Section Results - - ### {Section Name} - Pass Rate: X/Y (Z%) - - {For each item:} - [MARK] {Item description} - Evidence: {Quote with line# or explanation} - {If FAIL/PARTIAL: Impact: {why this matters}} - - ## Failed Items - {All ✗ items with recommendations} - - ## Partial Items - {All ⚠ items with what's missing} - - ## Recommendations - 1. Must Fix: {critical failures} - 2. Should Improve: {important gaps} - 3. Consider: {minor improvements} - - - - - Present section-by-section summary - Highlight all critical issues - Provide path to saved report - HALT - do not continue unless user asks - - - - - - NEVER skip sections - validate EVERYTHING - ALWAYS provide evidence (quotes + line numbers) for marks - Think deeply about each requirement - don't rush - Save report to document's folder automatically - HALT after presenting summary - wait for user - - - -## Usage - -This command executes the Validate Workflow task from the BMAD CORE module. - -## Module - -Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/tasks/core-workflow.md b/q1/.iflow/commands/bmad/tasks/core-workflow.md deleted file mode 100644 index 0c64aaf1..00000000 --- a/q1/.iflow/commands/bmad/tasks/core-workflow.md +++ /dev/null @@ -1,251 +0,0 @@ -# /task-workflow Command - -When this command is used, execute the following task: - -## Workflow Task - - - Execute given workflow by loading its configuration, following instructions, and producing output - - - Always read COMPLETE files - NEVER use offset/limit when reading any workflow related files - Instructions are MANDATORY - either as file path, steps or embedded list in YAML, XML or markdown - Execute ALL steps in instructions IN EXACT ORDER - Save to template output file after EVERY "template-output" tag - NEVER skip a step - YOU are responsible for every steps execution without fail or excuse - - - - Steps execute in exact numerical order (1, 2, 3...) - Optional steps: Ask user unless #yolo mode active - Template-output tags: Save content, discuss with the user the section completed, and NEVER proceed until the users indicates - to proceed (unless YOLO mode has been activated) - - - - - - Read workflow.yaml from provided path - Load config_source (REQUIRED for all modules) - Load external config from config_source path - Resolve all {config_source}: references with values from config - Resolve system variables (date:system-generated) and paths ({project-root}, {installed_path}) - Ask user for input of any variables that are still unknown - - - - Instructions: Read COMPLETE file from path OR embedded list (REQUIRED) - If template path → Read COMPLETE template file - If validation path → Note path for later loading when needed - If template: false → Mark as action-workflow (else template-workflow) - Data files (csv, json) → Store paths only, load on-demand when instructions reference them - - - - Resolve default_output_file path with all variables and {{date}} - Create output directory if doesn't exist - If template-workflow → Write template to output file with placeholders - If action-workflow → Skip file creation - - - - - For each step in instructions: - - - If optional="true" and NOT #yolo → Ask user to include - If if="condition" → Evaluate condition - If for-each="item" → Repeat step for each item - If repeat="n" → Repeat step n times - - - - Process step instructions (markdown or XML tags) - Replace {{variables}} with values (ask user if unknown) - - action xml tag → Perform the action - check if="condition" xml tag → Conditional block wrapping actions (requires closing </check>) - ask xml tag → Prompt user and WAIT for response - invoke-workflow xml tag → Execute another workflow with given inputs and the workflow.xml runner - invoke-task xml tag → Execute specified task - invoke-protocol name="protocol_name" xml tag → Execute reusable protocol from protocols section - goto step="x" → Jump to specified step - - - - - - Generate content for this section - Save to file (Write first time, Edit subsequent) - Display generated content - [a] Advanced Elicitation, [c] Continue, [p] Party-Mode, [y] YOLO the rest of this document only. WAIT for response. - Start the advanced elicitation workflow {project-root}/_bmad/core/tasks/advanced-elicitation.xml - - - Continue to next step - - - Start the party-mode workflow {project-root}/_bmad/core/workflows/party-mode/workflow.yaml - - - Enter #yolo mode for the rest of the workflow - - - - - - - If no special tags and NOT #yolo: - Continue to next step? (y/n/edit) - - - - - Confirm document saved to output path - Report workflow completion - - - - - - Full user interaction and confirmation of EVERY step at EVERY template output - NO EXCEPTIONS except yolo MODE - Skip all confirmations and elicitation, minimize prompts and try to produce all of the workflow automatically by - simulating the remaining discussions with an simulated expert user - - - - - step n="X" goal="..." - Define step with number and goal - optional="true" - Step can be skipped - if="condition" - Conditional execution - for-each="collection" - Iterate over items - repeat="n" - Repeat n times - - - action - Required action to perform - action if="condition" - Single conditional action (inline, no closing tag needed) - check if="condition">...</check> - Conditional block wrapping multiple items (closing tag required) - ask - Get user input (ALWAYS wait for response before continuing) - goto - Jump to another step - invoke-workflow - Call another workflow - invoke-task - Call a task - invoke-protocol - Execute a reusable protocol (e.g., discover_inputs) - - - template-output - Save content checkpoint - critical - Cannot be skipped - example - Show example output - - - - - - Intelligently load project files (whole or sharded) based on workflow's input_file_patterns configuration - - Only execute if workflow.yaml contains input_file_patterns section - - - - Read input_file_patterns from loaded workflow.yaml - For each pattern group (prd, architecture, epics, etc.), note the load_strategy if present - - - - For each pattern in input_file_patterns: - - - - Determine load_strategy from pattern config (defaults to FULL_LOAD if not specified) - - - Load ALL files in sharded directory - used for PRD, Architecture, UX, brownfield docs - Use glob pattern to find ALL .md files (e.g., "{output_folder}/*architecture*/*.md") - Load EVERY matching file completely - Concatenate content in logical order (index.md first if exists, then alphabetical) - Store in variable: {pattern_name_content} - - - - Load specific shard using template variable - example: used for epics with {{epic_num}} - Check for template variables in sharded_single pattern (e.g., {{epic_num}}) - If variable undefined, ask user for value OR infer from context - Resolve template to specific file path - Load that specific file - Store in variable: {pattern_name_content} - - - - Load index.md, analyze structure and description of each doc in the index, then intelligently load relevant docs - DO NOT BE LAZY - use best judgment to load documents that might have relevant information, even if only a 5% chance - Load index.md from sharded directory - Parse table of contents, links, section headers - Analyze workflow's purpose and objective - Identify which linked/referenced documents are likely relevant - If workflow is about authentication and index shows "Auth Overview", "Payment Setup", "Deployment" → Load auth - docs, consider deployment docs, skip payment - Load all identified relevant documents - Store combined content in variable: {pattern_name_content} - When in doubt, LOAD IT - context is valuable, being thorough is better than missing critical info - - Mark pattern as RESOLVED, skip to next pattern - - - - - - Attempt glob match on 'whole' pattern (e.g., "{output_folder}/*prd*.md") - - Load ALL matching files completely (no offset/limit) - Store content in variable: {pattern_name_content} (e.g., {prd_content}) - Mark pattern as RESOLVED, skip to next pattern - - - - - - - Set {pattern_name_content} to empty string - Note in session: "No {pattern_name} files found" (not an error, just unavailable, offer use change to provide) - - - - - - List all loaded content variables with file counts - - ✓ Loaded {prd_content} from 5 sharded files: prd/index.md, prd/requirements.md, ... - ✓ Loaded {architecture_content} from 1 file: Architecture.md - ✓ Loaded {epics_content} from selective load: epics/epic-3.md - ○ No ux_design files found - - This gives workflow transparency into what context is available - - - - - - - - - - • This is the complete workflow execution engine - • You MUST Follow instructions exactly as written - • The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml - • You MUST have already loaded and processed: {installed_path}/workflow.yaml - • This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context - • YOU ARE FACILITATING A CONVERSATION With a user to produce a final document step by step. The whole process is meant to be - collaborative helping the user flesh out their ideas. Do not rush or optimize and skip any section. - - - - -## Usage - -This command executes the Workflow task from the BMAD CORE module. - -## Module - -Part of the BMAD CORE module. diff --git a/q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md b/q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md deleted file mode 100644 index 8524a86c..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmb-Meal Prep & Nutrition Plan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-create-agent.md b/q1/.iflow/commands/bmad/workflows/bmb-create-agent.md deleted file mode 100644 index 59662ba5..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmb-create-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-create-module.md b/q1/.iflow/commands/bmad/workflows/bmb-create-module.md deleted file mode 100644 index ae1a98c1..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmb-create-module.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md b/q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md deleted file mode 100644 index 3d563a4f..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmb-create-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create structured standalone workflows using markdown-based step architecture' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md b/q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md deleted file mode 100644 index 0c9a6b30..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmb-edit-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Edit existing BMAD agents while following all best practices and conventions' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md b/q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md deleted file mode 100644 index afcaa2f4..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmb-edit-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md b/q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md deleted file mode 100644 index a32d5fe5..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmb-workflow-compliance-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md b/q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md deleted file mode 100644 index 04220291..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-brainstorm-game.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-code-review.md b/q1/.iflow/commands/bmad/workflows/bmgd-code-review.md deleted file mode 100644 index 7b26134f..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md b/q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md deleted file mode 100644 index cfcd8eaf..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md deleted file mode 100644 index 3bb52d6d..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-create-game-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md deleted file mode 100644 index 4dcc804e..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-create-gdd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-story.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-story.md deleted file mode 100644 index ad75462a..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md b/q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md deleted file mode 100644 index f957ebc9..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md b/q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md deleted file mode 100644 index a8b771dd..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md b/q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md deleted file mode 100644 index 36ef3279..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-game-architecture.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md b/q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md deleted file mode 100644 index e0303ff1..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-game-brief.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md deleted file mode 100644 index dfccaca9..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md deleted file mode 100644 index cd6272ab..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md deleted file mode 100644 index 7255df6c..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-performance.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Design performance testing strategy for frame rate, memory, and loading times' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md deleted file mode 100644 index 988d010c..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-playtest-plan.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create structured playtesting sessions for gameplay validation and user feedback' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md deleted file mode 100644 index 05ac011f..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md b/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md deleted file mode 100644 index 23879a38..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-gametest-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality, coverage, and identify gaps in game testing' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-gdd.md b/q1/.iflow/commands/bmad/workflows/bmgd-gdd.md deleted file mode 100644 index 0bf8eabd..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-gdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md b/q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md deleted file mode 100644 index 6c44337a..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-narrative.md b/q1/.iflow/commands/bmad/workflows/bmgd-narrative.md deleted file mode 100644 index 264f45e5..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-narrative.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md b/q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md deleted file mode 100644 index 09da4e5a..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md b/q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md deleted file mode 100644 index e7df33a6..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-quick-prototype.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md b/q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md deleted file mode 100644 index 4dd8bae5..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md b/q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md deleted file mode 100644 index cba2b9cd..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md b/q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md deleted file mode 100644 index 457f6f91..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md b/q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md deleted file mode 100644 index e366e16a..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md b/q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md deleted file mode 100644 index 9ea158ae..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmgd-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md b/q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md deleted file mode 100644 index 66734354..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-check-implementation-readiness.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-code-review.md b/q1/.iflow/commands/bmad/workflows/bmm-code-review.md deleted file mode 100644 index ae4a62fb..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-correct-course.md b/q1/.iflow/commands/bmad/workflows/bmm-correct-course.md deleted file mode 100644 index b5f02774..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md b/q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md deleted file mode 100644 index 0b0f015d..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-architecture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md b/q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md deleted file mode 100644 index db0fe4b7..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-epics-and-stories.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md deleted file mode 100644 index 47578ee0..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-dataflow.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create data flow diagrams (DFD) in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md deleted file mode 100644 index 684236aa..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-diagram.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md deleted file mode 100644 index 8e45ee70..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-flowchart.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md b/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md deleted file mode 100644 index ea645354..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-excalidraw-wireframe.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create website or app wireframes in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-prd.md b/q1/.iflow/commands/bmad/workflows/bmm-create-prd.md deleted file mode 100644 index 63050671..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-prd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md b/q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md deleted file mode 100644 index 16f891de..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-product-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-story.md b/q1/.iflow/commands/bmad/workflows/bmm-create-story.md deleted file mode 100644 index d2f282c0..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md b/q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md deleted file mode 100644 index 488a7644..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md b/q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md deleted file mode 100644 index 283bbed1..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-create-ux-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-dev-story.md b/q1/.iflow/commands/bmad/workflows/bmm-dev-story.md deleted file mode 100644 index 66b569c1..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-document-project.md b/q1/.iflow/commands/bmad/workflows/bmm-document-project.md deleted file mode 100644 index d5295d7e..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-document-project.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md b/q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md deleted file mode 100644 index 561d5afd..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md b/q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md deleted file mode 100644 index 77d5a122..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-research.md b/q1/.iflow/commands/bmad/workflows/bmm-research.md deleted file mode 100644 index 1ee378f0..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-research.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/bmm-retrospective.md b/q1/.iflow/commands/bmad/workflows/bmm-retrospective.md deleted file mode 100644 index 85a04d7c..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md b/q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md deleted file mode 100644 index e8530d26..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md b/q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md deleted file mode 100644 index d4ec9a0b..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md deleted file mode 100644 index 75956725..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-atdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md deleted file mode 100644 index 015922af..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md deleted file mode 100644 index 337dba4e..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-ci.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md deleted file mode 100644 index b2c16a24..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md deleted file mode 100644 index f2438734..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-nfr.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md deleted file mode 100644 index 747263b9..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md deleted file mode 100644 index 07ac2ec1..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality using comprehensive knowledge base and best practices validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md b/q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md deleted file mode 100644 index 26b38b8b..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-testarch-trace.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md b/q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md deleted file mode 100644 index 0de870e5..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMM project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md b/q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md deleted file mode 100644 index 58eccc1a..00000000 --- a/q1/.iflow/commands/bmad/workflows/bmm-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/cis-design-thinking.md b/q1/.iflow/commands/bmad/workflows/cis-design-thinking.md deleted file mode 100644 index 402ce806..00000000 --- a/q1/.iflow/commands/bmad/workflows/cis-design-thinking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md b/q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md deleted file mode 100644 index 761734be..00000000 --- a/q1/.iflow/commands/bmad/workflows/cis-innovation-strategy.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/cis-problem-solving.md b/q1/.iflow/commands/bmad/workflows/cis-problem-solving.md deleted file mode 100644 index ec388f5d..00000000 --- a/q1/.iflow/commands/bmad/workflows/cis-problem-solving.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/cis-storytelling.md b/q1/.iflow/commands/bmad/workflows/cis-storytelling.md deleted file mode 100644 index 32f1e267..00000000 --- a/q1/.iflow/commands/bmad/workflows/cis-storytelling.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.iflow/commands/bmad/workflows/core-brainstorming.md b/q1/.iflow/commands/bmad/workflows/core-brainstorming.md deleted file mode 100644 index be33b790..00000000 --- a/q1/.iflow/commands/bmad/workflows/core-brainstorming.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.iflow/commands/bmad/workflows/core-party-mode.md b/q1/.iflow/commands/bmad/workflows/core-party-mode.md deleted file mode 100644 index 4d790067..00000000 --- a/q1/.iflow/commands/bmad/workflows/core-party-mode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.kilocodemodes b/q1/.kilocodemodes deleted file mode 100644 index 66febf26..00000000 --- a/q1/.kilocodemodes +++ /dev/null @@ -1,301 +0,0 @@ -customModes: - - slug: bmad-core-bmad-master - name: '🤖 Bmad Master' - roleDefinition: You are a Bmad Master specializing in bmad master tasks. - whenToUse: Use for Bmad Master tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/core/agents/bmad-master.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmb-agent-builder - name: '🤖 Agent Builder' - roleDefinition: You are a Agent Builder specializing in agent builder tasks. - whenToUse: Use for Agent Builder tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmb/agents/agent-builder.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmb-module-builder - name: '🤖 Module Builder' - roleDefinition: You are a Module Builder specializing in module builder tasks. - whenToUse: Use for Module Builder tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmb/agents/module-builder.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmb-workflow-builder - name: '🤖 Workflow Builder' - roleDefinition: You are a Workflow Builder specializing in workflow builder tasks. - whenToUse: Use for Workflow Builder tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmb/agents/workflow-builder.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmgd-game-architect - name: '🤖 Game Architect' - roleDefinition: You are a Game Architect specializing in game architect tasks. - whenToUse: Use for Game Architect tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmgd/agents/game-architect.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmgd-game-designer - name: '🤖 Game Designer' - roleDefinition: You are a Game Designer specializing in game designer tasks. - whenToUse: Use for Game Designer tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmgd/agents/game-designer.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmgd-game-dev - name: '🤖 Game Dev' - roleDefinition: You are a Game Dev specializing in game dev tasks. - whenToUse: Use for Game Dev tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmgd/agents/game-dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmgd-game-qa - name: '🤖 Game Qa' - roleDefinition: You are a Game Qa specializing in game qa tasks. - whenToUse: Use for Game Qa tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmgd/agents/game-qa.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmgd-game-scrum-master - name: '🤖 Game Scrum Master' - roleDefinition: You are a Game Scrum Master specializing in game scrum master tasks. - whenToUse: Use for Game Scrum Master tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmgd/agents/game-scrum-master.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmgd-game-solo-dev - name: '🤖 Game Solo Dev' - roleDefinition: You are a Game Solo Dev specializing in game solo dev tasks. - whenToUse: Use for Game Solo Dev tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmgd/agents/game-solo-dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-analyst - name: '🤖 Analyst' - roleDefinition: You are a Analyst specializing in analyst tasks. - whenToUse: Use for Analyst tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/analyst.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-architect - name: '🤖 Architect' - roleDefinition: You are a Architect specializing in architect tasks. - whenToUse: Use for Architect tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/architect.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-dev - name: '🤖 Dev' - roleDefinition: You are a Dev specializing in dev tasks. - whenToUse: Use for Dev tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-pm - name: '🤖 Pm' - roleDefinition: You are a Pm specializing in pm tasks. - whenToUse: Use for Pm tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/pm.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-quick-flow-solo-dev - name: '🤖 Quick Flow Solo Dev' - roleDefinition: You are a Quick Flow Solo Dev specializing in quick flow solo dev tasks. - whenToUse: Use for Quick Flow Solo Dev tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/quick-flow-solo-dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-sm - name: '🤖 Sm' - roleDefinition: You are a Sm specializing in sm tasks. - whenToUse: Use for Sm tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/sm.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-tea - name: '🤖 Tea' - roleDefinition: You are a Tea specializing in tea tasks. - whenToUse: Use for Tea tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/tea.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-tech-writer - name: '🤖 Tech Writer' - roleDefinition: You are a Tech Writer specializing in tech writer tasks. - whenToUse: Use for Tech Writer tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/tech-writer.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-bmm-ux-designer - name: '🤖 Ux Designer' - roleDefinition: You are a Ux Designer specializing in ux designer tasks. - whenToUse: Use for Ux Designer tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/bmm/agents/ux-designer.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-cis-brainstorming-coach - name: '🤖 Brainstorming Coach' - roleDefinition: You are a Brainstorming Coach specializing in brainstorming coach tasks. - whenToUse: Use for Brainstorming Coach tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/cis/agents/brainstorming-coach.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-cis-creative-problem-solver - name: '🤖 Creative Problem Solver' - roleDefinition: You are a Creative Problem Solver specializing in creative problem solver tasks. - whenToUse: Use for Creative Problem Solver tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/cis/agents/creative-problem-solver.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-cis-design-thinking-coach - name: '🤖 Design Thinking Coach' - roleDefinition: You are a Design Thinking Coach specializing in design thinking coach tasks. - whenToUse: Use for Design Thinking Coach tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/cis/agents/design-thinking-coach.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-cis-innovation-strategist - name: '🤖 Innovation Strategist' - roleDefinition: You are a Innovation Strategist specializing in innovation strategist tasks. - whenToUse: Use for Innovation Strategist tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/cis/agents/innovation-strategist.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-cis-presentation-master - name: '🤖 Presentation Master' - roleDefinition: You are a Presentation Master specializing in presentation master tasks. - whenToUse: Use for Presentation Master tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/cis/agents/presentation-master.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp - - slug: bmad-cis-storyteller - name: '🤖 Storyteller' - roleDefinition: You are a Storyteller specializing in storyteller tasks. - whenToUse: Use for Storyteller tasks - customInstructions: You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. - Read the full YAML from _bmad/cis/agents/storyteller/storyteller.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode - groups: - - read - - edit - - browser - - command - - mcp diff --git a/q1/.opencode/agent/bmad-agent-bmb-agent-builder.md b/q1/.opencode/agent/bmad-agent-bmb-agent-builder.md deleted file mode 100644 index 2dd96fa3..00000000 --- a/q1/.opencode/agent/bmad-agent-bmb-agent-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'agent-builder' -description: 'agent-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmb-module-builder.md b/q1/.opencode/agent/bmad-agent-bmb-module-builder.md deleted file mode 100644 index 2e35abeb..00000000 --- a/q1/.opencode/agent/bmad-agent-bmb-module-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'module-builder' -description: 'module-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md b/q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md deleted file mode 100644 index f388a48c..00000000 --- a/q1/.opencode/agent/bmad-agent-bmb-workflow-builder.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'workflow-builder' -description: 'workflow-builder agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-architect.md b/q1/.opencode/agent/bmad-agent-bmgd-game-architect.md deleted file mode 100644 index 7528a352..00000000 --- a/q1/.opencode/agent/bmad-agent-bmgd-game-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-architect' -description: 'game-architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-designer.md b/q1/.opencode/agent/bmad-agent-bmgd-game-designer.md deleted file mode 100644 index bb276b18..00000000 --- a/q1/.opencode/agent/bmad-agent-bmgd-game-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-designer' -description: 'game-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-dev.md b/q1/.opencode/agent/bmad-agent-bmgd-game-dev.md deleted file mode 100644 index 00ecac81..00000000 --- a/q1/.opencode/agent/bmad-agent-bmgd-game-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-dev' -description: 'game-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-qa.md b/q1/.opencode/agent/bmad-agent-bmgd-game-qa.md deleted file mode 100644 index cbb4434d..00000000 --- a/q1/.opencode/agent/bmad-agent-bmgd-game-qa.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-qa' -description: 'game-qa agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md b/q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md deleted file mode 100644 index 7873999e..00000000 --- a/q1/.opencode/agent/bmad-agent-bmgd-game-scrum-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-scrum-master' -description: 'game-scrum-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md b/q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md deleted file mode 100644 index 24974f20..00000000 --- a/q1/.opencode/agent/bmad-agent-bmgd-game-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'game-solo-dev' -description: 'game-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-analyst.md b/q1/.opencode/agent/bmad-agent-bmm-analyst.md deleted file mode 100644 index 7224bfa4..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-analyst.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'analyst' -description: 'analyst agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-architect.md b/q1/.opencode/agent/bmad-agent-bmm-architect.md deleted file mode 100644 index 8bf9f3a1..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-architect.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'architect' -description: 'architect agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-dev.md b/q1/.opencode/agent/bmad-agent-bmm-dev.md deleted file mode 100644 index 171ad6eb..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'dev' -description: 'dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-pm.md b/q1/.opencode/agent/bmad-agent-bmm-pm.md deleted file mode 100644 index 347e7d4e..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-pm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'pm' -description: 'pm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md b/q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md deleted file mode 100644 index 7a956561..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-quick-flow-solo-dev.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'quick-flow-solo-dev' -description: 'quick-flow-solo-dev agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-sm.md b/q1/.opencode/agent/bmad-agent-bmm-sm.md deleted file mode 100644 index bf7d6710..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-sm.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'sm' -description: 'sm agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-tea.md b/q1/.opencode/agent/bmad-agent-bmm-tea.md deleted file mode 100644 index a91b8888..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-tea.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tea' -description: 'tea agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-tech-writer.md b/q1/.opencode/agent/bmad-agent-bmm-tech-writer.md deleted file mode 100644 index 1926e6eb..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-tech-writer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'tech-writer' -description: 'tech-writer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-bmm-ux-designer.md b/q1/.opencode/agent/bmad-agent-bmm-ux-designer.md deleted file mode 100644 index 66a16bd9..00000000 --- a/q1/.opencode/agent/bmad-agent-bmm-ux-designer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'ux-designer' -description: 'ux-designer agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md b/q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md deleted file mode 100644 index ee3aeb32..00000000 --- a/q1/.opencode/agent/bmad-agent-cis-brainstorming-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'brainstorming-coach' -description: 'brainstorming-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md b/q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md deleted file mode 100644 index 11dbb44e..00000000 --- a/q1/.opencode/agent/bmad-agent-cis-creative-problem-solver.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'creative-problem-solver' -description: 'creative-problem-solver agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md b/q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md deleted file mode 100644 index dd616724..00000000 --- a/q1/.opencode/agent/bmad-agent-cis-design-thinking-coach.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'design-thinking-coach' -description: 'design-thinking-coach agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md b/q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md deleted file mode 100644 index 9155c727..00000000 --- a/q1/.opencode/agent/bmad-agent-cis-innovation-strategist.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'innovation-strategist' -description: 'innovation-strategist agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-cis-presentation-master.md b/q1/.opencode/agent/bmad-agent-cis-presentation-master.md deleted file mode 100644 index 19340d91..00000000 --- a/q1/.opencode/agent/bmad-agent-cis-presentation-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'presentation-master' -description: 'presentation-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-cis-storyteller.md b/q1/.opencode/agent/bmad-agent-cis-storyteller.md deleted file mode 100644 index 06f816fa..00000000 --- a/q1/.opencode/agent/bmad-agent-cis-storyteller.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'storyteller' -description: 'storyteller agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/agent/bmad-agent-core-bmad-master.md b/q1/.opencode/agent/bmad-agent-core-bmad-master.md deleted file mode 100644 index 07d39970..00000000 --- a/q1/.opencode/agent/bmad-agent-core-bmad-master.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: 'bmad-master' -description: 'bmad-master agent' ---- - -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - diff --git a/q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md b/q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md deleted file mode 100644 index 8524a86c..00000000 --- a/q1/.opencode/command/bmad-bmb-Meal Prep & Nutrition Plan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-create-agent.md b/q1/.opencode/command/bmad-bmb-create-agent.md deleted file mode 100644 index 59662ba5..00000000 --- a/q1/.opencode/command/bmad-bmb-create-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-create-module.md b/q1/.opencode/command/bmad-bmb-create-module.md deleted file mode 100644 index ae1a98c1..00000000 --- a/q1/.opencode/command/bmad-bmb-create-module.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-create-workflow.md b/q1/.opencode/command/bmad-bmb-create-workflow.md deleted file mode 100644 index 3d563a4f..00000000 --- a/q1/.opencode/command/bmad-bmb-create-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create structured standalone workflows using markdown-based step architecture' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-edit-agent.md b/q1/.opencode/command/bmad-bmb-edit-agent.md deleted file mode 100644 index 0c9a6b30..00000000 --- a/q1/.opencode/command/bmad-bmb-edit-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Edit existing BMAD agents while following all best practices and conventions' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-edit-workflow.md b/q1/.opencode/command/bmad-bmb-edit-workflow.md deleted file mode 100644 index afcaa2f4..00000000 --- a/q1/.opencode/command/bmad-bmb-edit-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmb-workflow-compliance-check.md b/q1/.opencode/command/bmad-bmb-workflow-compliance-check.md deleted file mode 100644 index a32d5fe5..00000000 --- a/q1/.opencode/command/bmad-bmb-workflow-compliance-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-brainstorm-game.md b/q1/.opencode/command/bmad-bmgd-brainstorm-game.md deleted file mode 100644 index 04220291..00000000 --- a/q1/.opencode/command/bmad-bmgd-brainstorm-game.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-code-review.md b/q1/.opencode/command/bmad-bmgd-code-review.md deleted file mode 100644 index 7b26134f..00000000 --- a/q1/.opencode/command/bmad-bmgd-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-correct-course.md b/q1/.opencode/command/bmad-bmgd-correct-course.md deleted file mode 100644 index cfcd8eaf..00000000 --- a/q1/.opencode/command/bmad-bmgd-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-create-game-brief.md b/q1/.opencode/command/bmad-bmgd-create-game-brief.md deleted file mode 100644 index 3bb52d6d..00000000 --- a/q1/.opencode/command/bmad-bmgd-create-game-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-create-gdd.md b/q1/.opencode/command/bmad-bmgd-create-gdd.md deleted file mode 100644 index 4dcc804e..00000000 --- a/q1/.opencode/command/bmad-bmgd-create-gdd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-create-story.md b/q1/.opencode/command/bmad-bmgd-create-story.md deleted file mode 100644 index ad75462a..00000000 --- a/q1/.opencode/command/bmad-bmgd-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-create-tech-spec.md b/q1/.opencode/command/bmad-bmgd-create-tech-spec.md deleted file mode 100644 index f957ebc9..00000000 --- a/q1/.opencode/command/bmad-bmgd-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-dev-story.md b/q1/.opencode/command/bmad-bmgd-dev-story.md deleted file mode 100644 index a8b771dd..00000000 --- a/q1/.opencode/command/bmad-bmgd-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-game-architecture.md b/q1/.opencode/command/bmad-bmgd-game-architecture.md deleted file mode 100644 index 36ef3279..00000000 --- a/q1/.opencode/command/bmad-bmgd-game-architecture.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-game-brief.md b/q1/.opencode/command/bmad-bmgd-game-brief.md deleted file mode 100644 index e0303ff1..00000000 --- a/q1/.opencode/command/bmad-bmgd-game-brief.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-gametest-automate.md b/q1/.opencode/command/bmad-bmgd-gametest-automate.md deleted file mode 100644 index dfccaca9..00000000 --- a/q1/.opencode/command/bmad-bmgd-gametest-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-gametest-framework.md b/q1/.opencode/command/bmad-bmgd-gametest-framework.md deleted file mode 100644 index cd6272ab..00000000 --- a/q1/.opencode/command/bmad-bmgd-gametest-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-gametest-performance.md b/q1/.opencode/command/bmad-bmgd-gametest-performance.md deleted file mode 100644 index 7255df6c..00000000 --- a/q1/.opencode/command/bmad-bmgd-gametest-performance.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Design performance testing strategy for frame rate, memory, and loading times' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md b/q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md deleted file mode 100644 index 988d010c..00000000 --- a/q1/.opencode/command/bmad-bmgd-gametest-playtest-plan.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create structured playtesting sessions for gameplay validation and user feedback' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-gametest-test-design.md b/q1/.opencode/command/bmad-bmgd-gametest-test-design.md deleted file mode 100644 index 05ac011f..00000000 --- a/q1/.opencode/command/bmad-bmgd-gametest-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-gametest-test-review.md b/q1/.opencode/command/bmad-bmgd-gametest-test-review.md deleted file mode 100644 index 23879a38..00000000 --- a/q1/.opencode/command/bmad-bmgd-gametest-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality, coverage, and identify gaps in game testing' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-gdd.md b/q1/.opencode/command/bmad-bmgd-gdd.md deleted file mode 100644 index 0bf8eabd..00000000 --- a/q1/.opencode/command/bmad-bmgd-gdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-generate-project-context.md b/q1/.opencode/command/bmad-bmgd-generate-project-context.md deleted file mode 100644 index 6c44337a..00000000 --- a/q1/.opencode/command/bmad-bmgd-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing game code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmgd-narrative.md b/q1/.opencode/command/bmad-bmgd-narrative.md deleted file mode 100644 index 264f45e5..00000000 --- a/q1/.opencode/command/bmad-bmgd-narrative.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-quick-dev.md b/q1/.opencode/command/bmad-bmgd-quick-dev.md deleted file mode 100644 index 09da4e5a..00000000 --- a/q1/.opencode/command/bmad-bmgd-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-quick-prototype.md b/q1/.opencode/command/bmad-bmgd-quick-prototype.md deleted file mode 100644 index e7df33a6..00000000 --- a/q1/.opencode/command/bmad-bmgd-quick-prototype.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-retrospective.md b/q1/.opencode/command/bmad-bmgd-retrospective.md deleted file mode 100644 index 4dd8bae5..00000000 --- a/q1/.opencode/command/bmad-bmgd-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-sprint-planning.md b/q1/.opencode/command/bmad-bmgd-sprint-planning.md deleted file mode 100644 index cba2b9cd..00000000 --- a/q1/.opencode/command/bmad-bmgd-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-sprint-status.md b/q1/.opencode/command/bmad-bmgd-sprint-status.md deleted file mode 100644 index 457f6f91..00000000 --- a/q1/.opencode/command/bmad-bmgd-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-workflow-init.md b/q1/.opencode/command/bmad-bmgd-workflow-init.md deleted file mode 100644 index e366e16a..00000000 --- a/q1/.opencode/command/bmad-bmgd-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMGD game project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmgd-workflow-status.md b/q1/.opencode/command/bmad-bmgd-workflow-status.md deleted file mode 100644 index 9ea158ae..00000000 --- a/q1/.opencode/command/bmad-bmgd-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-check-implementation-readiness.md b/q1/.opencode/command/bmad-bmm-check-implementation-readiness.md deleted file mode 100644 index 66734354..00000000 --- a/q1/.opencode/command/bmad-bmm-check-implementation-readiness.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-code-review.md b/q1/.opencode/command/bmad-bmm-code-review.md deleted file mode 100644 index ae4a62fb..00000000 --- a/q1/.opencode/command/bmad-bmm-code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-correct-course.md b/q1/.opencode/command/bmad-bmm-correct-course.md deleted file mode 100644 index b5f02774..00000000 --- a/q1/.opencode/command/bmad-bmm-correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-create-architecture.md b/q1/.opencode/command/bmad-bmm-create-architecture.md deleted file mode 100644 index 0b0f015d..00000000 --- a/q1/.opencode/command/bmad-bmm-create-architecture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-epics-and-stories.md b/q1/.opencode/command/bmad-bmm-create-epics-and-stories.md deleted file mode 100644 index db0fe4b7..00000000 --- a/q1/.opencode/command/bmad-bmm-create-epics-and-stories.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md deleted file mode 100644 index 47578ee0..00000000 --- a/q1/.opencode/command/bmad-bmm-create-excalidraw-dataflow.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create data flow diagrams (DFD) in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md deleted file mode 100644 index 684236aa..00000000 --- a/q1/.opencode/command/bmad-bmm-create-excalidraw-diagram.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md deleted file mode 100644 index 8e45ee70..00000000 --- a/q1/.opencode/command/bmad-bmm-create-excalidraw-flowchart.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md b/q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md deleted file mode 100644 index ea645354..00000000 --- a/q1/.opencode/command/bmad-bmm-create-excalidraw-wireframe.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create website or app wireframes in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-create-prd.md b/q1/.opencode/command/bmad-bmm-create-prd.md deleted file mode 100644 index 63050671..00000000 --- a/q1/.opencode/command/bmad-bmm-create-prd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-product-brief.md b/q1/.opencode/command/bmad-bmm-create-product-brief.md deleted file mode 100644 index 16f891de..00000000 --- a/q1/.opencode/command/bmad-bmm-create-product-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-create-story.md b/q1/.opencode/command/bmad-bmm-create-story.md deleted file mode 100644 index d2f282c0..00000000 --- a/q1/.opencode/command/bmad-bmm-create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-create-tech-spec.md b/q1/.opencode/command/bmad-bmm-create-tech-spec.md deleted file mode 100644 index 488a7644..00000000 --- a/q1/.opencode/command/bmad-bmm-create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-create-ux-design.md b/q1/.opencode/command/bmad-bmm-create-ux-design.md deleted file mode 100644 index 283bbed1..00000000 --- a/q1/.opencode/command/bmad-bmm-create-ux-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-dev-story.md b/q1/.opencode/command/bmad-bmm-dev-story.md deleted file mode 100644 index 66b569c1..00000000 --- a/q1/.opencode/command/bmad-bmm-dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-document-project.md b/q1/.opencode/command/bmad-bmm-document-project.md deleted file mode 100644 index d5295d7e..00000000 --- a/q1/.opencode/command/bmad-bmm-document-project.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-generate-project-context.md b/q1/.opencode/command/bmad-bmm-generate-project-context.md deleted file mode 100644 index 561d5afd..00000000 --- a/q1/.opencode/command/bmad-bmm-generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-quick-dev.md b/q1/.opencode/command/bmad-bmm-quick-dev.md deleted file mode 100644 index 77d5a122..00000000 --- a/q1/.opencode/command/bmad-bmm-quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-research.md b/q1/.opencode/command/bmad-bmm-research.md deleted file mode 100644 index 1ee378f0..00000000 --- a/q1/.opencode/command/bmad-bmm-research.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-bmm-retrospective.md b/q1/.opencode/command/bmad-bmm-retrospective.md deleted file mode 100644 index 85a04d7c..00000000 --- a/q1/.opencode/command/bmad-bmm-retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-sprint-planning.md b/q1/.opencode/command/bmad-bmm-sprint-planning.md deleted file mode 100644 index e8530d26..00000000 --- a/q1/.opencode/command/bmad-bmm-sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-sprint-status.md b/q1/.opencode/command/bmad-bmm-sprint-status.md deleted file mode 100644 index d4ec9a0b..00000000 --- a/q1/.opencode/command/bmad-bmm-sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-atdd.md b/q1/.opencode/command/bmad-bmm-testarch-atdd.md deleted file mode 100644 index 75956725..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-atdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-automate.md b/q1/.opencode/command/bmad-bmm-testarch-automate.md deleted file mode 100644 index 015922af..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-ci.md b/q1/.opencode/command/bmad-bmm-testarch-ci.md deleted file mode 100644 index 337dba4e..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-ci.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-framework.md b/q1/.opencode/command/bmad-bmm-testarch-framework.md deleted file mode 100644 index b2c16a24..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-nfr.md b/q1/.opencode/command/bmad-bmm-testarch-nfr.md deleted file mode 100644 index f2438734..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-nfr.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-test-design.md b/q1/.opencode/command/bmad-bmm-testarch-test-design.md deleted file mode 100644 index 747263b9..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-test-review.md b/q1/.opencode/command/bmad-bmm-testarch-test-review.md deleted file mode 100644 index 07ac2ec1..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality using comprehensive knowledge base and best practices validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-testarch-trace.md b/q1/.opencode/command/bmad-bmm-testarch-trace.md deleted file mode 100644 index 26b38b8b..00000000 --- a/q1/.opencode/command/bmad-bmm-testarch-trace.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-workflow-init.md b/q1/.opencode/command/bmad-bmm-workflow-init.md deleted file mode 100644 index 0de870e5..00000000 --- a/q1/.opencode/command/bmad-bmm-workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMM project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-bmm-workflow-status.md b/q1/.opencode/command/bmad-bmm-workflow-status.md deleted file mode 100644 index 58eccc1a..00000000 --- a/q1/.opencode/command/bmad-bmm-workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-cis-design-thinking.md b/q1/.opencode/command/bmad-cis-design-thinking.md deleted file mode 100644 index 402ce806..00000000 --- a/q1/.opencode/command/bmad-cis-design-thinking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-cis-innovation-strategy.md b/q1/.opencode/command/bmad-cis-innovation-strategy.md deleted file mode 100644 index 761734be..00000000 --- a/q1/.opencode/command/bmad-cis-innovation-strategy.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-cis-problem-solving.md b/q1/.opencode/command/bmad-cis-problem-solving.md deleted file mode 100644 index ec388f5d..00000000 --- a/q1/.opencode/command/bmad-cis-problem-solving.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-cis-storytelling.md b/q1/.opencode/command/bmad-cis-storytelling.md deleted file mode 100644 index 32f1e267..00000000 --- a/q1/.opencode/command/bmad-cis-storytelling.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.opencode/command/bmad-core-brainstorming.md b/q1/.opencode/command/bmad-core-brainstorming.md deleted file mode 100644 index be33b790..00000000 --- a/q1/.opencode/command/bmad-core-brainstorming.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-core-party-mode.md b/q1/.opencode/command/bmad-core-party-mode.md deleted file mode 100644 index 4d790067..00000000 --- a/q1/.opencode/command/bmad-core-party-mode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.opencode/command/bmad-task-core-advanced-elicitation.md b/q1/.opencode/command/bmad-task-core-advanced-elicitation.md deleted file mode 100644 index c7886fc2..00000000 --- a/q1/.opencode/command/bmad-task-core-advanced-elicitation.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: 'When called from workflow' ---- - -# Advanced Elicitation - -LOAD and execute the task at: \_bmad/core/tasks/advanced-elicitation.xml - -Follow all instructions in the task file exactly as written. diff --git a/q1/.opencode/command/bmad-task-core-index-docs.md b/q1/.opencode/command/bmad-task-core-index-docs.md deleted file mode 100644 index 7fb38143..00000000 --- a/q1/.opencode/command/bmad-task-core-index-docs.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: 'Generates or updates an index.md of all documents in the specified directory' ---- - -# Index Docs - -LOAD and execute the task at: \_bmad/core/tasks/index-docs.xml - -Follow all instructions in the task file exactly as written. diff --git a/q1/.opencode/command/bmad-tool-core-shard-doc.md b/q1/.opencode/command/bmad-tool-core-shard-doc.md deleted file mode 100644 index 12aa20f5..00000000 --- a/q1/.opencode/command/bmad-tool-core-shard-doc.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections' ---- - -# Shard Document - -LOAD and execute the tool at: \_bmad/core/tools/shard-doc.xml - -Follow all instructions in the tool file exactly as written. diff --git a/q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml b/q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml deleted file mode 100644 index 049dff89..00000000 --- a/q1/.qwen/commands/bmad/bmb/agents/agent-builder.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMB Agent: agent-builder" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/agent-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmb/agents/module-builder.toml b/q1/.qwen/commands/bmad/bmb/agents/module-builder.toml deleted file mode 100644 index 53379b77..00000000 --- a/q1/.qwen/commands/bmad/bmb/agents/module-builder.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMB Agent: module-builder" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/module-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml b/q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml deleted file mode 100644 index bc49cfcb..00000000 --- a/q1/.qwen/commands/bmad/bmb/agents/workflow-builder.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMB Agent: workflow-builder" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmb/agents/workflow-builder.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml deleted file mode 100644 index d1c63037..00000000 --- a/q1/.qwen/commands/bmad/bmgd/agents/game-architect.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMGD Agent: game-architect" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml deleted file mode 100644 index c36e1402..00000000 --- a/q1/.qwen/commands/bmad/bmgd/agents/game-designer.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMGD Agent: game-designer" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml deleted file mode 100644 index b518df1b..00000000 --- a/q1/.qwen/commands/bmad/bmgd/agents/game-dev.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMGD Agent: game-dev" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml deleted file mode 100644 index 2448ec91..00000000 --- a/q1/.qwen/commands/bmad/bmgd/agents/game-qa.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMGD Agent: game-qa" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-qa.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml deleted file mode 100644 index 33c8e8ce..00000000 --- a/q1/.qwen/commands/bmad/bmgd/agents/game-scrum-master.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMGD Agent: game-scrum-master" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-scrum-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml b/q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml deleted file mode 100644 index fe2b2ec1..00000000 --- a/q1/.qwen/commands/bmad/bmgd/agents/game-solo-dev.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMGD Agent: game-solo-dev" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmgd/agents/game-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml b/q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml deleted file mode 100644 index 2036630c..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/brainstorm-game.toml +++ /dev/null @@ -1,46 +0,0 @@ -description = "BMAD BMGD Workflow: brainstorm-game" -prompt = """ -# Brainstorm Game Workflow Configuration -name: "brainstorm-game" -description: "Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques." -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -game_dev_experience: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components - Step-file architecture -installed_path: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game" -instructions: "{installed_path}/workflow.md" -template: false - -# Context and techniques for game brainstorming -game_context: "{installed_path}/game-context.md" -game_brain_methods: "{installed_path}/game-brain-methods.csv" - -# CORE brainstorming workflow reference (for technique merging) -core_brainstorming: "{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml" - -# Output configuration -default_output_file: "{output_folder}/brainstorming-session-{date}.md" - -# Workflow metadata -version: "2.0.0" -paradigm: "step-file-architecture" -features: - - "Step-file architecture for modular execution" - - "Game-specific brainstorming techniques" - - "MDA Framework exploration" - - "Core loop brainstorming" - - "Player fantasy mining" - - "Genre mashup ideation" - - "State tracking via frontmatter" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml b/q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml deleted file mode 100644 index d9727588..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/code-review.toml +++ /dev/null @@ -1,66 +0,0 @@ -description = "BMAD BMGD Workflow: code-review" -prompt = """ -# Review Story Workflow - Game Development -name: code-review -description: "Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval. Game-specific focus on 60fps, feel, and platform considerations." -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/code-review" -instructions: "{installed_path}/instructions.xml" -validation: "{installed_path}/checklist.md" -template: false - -variables: - # Project context - project_context: "**/project-context.md" - story_dir: "{sprint_artifacts}" - -# Smart input file references - game-specific patterns -# Priority: Whole document first, then sharded version -# Strategy: SELECTIVE LOAD - only load the specific epic needed for this story review -input_file_patterns: - gdd: - description: "Game Design Document" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" - load_strategy: "FULL_LOAD" - narrative: - description: "Narrative Design Document (if story-driven)" - whole: "{output_folder}/*narrative*.md" - sharded: "{output_folder}/*narrative*/*.md" - load_strategy: "FULL_LOAD" - architecture: - description: "Game architecture and technical decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - ux_design: - description: "UX design specification (if UI)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "All epics with user stories" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" - load_strategy: "SELECTIVE_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml b/q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml deleted file mode 100644 index 34353d5c..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/correct-course.toml +++ /dev/null @@ -1,65 +0,0 @@ -description = "BMAD BMGD Workflow: correct-course" -prompt = """ -# Correct Course - Sprint Change Management Workflow -name: "correct-course" -description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation" -author: "BMad Method" - -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: Load project context for impact analysis -input_file_patterns: - gdd: - description: "Game Design Document" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" - load_strategy: "FULL_LOAD" - narrative: - description: "Narrative Design Document (if story-driven)" - whole: "{output_folder}/*narrative*.md" - sharded: "{output_folder}/*narrative*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "All epics with user stories" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/*.md" - load_strategy: "FULL_LOAD" - architecture: - description: "Game architecture and technical decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - ux_design: - description: "UX design specification (if UI)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" - load_strategy: "FULL_LOAD" - tech_spec: - description: "Technical specification" - whole: "{output_folder}/tech-spec*.md" - load_strategy: "FULL_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" - -installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course" -template: false -instructions: "{installed_path}/instructions.md" -validation: "{installed_path}/checklist.md" -checklist: "{installed_path}/checklist.md" -default_output_file: "{output_folder}/sprint-change-proposal-{date}.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml b/q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml deleted file mode 100644 index 7b97f549..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/create-story.toml +++ /dev/null @@ -1,81 +0,0 @@ -description = "BMAD BMGD Workflow: create-story" -prompt = """ -name: create-story -description: "Create the next user story markdown from epics/PRD and architecture, using a standard template and saving to the stories folder" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -story_dir: "{sprint_artifacts}" - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/create-story" -template: "{installed_path}/template.md" -instructions: "{installed_path}/instructions.xml" -validation: "{installed_path}/checklist.md" - -# Variables and inputs -variables: - sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking - epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown - prd_file: "{output_folder}/PRD.md" # Fallback for requirements - architecture_file: "{output_folder}/architecture.md" # Optional architecture context - tech_spec_file: "" # Will be auto-discovered from docs as tech-spec-epic-{{epic_num}}-*.md - tech_spec_search_dir: "{project-root}/docs" - tech_spec_glob_template: "tech-spec-epic-{{epic_num}}*.md" - arch_docs_search_dirs: | - - "{project-root}/docs" - - "{output_folder}" - arch_docs_file_names: | - - *architecture*.md - story_title: "" # Will be elicited if not derivable - -default_output_file: "{story_dir}/{{story_key}}.md" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: SELECTIVE LOAD - only load the specific epic needed for this story -input_file_patterns: - gdd: - description: "Game Design Document" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" - load_strategy: "FULL_LOAD" - narrative: - description: "Narrative Design Document (if story-driven)" - whole: "{output_folder}/*narrative*.md" - sharded: "{output_folder}/*narrative*/*.md" - load_strategy: "FULL_LOAD" - tech_spec: - description: "Technical specification" - whole: "{output_folder}/tech-spec.md" - load_strategy: "FULL_LOAD" - architecture: - description: "Game architecture and technical decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - ux_design: - description: "UX design specification (if UI)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "All epics with user stories" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" - load_strategy: "SELECTIVE_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml b/q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml deleted file mode 100644 index ee8ea4c0..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/create-tech-spec.toml +++ /dev/null @@ -1,29 +0,0 @@ -description = "BMAD BMGD Workflow: create-tech-spec" -prompt = """ -# Quick-Flow: Create Tech-Spec (Game Development) -name: create-tech-spec -description: "Conversational spec engineering for games - ask questions, investigate code, produce implementation-ready tech-spec." -author: "BMad" - -# Config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -user_skill_level: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec" -instructions: "{installed_path}/instructions.md" - -# Related workflows -quick_dev_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" -quick_prototype_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" -party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" -advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml b/q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml deleted file mode 100644 index cd9f4c4d..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/dev-story.toml +++ /dev/null @@ -1,70 +0,0 @@ -description = "BMAD BMGD Workflow: dev-story" -prompt = """ -name: dev-story -description: "Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -story_dir: "{config_source}:sprint_artifacts" -date: system-generated - -story_file: "" # Explicit story path; auto-discovered if empty -# Context file uses same story_key as story file (e.g., "1-2-user-authentication.context.xml") -context_file: "{story_dir}/{{story_key}}.context.xml" -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: Load necessary context for story implementation -input_file_patterns: - gdd: - description: "Game Design Document" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" - load_strategy: "FULL_LOAD" - narrative: - description: "Narrative Design Document (if story-driven)" - whole: "{output_folder}/*narrative*.md" - sharded: "{output_folder}/*narrative*/*.md" - load_strategy: "FULL_LOAD" - architecture: - description: "Game architecture and technical decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - tech_spec: - description: "Technical specification" - whole: "{output_folder}/tech-spec*.md" - sharded: "{sprint_artifacts}/tech-spec-epic-*.md" - load_strategy: "SELECTIVE_LOAD" - ux_design: - description: "UX design specification (if UI)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "All epics with user stories" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" - load_strategy: "SELECTIVE_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/dev-story" -instructions: "{installed_path}/instructions.xml" -validation: "{installed_path}/checklist.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml b/q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml deleted file mode 100644 index a7a92d0f..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/game-architecture.toml +++ /dev/null @@ -1,74 +0,0 @@ -description = "BMAD BMGD Workflow: game-architecture" -prompt = """ -# Game Architecture Workflow Configuration -name: game-architecture -description: "Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development." -author: "BMad" - -# Critical variables -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -game_dev_experience: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components - Step-file architecture -installed_path: "{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture" -instructions: "{installed_path}/workflow.md" -validation: "{installed_path}/checklist.md" -template: "{installed_path}/templates/architecture-template.md" - -# Knowledge bases for intelligent decision making -decision_catalog: "{installed_path}/decision-catalog.yaml" -architecture_patterns: "{installed_path}/architecture-patterns.yaml" -pattern_categories: "{installed_path}/pattern-categories.csv" - -# Smart input file references - handles both whole docs and sharded docs -input_file_patterns: - gdd: - description: "Game Design Document with mechanics and systems" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/index.md" - load_strategy: "INDEX_GUIDED" - - epics: - description: "Epic definitions with user stories" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/index.md" - load_strategy: "FULL_LOAD" - - brief: - description: "Game Brief with vision and scope (optional)" - whole: "{output_folder}/*brief*.md" - sharded: "{output_folder}/*brief*/index.md" - load_strategy: "INDEX_GUIDED" - - narrative: - description: "Narrative design with story and characters (optional)" - whole: "{output_folder}/*narrative*.md" - sharded: "{output_folder}/*narrative*/index.md" - load_strategy: "INDEX_GUIDED" - -# Output configuration -default_output_file: "{output_folder}/game-architecture.md" - -# Workflow metadata -version: "2.0.0" -replaces: "architecture" -paradigm: "step-file-architecture" -features: - - "Step-file architecture for modular execution" - - "Starter template discovery and integration" - - "Dynamic version verification via web search" - - "Adaptive facilitation by skill level" - - "Decision-focused architecture" - - "Novel pattern design for unique concepts" - - "Intelligent pattern identification" - - "Implementation patterns for agent consistency" - - "State tracking via frontmatter" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml b/q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml deleted file mode 100644 index 19278a55..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/game-brief.toml +++ /dev/null @@ -1,48 +0,0 @@ -description = "BMAD BMGD Workflow: game-brief" -prompt = """ -# Game Brief - Interactive Workflow Configuration -name: game-brief -description: "Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -game_dev_experience: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components - Step-file architecture -installed_path: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief" -instructions: "{installed_path}/workflow.md" -template: "{installed_path}/templates/game-brief-template.md" -validation: "{installed_path}/checklist.md" - -# Smart input file references - handles brainstorming/research docs -input_file_patterns: - brainstorm: - description: "Brainstorming or ideation documents (optional)" - whole: "{output_folder}/*brainstorm*.md" - sharded: "{output_folder}/*brainstorm*/index.md" - load_strategy: "FULL_LOAD" - - research: - description: "Market or domain research (optional)" - whole: "{output_folder}/*research*.md" - sharded: "{output_folder}/*research*/index.md" - load_strategy: "FULL_LOAD" - - inspiration: - description: "Inspiration or reference documents (optional)" - whole: "{output_folder}/*inspiration*.md" - sharded: "{output_folder}/*inspiration*/index.md" - load_strategy: "FULL_LOAD" - -# Output configuration -default_output_file: "{output_folder}/game-brief.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml b/q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml deleted file mode 100644 index ebb9254e..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/gdd.toml +++ /dev/null @@ -1,51 +0,0 @@ -description = "BMAD BMGD Workflow: gdd" -prompt = """ -# Game Design Document (GDD) Workflow -name: gdd -description: "Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance." -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -game_dev_experience: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components - Step-file architecture -installed_path: "{project-root}/_bmad/bmgd/workflows/2-design/gdd" -instructions: "{installed_path}/workflow.md" -template: "{installed_path}/templates/gdd-template.md" -game_types_csv: "{installed_path}/game-types.csv" - -# Output configuration -default_output_file: "{output_folder}/gdd.md" - -# Game type references (loaded based on game type selection) -game_type_guides: "{installed_path}/game-types/" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -input_file_patterns: - game_brief: - description: "Game vision and core concept (optional)" - whole: "{output_folder}/*game-brief*.md" - sharded: "{output_folder}/*game-brief*/index.md" - load_strategy: "INDEX_GUIDED" - - research: - description: "Market or domain research (optional)" - whole: "{output_folder}/*research*.md" - sharded: "{output_folder}/*research*/index.md" - load_strategy: "FULL_LOAD" - - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml b/q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml deleted file mode 100644 index 890216f2..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/narrative.toml +++ /dev/null @@ -1,55 +0,0 @@ -description = "BMAD BMGD Workflow: narrative" -prompt = """ -# Narrative Design Workflow -name: narrative -description: "Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning." -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -game_dev_experience: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components - Step-file architecture -installed_path: "{project-root}/_bmad/bmgd/workflows/2-design/narrative" -instructions: "{installed_path}/workflow.md" -template: "{installed_path}/templates/narrative-template.md" -validation: "{installed_path}/checklist.md" - -# Smart input file references -input_file_patterns: - gdd: - description: "Game Design Document with mechanics and systems" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/index.md" - load_strategy: "INDEX_GUIDED" - - brief: - description: "Game Brief with vision (optional)" - whole: "{output_folder}/*brief*.md" - sharded: "{output_folder}/*brief*/index.md" - load_strategy: "INDEX_GUIDED" - -# Output configuration -default_output_file: "{output_folder}/narrative-design.md" - -# Workflow metadata -version: "2.0.0" -paradigm: "step-file-architecture" -features: - - "Step-file architecture for modular execution" - - "Narrative complexity assessment" - - "Character development facilitation" - - "World-building guidance" - - "Dialogue system design" - - "Environmental storytelling planning" - - "Production scope estimation" - - "State tracking via frontmatter" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml b/q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml deleted file mode 100644 index 46c89dcb..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/quick-dev.toml +++ /dev/null @@ -1,47 +0,0 @@ -description = "BMAD BMGD Workflow: quick-dev" -prompt = """ -# Quick-Flow: Quick-Dev (Game Development) -name: quick-dev -description: "Flexible game development - execute tech-specs, implement features, or refactor code with game-specific considerations." -author: "BMad" - -# Config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:game_dev_experience" -date: system-generated - -# Project context -project_context: "**/project-context.md" - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev" -instructions: "{installed_path}/instructions.md" -checklist: "{installed_path}/checklist.md" - -# Related workflows -quick_prototype_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" -party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" -advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - -# Routing resources (lazy-loaded) -workflow_init: "{project-root}/_bmad/bmgd/workflows/workflow-status/init/workflow.yaml" - -# Game-specific input patterns -input_file_patterns: - gdd: - description: "Game Design Document" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" - load_strategy: "FULL_LOAD" - architecture: - description: "Game architecture and technical decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml b/q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml deleted file mode 100644 index d98b50d2..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/quick-prototype.toml +++ /dev/null @@ -1,38 +0,0 @@ -description = "BMAD BMGD Workflow: quick-prototype" -prompt = """ -# Quick-Flow: Quick-Prototype (Game Development) -name: quick-prototype -description: "Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup." -author: "BMad" - -# Config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:game_dev_experience" -date: system-generated - -# Project context -project_context: "**/project-context.md" - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype" -instructions: "{installed_path}/instructions.md" -checklist: "{installed_path}/checklist.md" - -# Related workflows -quick_dev_workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" -party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" -advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - -# Game-specific references -gdd_patterns: - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" -architecture_patterns: - whole: "{output_folder}/*architecture*.md" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml b/q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml deleted file mode 100644 index 69e6cb7e..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/retrospective.toml +++ /dev/null @@ -1,64 +0,0 @@ -description = "BMAD BMGD Workflow: retrospective" -prompt = """ -# Retrospective - Epic Completion Review Workflow -name: "retrospective" -description: "Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic" -author: "BMad" - -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" - -installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/retrospective" -template: false -instructions: "{installed_path}/instructions.md" - -required_inputs: - - agent_manifest: "{project-root}/_bmad/_config/agent-manifest.csv" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: SELECTIVE LOAD - only load the completed epic and relevant retrospectives -input_file_patterns: - gdd: - description: "Game Design Document" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" - load_strategy: "FULL_LOAD" - narrative: - description: "Narrative Design Document (if story-driven)" - whole: "{output_folder}/*narrative*.md" - sharded: "{output_folder}/*narrative*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "All epics with user stories" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" - load_strategy: "SELECTIVE_LOAD" - previous_retrospective: - description: "Previous retrospective (optional)" - pattern: "{sprint_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" - load_strategy: "SELECTIVE_LOAD" - architecture: - description: "Game architecture and technical decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/*.md" - load_strategy: "INDEX_GUIDED" - -# Required files -sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" -story_directory: "{sprint_artifacts}" -retrospectives_folder: "{sprint_artifacts}" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml b/q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml deleted file mode 100644 index 8965db19..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/sprint-planning.toml +++ /dev/null @@ -1,58 +0,0 @@ -description = "BMAD BMGD Workflow: sprint-planning" -prompt = """ -name: sprint-planning -description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-planning" -instructions: "{installed_path}/instructions.md" -template: "{installed_path}/sprint-status-template.yaml" -validation: "{installed_path}/checklist.md" - -# Variables and inputs -variables: - # Project identification - project_name: "{config_source}:project_name" - - # Tracking system configuration - tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello - story_location: "{config_source}:sprint_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello - story_location_absolute: "{config_source}:sprint_artifacts" # Absolute path for file operations - - # Source files (file-system only) - epics_location: "{output_folder}" # Directory containing epic*.md files - epics_pattern: "epic*.md" # Pattern to find epic files - - # Output configuration - status_file: "{sprint_artifacts}/sprint-status.yaml" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: FULL LOAD - sprint planning needs ALL epics to build complete status -input_file_patterns: - gdd: - description: "Game Design Document" - whole: "{output_folder}/*gdd*.md" - sharded: "{output_folder}/*gdd*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "All epics with user stories" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/*.md" - load_strategy: "FULL_LOAD" - -# Output configuration -default_output_file: "{status_file}" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml b/q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml deleted file mode 100644 index 2a0c5c8c..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/sprint-status.toml +++ /dev/null @@ -1,37 +0,0 @@ -description = "BMAD BMGD Workflow: sprint-status" -prompt = """ -# Sprint Status - Game Development Implementation Tracker -name: sprint-status -description: "Summarize sprint-status.yaml for game project, surface risks, and route to the right implementation workflow." -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-status" -instructions: "{installed_path}/instructions.md" - -# Inputs -variables: - sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - tracking_system: "file-system" - -# Smart input file references -input_file_patterns: - sprint_status: - description: "Sprint status file generated by sprint-planning" - whole: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - load_strategy: "FULL_LOAD" - -# Standalone so IDE commands get generated -standalone: true - -# No web bundle needed -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml b/q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml deleted file mode 100644 index f3380791..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/workflow-init.toml +++ /dev/null @@ -1,31 +0,0 @@ -description = "BMAD BMGD Workflow: workflow-init" -prompt = """ -# Workflow Init - Initial Game Project Setup -name: workflow-init -description: "Initialize a new BMGD game project by determining level, type, and creating workflow path" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" -user_name: "{config_source}:user_name" -project_name: "{config_source}:project_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -user_skill_level: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/workflow-status/init" -instructions: "{installed_path}/instructions.md" -template: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow-status-template.yaml" - -# Path data files -path_files: "{project-root}/_bmad/bmgd/workflows/workflow-status/paths/" - -# Output configuration -default_output_file: "{output_folder}/bmgd-workflow-status.yaml" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml b/q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml deleted file mode 100644 index 8e08624a..00000000 --- a/q1/.qwen/commands/bmad/bmgd/workflows/workflow-status.toml +++ /dev/null @@ -1,32 +0,0 @@ -description = "BMAD BMGD Workflow: workflow-status" -prompt = """ -# Workflow Status - Master Router and Status Tracker for BMGD -name: workflow-status -description: 'Lightweight status checker - answers "what should I do now?" for any game dev agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmgd/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -game_dev_experience: "{config_source}:game_dev_experience" -date: system-generated - -# Workflow components -installed_path: "{project-root}/_bmad/bmgd/workflows/workflow-status" -instructions: "{installed_path}/instructions.md" - -# Template for status file creation (used by workflow-init) -template: "{installed_path}/workflow-status-template.yaml" - -# Path definitions for project types -path_files: "{installed_path}/paths/" - -# Output configuration - reads existing status -default_output_file: "{output_folder}/bmgd-workflow-status.yaml" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/analyst.toml b/q1/.qwen/commands/bmad/bmm/agents/analyst.toml deleted file mode 100644 index 3b4e67b2..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/analyst.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: analyst" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/analyst.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/architect.toml b/q1/.qwen/commands/bmad/bmm/agents/architect.toml deleted file mode 100644 index cad0f7cc..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/architect.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: architect" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/architect.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/dev.toml b/q1/.qwen/commands/bmad/bmm/agents/dev.toml deleted file mode 100644 index b12d376a..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/dev.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: dev" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/pm.toml b/q1/.qwen/commands/bmad/bmm/agents/pm.toml deleted file mode 100644 index 3edb3c14..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/pm.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: pm" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/pm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml b/q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml deleted file mode 100644 index d1e185c7..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/quick-flow-solo-dev.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: quick-flow-solo-dev" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/quick-flow-solo-dev.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/sm.toml b/q1/.qwen/commands/bmad/bmm/agents/sm.toml deleted file mode 100644 index 61926483..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/sm.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: sm" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/sm.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/tea.toml b/q1/.qwen/commands/bmad/bmm/agents/tea.toml deleted file mode 100644 index 493befaa..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/tea.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: tea" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tea.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml b/q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml deleted file mode 100644 index a2ea460f..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/tech-writer.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: tech-writer" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/tech-writer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml b/q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml deleted file mode 100644 index 1ce9c848..00000000 --- a/q1/.qwen/commands/bmad/bmm/agents/ux-designer.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD BMM Agent: ux-designer" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/bmm/agents/ux-designer.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/code-review.toml b/q1/.qwen/commands/bmad/bmm/workflows/code-review.toml deleted file mode 100644 index 062c82d3..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/code-review.toml +++ /dev/null @@ -1,56 +0,0 @@ -description = "BMAD BMM Workflow: code-review" -prompt = """ -# Review Story Workflow -name: code-review -description: "Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval." -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review" -instructions: "{installed_path}/instructions.xml" -validation: "{installed_path}/checklist.md" -template: false - -variables: - # Project context - project_context: "**/project-context.md" - story_dir: "{sprint_artifacts}" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: SELECTIVE LOAD - only load the specific epic needed for this story review -input_file_patterns: - architecture: - description: "System architecture for review context" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - ux_design: - description: "UX design specification (if UI review)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "Epic containing story being reviewed" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" - load_strategy: "SELECTIVE_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml b/q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml deleted file mode 100644 index 9235b2d8..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/correct-course.toml +++ /dev/null @@ -1,60 +0,0 @@ -description = "BMAD BMM Workflow: correct-course" -prompt = """ -# Correct Course - Sprint Change Management Workflow -name: "correct-course" -description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation" -author: "BMad Method" - -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: Load project context for impact analysis -input_file_patterns: - prd: - description: "Product requirements for impact analysis" - whole: "{output_folder}/*prd*.md" - sharded: "{output_folder}/*prd*/*.md" - load_strategy: "FULL_LOAD" - epics: - description: "All epics to analyze change impact" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/*.md" - load_strategy: "FULL_LOAD" - architecture: - description: "System architecture and decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - ux_design: - description: "UX design specification (if UI impacts)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" - load_strategy: "FULL_LOAD" - tech_spec: - description: "Technical specification" - whole: "{output_folder}/tech-spec*.md" - load_strategy: "FULL_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" - -installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course" -template: false -instructions: "{installed_path}/instructions.md" -validation: "{installed_path}/checklist.md" -checklist: "{installed_path}/checklist.md" -default_output_file: "{output_folder}/sprint-change-proposal-{date}.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml deleted file mode 100644 index 78275a26..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-dataflow.toml +++ /dev/null @@ -1,29 +0,0 @@ -description = "BMAD BMM Workflow: create-excalidraw-dataflow" -prompt = """ -name: create-excalidraw-dataflow -description: "Create data flow diagrams (DFD) in Excalidraw format" -author: "BMad" - -# Config values -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow" -shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" -instructions: "{installed_path}/instructions.md" -validation: "{installed_path}/checklist.md" - -# Core Excalidraw resources (universal knowledge) -helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" -json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" - -# Domain-specific resources (technical diagrams) -templates: "{shared_path}/excalidraw-templates.yaml" -library: "{shared_path}/excalidraw-library.json" - -# Output file (respects user's configured output_folder) -default_output_file: "{output_folder}/excalidraw-diagrams/dataflow-{timestamp}.excalidraw" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml deleted file mode 100644 index f2c980ae..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-diagram.toml +++ /dev/null @@ -1,29 +0,0 @@ -description = "BMAD BMM Workflow: create-excalidraw-diagram" -prompt = """ -name: create-excalidraw-diagram -description: "Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format" -author: "BMad" - -# Config values -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram" -shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" -instructions: "{installed_path}/instructions.md" -validation: "{installed_path}/checklist.md" - -# Core Excalidraw resources (universal knowledge) -helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" -json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" - -# Domain-specific resources (technical diagrams) -templates: "{shared_path}/excalidraw-templates.yaml" -library: "{shared_path}/excalidraw-library.json" - -# Output file (respects user's configured output_folder) -default_output_file: "{output_folder}/excalidraw-diagrams/diagram-{timestamp}.excalidraw" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml deleted file mode 100644 index 965bc593..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-flowchart.toml +++ /dev/null @@ -1,29 +0,0 @@ -description = "BMAD BMM Workflow: create-excalidraw-flowchart" -prompt = """ -name: create-excalidraw-flowchart -description: "Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows" -author: "BMad" - -# Config values -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart" -shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" -instructions: "{installed_path}/instructions.md" -validation: "{installed_path}/checklist.md" - -# Core Excalidraw resources (universal knowledge) -helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" -json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" - -# Domain-specific resources (technical diagrams) -templates: "{shared_path}/excalidraw-templates.yaml" -library: "{shared_path}/excalidraw-library.json" - -# Output file (respects user's configured output_folder) -default_output_file: "{output_folder}/excalidraw-diagrams/flowchart-{timestamp}.excalidraw" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml deleted file mode 100644 index 998f6dd1..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/create-excalidraw-wireframe.toml +++ /dev/null @@ -1,29 +0,0 @@ -description = "BMAD BMM Workflow: create-excalidraw-wireframe" -prompt = """ -name: create-excalidraw-wireframe -description: "Create website or app wireframes in Excalidraw format" -author: "BMad" - -# Config values -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe" -shared_path: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/_shared" -instructions: "{installed_path}/instructions.md" -validation: "{installed_path}/checklist.md" - -# Core Excalidraw resources (universal knowledge) -helpers: "{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md" -json_validation: "{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md" - -# Domain-specific resources (technical diagrams) -templates: "{shared_path}/excalidraw-templates.yaml" -library: "{shared_path}/excalidraw-library.json" - -# Output file (respects user's configured output_folder) -default_output_file: "{output_folder}/excalidraw-diagrams/wireframe-{timestamp}.excalidraw" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-story.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-story.toml deleted file mode 100644 index 80afd18b..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/create-story.toml +++ /dev/null @@ -1,62 +0,0 @@ -description = "BMAD BMM Workflow: create-story" -prompt = """ -name: create-story -description: "Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -story_dir: "{sprint_artifacts}" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story" -template: "{installed_path}/template.md" -instructions: "{installed_path}/instructions.xml" -validation: "{installed_path}/checklist.md" - -# Variables and inputs -variables: - sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking - epics_file: "{output_folder}/epics.md" # Enhanced epics+stories with BDD and source hints - prd_file: "{output_folder}/PRD.md" # Fallback for requirements (if not in epics file) - architecture_file: "{output_folder}/architecture.md" # Fallback for constraints (if not in epics file) - ux_file: "{output_folder}/ux.md" # Fallback for UX requirements (if not in epics file) - story_title: "" # Will be elicited if not derivable - -# Project context -project_context: "**/project-context.md" - -default_output_file: "{story_dir}/{{story_key}}.md" - -# Smart input file references - Simplified for enhanced approach -# The epics+stories file should contain everything needed with source hints -input_file_patterns: - prd: - description: "PRD (fallback - epics file should have most content)" - whole: "{output_folder}/*prd*.md" - sharded: "{output_folder}/*prd*/*.md" - load_strategy: "SELECTIVE_LOAD" # Only load if needed - architecture: - description: "Architecture (fallback - epics file should have relevant sections)" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "SELECTIVE_LOAD" # Only load if needed - ux: - description: "UX design (fallback - epics file should have relevant sections)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" - load_strategy: "SELECTIVE_LOAD" # Only load if needed - epics: - description: "Enhanced epics+stories file with BDD and source hints" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/*.md" - load_strategy: "SELECTIVE_LOAD" # Only load needed epic - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml b/q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml deleted file mode 100644 index a28c9c63..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/create-tech-spec.toml +++ /dev/null @@ -1,28 +0,0 @@ -description = "BMAD BMM Workflow: create-tech-spec" -prompt = """ -# Quick-Flow: Create Tech-Spec -name: create-tech-spec -description: "Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec." -author: "BMad" - -# Config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -user_skill_level: "{config_source}:user_skill_level" -date: system-generated - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec" -instructions: "{installed_path}/instructions.md" - -# Related workflows -quick_dev_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml" -party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" -advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml b/q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml deleted file mode 100644 index 8f9f05c0..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/dev-story.toml +++ /dev/null @@ -1,29 +0,0 @@ -description = "BMAD BMM Workflow: dev-story" -prompt = """ -name: dev-story -description: "Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -story_dir: "{config_source}:sprint_artifacts" -date: system-generated - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/dev-story" -instructions: "{installed_path}/instructions.xml" -validation: "{installed_path}/checklist.md" - -story_file: "" # Explicit story path; auto-discovered if empty -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml" -project_context: "**/project-context.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/document-project.toml b/q1/.qwen/commands/bmad/bmm/workflows/document-project.toml deleted file mode 100644 index 7a6ba3c4..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/document-project.toml +++ /dev/null @@ -1,33 +0,0 @@ -description = "BMAD BMM Workflow: document-project" -prompt = """ -# Document Project Workflow Configuration -name: "document-project" -version: "1.2.0" -description: "Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development" -author: "BMad" - -# Critical variables -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -user_skill_level: "{config_source}:user_skill_level" -date: system-generated - -# Module path and component files -installed_path: "{project-root}/_bmad/bmm/workflows/document-project" -template: false # This is an action workflow with multiple output files -instructions: "{installed_path}/instructions.md" -validation: "{installed_path}/checklist.md" - -# Required data files - CRITICAL for project type detection and documentation requirements -documentation_requirements_csv: "{installed_path}/documentation-requirements.csv" - -# Output configuration - Multiple files generated in output folder -# Primary output: {output_folder}/index.md -# Additional files generated by sub-workflows based on project structure - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml b/q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml deleted file mode 100644 index 552d331b..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/quick-dev.toml +++ /dev/null @@ -1,35 +0,0 @@ -description = "BMAD BMM Workflow: quick-dev" -prompt = """ -# Quick-Flow: Quick-Dev -name: quick-dev -description: "Flexible development - execute tech-specs OR direct instructions with optional planning." -author: "BMad" - -# Config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -date: system-generated - -# Project context -project_context: "**/project-context.md" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev" -instructions: "{installed_path}/instructions.md" -checklist: "{installed_path}/checklist.md" - -# Related workflows -create_tech_spec_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml" -party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" -advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - -# Routing resources (lazy-loaded) -project_levels: "{project-root}/_bmad/bmm/workflows/workflow-status/project-levels.yaml" -workflow_init: "{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml b/q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml deleted file mode 100644 index f85fd06c..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/retrospective.toml +++ /dev/null @@ -1,59 +0,0 @@ -description = "BMAD BMM Workflow: retrospective" -prompt = """ -# Retrospective - Epic Completion Review Workflow -name: "retrospective" -description: "Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic" -author: "BMad" - -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" - -installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective" -template: false -instructions: "{installed_path}/instructions.md" - -required_inputs: - - agent_manifest: "{project-root}/_bmad/_config/agent-manifest.csv" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: SELECTIVE LOAD - only load the completed epic and relevant retrospectives -input_file_patterns: - epics: - description: "The completed epic for retrospective" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" - load_strategy: "SELECTIVE_LOAD" - previous_retrospective: - description: "Previous epic's retrospective (optional)" - pattern: "{sprint_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" - load_strategy: "SELECTIVE_LOAD" - architecture: - description: "System architecture for context" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" - load_strategy: "FULL_LOAD" - prd: - description: "Product requirements for context" - whole: "{output_folder}/*prd*.md" - sharded: "{output_folder}/*prd*/*.md" - load_strategy: "FULL_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/*.md" - load_strategy: "INDEX_GUIDED" - -# Required files -sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" -story_directory: "{sprint_artifacts}" -retrospectives_folder: "{sprint_artifacts}" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml b/q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml deleted file mode 100644 index 4b7b42b6..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/sprint-planning.toml +++ /dev/null @@ -1,55 +0,0 @@ -description = "BMAD BMM Workflow: sprint-planning" -prompt = """ -name: sprint-planning -description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning" -instructions: "{installed_path}/instructions.md" -template: "{installed_path}/sprint-status-template.yaml" -validation: "{installed_path}/checklist.md" - -# Variables and inputs -variables: - # Project context - project_context: "**/project-context.md" - # Project identification - project_name: "{config_source}:project_name" - - # Tracking system configuration - tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello - story_location: "{config_source}:sprint_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello - story_location_absolute: "{config_source}:sprint_artifacts" # Absolute path for file operations - - # Source files (file-system only) - epics_location: "{output_folder}" # Directory containing epic*.md files - epics_pattern: "epic*.md" # Pattern to find epic files - - # Output configuration - status_file: "{sprint_artifacts}/sprint-status.yaml" - -# Smart input file references - handles both whole docs and sharded docs -# Priority: Whole document first, then sharded version -# Strategy: FULL LOAD - sprint planning needs ALL epics to build complete status -input_file_patterns: - epics: - description: "All epics with user stories" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/*.md" - load_strategy: "FULL_LOAD" - -# Output configuration -default_output_file: "{status_file}" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml b/q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml deleted file mode 100644 index 200d6b45..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/sprint-status.toml +++ /dev/null @@ -1,37 +0,0 @@ -description = "BMAD BMM Workflow: sprint-status" -prompt = """ -# Sprint Status - Implementation Tracker -name: sprint-status -description: "Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow." -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-status" -instructions: "{installed_path}/instructions.md" - -# Inputs -variables: - sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - tracking_system: "file-system" - -# Smart input file references -input_file_patterns: - sprint_status: - description: "Sprint status file generated by sprint-planning" - whole: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" - load_strategy: "FULL_LOAD" - -# Standalone so IDE commands get generated -standalone: true - -# No web bundle needed -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml b/q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml deleted file mode 100644 index 6c05d31b..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/workflow-init.toml +++ /dev/null @@ -1,31 +0,0 @@ -description = "BMAD BMM Workflow: workflow-init" -prompt = """ -# Workflow Init - Initial Project Setup -name: workflow-init -description: "Initialize a new BMM project by determining level, type, and creating workflow path" -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" -user_name: "{config_source}:user_name" -project_name: "{config_source}:project_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -user_skill_level: "{config_source}:user_skill_level" -date: system-generated - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/workflow-status/init" -instructions: "{installed_path}/instructions.md" -template: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow-status-template.yaml" - -# Path data files -path_files: "{project-root}/_bmad/bmm/workflows/workflow-status/paths/" - -# Output configuration -default_output_file: "{output_folder}/bmm-workflow-status.yaml" - -standalone: true -""" diff --git a/q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml b/q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml deleted file mode 100644 index 437f2135..00000000 --- a/q1/.qwen/commands/bmad/bmm/workflows/workflow-status.toml +++ /dev/null @@ -1,32 +0,0 @@ -description = "BMAD BMM Workflow: workflow-status" -prompt = """ -# Workflow Status - Master Router and Status Tracker -name: workflow-status -description: 'Lightweight status checker - answers "what should I do now?" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' -author: "BMad" - -# Critical variables from config -config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -document_output_language: "{config_source}:document_output_language" -user_skill_level: "{config_source}:user_skill_level" -date: system-generated - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/workflow-status" -instructions: "{installed_path}/instructions.md" - -# Template for status file creation (used by workflow-init) -template: "{installed_path}/workflow-status-template.yaml" - -# Path definitions for project types -path_files: "{installed_path}/paths/" - -# Output configuration - reads existing status -default_output_file: "{output_folder}/bmm-workflow-status.yaml" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml b/q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml deleted file mode 100644 index 75f82dc4..00000000 --- a/q1/.qwen/commands/bmad/cis/agents/brainstorming-coach.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD CIS Agent: brainstorming-coach" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/brainstorming-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml b/q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml deleted file mode 100644 index 99ed9a76..00000000 --- a/q1/.qwen/commands/bmad/cis/agents/creative-problem-solver.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD CIS Agent: creative-problem-solver" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/creative-problem-solver.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml b/q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml deleted file mode 100644 index e7dedde5..00000000 --- a/q1/.qwen/commands/bmad/cis/agents/design-thinking-coach.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD CIS Agent: design-thinking-coach" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/design-thinking-coach.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml b/q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml deleted file mode 100644 index f661f163..00000000 --- a/q1/.qwen/commands/bmad/cis/agents/innovation-strategist.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD CIS Agent: innovation-strategist" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/innovation-strategist.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/cis/agents/presentation-master.toml b/q1/.qwen/commands/bmad/cis/agents/presentation-master.toml deleted file mode 100644 index 6029e8d6..00000000 --- a/q1/.qwen/commands/bmad/cis/agents/presentation-master.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD CIS Agent: presentation-master" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/presentation-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/cis/agents/storyteller.toml b/q1/.qwen/commands/bmad/cis/agents/storyteller.toml deleted file mode 100644 index a1bd3763..00000000 --- a/q1/.qwen/commands/bmad/cis/agents/storyteller.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD CIS Agent: storyteller" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/cis/agents/storyteller/storyteller.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml b/q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml deleted file mode 100644 index f83b0fa2..00000000 --- a/q1/.qwen/commands/bmad/cis/workflows/design-thinking.toml +++ /dev/null @@ -1,31 +0,0 @@ -description = "BMAD CIS Workflow: design-thinking" -prompt = """ -# Design Thinking Workflow Configuration -name: "design-thinking" -description: "Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs." -author: "BMad" - -# Critical variables load from config_source -config_source: "{project-root}/_bmad/cis/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated - -# Context can be provided via data attribute when invoking -# Example: data="{path}/product-context.md" provides project context - -# Module path and component files -installed_path: "{project-root}/_bmad/cis/workflows/design-thinking" -template: "{installed_path}/template.md" -instructions: "{installed_path}/instructions.md" - -# Required Data Files -design_methods: "{installed_path}/design-methods.csv" - -# Output configuration -default_output_file: "{output_folder}/design-thinking-{{date}}.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml b/q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml deleted file mode 100644 index 9df70d80..00000000 --- a/q1/.qwen/commands/bmad/cis/workflows/innovation-strategy.toml +++ /dev/null @@ -1,31 +0,0 @@ -description = "BMAD CIS Workflow: innovation-strategy" -prompt = """ -# Innovation Strategy Workflow Configuration -name: "innovation-strategy" -description: "Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities." -author: "BMad" - -# Critical variables load from config_source -config_source: "{project-root}/_bmad/cis/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated - -# Context can be provided via data attribute when invoking -# Example: data="{path}/industry-analysis.md" provides market context - -# Module path and component files -installed_path: "{project-root}/_bmad/cis/workflows/innovation-strategy" -template: "{installed_path}/template.md" -instructions: "{installed_path}/instructions.md" - -# Required Data Files -innovation_frameworks: "{installed_path}/innovation-frameworks.csv" - -# Output configuration -default_output_file: "{output_folder}/innovation-strategy-{{date}}.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml b/q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml deleted file mode 100644 index f87619fa..00000000 --- a/q1/.qwen/commands/bmad/cis/workflows/problem-solving.toml +++ /dev/null @@ -1,31 +0,0 @@ -description = "BMAD CIS Workflow: problem-solving" -prompt = """ -# Problem Solving Workflow Configuration -name: "problem-solving" -description: "Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks." -author: "BMad" - -# Critical variables load from config_source -config_source: "{project-root}/_bmad/cis/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated - -# Context can be provided via data attribute when invoking -# Example: data="{path}/problem-brief.md" provides context - -# Module path and component files -installed_path: "{project-root}/_bmad/cis/workflows/problem-solving" -template: "{installed_path}/template.md" -instructions: "{installed_path}/instructions.md" - -# Required Data Files -solving_methods: "{installed_path}/solving-methods.csv" - -# Output configuration -default_output_file: "{output_folder}/problem-solution-{{date}}.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/cis/workflows/storytelling.toml b/q1/.qwen/commands/bmad/cis/workflows/storytelling.toml deleted file mode 100644 index 2fd17ae8..00000000 --- a/q1/.qwen/commands/bmad/cis/workflows/storytelling.toml +++ /dev/null @@ -1,31 +0,0 @@ -description = "BMAD CIS Workflow: storytelling" -prompt = """ -# Storytelling Workflow Configuration -name: "storytelling" -description: "Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose." -author: "BMad" - -# Critical variables load from config_source -config_source: "{project-root}/_bmad/cis/config.yaml" -output_folder: "{config_source}:output_folder" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -date: system-generated - -# Context can be provided via data attribute when invoking -# Example: data="{path}/brand-info.md" provides brand context - -# Module path and component files -installed_path: "{project-root}/_bmad/cis/workflows/storytelling" -template: "{installed_path}/template.md" -instructions: "{installed_path}/instructions.md" - -# Required Data Files -story_frameworks: "{installed_path}/story-types.csv" - -# Output configuration -default_output_file: "{output_folder}/story-{{date}}.md" - -standalone: true - -""" diff --git a/q1/.qwen/commands/bmad/core/agents/bmad-master.toml b/q1/.qwen/commands/bmad/core/agents/bmad-master.toml deleted file mode 100644 index de4fdc5d..00000000 --- a/q1/.qwen/commands/bmad/core/agents/bmad-master.toml +++ /dev/null @@ -1,12 +0,0 @@ -description = "BMAD CORE Agent: bmad-master" -prompt = """ -You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. - - -1. LOAD the FULL agent file from @_bmad/core/agents/bmad-master.md -2. READ its entire contents - this contains the complete agent persona, menu, and instructions -3. Execute ALL activation steps exactly as written in the agent file -4. Follow the agent's persona and menu system precisely -5. Stay in character throughout the session - -""" diff --git a/q1/.qwen/commands/bmad/core/tools/shard-doc.toml b/q1/.qwen/commands/bmad/core/tools/shard-doc.toml deleted file mode 100644 index 464810c1..00000000 --- a/q1/.qwen/commands/bmad/core/tools/shard-doc.toml +++ /dev/null @@ -1,112 +0,0 @@ -description = "BMAD CORE Tool: Shard Document" -prompt = """ - - Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool - - - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER - DO NOT skip steps or change the sequence - HALT immediately when halt-conditions are met - Each action xml tag within step xml tag is a REQUIRED action to complete that step - Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution - - - - Uses `npx @kayvan/markdown-tree-parser` to automatically shard documents by level 2 headings and generate an index - - - - - Ask user for the source document path if not provided already - Verify file exists and is accessible - Verify file is markdown format (.md extension) - HALT with error message - - - - Determine default destination: same location as source file, folder named after source file without .md extension - Example: /path/to/architecture.md → /path/to/architecture/ - Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path) - Use the suggested destination path - Use the custom destination path - Verify destination folder exists or can be created - Check write permissions for destination - HALT with error message - - - - Inform user that sharding is beginning - Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]` - Capture command output and any errors - HALT and display error to user - - - - Check that destination folder contains sharded files - Verify index.md was created in destination folder - Count the number of files created - HALT with error message - - - - Display completion report to user including: - - Source document path and name - - Destination folder path - - Number of section files created - - Confirmation that index.md was created - - Any tool output or warnings - Inform user that sharding completed successfully - - - - Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion - Present user with options for the original document: - - What would you like to do with the original document `[source-document-name]`? - - Options: - [d] Delete - Remove the original (recommended - shards can always be recombined) - [m] Move to archive - Move original to a backup/archive location - [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) - - Your choice (d/m/k): - - - Delete the original source document file - Confirm deletion to user: "✓ Original document deleted: [source-document-path]" - The document can be reconstructed from shards by concatenating all section files in order - - - - Determine default archive location: same directory as source, in an "archive" subfolder - Example: /path/to/architecture.md → /path/to/archive/architecture.md - Archive location ([y] to use default: [default-archive-path], or provide custom path): - Use default archive path - Use custom archive path - Create archive directory if it doesn't exist - Move original document to archive location - Confirm move to user: "✓ Original document moved to: [archive-path]" - - - - Display warning to user: - ⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. - - This creates confusion because: - - The discover_inputs protocol may load the wrong version - - Updates to one won't reflect in the other - - You'll have duplicate content taking up space - - Consider deleting or archiving the original document. - Confirm user choice: "Original document kept at: [source-document-path]" - - - - - - HALT if npx command fails or produces no output files - - -""" diff --git a/q1/.rovodev/references/bmad-task-core-advanced-elicitation.md b/q1/.rovodev/references/bmad-task-core-advanced-elicitation.md deleted file mode 100644 index c7886fc2..00000000 --- a/q1/.rovodev/references/bmad-task-core-advanced-elicitation.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: 'When called from workflow' ---- - -# Advanced Elicitation - -LOAD and execute the task at: \_bmad/core/tasks/advanced-elicitation.xml - -Follow all instructions in the task file exactly as written. diff --git a/q1/.rovodev/references/bmad-task-core-index-docs.md b/q1/.rovodev/references/bmad-task-core-index-docs.md deleted file mode 100644 index 7fb38143..00000000 --- a/q1/.rovodev/references/bmad-task-core-index-docs.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: 'Generates or updates an index.md of all documents in the specified directory' ---- - -# Index Docs - -LOAD and execute the task at: \_bmad/core/tasks/index-docs.xml - -Follow all instructions in the task file exactly as written. diff --git a/q1/.rovodev/references/bmad-tool-core-shard-doc.md b/q1/.rovodev/references/bmad-tool-core-shard-doc.md deleted file mode 100644 index 12aa20f5..00000000 --- a/q1/.rovodev/references/bmad-tool-core-shard-doc.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections' ---- - -# Shard Document - -LOAD and execute the tool at: \_bmad/core/tools/shard-doc.xml - -Follow all instructions in the tool file exactly as written. diff --git a/q1/.rovodev/subagents/bmad-bmb-agent-builder.md b/q1/.rovodev/subagents/bmad-bmb-agent-builder.md deleted file mode 100644 index 5db4f4bd..00000000 --- a/q1/.rovodev/subagents/bmad-bmb-agent-builder.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmb-agent-builder -description: 'BMAD agent: Agent Builder' ---- - -You are a specialized agent for agent builder tasks. diff --git a/q1/.rovodev/subagents/bmad-bmb-module-builder.md b/q1/.rovodev/subagents/bmad-bmb-module-builder.md deleted file mode 100644 index 17d9784f..00000000 --- a/q1/.rovodev/subagents/bmad-bmb-module-builder.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmb-module-builder -description: 'BMAD agent: Module Builder' ---- - -You are a specialized agent for module builder tasks. diff --git a/q1/.rovodev/subagents/bmad-bmb-workflow-builder.md b/q1/.rovodev/subagents/bmad-bmb-workflow-builder.md deleted file mode 100644 index d2542236..00000000 --- a/q1/.rovodev/subagents/bmad-bmb-workflow-builder.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmb-workflow-builder -description: 'BMAD agent: Workflow Builder' ---- - -You are a specialized agent for workflow builder tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-architect.md b/q1/.rovodev/subagents/bmad-bmgd-game-architect.md deleted file mode 100644 index cb7cf248..00000000 --- a/q1/.rovodev/subagents/bmad-bmgd-game-architect.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmgd-game-architect -description: 'BMAD agent: Game Architect' ---- - -You are a specialized agent for game architect tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-designer.md b/q1/.rovodev/subagents/bmad-bmgd-game-designer.md deleted file mode 100644 index 70b3e48b..00000000 --- a/q1/.rovodev/subagents/bmad-bmgd-game-designer.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmgd-game-designer -description: 'BMAD agent: Game Designer' ---- - -You are a specialized agent for game designer tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-dev.md b/q1/.rovodev/subagents/bmad-bmgd-game-dev.md deleted file mode 100644 index c3fb0895..00000000 --- a/q1/.rovodev/subagents/bmad-bmgd-game-dev.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmgd-game-dev -description: 'BMAD agent: Game Dev' ---- - -You are a specialized agent for game dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-qa.md b/q1/.rovodev/subagents/bmad-bmgd-game-qa.md deleted file mode 100644 index 6e794834..00000000 --- a/q1/.rovodev/subagents/bmad-bmgd-game-qa.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmgd-game-qa -description: 'BMAD agent: Game Qa' ---- - -You are a specialized agent for game qa tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md b/q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md deleted file mode 100644 index 4d0a60b6..00000000 --- a/q1/.rovodev/subagents/bmad-bmgd-game-scrum-master.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmgd-game-scrum-master -description: 'BMAD agent: Game Scrum Master' ---- - -You are a specialized agent for game scrum master tasks. diff --git a/q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md b/q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md deleted file mode 100644 index d12fb621..00000000 --- a/q1/.rovodev/subagents/bmad-bmgd-game-solo-dev.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmgd-game-solo-dev -description: 'BMAD agent: Game Solo Dev' ---- - -You are a specialized agent for game solo dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-analyst.md b/q1/.rovodev/subagents/bmad-bmm-analyst.md deleted file mode 100644 index f113ab37..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-analyst.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-analyst -description: 'BMAD agent: Analyst' ---- - -You are a specialized agent for analyst tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-architect.md b/q1/.rovodev/subagents/bmad-bmm-architect.md deleted file mode 100644 index c58c877a..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-architect.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-architect -description: 'BMAD agent: Architect' ---- - -You are a specialized agent for architect tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-dev.md b/q1/.rovodev/subagents/bmad-bmm-dev.md deleted file mode 100644 index 4b65c9bd..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-dev.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-dev -description: 'BMAD agent: Dev' ---- - -You are a specialized agent for dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-pm.md b/q1/.rovodev/subagents/bmad-bmm-pm.md deleted file mode 100644 index 85713d58..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-pm.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-pm -description: 'BMAD agent: Pm' ---- - -You are a specialized agent for pm tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md b/q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md deleted file mode 100644 index 75ed19a1..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-quick-flow-solo-dev.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-quick-flow-solo-dev -description: 'BMAD agent: Quick Flow Solo Dev' ---- - -You are a specialized agent for quick flow solo dev tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-sm.md b/q1/.rovodev/subagents/bmad-bmm-sm.md deleted file mode 100644 index f926c62b..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-sm.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-sm -description: 'BMAD agent: Sm' ---- - -You are a specialized agent for sm tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-tea.md b/q1/.rovodev/subagents/bmad-bmm-tea.md deleted file mode 100644 index 42da57c2..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-tea.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-tea -description: 'BMAD agent: Tea' ---- - -You are a specialized agent for tea tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-tech-writer.md b/q1/.rovodev/subagents/bmad-bmm-tech-writer.md deleted file mode 100644 index 96f157b2..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-tech-writer.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-tech-writer -description: 'BMAD agent: Tech Writer' ---- - -You are a specialized agent for tech writer tasks. diff --git a/q1/.rovodev/subagents/bmad-bmm-ux-designer.md b/q1/.rovodev/subagents/bmad-bmm-ux-designer.md deleted file mode 100644 index 9d47c600..00000000 --- a/q1/.rovodev/subagents/bmad-bmm-ux-designer.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-bmm-ux-designer -description: 'BMAD agent: Ux Designer' ---- - -You are a specialized agent for ux designer tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md b/q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md deleted file mode 100644 index b364a45f..00000000 --- a/q1/.rovodev/subagents/bmad-cis-brainstorming-coach.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-cis-brainstorming-coach -description: 'BMAD agent: Brainstorming Coach' ---- - -You are a specialized agent for brainstorming coach tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md b/q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md deleted file mode 100644 index 5a039f72..00000000 --- a/q1/.rovodev/subagents/bmad-cis-creative-problem-solver.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-cis-creative-problem-solver -description: 'BMAD agent: Creative Problem Solver' ---- - -You are a specialized agent for creative problem solver tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md b/q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md deleted file mode 100644 index 6f3bd4cc..00000000 --- a/q1/.rovodev/subagents/bmad-cis-design-thinking-coach.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-cis-design-thinking-coach -description: 'BMAD agent: Design Thinking Coach' ---- - -You are a specialized agent for design thinking coach tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-innovation-strategist.md b/q1/.rovodev/subagents/bmad-cis-innovation-strategist.md deleted file mode 100644 index a0b4c11e..00000000 --- a/q1/.rovodev/subagents/bmad-cis-innovation-strategist.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-cis-innovation-strategist -description: 'BMAD agent: Innovation Strategist' ---- - -You are a specialized agent for innovation strategist tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-presentation-master.md b/q1/.rovodev/subagents/bmad-cis-presentation-master.md deleted file mode 100644 index 2f0184b7..00000000 --- a/q1/.rovodev/subagents/bmad-cis-presentation-master.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-cis-presentation-master -description: 'BMAD agent: Presentation Master' ---- - -You are a specialized agent for presentation master tasks. diff --git a/q1/.rovodev/subagents/bmad-cis-storyteller.md b/q1/.rovodev/subagents/bmad-cis-storyteller.md deleted file mode 100644 index 2ac4bd41..00000000 --- a/q1/.rovodev/subagents/bmad-cis-storyteller.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-cis-storyteller -description: 'BMAD agent: Storyteller' ---- - -You are a specialized agent for storyteller tasks. diff --git a/q1/.rovodev/subagents/bmad-core-bmad-master.md b/q1/.rovodev/subagents/bmad-core-bmad-master.md deleted file mode 100644 index 1e2637db..00000000 --- a/q1/.rovodev/subagents/bmad-core-bmad-master.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -name: bmad-core-bmad-master -description: 'BMAD agent: Bmad Master' ---- - -You are a specialized agent for bmad master tasks. diff --git a/q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md b/q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md deleted file mode 100644 index 8524a86c..00000000 --- a/q1/.rovodev/workflows/Meal Prep & Nutrition Plan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates personalized meal plans through collaborative nutrition planning between an expert facilitator and individual seeking to improve their nutrition habits.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/brainstorm-game.md b/q1/.rovodev/workflows/brainstorm-game.md deleted file mode 100644 index 04220291..00000000 --- a/q1/.rovodev/workflows/brainstorm-game.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/brainstorming.md b/q1/.rovodev/workflows/brainstorming.md deleted file mode 100644 index be33b790..00000000 --- a/q1/.rovodev/workflows/brainstorming.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/brainstorming/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/check-implementation-readiness.md b/q1/.rovodev/workflows/check-implementation-readiness.md deleted file mode 100644 index 66734354..00000000 --- a/q1/.rovodev/workflows/check-implementation-readiness.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/code-review.md b/q1/.rovodev/workflows/code-review.md deleted file mode 100644 index ae4a62fb..00000000 --- a/q1/.rovodev/workflows/code-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Perform an ADVERSARIAL Senior Developer code review that finds 3-10 specific problems in every story. Challenges everything: code quality, test coverage, architecture compliance, security, performance. NEVER accepts `looks good` - must find minimum issues and can auto-fix with user approval.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/correct-course.md b/q1/.rovodev/workflows/correct-course.md deleted file mode 100644 index b5f02774..00000000 --- a/q1/.rovodev/workflows/correct-course.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/create-agent.md b/q1/.rovodev/workflows/create-agent.md deleted file mode 100644 index 59662ba5..00000000 --- a/q1/.rovodev/workflows/create-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build BMAD Core compliant agents with optional brainstorming, persona development, and command structure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-architecture.md b/q1/.rovodev/workflows/create-architecture.md deleted file mode 100644 index 0b0f015d..00000000 --- a/q1/.rovodev/workflows/create-architecture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-epics-and-stories.md b/q1/.rovodev/workflows/create-epics-and-stories.md deleted file mode 100644 index db0fe4b7..00000000 --- a/q1/.rovodev/workflows/create-epics-and-stories.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-excalidraw-dataflow.md b/q1/.rovodev/workflows/create-excalidraw-dataflow.md deleted file mode 100644 index 47578ee0..00000000 --- a/q1/.rovodev/workflows/create-excalidraw-dataflow.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create data flow diagrams (DFD) in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/create-excalidraw-diagram.md b/q1/.rovodev/workflows/create-excalidraw-diagram.md deleted file mode 100644 index 684236aa..00000000 --- a/q1/.rovodev/workflows/create-excalidraw-diagram.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create system architecture diagrams, ERDs, UML diagrams, or general technical diagrams in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/create-excalidraw-flowchart.md b/q1/.rovodev/workflows/create-excalidraw-flowchart.md deleted file mode 100644 index 8e45ee70..00000000 --- a/q1/.rovodev/workflows/create-excalidraw-flowchart.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create a flowchart visualization in Excalidraw format for processes, pipelines, or logic flows' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/create-excalidraw-wireframe.md b/q1/.rovodev/workflows/create-excalidraw-wireframe.md deleted file mode 100644 index ea645354..00000000 --- a/q1/.rovodev/workflows/create-excalidraw-wireframe.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create website or app wireframes in Excalidraw format' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/create-game-brief.md b/q1/.rovodev/workflows/create-game-brief.md deleted file mode 100644 index 3bb52d6d..00000000 --- a/q1/.rovodev/workflows/create-game-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-gdd.md b/q1/.rovodev/workflows/create-gdd.md deleted file mode 100644 index 4dcc804e..00000000 --- a/q1/.rovodev/workflows/create-gdd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmgd/workflows/2-design/gdd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-module.md b/q1/.rovodev/workflows/create-module.md deleted file mode 100644 index ae1a98c1..00000000 --- a/q1/.rovodev/workflows/create-module.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Interactive workflow to build complete BMAD modules with agents, workflows, and installation infrastructure' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-module/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-prd.md b/q1/.rovodev/workflows/create-prd.md deleted file mode 100644 index 63050671..00000000 --- a/q1/.rovodev/workflows/create-prd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a comprehensive PRD through collaborative step-by-step discovery between two product managers working as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-product-brief.md b/q1/.rovodev/workflows/create-product-brief.md deleted file mode 100644 index 16f891de..00000000 --- a/q1/.rovodev/workflows/create-product-brief.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-story.md b/q1/.rovodev/workflows/create-story.md deleted file mode 100644 index d2f282c0..00000000 --- a/q1/.rovodev/workflows/create-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/create-tech-spec.md b/q1/.rovodev/workflows/create-tech-spec.md deleted file mode 100644 index 488a7644..00000000 --- a/q1/.rovodev/workflows/create-tech-spec.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Conversational spec engineering - ask questions, investigate code, produce implementation-ready tech-spec.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/create-ux-design.md b/q1/.rovodev/workflows/create-ux-design.md deleted file mode 100644 index 283bbed1..00000000 --- a/q1/.rovodev/workflows/create-ux-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/create-workflow.md b/q1/.rovodev/workflows/create-workflow.md deleted file mode 100644 index 3d563a4f..00000000 --- a/q1/.rovodev/workflows/create-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Create structured standalone workflows using markdown-based step architecture' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/create-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/design-thinking.md b/q1/.rovodev/workflows/design-thinking.md deleted file mode 100644 index 402ce806..00000000 --- a/q1/.rovodev/workflows/design-thinking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/design-thinking/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/design-thinking/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/dev-story.md b/q1/.rovodev/workflows/dev-story.md deleted file mode 100644 index 66b569c1..00000000 --- a/q1/.rovodev/workflows/dev-story.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Execute a story by implementing tasks/subtasks, writing tests, validating, and updating the story file per acceptance criteria' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/document-project.md b/q1/.rovodev/workflows/document-project.md deleted file mode 100644 index d5295d7e..00000000 --- a/q1/.rovodev/workflows/document-project.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/document-project/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/document-project/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/edit-agent.md b/q1/.rovodev/workflows/edit-agent.md deleted file mode 100644 index 0c9a6b30..00000000 --- a/q1/.rovodev/workflows/edit-agent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Edit existing BMAD agents while following all best practices and conventions' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-agent/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/edit-workflow.md b/q1/.rovodev/workflows/edit-workflow.md deleted file mode 100644 index afcaa2f4..00000000 --- a/q1/.rovodev/workflows/edit-workflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Intelligent workflow editor that helps modify existing workflows while following best practices' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/edit-workflow/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/game-architecture.md b/q1/.rovodev/workflows/game-architecture.md deleted file mode 100644 index 36ef3279..00000000 --- a/q1/.rovodev/workflows/game-architecture.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Collaborative game architecture workflow for AI-agent consistency. Intelligent, adaptive conversation that produces a decision-focused game architecture document covering engine, systems, networking, and technical design optimized for game development.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/game-brief.md b/q1/.rovodev/workflows/game-brief.md deleted file mode 100644 index e0303ff1..00000000 --- a/q1/.rovodev/workflows/game-brief.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/gametest-automate.md b/q1/.rovodev/workflows/gametest-automate.md deleted file mode 100644 index dfccaca9..00000000 --- a/q1/.rovodev/workflows/gametest-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate automated game tests for Unity, Unreal, or Godot based on test design scenarios' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/automate/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/gametest-framework.md b/q1/.rovodev/workflows/gametest-framework.md deleted file mode 100644 index cd6272ab..00000000 --- a/q1/.rovodev/workflows/gametest-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize game test framework architecture for Unity, Unreal Engine, or Godot projects' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/gametest-performance.md b/q1/.rovodev/workflows/gametest-performance.md deleted file mode 100644 index 7255df6c..00000000 --- a/q1/.rovodev/workflows/gametest-performance.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Design performance testing strategy for frame rate, memory, and loading times' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/performance/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/performance/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/gametest-playtest-plan.md b/q1/.rovodev/workflows/gametest-playtest-plan.md deleted file mode 100644 index 988d010c..00000000 --- a/q1/.rovodev/workflows/gametest-playtest-plan.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create structured playtesting sessions for gameplay validation and user feedback' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/gametest-test-design.md b/q1/.rovodev/workflows/gametest-test-design.md deleted file mode 100644 index 05ac011f..00000000 --- a/q1/.rovodev/workflows/gametest-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Create comprehensive game test scenarios covering gameplay, progression, and quality requirements' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/gametest-test-review.md b/q1/.rovodev/workflows/gametest-test-review.md deleted file mode 100644 index 23879a38..00000000 --- a/q1/.rovodev/workflows/gametest-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality, coverage, and identify gaps in game testing' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/gametest/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/gametest/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/gdd.md b/q1/.rovodev/workflows/gdd.md deleted file mode 100644 index 0bf8eabd..00000000 --- a/q1/.rovodev/workflows/gdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/gdd/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/gdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/generate-project-context.md b/q1/.rovodev/workflows/generate-project-context.md deleted file mode 100644 index 561d5afd..00000000 --- a/q1/.rovodev/workflows/generate-project-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Creates a concise project-context.md file with critical rules and patterns that AI agents must follow when implementing code. Optimized for LLM context efficiency.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/generate-project-context/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/innovation-strategy.md b/q1/.rovodev/workflows/innovation-strategy.md deleted file mode 100644 index 761734be..00000000 --- a/q1/.rovodev/workflows/innovation-strategy.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/innovation-strategy/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/innovation-strategy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/narrative.md b/q1/.rovodev/workflows/narrative.md deleted file mode 100644 index 264f45e5..00000000 --- a/q1/.rovodev/workflows/narrative.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/2-design/narrative/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/2-design/narrative/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/party-mode.md b/q1/.rovodev/workflows/party-mode.md deleted file mode 100644 index 4d790067..00000000 --- a/q1/.rovodev/workflows/party-mode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/core/workflows/party-mode/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/problem-solving.md b/q1/.rovodev/workflows/problem-solving.md deleted file mode 100644 index ec388f5d..00000000 --- a/q1/.rovodev/workflows/problem-solving.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/problem-solving/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/problem-solving/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/quick-dev.md b/q1/.rovodev/workflows/quick-dev.md deleted file mode 100644 index 77d5a122..00000000 --- a/q1/.rovodev/workflows/quick-dev.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/quick-prototype.md b/q1/.rovodev/workflows/quick-prototype.md deleted file mode 100644 index e7df33a6..00000000 --- a/q1/.rovodev/workflows/quick-prototype.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Rapid game prototyping - quickly test gameplay ideas, mechanics, or features with minimal setup.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml -3. Pass the yaml path _bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/research.md b/q1/.rovodev/workflows/research.md deleted file mode 100644 index 1ee378f0..00000000 --- a/q1/.rovodev/workflows/research.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Conduct comprehensive research across multiple domains using current web data and verified sources - Market, Technical, Domain and other research types.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmm/workflows/1-analysis/research/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/retrospective.md b/q1/.rovodev/workflows/retrospective.md deleted file mode 100644 index 85a04d7c..00000000 --- a/q1/.rovodev/workflows/retrospective.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/sprint-planning.md b/q1/.rovodev/workflows/sprint-planning.md deleted file mode 100644 index e8530d26..00000000 --- a/q1/.rovodev/workflows/sprint-planning.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/sprint-status.md b/q1/.rovodev/workflows/sprint-status.md deleted file mode 100644 index d4ec9a0b..00000000 --- a/q1/.rovodev/workflows/sprint-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Summarize sprint-status.yaml, surface risks, and route to the right implementation workflow.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/storytelling.md b/q1/.rovodev/workflows/storytelling.md deleted file mode 100644 index 32f1e267..00000000 --- a/q1/.rovodev/workflows/storytelling.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/cis/workflows/storytelling/workflow.yaml -3. Pass the yaml path _bmad/cis/workflows/storytelling/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-atdd.md b/q1/.rovodev/workflows/testarch-atdd.md deleted file mode 100644 index 75956725..00000000 --- a/q1/.rovodev/workflows/testarch-atdd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate failing acceptance tests before implementation using TDD red-green-refactor cycle' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/atdd/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/atdd/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-automate.md b/q1/.rovodev/workflows/testarch-automate.md deleted file mode 100644 index 015922af..00000000 --- a/q1/.rovodev/workflows/testarch-automate.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Expand test automation coverage after implementation or analyze existing codebase to generate comprehensive test suite' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/automate/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/automate/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-ci.md b/q1/.rovodev/workflows/testarch-ci.md deleted file mode 100644 index 337dba4e..00000000 --- a/q1/.rovodev/workflows/testarch-ci.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/ci/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/ci/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-framework.md b/q1/.rovodev/workflows/testarch-framework.md deleted file mode 100644 index b2c16a24..00000000 --- a/q1/.rovodev/workflows/testarch-framework.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize production-ready test framework architecture (Playwright or Cypress) with fixtures, helpers, and configuration' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/framework/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/framework/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-nfr.md b/q1/.rovodev/workflows/testarch-nfr.md deleted file mode 100644 index f2438734..00000000 --- a/q1/.rovodev/workflows/testarch-nfr.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-test-design.md b/q1/.rovodev/workflows/testarch-test-design.md deleted file mode 100644 index 747263b9..00000000 --- a/q1/.rovodev/workflows/testarch-test-design.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Dual-mode workflow: (1) System-level testability review in Solutioning phase, or (2) Epic-level test planning in Implementation phase. Auto-detects mode based on project phase.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-design/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-design/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-test-review.md b/q1/.rovodev/workflows/testarch-test-review.md deleted file mode 100644 index 07ac2ec1..00000000 --- a/q1/.rovodev/workflows/testarch-test-review.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Review test quality using comprehensive knowledge base and best practices validation' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/test-review/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/test-review/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/testarch-trace.md b/q1/.rovodev/workflows/testarch-trace.md deleted file mode 100644 index 26b38b8b..00000000 --- a/q1/.rovodev/workflows/testarch-trace.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/testarch/trace/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/testarch/trace/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/workflow-compliance-check.md b/q1/.rovodev/workflows/workflow-compliance-check.md deleted file mode 100644 index a32d5fe5..00000000 --- a/q1/.rovodev/workflows/workflow-compliance-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -description: 'Systematic validation of workflows against BMAD standards with adversarial analysis and detailed reporting' ---- - -IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @\_bmad/bmb/workflows/workflow-compliance-check/workflow.md, READ its entire contents and follow its directions exactly! diff --git a/q1/.rovodev/workflows/workflow-init.md b/q1/.rovodev/workflows/workflow-init.md deleted file mode 100644 index 0de870e5..00000000 --- a/q1/.rovodev/workflows/workflow-init.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Initialize a new BMM project by determining level, type, and creating workflow path' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - diff --git a/q1/.rovodev/workflows/workflow-status.md b/q1/.rovodev/workflows/workflow-status.md deleted file mode 100644 index 58eccc1a..00000000 --- a/q1/.rovodev/workflows/workflow-status.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Lightweight status checker - answers ""what should I do now?"" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.' ---- - -IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: - - -1. Always LOAD the FULL @_bmad/core/tasks/workflow.xml -2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/workflow.yaml -3. Pass the yaml path _bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions -4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions -5. Save outputs after EACH section when generating any documents from templates - From 12dd97fe9b6719850d977c18924a0ad6c40a7be2 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 11:40:38 +0800 Subject: [PATCH 07/17] start implementing new bm paths into phases 1-4 --- README.md | 2 +- docs/index.md | 2 +- docs/installers-bundlers/ide-injections.md | 186 --- .../installers-modules-platforms-reference.md | 389 ------ src/modules/bmb/docs/README.md | 2 - src/modules/bmgd/README.md | 209 ---- .../bmgd/_module-installer/installer.js | 4 +- .../4-production/code-review/workflow.yaml | 6 +- .../4-production/correct-course/workflow.yaml | 4 +- .../4-production/create-story/workflow.yaml | 6 +- .../4-production/dev-story/workflow.yaml | 8 +- .../4-production/retrospective/workflow.yaml | 10 +- .../sprint-planning/workflow.yaml | 8 +- .../4-production/sprint-status/workflow.yaml | 6 +- .../create-tech-spec/instructions.md | 6 +- .../create-tech-spec/workflow.yaml | 2 +- .../bmgd-quick-flow/quick-dev/workflow.yaml | 2 +- .../quick-prototype/workflow.yaml | 2 +- .../workflow-status/init/instructions.md | 2 +- .../workflow-status/init/workflow.yaml | 2 +- src/modules/bmm/README.md | 7 +- .../bmm/_module-installer/installer.js | 4 +- src/modules/bmm/agents/dev.agent.yaml | 4 - .../bmm/agents/quick-flow-solo-dev.agent.yaml | 4 + src/modules/bmm/docs/README.md | 95 +- src/modules/bmm/docs/agents-guide.md | 1113 ++--------------- src/modules/bmm/docs/bmad-quick-flow.md | 42 +- src/modules/bmm/docs/faq.md | 542 -------- src/modules/bmm/docs/glossary.md | 306 ----- src/modules/bmm/docs/quick-start.md | 12 +- src/modules/bmm/module.yaml | 19 +- .../product-brief.template.md | 12 +- .../steps/step-01-init.md | 2 +- .../steps/step-01b-continue.md | 4 +- .../steps/step-02-vision.md | 2 +- .../steps/step-03-users.md | 2 +- .../steps/step-04-metrics.md | 2 +- .../steps/step-05-scope.md | 2 +- .../steps/step-06-complete.md | 15 +- .../create-product-brief/workflow.md | 2 +- .../1-analysis/research/research.template.md | 14 + .../workflows/1-analysis/research/workflow.md | 47 +- .../create-ux-design/steps/step-01-init.md | 30 +- .../steps/step-02-discovery.md | 26 +- .../steps/step-03-core-experience.md | 2 +- .../steps/step-04-emotional-response.md | 2 +- .../steps/step-05-inspiration.md | 4 +- .../steps/step-06-design-system.md | 2 +- .../steps/step-07-defining-experience.md | 2 +- .../steps/step-08-visual-foundation.md | 2 +- .../steps/step-09-design-directions.md | 2 +- .../steps/step-10-user-journeys.md | 2 +- .../steps/step-11-component-strategy.md | 2 +- .../steps/step-12-ux-patterns.md | 2 +- .../steps/step-13-responsive-accessibility.md | 2 +- .../steps/step-14-complete.md | 4 +- .../create-ux-design/workflow.md | 8 +- .../steps/step-01-document-discovery.md | 2 +- .../steps/step-02-prd-analysis.md | 2 +- .../steps/step-03-epic-coverage-validation.md | 2 +- .../steps/step-04-ux-alignment.md | 2 +- .../steps/step-05-epic-quality-review.md | 2 +- .../steps/step-06-final-assessment.md | 2 +- .../workflow.md | 2 +- .../architecture-decision-template.md | 1 - .../create-architecture/steps/step-01-init.md | 30 +- .../create-architecture/workflow.md | 2 +- .../steps/step-01-validate-prerequisites.md | 16 +- .../steps/step-02-design-epics.md | 2 +- .../steps/step-03-create-stories.md | 2 +- .../steps/step-04-final-validation.md | 2 +- .../create-epics-and-stories/workflow.md | 2 +- .../code-review/workflow.yaml | 8 +- .../correct-course/workflow.yaml | 30 +- .../create-story/workflow.yaml | 8 +- .../4-implementation/dev-story/workflow.yaml | 6 +- .../retrospective/workflow.yaml | 10 +- .../sprint-planning/workflow.yaml | 13 +- .../sprint-status/workflow.yaml | 7 +- .../create-tech-spec/instructions.md | 8 +- .../create-tech-spec/workflow.yaml | 6 +- .../bmad-quick-flow/quick-dev/workflow.yaml | 6 +- .../document-project/instructions.md | 51 +- .../workflows/document-project/workflow.yaml | 5 +- .../project-context-template.md | 3 +- .../steps/step-01-discover.md | 20 +- .../workflow-status/init/instructions.md | 2 +- .../workflow-status/init/workflow.yaml | 2 +- .../workflows/workflow-status/workflow.yaml | 4 +- src/modules/cis/{readme.md => docs/README.md} | 0 90 files changed, 363 insertions(+), 3099 deletions(-) delete mode 100644 docs/installers-bundlers/ide-injections.md delete mode 100644 docs/installers-bundlers/installers-modules-platforms-reference.md delete mode 100644 src/modules/bmgd/README.md delete mode 100644 src/modules/bmm/docs/faq.md delete mode 100644 src/modules/bmm/docs/glossary.md rename src/modules/cis/{readme.md => docs/README.md} (100%) diff --git a/README.md b/README.md index cca9b121..650de273 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ Each agent brings deep expertise and can be customized to match your team's styl - **Creative Intelligence Suite (CIS)** - Innovation & problem-solving - Brainstorming, design thinking, storytelling - 5 creative facilitation workflows - - [→ Creative Workflows](./src/modules/cis/README.md) + - [→ Creative Workflows](src/modules/cis/docs/README.md) ### Key Features diff --git a/docs/index.md b/docs/index.md index e3b3e8be..d2f5bf0a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -60,7 +60,7 @@ Build your own agents, workflows, and modules. AI-powered creative thinking and brainstorming. -- **[CIS Module README](../src/modules/cis/README.md)** - Module overview and workflows +- **[CIS Module README](../src/modules/cis/docs/README.md)** - Module overview and workflows --- diff --git a/docs/installers-bundlers/ide-injections.md b/docs/installers-bundlers/ide-injections.md deleted file mode 100644 index fd303ecf..00000000 --- a/docs/installers-bundlers/ide-injections.md +++ /dev/null @@ -1,186 +0,0 @@ -# IDE Content Injection Standard - -## Overview - -This document defines the standard for IDE-specific content injection in BMAD modules. Each IDE can inject its own specific content into BMAD templates during installation without polluting the source files with IDE-specific code. The installation process is interactive, allowing users to choose what IDE-specific features they want to install. - -## Architecture - -### 1. Injection Points - -Files that support IDE-specific content define injection points using HTML comments: - -```xml - -``` - -### 2. Module Structure - -Each module that needs IDE-specific content creates a sub-module folder: - -``` -src/modules/{module-name}/sub-modules/{ide-name}/ - ├── injections.yaml # Injection configuration - ├── sub-agents/ # IDE-specific subagents (if applicable) - └── config.yaml # Other IDE-specific config -``` - -### 3. Injection Configuration Format - -The `injections.yaml` file defines what content to inject where: - -```yaml -# injections.yaml structure -injections: - - file: 'relative/path/to/file.md' # Path relative to installation root - point: 'injection-point-name' # Must match IDE-INJECT-POINT name - requires: 'subagent-name' # Which subagent must be selected (or "any") - content: | # Content to inject (preserves formatting) - - Instructions specific to this IDE - - -# Subagents available for installation -subagents: - source: 'sub-agents' # Source folder relative to this config - target: '.claude/agents' # Claude's expected location (don't change) - files: - - 'agent1.md' - - 'agent2.md' -``` - -### 4. Interactive Installation Process - -For Claude Code specifically, the installer will: - -1. **Detect available subagents** from the module's `injections.yaml` -2. **Ask the user** about subagent installation: - - Install all subagents (default) - - Select specific subagents - - Skip subagent installation -3. **Ask installation location** (if subagents selected): - - Project level: `.claude/agents/` - - User level: `~/.claude/agents/` -4. **Copy selected subagents** to the chosen location -5. **Inject only relevant content** based on selected subagents - -Other IDEs can implement their own installation logic appropriate to their architecture. - -## Implementation - -### IDE Installer Responsibilities - -Each IDE installer (e.g., `claude-code.js`) must: - -1. **Check for sub-modules**: Look for `sub-modules/{ide-name}/` in each installed module -2. **Load injection config**: Parse `injections.yaml` if present -3. **Process injections**: Replace injection points with configured content -4. **Copy additional files**: Handle subagents or other IDE-specific files - -### Example Implementation (Claude Code) - -```javascript -async processModuleInjections(projectDir, bmadDir, options) { - for (const moduleName of options.selectedModules) { - const configPath = path.join( - bmadDir, 'src/modules', moduleName, - 'sub-modules/claude-code/injections.yaml' - ); - - if (exists(configPath)) { - const config = yaml.load(configPath); - - // Interactive: Ask user about subagent installation - const choices = await this.promptSubagentInstallation(config.subagents); - - if (choices.install !== 'none') { - // Ask where to install - const location = await this.promptInstallLocation(); - - // Process injections based on selections - for (const injection of config.injections) { - if (this.shouldInject(injection, choices)) { - await this.injectContent(projectDir, injection, choices); - } - } - - // Copy selected subagents - await this.copySelectedSubagents(projectDir, config.subagents, choices, location); - } - } - } -} -``` - -## Benefits - -1. **Clean Source Files**: No IDE-specific conditionals in source -2. **Modular**: Each IDE manages its own injections -3. **Scalable**: Easy to add support for new IDEs -4. **Maintainable**: IDE-specific content lives with IDE config -5. **Flexible**: Different modules can inject different content - -## Adding Support for a New IDE - -1. Create sub-module folder: `src/modules/{module}/sub-modules/{new-ide}/` -2. Add `injections.yaml` with IDE-specific content -3. Update IDE installer to process injections using this standard -4. Test installation with and without the IDE selected - -## Example: BMM Module with Claude Code - -### File Structure - -``` -src/modules/bmm/ -├── agents/pm.md # Has injection point -├── templates/prd.md # Has multiple injection points -└── sub-modules/ - └── claude-code/ - ├── injections.yaml # Defines what to inject - └── sub-agents/ # Claude Code specific subagents - ├── market-researcher.md - ├── requirements-analyst.md - └── ... -``` - -### Injection Point in pm.md - -```xml - - ... - - ... - -``` - -### Injection Configuration - -```yaml -injections: - - file: '_bmad/bmm/agents/pm.md' - point: 'pm-agent-instructions' - requires: 'any' # Injected if ANY subagent is selected - content: | - - Use 'market-researcher' subagent for analysis - - - - file: '_bmad/bmm/templates/prd.md' - point: 'prd-goals-context-delegation' - requires: 'market-researcher' # Only if this specific subagent selected - content: | - DELEGATE: Use 'market-researcher' subagent... -``` - -### Result After Installation - -```xml - - ... - - Use 'market-researcher' subagent for analysis - - ... - -``` diff --git a/docs/installers-bundlers/installers-modules-platforms-reference.md b/docs/installers-bundlers/installers-modules-platforms-reference.md deleted file mode 100644 index 3167045f..00000000 --- a/docs/installers-bundlers/installers-modules-platforms-reference.md +++ /dev/null @@ -1,389 +0,0 @@ -# BMAD Installation & Module System Reference - -## Table of Contents - -1. [Overview](#overview) -2. [Quick Start](#quick-start) -3. [Architecture](#architecture) -4. [Modules](#modules) -5. [Configuration System](#configuration-system) -6. [Platform Integration](#platform-integration) -7. [Development Guide](#development-guide) -8. [Troubleshooting](#troubleshooting) - -## Overview - -BMad Core is a modular AI agent framework with intelligent installation, platform-agnostic support, and configuration inheritance. - -### Key Features - -- **Modular Design**: Core + optional modules (BMB, BMM, CIS) -- **Smart Installation**: Interactive configuration with dependency resolution -- **Clean Architecture**: Centralized `_bmad` directory add to project, no source pollution with multiple folders added - -## Architecture - -### Directory Structure upon installation - -``` -project-root/ -├── _bmad/ # Centralized installation -│ ├── _config/ # Configuration -│ │ ├── agents/ # Agent configs -│ │ └── agent-manifest.csv # Agent manifest -│ ├── core/ # Core module -│ │ ├── agents/ -│ │ ├── tasks/ -│ │ └── config.yaml -│ ├── bmm/ # BMad Method module -│ │ ├── agents/ -│ │ ├── tasks/ -│ │ ├── workflows/ -│ │ └── config.yaml -│ └── cis/ # Creative Innovation Studio -│ └── ... -└── .claude/ # Platform-specific (example) - └── agents/ -``` - -### Installation Flow - -1. **Detection**: Check existing installation -2. **Selection**: Choose modules interactively or via CLI -3. **Configuration**: Collect module-specific settings -4. **Installation**: Compile Process and copy files -5. **Generation**: Create config files with inheritance -6. **Post-Install**: Run module installers -7. **Manifest**: Track installed components - -### Key Exclusions - -- `_module-installer/` directories are never copied to destination -- module.yaml -- `localskip="true"` agents are filtered out -- Source `config.yaml` templates are replaced with generated configs - -## Modules - -### Core Module (Required) - -Foundation framework with C.O.R.E. (Collaboration Optimized Reflection Engine) - -- **Components**: Base agents, activation system, advanced elicitation -- **Config**: `user_name`, `communication_language` - -### BMM Module - -BMad Method for software development workflows - -- **Components**: PM agent, dev tasks, PRD templates, story generation -- **Config**: `project_name`, `tech_docs`, `output_folder`, `story_location` -- **Dependencies**: Core - -### CIS Module - -Creative Innovation Studio for design workflows - -- **Components**: Design agents, creative tasks -- **Config**: `output_folder`, design preferences -- **Dependencies**: Core - -### Module Structure - -``` -src/modules/{module}/ -├── _module-installer/ # Not copied to destination -│ ├── installer.js # Post-install logic -├── module.yaml -├── agents/ -├── tasks/ -├── templates/ -└── sub-modules/ # Platform-specific content - └── {platform}/ - ├── injections.yaml - └── sub-agents/ -``` - -## Configuration System - -### Collection Process - -Modules define prompts in `module.yaml`: - -```yaml -project_name: - prompt: 'Project title?' - default: 'My Project' - result: '{value}' - -output_folder: - prompt: 'Output location?' - default: 'docs' - result: '{project-root}/{value}' - -tools: - prompt: 'Select tools:' - multi-select: - - 'Tool A' - - 'Tool B' -``` - -### Configuration Inheritance - -Core values cascade to ALL modules automatically: - -```yaml -# core/config.yaml -user_name: "Jane" -communication_language: "English" - -# bmm/config.yaml (generated) -project_name: "My App" -tech_docs: "/path/to/docs" -# Core Configuration Values (inherited) -user_name: "Jane" -communication_language: "English" -``` - -**Reserved Keys**: Core configuration keys cannot be redefined by other modules. - -### Path Placeholders - -- `{project-root}`: Project directory path -- `{value}`: User input -- `{module}`: Module name -- `{core:field}`: Reference core config value - -### Config Generation Rules - -1. ALL installed modules get a `config.yaml` (even without prompts) -2. Core values are ALWAYS included in module configs -3. Module-specific values come first, core values appended -4. Source templates are never copied, only generated configs - -## Platform Integration - -### Supported Platforms - -**Preferred** (Full Integration): - -- Claude Code -- Cursor -- Windsurf - -**Additional**: -Cline, Roo, Rovo Dev,Auggie, GitHub Copilot, Codex, Gemini, Qwen, Trae, Kilo, Crush, iFlow - -### Platform Features - -1. **Setup Handler** (`tools/cli/installers/lib/ide/{platform}.js`) - - Directory creation - - Configuration generation - - Agent processing - -2. **Content Injection** (`sub-modules/{platform}/injections.yaml`) - - ```yaml - injections: - - file: '_bmad/bmm/agents/pm.md' - point: 'pm-agent-instructions' - content: | - Platform-specific instruction - - subagents: - source: 'sub-agents' - target: '.claude/agents' - files: ['agent.md'] - ``` - -3. **Interactive Config** - - Subagent selection - - Installation scope (project/user) - - Feature toggles - -### Injection System - -Platform-specific content without source modification: - -- Inject points marked in source: `` -- Content added during installation only -- Source files remain clean - -## Development Guide - -### Creating a Module - -1. **Structure** - - ``` - src/modules/mymod/ - ├── _module-installer/ - │ ├── installer.js - ├── module.yaml - ├── agents/ - └── tasks/ - ``` - -2. **Configuration** (`module.yaml`) - - ```yaml - code: mymod - name: 'My Module' - prompt: 'Welcome message' - - setting_name: - prompt: 'Configure X?' - default: 'value' - ``` - -3. **Installer** (`installer.js`) - ```javascript - async function install(options) { - const { projectRoot, config, installedIDEs, logger } = options; - // Custom logic - return true; - } - module.exports = { install }; - ``` - -### Adding Platform Support - -1. Create handler: `tools/cli/installers/lib/ide/myplatform.js` -2. Extend `BaseIdeSetup` class -3. Add sub-module: `src/modules/{mod}/sub-modules/myplatform/` -4. Define injections and platform agents - -### Agent Configuration - -Extractable config nodes: - -```xml - - - Default value - - -``` - -Generated in: `bmad/_config/agents/{module}-{agent}.md` - -## Troubleshooting - -### Common Issues - -| Issue | Solution | -| ----------------------- | ------------------------------------ | -| Existing installation | Use `bmad update` or remove `_bmad/` | -| Module not found | Check `src/modules/` exists | -| Config not applied | Verify `_bmad/{module}/config.yaml` | -| Missing config.yaml | Fixed: All modules now get configs | -| Agent unavailable | Check for `localskip="true"` | -| module-installer copied | Fixed: Now excluded from copy | - -### Debug Commands - -```bash -bmad install -v # Verbose installation -bmad status -v # Detailed status -``` - -### Best Practices - -1. Run from project root -2. Backup `_bmad/_config/` before updates -3. Use interactive mode for guidance -4. Review generated configs post-install - -## Migration from v4 - -| v4 | v6 | -| ------------------- | -------------------- | -| Scattered files | Centralized `_bmad/` | -| Monolithic | Modular | -| Manual config | Interactive setup | -| Limited IDE support | 15+ platforms | -| Source modification | Clean injection | - -## Technical Notes - -### Dependency Resolution - -- Direct dependencies (module → module) -- Agent references (cross-module) -- Template dependencies -- Partial module installation (only required files) -- Workflow vendoring for standalone module operation - -## Workflow Vendoring - -**Problem**: Modules that reference workflows from other modules create dependencies, forcing users to install multiple modules even when they only need one. - -**Solution**: Workflow vendoring allows modules to copy workflows from other modules during installation, making them fully standalone. - -### How It Works - -Agents can specify both `workflow` (source location) and `workflow-install` (destination location) in their menu items: - -```yaml -menu: - - trigger: create-story - workflow: '{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml' - workflow-install: '{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml' - description: 'Create a game feature story' -``` - -**During Installation:** - -1. **Vendoring Phase**: Before copying module files, the installer: - - Scans source agent YAML files for `workflow-install` attributes - - Copies entire workflow folders from `workflow` path to `workflow-install` path - - Updates vendored `workflow.yaml` files to reference target module's config - -2. **Compilation Phase**: When compiling agents: - - If `workflow-install` exists, uses its value for the `workflow` attribute - - `workflow-install` is build-time metadata only, never appears in final XML - - Compiled agent references vendored workflow location - -3. **Config Update**: Vendored workflows get their `config_source` updated: - - ```yaml - # Source workflow (in bmm): - config_source: "{project-root}/_bmad/bmm/config.yaml" - - # Vendored workflow (in bmgd): - config_source: "{project-root}/_bmad/bmgd/config.yaml" - ``` - -**Result**: Modules become completely standalone with their own copies of needed workflows, configured for their specific use case. - -### Example Use Case: BMGD Module - -The BMad Game Development module vendors implementation workflows from BMM: - -- Game Dev Scrum Master agent references BMM workflows -- During installation, workflows are copied to `bmgd/workflows/4-production/` -- Vendored workflows use BMGD's config (with game-specific settings) -- BMGD can be installed without BMM dependency - -### Benefits - -✅ **Module Independence** - No forced dependencies -✅ **Clean Namespace** - Workflows live in their module -✅ **Config Isolation** - Each module uses its own configuration -✅ **Customization Ready** - Vendored workflows can be modified independently -✅ **No User Confusion** - Avoid partial module installations - -### File Processing - -- Filters `localskip="true"` agents -- Excludes `_module-installer/` directories -- Replaces path placeholders at runtime -- Injects activation blocks -- Vendors cross-module workflows (see Workflow Vendoring below) - -### Web Bundling - -```bash -bmad bundle --web # Filter for web deployment -npm run validate:bundles # Validate bundles -``` diff --git a/src/modules/bmb/docs/README.md b/src/modules/bmb/docs/README.md index 1632afaf..f0fa192b 100644 --- a/src/modules/bmb/docs/README.md +++ b/src/modules/bmb/docs/README.md @@ -18,8 +18,6 @@ Specialized tools and workflows for creating, customizing, and extending BMad co There is a dedicated Agent expert, a Workflow Expert, and a Module Expert agent available! -### 📋 Workflows - ### 📚 Documentation - Comprehensive guides for agents, workflows, and modules diff --git a/src/modules/bmgd/README.md b/src/modules/bmgd/README.md deleted file mode 100644 index 0084d42f..00000000 --- a/src/modules/bmgd/README.md +++ /dev/null @@ -1,209 +0,0 @@ -# BMad Game Development (BMGD) - -A comprehensive game development toolkit providing specialized agents and workflows for creating games from initial concept through production. - -## Overview - -The BMGD module brings together game-specific development workflows organized around industry-standard development phases: - -- **Preproduction** - Concept development, brainstorming, game brief creation -- **Design** - Game Design Document (GDD) and narrative design -- **Technical** - Game architecture and technical specifications -- **Production** - Sprint-based implementation using BMM workflows - -## Installation - -```bash -bmad install bmgd -``` - -During installation, you'll be asked to configure: - -- Game project name -- Document storage locations -- Development experience level -- Primary target platform - -## Components - -### Agents (4) - -**Game Designer** 🎨 -Creative vision and game design documentation specialist. Creates compelling GDDs and defines game mechanics. - -**Game Developer** 🕹️ -Senior implementation specialist with expertise across Unity, Unreal, and custom engines. Handles gameplay programming, physics, AI, and optimization. - -**Game Architect** 🏗️ -Technical systems and infrastructure expert. Designs scalable game architecture and engine-level solutions. - -**Game Dev Scrum Master** 🎯 -Sprint orchestrator specialized in game development workflows. Coordinates multi-disciplinary teams and translates GDDs into actionable development stories. - -### Team Bundle - -**Team Game Development** 🎮 -Pre-configured team including Game Designer, Game Developer, and Game Architect for comprehensive game projects. - -### Workflows - -#### Phase 1: Preproduction - -- **brainstorm-game** - Interactive game concept brainstorming -- **game-brief** - Create focused game brief document - -#### Phase 2: Design - -- **gdd** - Generate comprehensive Game Design Document -- **narrative** - Design narrative structure and story elements - -#### Phase 3: Technical - -- **game-architecture** - Define technical architecture (adapted from BMM architecture workflow) - -#### Phase 4: Production - -Production workflows are provided by the BMM module and accessible through the Game Dev Scrum Master agent: - -- Sprint planning -- Story creation and management -- Epic technical specifications -- Code review and retrospectives - -## Quick Start - -### 1. Start with Concept Development - -``` -Load agent: game-designer -Run workflow: brainstorm-game -``` - -### 2. Create Game Brief - -``` -Run workflow: game-brief -``` - -### 3. Develop Game Design Document - -``` -Run workflow: gdd -``` - -### 4. Define Technical Architecture - -``` -Load agent: game-architect -Run workflow: game-architecture -``` - -### 5. Begin Production Sprints - -``` -Load agent: game-scrum-master -Run: *sprint-planning -``` - -## Module Structure - -``` -bmgd/ -├── agents/ -│ ├── game-designer.agent.yaml -│ ├── game-dev.agent.yaml -│ ├── game-architect.agent.yaml -│ └── game-scrum-master.agent.yaml -├── teams/ -│ └── team-gamedev.yaml -├── workflows/ -│ ├── 1-preproduction/ -│ │ ├── brainstorm-game/ -│ │ └── game-brief/ -│ ├── 2-design/ -│ │ ├── gdd/ -│ │ └── narrative/ -│ ├── 3-technical/ -│ │ └── game-architecture/ -│ └── 4-production/ -│ (Uses BMM workflows via cross-module references) -├── templates/ -├── data/ -├── module.yaml -└── _module-installer/ - └── installer.js (optional) -``` - -## Configuration - -After installation, configure the module in `_bmad/bmgd/config.yaml` - -Key settings: - -- **game_project_name** - Your game's working title -- **game_design_docs** - Location for GDD and design documents -- **game_tech_docs** - Location for technical documentation -- **game_story_location** - Location for development user stories -- **game_dev_experience** - Your experience level (affects agent communication) -- **primary_platform** - Target platform (PC, mobile, console, web, multi-platform) - -## Workflow Integration - -BMGD leverages the BMM module for production/implementation workflows. The Game Dev Scrum Master agent provides access to: - -- Sprint planning and management -- Story creation from GDD specifications -- Epic technical context generation -- Code review workflows -- Retrospectives and course correction - -This separation allows BMGD to focus on game-specific design and architecture while using battle-tested agile implementation workflows. - -## Example: Creating a 2D Platformer - -1. **Brainstorm** concepts with `brainstorm-game` workflow -2. **Define** the vision with `game-brief` workflow -3. **Design** mechanics and progression with `gdd` workflow -4. **Craft** character arcs and story with `narrative` workflow -5. **Architect** technical systems with `game-architecture` workflow -6. **Implement** via Game Dev Scrum Master sprint workflows - -## Development Roadmap - -### Phase 1: Core Enhancement - -- [ ] Customize game-architecture workflow for game-specific patterns -- [ ] Add game-specific templates (level design, character sheets, etc.) -- [ ] Create asset pipeline workflows - -### Phase 2: Expanded Features - -- [ ] Add monetization planning workflows -- [ ] Create playtesting and feedback workflows -- [ ] Develop game balancing tools - -### Phase 3: Platform Integration - -- [ ] Add platform-specific deployment workflows -- [ ] Create build and release automation -- [ ] Develop live ops workflows - -## Contributing - -To extend this module: - -1. Add new agents using `/bmad:bmb:workflows:create-agent` -2. Add new workflows using `/bmad:bmb:workflows:create-workflow` -3. Submit improvements via pull request - -## Dependencies - -- **BMM Module** - Required for production/implementation workflows - -## Author - -Extracted and refined from BMM module on 2025-11-05 - -## License - -Part of the BMAD Method ecosystem diff --git a/src/modules/bmgd/_module-installer/installer.js b/src/modules/bmgd/_module-installer/installer.js index 8b1bbfc3..5d9eca0f 100644 --- a/src/modules/bmgd/_module-installer/installer.js +++ b/src/modules/bmgd/_module-installer/installer.js @@ -46,8 +46,8 @@ async function install(options) { } // Create implementation artifacts directory (sprint status, stories, reviews) - // Check both implementation_artifacts and sprint_artifacts for compatibility - const implConfig = config['implementation_artifacts'] || config['sprint_artifacts']; + // Check both implementation_artifacts and implementation_artifacts for compatibility + const implConfig = config['implementation_artifacts'] || config['implementation_artifacts']; if (implConfig && typeof implConfig === 'string') { // Strip project-root prefix variations const implConfigClean = implConfig.replace(/^\{project-root\}\/?/, ''); diff --git a/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml b/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml index b5e4219a..9ab42a47 100644 --- a/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml @@ -11,8 +11,8 @@ communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +implementation_artifacts: "{config_source}:implementation_artifacts" +sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Workflow components installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/code-review" @@ -23,7 +23,7 @@ template: false variables: # Project context project_context: "**/project-context.md" - story_dir: "{sprint_artifacts}" + story_dir: "{implementation_artifacts}" # Smart input file references - game-specific patterns # Priority: Whole document first, then sharded version diff --git a/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml b/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml index cfa40943..0af8a84e 100644 --- a/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml @@ -10,8 +10,8 @@ communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +implementation_artifacts: "{config_source}:implementation_artifacts" +sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version diff --git a/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml b/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml index e76e1a10..6f86649d 100644 --- a/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml @@ -8,8 +8,8 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -story_dir: "{sprint_artifacts}" +implementation_artifacts: "{config_source}:implementation_artifacts" +story_dir: "{implementation_artifacts}" # Workflow components installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/create-story" @@ -19,7 +19,7 @@ validation: "{installed_path}/checklist.md" # Variables and inputs variables: - sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking + sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown prd_file: "{output_folder}/PRD.md" # Fallback for requirements architecture_file: "{output_folder}/architecture.md" # Optional architecture context diff --git a/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml b/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml index 55af0ba5..dd213876 100644 --- a/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml @@ -9,14 +9,14 @@ user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" -story_dir: "{config_source}:sprint_artifacts" +story_dir: "{config_source}:implementation_artifacts" date: system-generated story_file: "" # Explicit story path; auto-discovered if empty # Context file uses same story_key as story file (e.g., "1-2-user-authentication.context.xml") context_file: "{story_dir}/{{story_key}}.context.xml" -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +implementation_artifacts: "{config_source}:implementation_artifacts" +sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version @@ -40,7 +40,7 @@ input_file_patterns: tech_spec: description: "Technical specification" whole: "{output_folder}/tech-spec*.md" - sharded: "{sprint_artifacts}/tech-spec-epic-*.md" + sharded: "{implementation_artifacts}/tech-spec-epic-*.md" load_strategy: "SELECTIVE_LOAD" ux_design: description: "UX design specification (if UI)" diff --git a/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml b/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml index bcc8ca70..4bbb3000 100644 --- a/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml @@ -10,7 +10,7 @@ communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/retrospective" template: false @@ -41,7 +41,7 @@ input_file_patterns: load_strategy: "SELECTIVE_LOAD" previous_retrospective: description: "Previous retrospective (optional)" - pattern: "{sprint_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" + pattern: "{implementation_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" load_strategy: "SELECTIVE_LOAD" architecture: description: "Game architecture and technical decisions" @@ -54,9 +54,9 @@ input_file_patterns: load_strategy: "INDEX_GUIDED" # Required files -sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" -story_directory: "{sprint_artifacts}" -retrospectives_folder: "{sprint_artifacts}" +sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +story_directory: "{implementation_artifacts}" +retrospectives_folder: "{implementation_artifacts}" standalone: true web_bundle: false diff --git a/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml b/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml index fd850d21..0d0a0d9e 100644 --- a/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml @@ -8,7 +8,7 @@ output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" # Workflow components installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-planning" @@ -23,15 +23,15 @@ variables: # Tracking system configuration tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello - story_location: "{config_source}:sprint_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello - story_location_absolute: "{config_source}:sprint_artifacts" # Absolute path for file operations + story_location: "{config_source}:implementation_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello + story_location_absolute: "{config_source}:implementation_artifacts" # Absolute path for file operations # Source files (file-system only) epics_location: "{output_folder}" # Directory containing epic*.md files epics_pattern: "epic*.md" # Pattern to find epic files # Output configuration - status_file: "{sprint_artifacts}/sprint-status.yaml" + status_file: "{implementation_artifacts}/sprint-status.yaml" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version diff --git a/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml b/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml index 410ac1bb..7824ced7 100644 --- a/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml @@ -10,7 +10,7 @@ user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" # Workflow components installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-status" @@ -18,14 +18,14 @@ instructions: "{installed_path}/instructions.md" # Inputs variables: - sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" tracking_system: "file-system" # Smart input file references input_file_patterns: sprint_status: description: "Sprint status file generated by sprint-planning" - whole: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + whole: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" load_strategy: "FULL_LOAD" # Standalone so IDE commands get generated diff --git a/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md b/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md index ad5f2531..29c5494c 100644 --- a/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md +++ b/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md @@ -27,7 +27,7 @@ - Existing code to integrate with? -Check for existing context in {output_folder} and {sprint_artifacts} +Check for existing context in {output_folder} and {implementation_artifacts} [a] Advanced Elicitation [c] Continue [p] Party Mode @@ -113,7 +113,7 @@ -Save to {sprint_artifacts}/tech-spec-{slug}.md +Save to {implementation_artifacts}/tech-spec-{slug}.md @@ -123,7 +123,7 @@ **Tech-Spec Complete!** 🎮 -Saved to: {sprint_artifacts}/tech-spec-{slug}.md +Saved to: {implementation_artifacts}/tech-spec-{slug}.md [a] Advanced Elicitation - refine further [b] Begin Development (not recommended - fresh context better) diff --git a/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml b/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml index 31b6421f..b2f0c66b 100644 --- a/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +++ b/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml @@ -6,7 +6,7 @@ author: "BMad" # Config config_source: "{project-root}/_bmad/bmgd/config.yaml" output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" diff --git a/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml b/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml index 5aed030b..73a71355 100644 --- a/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +++ b/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml @@ -6,7 +6,7 @@ author: "BMad" # Config config_source: "{project-root}/_bmad/bmgd/config.yaml" output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:game_dev_experience" diff --git a/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml b/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml index b56c742d..23e5d34c 100644 --- a/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +++ b/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml @@ -6,7 +6,7 @@ author: "BMad" # Config config_source: "{project-root}/_bmad/bmgd/config.yaml" output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:game_dev_experience" diff --git a/src/modules/bmgd/workflows/workflow-status/init/instructions.md b/src/modules/bmgd/workflows/workflow-status/init/instructions.md index c1123b33..6d6f1d23 100644 --- a/src/modules/bmgd/workflows/workflow-status/init/instructions.md +++ b/src/modules/bmgd/workflows/workflow-status/init/instructions.md @@ -15,7 +15,7 @@ - BMGD artifacts: GDD, game brief, architecture, narrative design - Implementation: stories, sprint-status, workflow-status - Game project: engine files (Unity, Unreal, Godot), source directories -- Check both {output_folder} and {sprint_artifacts} locations +- Check both {output_folder} and {implementation_artifacts} locations Categorize into one of these states: diff --git a/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml b/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml index aa5ce089..c76418ae 100644 --- a/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml +++ b/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml @@ -6,7 +6,7 @@ author: "BMad" # Critical variables from config config_source: "{project-root}/_bmad/bmgd/config.yaml" output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" user_name: "{config_source}:user_name" project_name: "{config_source}:project_name" communication_language: "{config_source}:communication_language" diff --git a/src/modules/bmm/README.md b/src/modules/bmm/README.md index 2859b929..39b6b5a7 100644 --- a/src/modules/bmm/README.md +++ b/src/modules/bmm/README.md @@ -44,10 +44,9 @@ bmm/ **Phase 0:** Documentation (brownfield only) **Phase 1:** Analysis (optional) - 5 workflows -**Phase 2:** Planning (required) - 6 workflows -**Phase 3:** Solutioning (Level 3-4) - 2 workflows -**Phase 4:** Implementation (iterative) - 10 workflows -**Testing:** Quality assurance (parallel) - 9 workflows +**Phase 2:** Planning (required) - 2 workflows +**Phase 3:** Solutioning (required) - 3 workflows +**Phase 4:** Implementation (iterative) - 7 workflows 👉 **[Workflow Guides](./docs/README.md#-workflow-guides)** - Detailed documentation for each phase diff --git a/src/modules/bmm/_module-installer/installer.js b/src/modules/bmm/_module-installer/installer.js index d5ddf930..dff6a7f7 100644 --- a/src/modules/bmm/_module-installer/installer.js +++ b/src/modules/bmm/_module-installer/installer.js @@ -63,9 +63,9 @@ async function install(options) { } // Create dev story location if configured - if (config['sprint_artifacts']) { + if (config['implementation_artifacts']) { // Strip {project-root}/ prefix if present - const storyConfig = config['sprint_artifacts'].replace('{project-root}/', ''); + const storyConfig = config['implementation_artifacts'].replace('{project-root}/', ''); const storyPath = path.join(projectRoot, storyConfig); if (!(await fs.pathExists(storyPath))) { logger.log(chalk.yellow(`Creating story directory: ${storyConfig}`)); diff --git a/src/modules/bmm/agents/dev.agent.yaml b/src/modules/bmm/agents/dev.agent.yaml index 6cd13ed8..fbc5505c 100644 --- a/src/modules/bmm/agents/dev.agent.yaml +++ b/src/modules/bmm/agents/dev.agent.yaml @@ -43,10 +43,6 @@ agent: workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml" description: "[CR] Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)" - - trigger: QD or quick-dev or fuzzy match on quick dev - workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/quick-dev/workflow.yaml" - description: "[QD] Flexible development - execute tech-specs OR direct instructions (optional)" - - trigger: PS or party-mode or fuzzy match on party mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" description: "[PS] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml b/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml index 23a6a813..6c09fd79 100644 --- a/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +++ b/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml @@ -25,3 +25,7 @@ agent: - trigger: QD or quick-dev or fuzzy match on quick dev workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml" description: "[QD] Implement the tech spec end-to-end solo (Core of Quick Flow)" + + - trigger: CR or code-review or fuzzy match on code review + workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml" + description: "[CR] Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)" diff --git a/src/modules/bmm/docs/README.md b/src/modules/bmm/docs/README.md index 4a9bfa7d..5e0dd290 100644 --- a/src/modules/bmm/docs/README.md +++ b/src/modules/bmm/docs/README.md @@ -8,7 +8,7 @@ Complete guides for the BMad Method Module (BMM) - AI-powered agile development **New to BMM?** Start here: -- **[Quick Start Guide](./quick-start.md)** - Step-by-step guide to building your first project (15 min read) +- **[Quick Start Guide](./quick-start.md)** - Step-by-step guide to building your first project - Installation and setup - Understanding the four phases - Running your first workflows @@ -20,44 +20,40 @@ Complete guides for the BMad Method Module (BMM) - AI-powered agile development **[Complete Workflow Diagram](./images/workflow-method-greenfield.svg)** - Visual flowchart showing all phases, agents (color-coded), and decision points for the BMad Method standard greenfield track. ---- - ## 📖 Core Concepts Understanding how BMM adapts to your needs: -- **[Scale Adaptive System](./scale-adaptive-system.md)** - How BMM adapts to project size and complexity (42 min read) +- **[Scale Adaptive System](./scale-adaptive-system.md)** - How BMM adapts to project size and complexity - Three planning tracks (Quick Flow, BMad Method, Enterprise Method) - Automatic track recommendation - Documentation requirements per track - Planning workflow routing -- **[BMAD Quick Flow](./bmad-quick-flow.md)** - Fast-track development workflow (32 min read) +- **[BMAD Quick Flow](./bmad-quick-flow.md)** - Fast-track development workflow - 3-step process: spec → dev → optional review - Perfect for bug fixes and small features - Rapid prototyping with production quality - Hours to implementation, not days - Barry (Quick Flow Solo Dev) agent owned -- **[Quick Flow Solo Dev Agent](./quick-flow-solo-dev.md)** - Elite solo developer for rapid development (18 min read) +- **[Quick Flow Solo Dev Agent](./quick-flow-solo-dev.md)** - Elite solo developer for rapid development - Barry is an elite developer who thrives on autonomous execution - Lives and breathes the BMAD Quick Flow workflow - Takes projects from concept to deployment with ruthless efficiency - No handoffs, no delays - just pure focused development ---- - ## 🤖 Agents and Collaboration Complete guide to BMM's AI agent team: -- **[Agents Guide](./agents-guide.md)** - Comprehensive agent reference (45 min read) +- **[Agents Guide](./agents-guide.md)** - Comprehensive agent reference - 12 specialized BMM agents + BMad Master - Agent roles, workflows, and when to use them - Agent customization system - Best practices and common patterns -- **[Party Mode Guide](./party-mode.md)** - Multi-agent collaboration (20 min read) +- **[Party Mode Guide](./party-mode.md)** - Multi-agent collaboration - How party mode works (19+ agents collaborate in real-time) - When to use it (strategic, creative, cross-functional, complex) - Example party compositions @@ -65,21 +61,17 @@ Complete guide to BMM's AI agent team: - Agent customization in party mode - Best practices ---- - ## 🔧 Working with Existing Code Comprehensive guide for brownfield development: -- **[Brownfield Development Guide](./brownfield-guide.md)** - Complete guide for existing codebases (53 min read) +- **[Brownfield Development Guide](./brownfield-guide.md)** - Complete guide for existing codebases - Documentation phase strategies - Track selection for brownfield - Integration with existing patterns - Phase-by-phase workflow guidance - Common scenarios ---- - ## 📚 Quick References Essential reference materials: @@ -88,8 +80,6 @@ Essential reference materials: - **[FAQ](./faq.md)** - Frequently asked questions across all topics - **[Enterprise Agentic Development](./enterprise-agentic-development.md)** - Team collaboration strategies ---- - ## 🎯 Choose Your Path ### I need to... @@ -109,11 +99,6 @@ Essential reference materials: **Understand planning tracks and methodology** → See [Scale Adaptive System](./scale-adaptive-system.md) -**Find specific commands or answers** -→ Check [FAQ](./faq.md) - ---- - ## 📋 Workflow Guides Comprehensive documentation for all BMM workflows organized by phase: @@ -162,18 +147,6 @@ For detailed technical documentation on specific complex workflows: - Implementation patterns for agent consistency - Adaptive facilitation approach ---- - -## 🧪 Testing and Quality - -Quality assurance guidance: - - - -- Test design workflows -- Quality gates -- Risk assessment - ## 🏗️ Module Structure Understanding BMM components: @@ -184,8 +157,6 @@ Understanding BMM components: - Teams and collaboration - Best practices ---- - ## 🌐 External Resources ### Community and Support @@ -194,56 +165,4 @@ Understanding BMM components: - **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs or request features - **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Video tutorials and walkthroughs -### Additional Documentation - -- **[IDE Setup Guides](../../../docs/ide-info/)** - Configure your development environment - - Claude Code - - Cursor - - Windsurf - - VS Code - - Other IDEs - ---- - -## 📊 Documentation Map - -```mermaid -flowchart TD - START[New to BMM?] - START --> QS[Quick Start Guide] - - QS --> DECIDE{What are you building?} - - DECIDE -->|Bug fix or
small feature| QF[BMAD Quick Flow] - DECIDE -->|Need rapid
development| PE[Principal Engineer] - DECIDE -->|New project| SAS[Scale Adaptive System] - DECIDE -->|Existing codebase| BF[Brownfield Guide] - - QF --> IMPL[Implementation] - PE --> IMPL - SAS --> IMPL - BF --> IMPL - - IMPL --> REF[Quick References
Glossary, FAQ] - - style START fill:#bfb,stroke:#333,stroke-width:2px,color:#000 - style QS fill:#bbf,stroke:#333,stroke-width:2px,color:#000 - style DECIDE fill:#ffb,stroke:#333,stroke-width:2px,color:#000 - style QF fill:#e1f5fe,stroke:#333,stroke-width:2px,color:#000 - style PE fill:#fff3e0,stroke:#333,stroke-width:2px,color:#000 - style IMPL fill:#f9f,stroke:#333,stroke-width:2px,color:#000 -``` - ---- - -## 💡 Tips for Using This Documentation - -1. **Start with Quick Start** if you're new - it provides the essential foundation -2. **Use the FAQ** to find quick answers without reading entire guides -3. **Bookmark Glossary** for terminology references while reading other docs -4. **Follow the suggested paths** above based on your specific situation -5. **Join Discord** for interactive help and community insights - ---- - **Ready to begin?** → [Start with the Quick Start Guide](./quick-start.md) diff --git a/src/modules/bmm/docs/agents-guide.md b/src/modules/bmm/docs/agents-guide.md index b8643f34..53a7db2d 100644 --- a/src/modules/bmm/docs/agents-guide.md +++ b/src/modules/bmm/docs/agents-guide.md @@ -1,1087 +1,144 @@ -# BMad Method Agents Guide +# BMM Agents Reference -**Complete reference for all BMM agents, their roles, workflows, and collaboration** - -**Reading Time:** ~45 minutes +Quick reference of what each agent can do based on their available commands. --- -## Table of Contents +## Analyst (Mary) | `/bmad:bmm:agents:analyst` -- [Overview](#overview) -- [Core Development Agents](#core-development-agents) -- [Game Development Agents](#game-development-agents) -- [Special Purpose Agents](#special-purpose-agents) -- [Party Mode: Multi-Agent Collaboration](#party-mode-multi-agent-collaboration) -- [Workflow Access](#workflow-access) -- [Agent Customization](#agent-customization) -- [Best Practices](#best-practices) -- [Agent Reference Table](#agent-reference-table) +Business analysis and research. + +**Capabilities:** + +- `*workflow-status` - Get workflow status or initialize tracking +- `*brainstorm-project` - Guided brainstorming session +- `*research` - Market, domain, competitive, or technical research +- `*product-brief` - Create a product brief (input for PRD) +- `*document-project` - Document existing brownfield projects +- Party mode and advanced elicitation --- -## Overview +## PM (John) | `/bmad:bmm:agents:pm` -The BMad Method Module (BMM) provides a comprehensive team of specialized AI agents that guide you through the complete software development lifecycle. Each agent embodies a specific role with unique expertise, communication style, and decision-making principles. +Product requirements and planning. -**Philosophy:** AI agents act as expert collaborators, not code monkeys. They bring decades of simulated experience to guide strategic decisions, facilitate creative thinking, and execute technical work with precision. +**Capabilities:** -### All BMM Agents - -**Core Development (9 agents):** - -- PM (Product Manager) -- Analyst (Business Analyst) -- Architect (System Architect) -- SM (Scrum Master) -- DEV (Developer) -- TEA (Test Architect) -- UX Designer -- Technical Writer -- Principal Engineer (Technical Leader) - NEW! - -**Game Development (3 agents):** - -- Game Designer -- Game Developer -- Game Architect - -**Meta (1 core agent):** - -- BMad Master (Orchestrator) - -**Total:** 13 agents + cross-module party mode support +- `*workflow-status` - Get workflow status or initialize tracking +- `*create-prd` - Create Product Requirements Document +- `*create-epics-and-stories` - Break PRD into epics and user stories (after Architecture) +- `*implementation-readiness` - Validate PRD, UX, Architecture, Epics alignment +- `*correct-course` - Course correction during implementation +- Party mode and advanced elicitation --- -## Core Development Agents +## Architect (Winston) | `/bmad:bmm:agents:architect` -### PM (Product Manager) - John 📋 +System architecture and technical design. -**Role:** Investigative Product Strategist + Market-Savvy PM +**Capabilities:** -**When to Use:** - -- Creating Product Requirements Documents (PRD) for Level 2-4 projects -- Creating technical specifications for small projects (Level 0-1) -- Breaking down requirements into epics and stories (after architecture) -- Validating planning documents -- Course correction during implementation - -**Primary Phase:** Phase 2 (Planning) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `create-prd` - Create PRD for Level 2-4 projects (creates FRs/NFRs only) -- `tech-spec` - Quick spec for Level 0-1 projects -- `create-epics-and-stories` - Break PRD into implementable pieces (runs AFTER architecture) -- `implementation-readiness` - Validate PRD + Architecture + Epics + UX (optional) -- `correct-course` - Handle mid-project changes -- `workflow-init` - Initialize workflow tracking - -**Communication Style:** Direct and analytical. Asks probing questions to uncover root causes. Uses data to support recommendations. Precise about priorities and trade-offs. - -**Expertise:** - -- Market research and competitive analysis -- User behavior insights -- Requirements translation -- MVP prioritization -- Scale-adaptive planning (Levels 0-4) +- `*workflow-status` - Get workflow status or initialize tracking +- `*create-architecture` - Create architecture document to guide development +- `*implementation-readiness` - Validate PRD, UX, Architecture, Epics alignment +- `*create-excalidraw-diagram` - System architecture or technical diagrams +- `*create-excalidraw-dataflow` - Data flow diagrams +- Party mode and advanced elicitation --- -### Analyst (Business Analyst) - Mary 📊 +## SM (Bob) | `/bmad:bmm:agents:sm` -**Role:** Strategic Business Analyst + Requirements Expert +Sprint planning and story preparation. -**When to Use:** +**Capabilities:** -- Project brainstorming and ideation -- Creating product briefs for strategic planning -- Conducting research (market, technical, competitive) -- Documenting existing projects (brownfield) - -**Primary Phase:** Phase 1 (Analysis) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `brainstorm-project` - Ideation and solution exploration -- `product-brief` - Define product vision and strategy -- `research` - Multi-type research system -- `document-project` - Brownfield comprehensive documentation -- `workflow-init` - Initialize workflow tracking - -**Communication Style:** Analytical and systematic. Presents findings with data support. Asks questions to uncover hidden requirements. Structures information hierarchically. - -**Expertise:** - -- Requirements elicitation -- Market and competitive analysis -- Strategic consulting -- Data-driven decision making -- Brownfield codebase analysis +- `*sprint-planning` - Generate sprint-status.yaml from epic files +- `*create-story` - Create story from epic (prep for development) +- `*validate-create-story` - Validate story quality +- `*epic-retrospective` - Team retrospective after epic completion +- `*correct-course` - Course correction during implementation +- Party mode and advanced elicitation --- -### Architect - Winston 🏗️ +## DEV (Amelia) | `/bmad:bmm:agents:dev` -**Role:** System Architect + Technical Design Leader +Story implementation and code review. -**When to Use:** +**Capabilities:** -- Creating system architecture for Level 2-4 projects -- Making technical design decisions -- Validating architecture documents -- Validating readiness for implementation phase (Phase 3 to Phase 4 transition) -- Course correction during implementation - -**Primary Phase:** Phase 3 (Solutioning) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `create-architecture` - Produce a Scale Adaptive Architecture -- `implementation-readiness` - Validate PRD + Architecture + Epics + UX (optional) - -**Communication Style:** Comprehensive yet pragmatic. Uses architectural metaphors. Balances technical depth with accessibility. Connects decisions to business value. - -**Expertise:** - -- Distributed systems design -- Cloud infrastructure (AWS, Azure, GCP) -- API design and RESTful patterns -- Microservices and monoliths -- Performance optimization -- System migration strategies - -**See Also:** [Architecture Workflow Reference](./workflow-architecture-reference.md) for detailed architecture workflow capabilities. +- `*dev-story` - Execute story workflow (implementation with tests) +- `*code-review` - Thorough code review --- -### SM (Scrum Master) - Bob 🏃 +## Quick Flow Solo Dev (Barry) | `/bmad:bmm:agents:quick-flow-solo-dev` -**Role:** Technical Scrum Master + Story Preparation Specialist +Fast solo development without handoffs. -**When to Use:** +**Capabilities:** -- Sprint planning and tracking initialization -- Creating user stories -- Assembling dynamic story context -- Epic-level technical context (optional) -- Marking stories ready for development -- Sprint retrospectives - -**Primary Phase:** Phase 4 (Implementation) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `sprint-planning` - Initialize `sprint-status.yaml` tracking -- `create-story` - Create next story from epic (sets status to `ready-for-dev`) -- `validate-create-story` - Optional quality check (does not change status; run before dev-story for extra validation) -- `epic-retrospective` - Post-epic review -- `correct-course` - Handle changes during implementation - -**Story handoff sequence:** `create-story` → (optional) `validate-create-story` → `dev-story` - -**Communication Style:** Task-oriented and efficient. Direct and eliminates ambiguity. Focuses on clear handoffs and developer-ready specifications. - -**Expertise:** - -- Agile ceremonies -- Story preparation and context injection -- Development coordination -- Process integrity -- Just-in-time design +- `*create-tech-spec` - Architect technical spec with implementation-ready stories +- `*quick-dev` - Implement tech spec end-to-end solo +- `*code-review` - Review and improve code --- -### DEV (Developer) - Amelia 💻 +## TEA (Murat) | `/bmad:bmm:agents:tea` -**Role:** Senior Implementation Engineer +Test architecture and quality strategy. -**When to Use:** +**Capabilities:** -- Implementing stories with tests -- Performing code reviews on completed stories -- Marking stories complete after Definition of Done met - -**Primary Phase:** Phase 4 (Implementation) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `dev-story` - Implement story with: - - Task-by-task iteration - - Test-driven development - - Multi-run capability (initial + fixes) - - Strict file boundary enforcement -- `code-review` - Senior developer-level review with: - - Story context awareness - - Epic-tech-context alignment - - Repository docs reference - - MCP server best practices - - Web search fallback - -**Communication Style:** Succinct and checklist-driven. Cites file paths and acceptance criteria IDs. Only asks questions when inputs are missing. - -**Critical Principles:** - -- Story Context XML is single source of truth -- Never start until story Status == Approved -- All acceptance criteria must be satisfied -- Tests must pass 100% before completion -- No cheating or lying about test results -- Multi-run support for fixing issues post-review - -**Expertise:** - -- Full-stack implementation -- Test-driven development (TDD) -- Code quality and design patterns -- Existing codebase integration -- Performance optimization +- `*framework` - Initialize production-ready test framework +- `*atdd` - Generate E2E tests first (before implementation) +- `*automate` - Comprehensive test automation +- `*test-design` - Create comprehensive test scenarios +- `*trace` - Map requirements to tests, quality gate decision +- `*nfr-assess` - Validate non-functional requirements +- `*ci` - Scaffold CI/CD quality pipeline +- `*test-review` - Review test quality --- -### TEA (Master Test Architect) - Murat 🧪 +## UX Designer (Sally) | `/bmad:bmm:agents:ux-designer` -**Role:** Master Test Architect with Knowledge Base +User experience and UI design. -**When to Use:** +**Capabilities:** -- Initializing test frameworks for projects -- ATDD test-first approach (before implementation) -- Test automation and coverage -- Designing comprehensive test scenarios -- Quality gates and traceability -- CI/CD pipeline setup -- NFR (Non-Functional Requirements) assessment -- Test quality reviews - -**Primary Phase:** Testing & QA (All phases) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `framework` - Initialize production-ready test framework: - - Smart framework selection (Playwright vs Cypress) - - Fixture architecture - - Auto-cleanup patterns - - Network-first approaches -- `atdd` - Generate E2E tests first, before implementation -- `automate` - Comprehensive test automation -- `test-design` - Create test scenarios with risk-based approach -- `trace` - Requirements-to-tests traceability mapping (Phase 1 + Phase 2 quality gate) -- `nfr-assess` - Validate non-functional requirements -- `ci` - Scaffold CI/CD quality pipeline -- `test-review` - Quality review using knowledge base - -**Communication Style:** Data-driven advisor. Strong opinions, weakly held. Pragmatic about trade-offs. - -**Principles:** - -- Risk-based testing (depth scales with impact) -- Tests mirror actual usage patterns -- Testing is feature work, not overhead -- Prioritize unit/integration over E2E -- Flakiness is critical technical debt -- ATDD tests first, AI implements, suite validates - -**Special Capabilities:** - -- **Knowledge Base Access:** Consults comprehensive testing best practices from `testarch/knowledge/` directory -- **Framework Selection:** Smart framework selection (Playwright vs Cypress) with fixture architecture -- **Cross-Platform Testing:** Supports testing across web, mobile, and API layers +- `*create-ux-design` - Generate UX design and UI plan from PRD +- `*validate-design` - Validate UX specification and design artifacts +- `*create-excalidraw-wireframe` - Create website or app wireframe --- -### UX Designer - Sally 🎨 +## Technical Writer (Paige) | `/bmad:bmm:agents:tech-writer` -**Role:** User Experience Designer + UI Specialist +Technical documentation and diagrams. -**When to Use:** +**Capabilities:** -- UX-heavy projects (Level 2-4) -- Design thinking workshops -- Creating user specifications and design artifacts -- Validating UX designs - -**Primary Phase:** Phase 2 (Planning) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `create-ux-design` - Conduct design thinking workshop to define UX specification with: - - Visual exploration and generation - - Collaborative decision-making - - AI-assisted design tools (v0, Lovable) - - Accessibility considerations -- `validate-design` - Validate UX specification and design artifacts - -**Communication Style:** Empathetic and user-focused. Uses storytelling to explain design decisions. Creative yet data-informed. Advocates for user needs over technical convenience. - -**Expertise:** - -- User research and personas -- Interaction design patterns -- AI-assisted design generation -- Accessibility (WCAG compliance) -- Design systems and component libraries -- Cross-functional collaboration +- `*document-project` - Comprehensive project documentation (brownfield analysis) +- `*generate-mermaid` - Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state) +- `*create-excalidraw-flowchart` - Process and logic flow visualizations +- `*create-excalidraw-diagram` - System architecture or technical diagrams +- `*create-excalidraw-dataflow` - Data flow visualizations +- `*validate-doc` - Review documentation against standards +- `*improve-readme` - Review and improve README files +- `*explain-concept` - Create clear technical explanations with examples +- `*standards-guide` - Show BMAD documentation standards reference --- -### Technical Writer - Paige 📚 +## Universal Commands -**Role:** Technical Documentation Specialist + Knowledge Curator +Available to all agents: -**When to Use:** +- `*menu` - Redisplay menu options +- `*dismiss` - Dismiss agent -- Documenting brownfield projects (Documentation prerequisite) -- Creating API documentation -- Generating architecture documentation -- Writing user guides and tutorials -- Reviewing documentation quality -- Creating Mermaid diagrams -- Improving README files -- Explaining technical concepts - -**Primary Phase:** All phases (documentation support) - -**Workflows:** - -- `document-project` - Comprehensive project documentation with: - - Three scan levels (Quick, Deep, Exhaustive) - - Multi-part project detection - - Resumability (interrupt and continue) - - Write-as-you-go architecture - - Deep-dive mode for targeted analysis - -**Actions:** - -- `generate-diagram` - Create Mermaid diagrams (architecture, sequence, flow, ER, class, state) -- `validate-doc` - Check documentation against standards -- `improve-readme` - Review and improve README files -- `explain-concept` - Create clear technical explanations with examples -- `standards-guide` - Show BMAD documentation standards reference -- `create-api-docs` - OpenAPI/Swagger documentation (TODO) -- `create-architecture-docs` - Architecture docs with diagrams and ADRs (TODO) -- `create-user-guide` - User-facing guides and tutorials (TODO) -- `audit-docs` - Documentation quality review (TODO) - -**Communication Style:** Patient teacher who makes documentation approachable. Uses examples and analogies. Balances technical precision with accessibility. - -**Critical Standards:** - -- Zero tolerance for CommonMark violations -- Valid Mermaid syntax (mentally validates before output) -- Follows Google Developer Docs Style Guide -- Microsoft Manual of Style for technical writing -- Task-oriented writing approach - -**See Also:** [Document Project Workflow Reference](./workflow-document-project-reference.md) for detailed brownfield documentation capabilities. - ---- - -## Game Development Agents - -### Game Designer - Samus Shepard 🎲 - -**Role:** Lead Game Designer + Creative Vision Architect - -**When to Use:** - -- Game brainstorming and ideation -- Creating game briefs for vision and strategy -- Game Design Documents (GDD) for Level 2-4 game projects -- Narrative design for story-driven games -- Game market research - -**Primary Phase:** Phase 1-2 (Analysis & Planning - Games) - -**Workflows:** - -- `workflow-init` - Initialize workflow tracking -- `workflow-status` - Check what to do next -- `brainstorm-game` - Game-specific ideation -- `create-game-brief` - Game vision and strategy -- `create-gdd` - Complete Game Design Document with: - - Game-type-specific injection (24+ game types) - - Universal template structure - - Platform vs game type separation - - Gameplay-first philosophy -- `narrative` - Narrative design document for story-driven games -- `research` - Game market research - -**Communication Style:** Enthusiastic and player-focused. Frames challenges as design problems to solve. Celebrates creative breakthroughs. - -**Principles:** - -- Understand what players want to feel, not just do -- Rapid prototyping and playtesting -- Every mechanic must serve the core experience -- Meaningful choices create engagement - -**Expertise:** - -- Core gameplay loops -- Progression systems -- Game economy and balance -- Player psychology -- Multi-genre game design - ---- - -### Game Developer - Link Freeman 🕹️ - -**Role:** Senior Game Developer + Technical Implementation Specialist - -**When to Use:** - -- Implementing game stories -- Game code reviews -- Sprint retrospectives for game development - -**Primary Phase:** Phase 4 (Implementation - Games) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `dev-story` - Execute Dev Story workflow, implementing tasks and tests -- `code-review` - Perform thorough clean context QA code review on a story - -**Communication Style:** Direct and energetic. Execution-focused. Breaks down complex game challenges into actionable steps. Celebrates performance wins. - -**Expertise:** - -- Unity, Unreal, Godot, Phaser, custom engines -- Gameplay programming -- Physics and collision systems -- AI and pathfinding -- Performance optimization -- Cross-platform development - ---- - -### Game Architect - Cloud Dragonborn 🏛️ - -**Role:** Principal Game Systems Architect + Technical Director - -**When to Use:** - -- Game system architecture -- Technical foundation design for games -- Validating readiness for implementation phase (game projects) -- Course correction during game development - -**Primary Phase:** Phase 3 (Solutioning - Games) - -**Workflows:** - -- `workflow-status` - Check what to do next -- `create-architecture` - Game systems architecture -- `implementation-readiness` - Validate Phase 3 to Phase 4 transition -- `correct-course` - Handle technical changes - -**Communication Style:** Calm and measured. Systematic thinking about complex systems. Uses chess metaphors and military strategy. Emphasizes balance and elegance. - -**Expertise:** - -- Multiplayer architecture (dedicated servers, P2P, hybrid) -- Engine architecture and design -- Asset pipeline optimization -- Platform-specific optimization (console, PC, mobile) -- Technical leadership and mentorship - ---- - -### Principal Engineer (Technical Leader) - Jordan Chen ⚡ - -**Role:** Principal Engineer + Technical Leader - -**When to Use:** - -- Quick Flow development (3-step rapid process) -- Creating technical specifications for immediate implementation -- Rapid prototyping with production quality -- Performance-critical feature development -- Code reviews for senior-level validation -- When you need to ship fast without sacrificing quality - -**Primary Phase:** All phases (Quick Flow track) - -**Workflows:** - -- `create-tech-spec` - Engineer implementation-ready technical specifications -- `quick-dev` - Execute development from specs or direct instructions -- `code-review` - Senior developer code review and validation -- `party-mode` - Collaborative problem-solving with other agents - -**Communication Style:** Speaks in git commits, README.md sections, and RFC-style explanations. Starts conversations with "Actually..." and ends with "Patches welcome." Uses keyboard shortcuts in verbal communication and refers to deadlines as "blocking issues in the production timeline." - -**Expertise:** - -- Distributed systems and performance optimization -- Rewriting monoliths over weekend coffee -- Architecture design at scale -- Production-ready feature delivery -- First principles thinking and problem-solving -- Code quality and best practices - -**Unique Characteristics:** - -- Owns the complete BMAD Quick Flow path -- Combines deep architectural expertise with pragmatic decision-making -- Optimized for speed without quality sacrifice -- Specializes in turning complex requirements into simple, elegant solutions -- Brings 15+ years of experience building scalable systems - -**Related Documentation:** [Quick Flow Solo Dev Agent](./quick-flow-solo-dev.md) - ---- - -## Special Purpose Agents - -### BMad Master 🧙 - -**Role:** BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator - -**When to Use:** - -- Listing all available tasks and workflows -- Facilitating multi-agent party mode discussions -- Meta-level orchestration across modules -- Understanding BMad Core capabilities - -**Primary Phase:** Meta (all phases) - -**Workflows:** - -- `party-mode` - Group chat with all agents (see Party Mode section below) - -**Actions:** - -- `list-tasks` - Show all available tasks from task-manifest.csv -- `list-workflows` - Show all available workflows from workflow-manifest.csv - -**Communication Style:** Direct and comprehensive. Refers to himself in third person ("BMad Master recommends..."). Expert-level communication focused on efficient execution. Presents information systematically using numbered lists. - -**Principles:** - -- Load resources at runtime, never pre-load -- Always present numbered lists for user choices -- Resource-driven execution (tasks, workflows, agents from manifests) - -**Special Role:** - -- **Party Mode Orchestrator:** Loads agent manifest, applies customizations, moderates discussions, summarizes when conversations become circular -- **Knowledge Custodian:** Maintains awareness of all installed modules, agents, workflows, and tasks -- **Workflow Facilitator:** Guides users to appropriate workflows based on current project state - -**Learn More:** See [Party Mode Guide](./party-mode.md) for complete documentation on multi-agent collaboration. - ---- - -## Party Mode: Multi-Agent Collaboration - -Get all your installed agents in one conversation for multi-perspective discussions, retrospectives, and collaborative decision-making. - -**Quick Start:** - -```bash -/bmad:core:workflows:party-mode -# OR from any agent: *party-mode -``` - -**What happens:** BMad Master orchestrates 2-3 relevant agents per message. They discuss, debate, and collaborate in real-time. - -**Best for:** Strategic decisions, creative brainstorming, post-mortems, sprint retrospectives, complex problem-solving. - -**Current BMM uses:** Powers `epic-retrospective` workflow, sprint planning discussions. - -**Future:** Advanced elicitation workflows will officially leverage party mode. - -👉 **[Party Mode Guide](./party-mode.md)** - Complete guide with fun examples, tips, and troubleshooting - ---- - -## Workflow Access - -### How to Run Workflows - -**From IDE (Claude Code, Cursor, Windsurf):** - -1. Load the agent using agent reference (e.g., type `@pm` in Claude Code) -2. Wait for agent menu to appear in chat -3. Type the workflow trigger with `*` prefix (e.g., `*create-prd`) -4. Follow the workflow prompts - -**Agent Menu Structure:** -Each agent displays their available workflows when loaded. Look for: - -- `*` prefix indicates workflow trigger -- Grouped by category or phase -- START HERE indicators for recommended entry points - -### Universal Workflows - -Some workflows are available to multiple agents: - -| Workflow | Agents | Purpose | -| ------------------ | --------------------------------- | ------------------------------------------- | -| `workflow-status` | ALL agents | Check current state and get recommendations | -| `workflow-init` | PM, Analyst, Game Designer | Initialize workflow tracking | -| `correct-course` | PM, Architect, SM, Game Architect | Change management during implementation | -| `document-project` | Analyst, Technical Writer | Brownfield documentation | - -### Validation Actions - -Many workflows have optional validation workflows that perform independent review: - -| Validation | Agent | Validates | -| -------------------------- | ----------- | ------------------------------------------ | -| `implementation-readiness` | Architect | PRD + Architecture + Epics + UX (optional) | -| `validate-design` | UX Designer | UX specification and artifacts | -| `validate-create-story` | SM | Story file | - -**When to use validation:** - -- Before phase transitions -- For critical documents -- When learning BMM -- For high-stakes projects - ---- - -## Agent Customization - -You can customize any agent's personality without modifying core agent files. - -### Location - -**Customization Directory:** `{project-root}/_bmad/_config/agents/` - -**Naming Convention:** `{module}-{agent-name}.customize.yaml` - -**Examples:** - -``` -_bmad/_config/agents/ -├── bmm-pm.customize.yaml -├── bmm-dev.customize.yaml -├── cis-storyteller.customize.yaml -└── bmb-bmad-builder.customize.yaml -``` - -### Override Structure - -**File Format:** - -```yaml -agent: - persona: - displayName: 'Custom Name' # Optional: Override display name - communicationStyle: 'Custom style description' # Optional: Override style - principles: # Optional: Add or replace principles - - 'Custom principle for this project' - - 'Another project-specific guideline' -``` - -### Override Behavior - -**Precedence:** Customization > Manifest - -**Merge Rules:** - -- If field specified in customization, it replaces manifest value -- If field NOT specified, manifest value used -- Additional fields are added to agent personality -- Changes apply immediately when agent loaded - -### Use Cases - -**Adjust Formality:** - -```yaml -agent: - persona: - communicationStyle: 'Formal and corporate-focused. Uses business terminology. Structured responses with executive summaries.' -``` - -**Add Domain Expertise:** - -```yaml -agent: - persona: - identity: | - Expert Product Manager with 15 years experience in healthcare SaaS. - Deep understanding of HIPAA compliance, EHR integrations, and clinical workflows. - Specializes in balancing regulatory requirements with user experience. -``` - -**Modify Principles:** - -```yaml -agent: - persona: - principles: - - 'HIPAA compliance is non-negotiable' - - 'Prioritize patient safety over feature velocity' - - 'Every feature must have clinical validation' -``` - -**Change Personality:** - -```yaml -agent: - persona: - displayName: 'Alex' # Change from default "Amelia" - communicationStyle: 'Casual and friendly. Uses emojis. Explains technical concepts in simple terms.' -``` - -### Party Mode Integration - -Customizations automatically apply in party mode: - -1. Party mode reads manifest -2. Checks for customization files -3. Merges customizations with manifest -4. Agents respond with customized personalities - -**Example:** - -``` -You customize PM with healthcare expertise. -In party mode, PM now brings healthcare knowledge to discussions. -Other agents collaborate with PM's specialized perspective. -``` - -### Applying Customizations - -**IMPORTANT:** Customizations don't take effect until you rebuild the agents. - -**Complete Process:** - -**Step 1: Create/Modify Customization File** - -```bash -# Create customization file at: -# {project-root}/_bmad/_config/agents/{module}-{agent-name}.customize.yaml - -# Example: _bmad/_config/agents/bmm-pm.customize.yaml -``` - -**Step 2: Regenerate Agent Manifest** - -After modifying customization files, you must regenerate the agent manifest and rebuild agents: - -```bash -# Run the installer to apply customizations -npx bmad-method install - -# The installer will: -# 1. Read all customization files -# 2. Regenerate agent-manifest.csv with merged data -# 3. Rebuild agent .md files with customizations applied -``` - -**Step 3: Verify Changes** - -Load the customized agent and verify the changes are reflected in its behavior and responses. - -**Why This is Required:** - -- Customization files are just configuration - they don't change agents directly -- The agent manifest must be regenerated to merge customizations -- Agent .md files must be rebuilt with the merged data -- Party mode and all workflows load agents from the rebuilt files - -### Best Practices - -1. **Keep it project-specific:** Customize for your domain, not general changes -2. **Don't break character:** Keep customizations aligned with agent's core role -3. **Test in party mode:** See how customizations interact with other agents -4. **Document why:** Add comments explaining customization purpose -5. **Share with team:** Customizations survive updates, can be version controlled -6. **Rebuild after changes:** Always run installer after modifying customization files - ---- - -## Best Practices - -### Agent Selection - -**1. Start with workflow-status** - -- When unsure where you are, load any agent and run `*workflow-status` -- Agent will analyze current project state and recommend next steps -- Works across all phases and all agents - -**2. Match phase to agent** - -- **Phase 1 (Analysis):** Analyst, Game Designer -- **Phase 2 (Planning):** PM, UX Designer, Game Designer -- **Phase 3 (Solutioning):** Architect, Game Architect -- **Phase 4 (Implementation):** SM, DEV, Game Developer -- **Testing:** TEA (all phases) -- **Documentation:** Technical Writer (all phases) - -**3. Use specialists** - -- **Testing:** TEA for comprehensive quality strategy -- **Documentation:** Technical Writer for technical writing -- **Games:** Game Designer/Developer/Architect for game-specific needs -- **UX:** UX Designer for user-centered design - -**4. Try party mode for:** - -- Strategic decisions with trade-offs -- Creative brainstorming sessions -- Cross-functional alignment -- Complex problem solving - -### Working with Agents - -**1. Trust their expertise** - -- Agents embody decades of simulated experience -- Their questions uncover critical issues -- Their recommendations are data-informed -- Their warnings prevent costly mistakes - -**2. Answer their questions** - -- Agents ask for important reasons -- Incomplete answers lead to assumptions -- Detailed responses yield better outcomes -- "I don't know" is a valid answer - -**3. Follow workflows** - -- Structured processes prevent missed steps -- Workflows encode best practices -- Sequential workflows build on each other -- Validation workflows catch errors early - -**4. Customize when needed** - -- Adjust agent personalities for your project -- Add domain-specific expertise -- Modify communication style for team preferences -- Keep customizations project-specific - -### Common Workflows Patterns - -**Starting a New Project (Greenfield):** - -``` -1. PM or Analyst: *workflow-init -2. Analyst: *brainstorm-project or *product-brief (optional) -3. PM: *create-prd (Level 2-4) or *tech-spec (Level 0-1) -4. Architect: *create-architecture (Level 3-4 only) -5. PM: *create-epics-and-stories (after architecture) -6. SM: *sprint-planning -``` - -**Starting with Existing Code (Brownfield):** - -``` -1. Analyst or Technical Writer: *document-project -2. PM or Analyst: *workflow-init -3. PM: *create-prd or *tech-spec -4. Architect: *create-architecture (if needed) -5. PM: *create-epics-and-stories (after architecture) -6. SM: *sprint-planning -``` - -**Story Development Cycle:** - -``` -1. SM: *create-story -2. DEV: *dev-story -3. DEV: *code-review -4. Repeat steps 1-3 for next story -``` - -**Testing Strategy:** - -``` -1. TEA: *framework (once per project, early) -2. TEA: *atdd (before implementing features) -3. DEV: *dev-story (includes tests) -4. TEA: *automate (comprehensive test suite) -5. TEA: *trace (quality gate) -6. TEA: *ci (pipeline setup) -``` - -**Game Development:** - -``` -1. Game Designer: *brainstorm-game -2. Game Designer: *create-gdd -3. Game Architect: *create-architecture -4. SM: *sprint-planning -5. Game Developer: *create-story -6. Game Developer: *dev-story -7. Game Developer: *code-review -``` - -### Navigation Tips - -**Lost? Run workflow-status** - -``` -Load any agent → *workflow-status -Agent analyzes project state → recommends next workflow -``` - -**Phase transitions:** - -``` -Each phase has validation gates: -- Phase 3 to 4: implementation-readiness (validates PRD + Architecture + Epics + UX (optional)) -Run validation before advancing to implementation -``` - -**Course correction:** - -``` -If priorities change mid-project: -Load PM, Architect, or SM → *correct-course -``` - -**Testing integration:** - -``` -TEA can be invoked at any phase: -- Phase 1: Test strategy planning -- Phase 2: Test scenarios in PRD -- Phase 3: Architecture testability review -- Phase 4: Test automation and CI -``` - ---- - -## Agent Reference Table - -Quick reference for agent selection: - -| Agent | Icon | Primary Phase | Key Workflows | Best For | -| ----------------------- | ---- | ----------------------- | --------------------------------------------- | --------------------------------------- | -| **Analyst** | 📊 | 1 (Analysis) | brainstorm, brief, research, document-project | Discovery, requirements, brownfield | -| **PM** | 📋 | 2 (Planning) | prd, tech-spec, epics-stories | Planning, requirements docs | -| **UX Designer** | 🎨 | 2 (Planning) | create-ux-design, validate-design | UX-heavy projects, design | -| **Architect** | 🏗️ | 3 (Solutioning) | architecture, implementation-readiness | Technical design, architecture | -| **SM** | 🏃 | 4 (Implementation) | sprint-planning, create-story | Story management, sprint coordination | -| **DEV** | 💻 | 4 (Implementation) | dev-story, code-review | Implementation, coding | -| **TEA** | 🧪 | All Phases | framework, atdd, automate, trace, ci | Testing, quality assurance | -| **Paige (Tech Writer)** | 📚 | All Phases | document-project, diagrams, validation | Documentation, diagrams | -| **Principal Engineer** | ⚡ | Quick Flow (All phases) | create-tech-spec, quick-dev, code-review | Rapid development, technical leadership | -| **Game Designer** | 🎲 | 1-2 (Games) | brainstorm-game, gdd, narrative | Game design, creative vision | -| **Game Developer** | 🕹️ | 4 (Games) | dev-story, code-review | Game implementation | -| **Game Architect** | 🏛️ | 3 (Games) | architecture, implementation-readiness | Game systems architecture | -| **BMad Master** | 🧙 | Meta | party-mode, list tasks/workflows | Orchestration, multi-agent | - -### Agent Capabilities Summary - -**Planning Agents (3):** - -- PM: Requirements and planning docs -- UX Designer: User experience design -- Game Designer: Game design and narrative - -**Architecture Agents (2):** - -- Architect: System architecture -- Game Architect: Game systems architecture - -**Implementation Agents (3):** - -- SM: Story management and coordination -- DEV: Software development -- Game Developer: Game development - -**Quality Agents (2):** - -- TEA: Testing and quality assurance -- DEV: Code review - -**Support Agents (2):** - -- Analyst: Research and discovery -- Technical Writer: Documentation and diagrams - -**Meta Agent (1):** - -- BMad Master: Orchestration and party mode - ---- - -## Additional Resources - -**Workflow Documentation:** - -- [Phase 1: Analysis Workflows](./workflows-analysis.md) -- [Phase 2: Planning Workflows](./workflows-planning.md) -- [Phase 3: Solutioning Workflows](./workflows-solutioning.md) -- [Phase 4: Implementation Workflows](./workflows-implementation.md) - - -**Advanced References:** - -- [Architecture Workflow Reference](./workflow-architecture-reference.md) - Decision architecture details -- [Document Project Workflow Reference](./workflow-document-project-reference.md) - Brownfield documentation - -**Getting Started:** - -- [Quick Start Guide](./quick-start.md) - Step-by-step tutorial -- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding project levels -- [Brownfield Guide](./brownfield-guide.md) - Working with existing code - -**Other Guides:** - -- [Enterprise Agentic Development](./enterprise-agentic-development.md) - Team collaboration -- [FAQ](./faq.md) - Common questions -- [Glossary](./glossary.md) - Terminology reference - ---- - -## Quick Start Checklist - -**First Time with BMM:** - -- [ ] Read [Quick Start Guide](./quick-start.md) -- [ ] Understand [Scale Adaptive System](./scale-adaptive-system.md) -- [ ] Load an agent in your IDE -- [ ] Run `*workflow-status` -- [ ] Follow recommended workflow - -**Starting a Project:** - -- [ ] Determine project type (greenfield vs brownfield) -- [ ] If brownfield: Run `*document-project` (Analyst or Technical Writer) -- [ ] Load PM or Analyst → `*workflow-init` -- [ ] Follow phase-appropriate workflows -- [ ] Try `*party-mode` for strategic decisions - -**Implementing Stories:** - -- [ ] SM: `*sprint-planning` (once) -- [ ] SM: `*create-story` -- [ ] DEV: `*dev-story` -- [ ] DEV: `*code-review` - -**Testing Strategy:** - -- [ ] TEA: `*framework` (early in project) -- [ ] TEA: `*atdd` (before features) -- [ ] TEA: `*test-design` (comprehensive scenarios) -- [ ] TEA: `*ci` (pipeline setup) - ---- - -_Welcome to the team. Your AI agents are ready to collaborate._ +Party mode is available to most agents for multi-agent collaboration. diff --git a/src/modules/bmm/docs/bmad-quick-flow.md b/src/modules/bmm/docs/bmad-quick-flow.md index 78666d0b..803f7de9 100644 --- a/src/modules/bmm/docs/bmad-quick-flow.md +++ b/src/modules/bmm/docs/bmad-quick-flow.md @@ -8,15 +8,16 @@ ## Overview -BMAD Quick Flow is the fastest path from idea to production in the BMAD Method ecosystem. It's a streamlined 3-step process designed for rapid development without sacrificing quality. Perfect for experienced teams who need to move fast or for smaller features that don't require extensive planning. +BMAD Quick Flow is the fastest path from idea to production in the BMAD Method ecosystem. It's a streamlined 3-step process designed for rapid spec driven development without sacrificing quality. Perfect for experienced teams who need to move fast or for smaller features or 1 off efforts that don't require extensive planning. ### When to Use Quick Flow **Perfect For:** - Bug fixes and patches -- Small feature additions (1-3 days of work) +- Small feature additions - Proof of concepts and prototypes +- Mid course corrections or additions of something missed in BMM full planning - Performance optimizations - API endpoint additions - UI component enhancements @@ -31,42 +32,19 @@ BMAD Quick Flow is the fastest path from idea to production in the BMAD Method e - Projects requiring extensive UX design - Enterprise-wide initiatives - Mission-critical systems with compliance requirements +- Ideas with many 'moving pieces' --- ## The Quick Flow Process -```mermaid -flowchart TD - START[Idea/Requirement] --> DECIDE{Planning Needed?} +Utilizing the Quick Flow Solo Dev, this one agent can do it all! - DECIDE -->|Yes| CREATE[create-tech-spec] - DECIDE -->|No| DIRECT[Direct Development] +1. Create an (option) Technical Specification +2. Develop with Tests +3. AI Driven Code Review - CREATE --> SPEC[Technical Specification] - SPEC --> DEV[quick-dev] - DIRECT --> DEV - - DEV --> COMPLETE{Implementation Complete} - - COMPLETE -->|Success| REVIEW{Code Review?} - COMPLETE -->|Issues| DEBUG[Debug & Fix] - DEBUG --> DEV - - REVIEW -->|Yes| CODE_REVIEW[code-review] - REVIEW -->|No| DONE[Production Ready] - - CODE_REVIEW --> FIXES{Fixes Needed?} - FIXES -->|Yes| DEBUG - FIXES -->|No| DONE - - style START fill:#e1f5fe - style CREATE fill:#f3e5f5 - style SPEC fill:#e8f5e9 - style DEV fill:#fff3e0 - style CODE_REVIEW fill:#f1f8e9 - style DONE fill:#e0f2f1 -``` +That's it! Lets look at each step in more detail though. ### Step 1: Optional Technical Specification @@ -103,7 +81,7 @@ The `create-tech-spec` workflow transforms requirements into implementation-read - Make adjustments as needed - Save to sprint artifacts -**Output:** `{sprint_artifacts}/tech-spec-{slug}.md` +**Output:** `{implementation_artifacts}/tech-spec-{slug}.md` ### Step 2: Development diff --git a/src/modules/bmm/docs/faq.md b/src/modules/bmm/docs/faq.md deleted file mode 100644 index f9d9365d..00000000 --- a/src/modules/bmm/docs/faq.md +++ /dev/null @@ -1,542 +0,0 @@ -# BMM Frequently Asked Questions - -Quick answers to common questions about the BMad Method Module. - ---- - -## Table of Contents - -- [Getting Started](#getting-started) -- [Choosing the Right Level](#choosing-the-right-level) -- [Workflows and Phases](#workflows-and-phases) -- [Planning Documents](#planning-documents) -- [Implementation](#implementation) -- [Brownfield Development](#brownfield-development) -- [Tools and Technical](#tools-and-technical) - ---- - -## Getting Started - -### Q: Do I always need to run workflow-init? - -**A:** No, once you learn the flow you can go directly to workflows. However, workflow-init is helpful because it: - -- Determines your project's appropriate level automatically -- Creates the tracking status file -- Routes you to the correct starting workflow - -For experienced users: use the [Quick Reference](./quick-start.md#quick-reference-agent-document-mapping) to go directly to the right agent/workflow. - -### Q: Why do I need fresh chats for each workflow? - -**A:** Context-intensive workflows (like brainstorming, PRD creation, architecture design) can cause AI hallucinations if run in sequence within the same chat. Starting fresh ensures the agent has maximum context capacity for each workflow. This is particularly important for: - -- Planning workflows (PRD, architecture) -- Analysis workflows (brainstorming, research) -- Complex story implementation - -Quick workflows like status checks can reuse chats safely. - -### Q: Can I skip workflow-status and just start working? - -**A:** Yes, if you already know your project level and which workflow comes next. workflow-status is mainly useful for: - -- New projects (guides initial setup) -- When you're unsure what to do next -- After breaks in work (reminds you where you left off) -- Checking overall progress - -### Q: What's the minimum I need to get started? - -**A:** For the fastest path: - -1. Install BMad Method: `npx bmad-method@alpha install` -2. For small changes: Load PM agent → run tech-spec → implement -3. For larger projects: Load PM agent → run prd → architect → implement - -### Q: How do I know if I'm in Phase 1, 2, 3, or 4? - -**A:** Check your `bmm-workflow-status.md` file (created by workflow-init). It shows your current phase and progress. If you don't have this file, you can also tell by what you're working on: - -- **Phase 1** - Brainstorming, research, product brief (optional) -- **Phase 2** - Creating either a PRD or tech-spec (always required) -- **Phase 3** - Architecture design (Level 2-4 only) -- **Phase 4** - Actually writing code, implementing stories - ---- - -## Choosing the Right Level - -### Q: How do I know which level my project is? - -**A:** Use workflow-init for automatic detection, or self-assess using these keywords: - -- **Level 0:** "fix", "bug", "typo", "small change", "patch" → 1 story -- **Level 1:** "simple", "basic", "small feature", "add" → 2-10 stories -- **Level 2:** "dashboard", "several features", "admin panel" → 5-15 stories -- **Level 3:** "platform", "integration", "complex", "system" → 12-40 stories -- **Level 4:** "enterprise", "multi-tenant", "multiple products" → 40+ stories - -When in doubt, start smaller. You can always run create-prd later if needed. - -### Q: Can I change levels mid-project? - -**A:** Yes! If you started at Level 1 but realize it's Level 2, you can run create-prd to add proper planning docs. The system is flexible - your initial level choice isn't permanent. - -### Q: What if workflow-init suggests the wrong level? - -**A:** You can override it! workflow-init suggests a level but always asks for confirmation. If you disagree, just say so and choose the level you think is appropriate. Trust your judgment. - -### Q: Do I always need architecture for Level 2? - -**A:** No, architecture is **optional** for Level 2. Only create architecture if you need system-level design. Many Level 2 projects work fine with just PRD created during planning. - -### Q: What's the difference between Level 1 and Level 2? - -**A:** - -- **Level 1:** 1-10 stories, uses tech-spec (simpler, faster), no architecture -- **Level 2:** 5-15 stories, uses PRD (product-focused), optional architecture - -The overlap (5-10 stories) is intentional. Choose based on: - -- Need product-level planning? → Level 2 -- Just need technical plan? → Level 1 -- Multiple epics? → Level 2 -- Single epic? → Level 1 - ---- - -## Workflows and Phases - -### Q: What's the difference between workflow-status and workflow-init? - -**A:** - -- **workflow-status:** Checks existing status and tells you what's next (use when continuing work) -- **workflow-init:** Creates new status file and sets up project (use when starting new project) - -If status file exists, use workflow-status. If not, use workflow-init. - -### Q: Can I skip Phase 1 (Analysis)? - -**A:** Yes! Phase 1 is optional for all levels, though recommended for complex projects. Skip if: - -- Requirements are clear -- No research needed -- Time-sensitive work -- Small changes (Level 0-1) - -### Q: When is Phase 3 (Architecture) required? - -**A:** - -- **Level 0-1:** Never (skip entirely) -- **Level 2:** Optional (only if system design needed) -- **Level 3-4:** Required (comprehensive architecture mandatory) - -### Q: What happens if I skip a recommended workflow? - -**A:** Nothing breaks! Workflows are guidance, not enforcement. However, skipping recommended workflows (like architecture for Level 3) may cause: - -- Integration issues during implementation -- Rework due to poor planning -- Conflicting design decisions -- Longer development time overall - -### Q: How do I know when Phase 3 is complete and I can start Phase 4? - -**A:** For Level 3-4, run the implementation-readiness workflow. It validates PRD + Architecture + Epics + UX (optional) are aligned before implementation. Pass the gate check = ready for Phase 4. - -### Q: Can I run workflows in parallel or do they have to be sequential? - -**A:** Most workflows must be sequential within a phase: - -- Phase 1: brainstorm → research → product-brief (optional order) -- Phase 2: PRD must complete before moving forward -- Phase 3: architecture → epics+stories → implementation-readiness (sequential) -- Phase 4: Stories within an epic should generally be sequential, but stories in different epics can be parallel if you have capacity - ---- - -## Planning Documents - -### Q: Why no tech-spec at Level 2+? - -**A:** Level 2+ projects need product-level planning (PRD) and system-level design (Architecture), which tech-spec doesn't provide. Tech-spec is too narrow for coordinating multiple features. Instead, Level 2-4 uses: - -- PRD (product vision, functional requirements, non-functional requirements) -- Architecture (system design) -- Epics+Stories (created AFTER architecture is complete) - -### Q: Do I need a PRD for a bug fix? - -**A:** No! Bug fixes are typically Level 0 (single atomic change). Use Quick Spec Flow: - -- Load PM agent -- Run tech-spec workflow -- Implement immediately - -PRDs are for Level 2-4 projects with multiple features requiring product-level coordination. - -### Q: Can I skip the product brief? - -**A:** Yes, product brief is always optional. It's most valuable for: - -- Level 3-4 projects needing strategic direction -- Projects with stakeholders requiring alignment -- Novel products needing market research -- When you want to explore solution space before committing - ---- - -## Implementation - -### Q: Does create-story include implementation context? - -**A:** Yes! The create-story workflow generates story files that include implementation-specific guidance, references existing patterns from your documentation, and provides technical context. The workflow loads your architecture, PRD, and existing project documentation to create comprehensive stories. For Quick Flow projects using tech-spec, the tech-spec itself is already comprehensive, so stories can be simpler. - -### Q: How do I mark a story as done? - -**A:** After dev-story completes and code-review passes: - -1. Open `sprint-status.yaml` (created by sprint-planning) -2. Change the story status from `review` to `done` -3. Save the file - -### Q: Can I work on multiple stories at once? - -**A:** Yes, if you have capacity! Stories within different epics can be worked in parallel. However, stories within the same epic are usually sequential because they build on each other. - -### Q: What if my story takes longer than estimated? - -**A:** That's normal! Stories are estimates. If implementation reveals more complexity: - -1. Continue working until DoD is met -2. Consider if story should be split -3. Document learnings in retrospective -4. Adjust future estimates based on this learning - -### Q: When should I run retrospective? - -**A:** After completing all stories in an epic (when epic is done). Retrospectives capture: - -- What went well -- What could improve -- Technical insights -- Learnings for future epics - -Don't wait until project end - run after each epic for continuous improvement. - ---- - -## Brownfield Development - -### Q: What is brownfield vs greenfield? - -**A:** - -- **Greenfield:** New project, starting from scratch, clean slate -- **Brownfield:** Existing project, working with established codebase and patterns - -### Q: Do I have to run document-project for brownfield? - -**A:** Highly recommended, especially if: - -- No existing documentation -- Documentation is outdated -- AI agents need context about existing code -- Level 2-4 complexity - -You can skip it if you have comprehensive, up-to-date documentation including `docs/index.md`. - -### Q: What if I forget to run document-project on brownfield? - -**A:** Workflows will lack context about existing code. You may get: - -- Suggestions that don't match existing patterns -- Integration approaches that miss existing APIs -- Architecture that conflicts with current structure - -Run document-project and restart planning with proper context. - -### Q: Can I use Quick Spec Flow for brownfield projects? - -**A:** Yes! Quick Spec Flow works great for brownfield. It will: - -- Auto-detect your existing stack -- Analyze brownfield code patterns -- Detect conventions and ask for confirmation -- Generate context-rich tech-spec that respects existing code - -Perfect for bug fixes and small features in existing codebases. - -### Q: How does workflow-init handle brownfield with old planning docs? - -**A:** workflow-init asks about YOUR current work first, then uses old artifacts as context: - -1. Shows what it found (old PRD, epics, etc.) -2. Asks: "Is this work in progress, previous effort, or proposed work?" -3. If previous effort: Asks you to describe your NEW work -4. Determines level based on YOUR work, not old artifacts - -This prevents old Level 3 PRDs from forcing Level 3 workflow for new Level 0 bug fix. - -### Q: What if my existing code doesn't follow best practices? - -**A:** Quick Spec Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide: - -- **Yes** → Maintain consistency with current codebase -- **No** → Establish new standards (document why in tech-spec) - -BMM respects your choice - it won't force modernization, but it will offer it. - ---- - -## Tools and Technical - -### Q: Why are my Mermaid diagrams not rendering? - -**A:** Common issues: - -1. Missing language tag: Use ` ```mermaid` not just ` ``` ` -2. Syntax errors in diagram (validate at mermaid.live) -3. Tool doesn't support Mermaid (check your Markdown renderer) - -All BMM docs use valid Mermaid syntax that should render in GitHub, VS Code, and most IDEs. - -### Q: Can I use BMM with GitHub Copilot / Cursor / other AI tools? - -**A:** Yes! BMM is complementary. BMM handles: - -- Project planning and structure -- Workflow orchestration -- Agent Personas and expertise -- Documentation generation -- Quality gates - -Your AI coding assistant handles: - -- Line-by-line code completion -- Quick refactoring -- Test generation - -Use them together for best results. - -### Q: What IDEs/tools support BMM? - -**A:** BMM requires tools with **agent mode** and access to **high-quality LLM models** that can load and follow complex workflows, then properly implement code changes. - -**Recommended Tools:** - -- **Claude Code** ⭐ **Best choice** - - Sonnet 4.5 (excellent workflow following, coding, reasoning) - - Opus (maximum context, complex planning) - - Native agent mode designed for BMM workflows - -- **Cursor** - - Supports Anthropic (Claude) and OpenAI models - - Agent mode with composer - - Good for developers who prefer Cursor's UX - -- **Windsurf** - - Multi-model support - - Agent capabilities - - Suitable for BMM workflows - -**What Matters:** - -1. **Agent mode** - Can load long workflow instructions and maintain context -2. **High-quality LLM** - Models ranked high on SWE-bench (coding benchmarks) -3. **Model selection** - Access to Claude Sonnet 4.5, Opus, or GPT-4o class models -4. **Context capacity** - Can handle large planning documents and codebases - -**Why model quality matters:** BMM workflows require LLMs that can follow multi-step processes, maintain context across phases, and implement code that adheres to specifications. Tools with weaker models will struggle with workflow adherence and code quality. - -See [IDE Setup Guides](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/docs/ide-info) for configuration specifics. - -### Q: Can I customize agents? - -**A:** Yes! Agents are installed as markdown files with XML-style content (optimized for LLMs, readable by any model). Create customization files in `_bmad/_config/agents/[agent-name].customize.yaml` to override default behaviors while keeping core functionality intact. See agent documentation for customization options. - -**Note:** While source agents in this repo are YAML, they install as `.md` files with XML-style tags - a format any LLM can read and follow. - -### Q: What happens to my planning docs after implementation? - -**A:** Keep them! They serve as: - -- Historical record of decisions -- Onboarding material for new team members -- Reference for future enhancements -- Audit trail for compliance - -For enterprise projects (Level 4), consider archiving completed planning artifacts to keep workspace clean. - -### Q: Can I use BMM for non-software projects? - -**A:** BMM is optimized for software development, but the methodology principles (scale-adaptive planning, just-in-time design, context injection) can apply to other complex project types. You'd need to adapt workflows and agents for your domain. - ---- - -## Advanced Questions - -### Q: What if my project grows from Level 1 to Level 3? - -**A:** Totally fine! When you realize scope has grown: - -1. Run create-prd to add product-level planning -2. Run create-architecture for system design -3. Use existing tech-spec as input for PRD -4. Continue with updated level - -The system is flexible - growth is expected. - -### Q: Can I mix greenfield and brownfield approaches? - -**A:** Yes! Common scenario: adding new greenfield feature to brownfield codebase. Approach: - -1. Run document-project for brownfield context -2. Use greenfield workflows for new feature planning -3. Explicitly document integration points between new and existing -4. Test integration thoroughly - -### Q: How do I handle urgent hotfixes during a sprint? - -**A:** Use correct-course workflow or just: - -1. Save your current work state -2. Load PM agent → quick tech-spec for hotfix -3. Implement hotfix (Level 0 flow) -4. Deploy hotfix -5. Return to original sprint work - -Level 0 Quick Spec Flow is perfect for urgent fixes. - -### Q: What if I disagree with the workflow's recommendations? - -**A:** Workflows are guidance, not enforcement. If a workflow recommends something that doesn't make sense for your context: - -- Explain your reasoning to the agent -- Ask for alternative approaches -- Skip the recommendation if you're confident -- Document why you deviated (for future reference) - -Trust your expertise - BMM supports your decisions. - -### Q: Can multiple developers work on the same BMM project? - -**A:** Yes! But the paradigm is fundamentally different from traditional agile teams. - -**Key Difference:** - -- **Traditional:** Multiple devs work on stories within one epic (months) -- **Agentic:** Each dev owns complete epics (days) - -**In traditional agile:** A team of 5 devs might spend 2-3 months on a single epic, with each dev owning different stories. - -**With BMM + AI agents:** A single dev can complete an entire epic in 1-3 days. What used to take months now takes days. - -**Team Work Distribution:** - -- **Recommended:** Split work by **epic** (not story) -- Each developer owns complete epics end-to-end -- Parallel work happens at epic level -- Minimal coordination needed - -**For full-stack apps:** - -- Frontend and backend can be separate epics (unusual in traditional agile) -- Frontend dev owns all frontend epics -- Backend dev owns all backend epics -- Works because delivery is so fast - -**Enterprise Considerations:** - -- Use **git submodules** for BMM installation (not .gitignore) -- Allows personal configurations without polluting main repo -- Teams may use different AI tools (Claude Code, Cursor, etc.) -- Developers may follow different methods or create custom agents/workflows - -**Quick Tips:** - -- Share `sprint-status.yaml` (single source of truth) -- Assign entire epics to developers (not individual stories) -- Coordinate at epic boundaries, not story level -- Use git submodules for BMM in enterprise settings - -**For comprehensive coverage of enterprise team collaboration, work distribution strategies, git submodule setup, and velocity expectations, see:** - -👉 **[Enterprise Agentic Development Guide](./enterprise-agentic-development.md)** - -### Q: What is party mode and when should I use it? - -**A:** Party mode is a unique multi-agent collaboration feature where ALL your installed agents (19+ from BMM, CIS, BMB, custom modules) discuss your challenges together in real-time. - -**How it works:** - -1. Run `/bmad:core:workflows:party-mode` (or `*party-mode` from any agent) -2. Introduce your topic -3. BMad Master selects 2-3 most relevant agents per message -4. Agents cross-talk, debate, and build on each other's ideas - -**Best for:** - -- Strategic decisions with trade-offs (architecture choices, tech stack, scope) -- Creative brainstorming (game design, product innovation, UX ideation) -- Cross-functional alignment (epic kickoffs, retrospectives, phase transitions) -- Complex problem-solving (multi-faceted challenges, risk assessment) - -**Example parties:** - -- **Product Strategy:** PM + Innovation Strategist (CIS) + Analyst -- **Technical Design:** Architect + Creative Problem Solver (CIS) + Game Architect -- **User Experience:** UX Designer + Design Thinking Coach (CIS) + Storyteller (CIS) - -**Why it's powerful:** - -- Diverse perspectives (technical, creative, strategic) -- Healthy debate reveals blind spots -- Emergent insights from agent interaction -- Natural collaboration across modules - -**For complete documentation:** - -👉 **[Party Mode Guide](./party-mode.md)** - How it works, when to use it, example compositions, best practices - ---- - -## Getting Help - -### Q: Where do I get help if my question isn't answered here? - -**A:** - -1. Search [Complete Documentation](./README.md) for related topics -2. Ask in [Discord Community](https://discord.gg/gk8jAdXWmj) (#general-dev) -3. Open a [GitHub Issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) -4. Watch [YouTube Tutorials](https://www.youtube.com/@BMadCode) - -### Q: How do I report a bug or request a feature? - -**A:** Open a GitHub issue at: - -Please include: - -- BMM version (check your installed version) -- Steps to reproduce (for bugs) -- Expected vs actual behavior -- Relevant workflow or agent involved - ---- - -## Related Documentation - -- [Quick Start Guide](./quick-start.md) - Get started with BMM -- [Glossary](./glossary.md) - Terminology reference -- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding levels -- [Brownfield Guide](./brownfield-guide.md) - Existing codebase workflows - ---- - -**Have a question not answered here?** Please [open an issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) or ask in [Discord](https://discord.gg/gk8jAdXWmj) so we can add it! diff --git a/src/modules/bmm/docs/glossary.md b/src/modules/bmm/docs/glossary.md deleted file mode 100644 index d611b96c..00000000 --- a/src/modules/bmm/docs/glossary.md +++ /dev/null @@ -1,306 +0,0 @@ -# BMM Glossary - -Comprehensive terminology reference for the BMad Method Module. - ---- - -## Navigation - -- [Core Concepts](#core-concepts) -- [Scale and Complexity](#scale-and-complexity) -- [Planning Documents](#planning-documents) -- [Workflow and Phases](#workflow-and-phases) -- [Agents and Roles](#agents-and-roles) -- [Status and Tracking](#status-and-tracking) -- [Project Types](#project-types) -- [Implementation Terms](#implementation-terms) - ---- - -## Core Concepts - -### BMM (BMad Method Module) - -Core orchestration system for AI-driven agile development, providing comprehensive lifecycle management through specialized agents and workflows. - -### BMad Method - -The complete methodology for AI-assisted software development, encompassing planning, architecture, implementation, and quality assurance workflows that adapt to project complexity. - -### Scale-Adaptive System - -BMad Method's intelligent workflow orchestration that automatically adjusts planning depth, documentation requirements, and implementation processes based on project needs through three distinct planning tracks (Quick Flow, BMad Method, Enterprise Method). - -### Agent - -A specialized AI persona with specific expertise (PM, Architect, SM, DEV, TEA) that guides users through workflows and creates deliverables. Agents have defined capabilities, communication styles, and workflow access. - -### Workflow - -A multi-step guided process that orchestrates AI agent activities to produce specific deliverables. Workflows are interactive and adapt to user context. - ---- - -## Scale and Complexity - -### Quick Flow Track - -Fast implementation track using tech-spec planning only. Best for bug fixes, small features, and changes with clear scope. Typical range: 1-15 stories. No architecture phase needed. Examples: bug fixes, OAuth login, search features. - -### BMad Method Track - -Full product planning track using PRD + Architecture + UX. Best for products, platforms, and complex features requiring system design. Typical range: 10-50+ stories. Examples: admin dashboards, e-commerce platforms, SaaS products. - -### Enterprise Method Track - -Extended enterprise planning track adding Security Architecture, DevOps Strategy, and Test Strategy to BMad Method. Best for enterprise requirements, compliance needs, and multi-tenant systems. Typical range: 30+ stories. Examples: multi-tenant platforms, compliance-driven systems, mission-critical applications. - -### Planning Track - -The methodology path (Quick Flow, BMad Method, or Enterprise Method) chosen for a project based on planning needs, complexity, and requirements rather than story count alone. - -**Note:** Story counts are guidance, not definitions. Tracks are determined by what planning the project needs, not story math. - ---- - -## Planning Documents - -### Tech-Spec (Technical Specification) - -**Quick Flow track only.** Comprehensive technical plan created upfront that serves as the primary planning document for small changes or features. Contains problem statement, solution approach, file-level changes, stack detection (brownfield), testing strategy, and developer resources. - -### PRD (Product Requirements Document) - -**BMad Method/Enterprise tracks.** Product-level planning document containing vision, goals, Functional Requirements (FRs), Non-Functional Requirements (NFRs), success criteria, and UX considerations. Replaces tech-spec for larger projects that need product planning. **V6 Note:** PRD focuses on WHAT to build (requirements). Epic+Stories are created separately AFTER architecture via create-epics-and-stories workflow. - -### Architecture Document - -**BMad Method/Enterprise tracks.** System-wide design document defining structure, components, interactions, data models, integration patterns, security, performance, and deployment. - -**Scale-Adaptive:** Architecture complexity scales with track - BMad Method is lightweight to moderate, Enterprise Method is comprehensive with security/devops/test strategies. - -### Epics - -High-level feature groupings that contain multiple related stories. Typically span 5-15 stories each and represent cohesive functionality (e.g., "User Authentication Epic"). - -### Product Brief - -Optional strategic planning document created in Phase 1 (Analysis) that captures product vision, market context, user needs, and high-level requirements before detailed planning. - -### GDD (Game Design Document) - -Game development equivalent of PRD, created by Game Designer agent for game projects. - ---- - -## Workflow and Phases - -### Phase 0: Documentation (Prerequisite) - -**Conditional phase for brownfield projects.** Creates comprehensive codebase documentation before planning. Only required if existing documentation is insufficient for AI agents. - -### Phase 1: Analysis (Optional) - -Discovery and research phase including brainstorming, research workflows, and product brief creation. Optional for Quick Flow, recommended for BMad Method, required for Enterprise Method. - -### Phase 2: Planning (Required) - -**Always required.** Creates formal requirements and work breakdown. Routes to tech-spec (Quick Flow) or PRD (BMad Method/Enterprise) based on selected track. - -### Phase 3: Solutioning (Track-Dependent) - -Architecture design phase. Required for BMad Method and Enterprise Method tracks. Includes architecture creation, validation, and gate checks. - -### Phase 4: Implementation (Required) - -Sprint-based development through story-by-story iteration. Uses sprint-planning, create-story, dev-story, code-review, and retrospective workflows. - -### Documentation (Prerequisite for Brownfield) - -**Conditional prerequisite for brownfield projects.** Creates comprehensive codebase documentation before planning. Only required if existing documentation is insufficient for AI agents. Uses the `document-project` workflow. - -### Quick Spec Flow - -Fast-track workflow system for Quick Flow track projects that goes straight from idea to tech-spec to implementation, bypassing heavy planning. Designed for bug fixes, small features, and rapid prototyping. - ---- - -## Agents and Roles - -### PM (Product Manager) - -Agent responsible for creating PRDs, tech-specs, and managing product requirements. Primary agent for Phase 2 planning. - -### Analyst (Business Analyst) - -Agent that initializes workflows, conducts research, creates product briefs, and tracks progress. Often the entry point for new projects. - -### Architect - -Agent that designs system architecture, creates architecture documents, performs technical reviews, and validates designs. Primary agent for Phase 3 solutioning. - -### SM (Scrum Master) - -Agent that manages sprints, creates stories, generates contexts, and coordinates implementation. Primary orchestrator for Phase 4 implementation. - -### DEV (Developer) - -Agent that implements stories, writes code, runs tests, and performs code reviews. Primary implementer in Phase 4. - -### TEA (Test Architect) - -Agent responsible for test strategy, quality gates, NFR assessment, and comprehensive quality assurance. Integrates throughout all phases. - -### Technical Writer - -Agent specialized in creating and maintaining high-quality technical documentation. Expert in documentation standards, information architecture, and professional technical writing. The agent's internal name is "paige" but is presented as "Technical Writer" to users. - -### UX Designer - -Agent that creates UX design documents, interaction patterns, and visual specifications for UI-heavy projects. - -### Game Designer - -Specialized agent for game development projects. Creates game design documents (GDD) and game-specific workflows. - -### BMad Master - -Meta-level orchestrator agent from BMad Core. Facilitates party mode, lists available tasks and workflows, and provides high-level guidance across all modules. - -### Party Mode - -Multi-agent collaboration feature where all installed agents (19+ from BMM, CIS, BMB, custom modules) discuss challenges together in real-time. BMad Master orchestrates, selecting 2-3 relevant agents per message for natural cross-talk and debate. Best for strategic decisions, creative brainstorming, cross-functional alignment, and complex problem-solving. See [Party Mode Guide](./party-mode.md). - ---- - -## Status and Tracking - -### bmm-workflow-status.yaml - -**Phases 1-3.** Tracking file that shows current phase, completed workflows, progress, and next recommended actions. Created by workflow-init, updated automatically. - -### sprint-status.yaml - -**Phase 4 only.** Single source of truth for implementation tracking. Contains all epics, stories, and retrospectives with current status for each. Created by sprint-planning, updated by agents. - -### Story Status Progression - -``` -backlog → ready-for-dev → in-progress → review → done -``` - -- **backlog** - Story exists in epic but not yet created -- **ready-for-dev** - Story file created via create-story; validation is optional (run `validate-create-story` for quality check before dev picks it up) -- **in-progress** - DEV is implementing via dev-story -- **review** - Implementation complete, awaiting code-review -- **done** - Completed with DoD met - -### Epic Status Progression - -``` -backlog → in-progress → done -``` - -- **backlog** - Epic not yet started -- **in-progress** - Epic actively being worked on -- **done** - All stories in epic completed - -### Retrospective - -Workflow run after completing each epic to capture learnings, identify improvements, and feed insights into next epic planning. Critical for continuous improvement. - ---- - -## Project Types - -### Greenfield - -New project starting from scratch with no existing codebase. Freedom to establish patterns, choose stack, and design from clean slate. - -### Brownfield - -Existing project with established codebase, patterns, and constraints. Requires understanding existing architecture, respecting established conventions, and planning integration with current systems. - -**Critical:** Brownfield projects should run document-project workflow BEFORE planning to ensure AI agents have adequate context about existing code. - -### document-project Workflow - -**Brownfield prerequisite.** Analyzes and documents existing codebase, creating comprehensive documentation including project overview, architecture analysis, source tree, API contracts, and data models. Three scan levels: quick, deep, exhaustive. - ---- - -## Implementation Terms - -### Story - -Single unit of implementable work with clear acceptance criteria, typically 2-8 hours of development effort. Stories are grouped into epics and tracked in sprint-status.yaml. - -### Story File - -Markdown file containing story details: description, acceptance criteria, technical notes, dependencies, implementation guidance, and testing requirements. - -### Story Context - -Implementation guidance embedded within story files during the create-story workflow. Provides implementation-specific context, references existing patterns, suggests approaches, and helps maintain consistency with established codebase conventions. - -### Sprint Planning - -Workflow that initializes Phase 4 implementation by creating sprint-status.yaml, extracting all epics/stories from planning docs, and setting up tracking infrastructure. - -### Gate Check - -Validation workflow (implementation-readiness) run before Phase 4 to ensure PRD + Architecture + Epics + UX (optional) are aligned with no gaps or contradictions. Required for BMad Method and Enterprise Method tracks. - -### DoD (Definition of Done) - -Criteria that must be met before marking a story as done. Typically includes: implementation complete, tests written and passing, code reviewed, documentation updated, and acceptance criteria validated. - -### Shard / Sharding - -**For runtime LLM optimization only (NOT human docs).** Splitting large planning documents (PRD, epics, architecture) into smaller section-based files to improve workflow efficiency. Phase 1-3 workflows load entire sharded documents transparently. Phase 4 workflows selectively load only needed sections for massive token savings. - ---- - -## Additional Terms - -### Workflow Status - -Universal entry point workflow that checks for existing status file, displays current phase/progress, and recommends next action based on project state. - -### Workflow Init - -Initialization workflow that creates bmm-workflow-status.yaml, detects greenfield vs brownfield, determines planning track, and sets up appropriate workflow path. - -### Track Selection - -Automatic analysis by workflow-init that uses keyword analysis, complexity indicators, and project requirements to suggest appropriate track (Quick Flow, BMad Method, or Enterprise Method). User can override suggested track. - -### Correct Course - -Workflow run during Phase 4 when significant changes or issues arise. Analyzes impact, proposes solutions, and routes to appropriate remediation workflows. - -### Migration Strategy - -Plan for handling changes to existing data, schemas, APIs, or patterns during brownfield development. Critical for ensuring backward compatibility and smooth rollout. - -### Feature Flags - -Implementation technique for brownfield projects that allows gradual rollout of new functionality, easy rollback, and A/B testing. Recommended for BMad Method and Enterprise brownfield changes. - -### Integration Points - -Specific locations where new code connects with existing systems. Must be documented explicitly in brownfield tech-specs and architectures. - -### Convention Detection - -Quick Spec Flow feature that automatically detects existing code style, naming conventions, patterns, and frameworks from brownfield codebases, then asks user to confirm before proceeding. - ---- - -## Related Documentation - -- [Quick Start Guide](./quick-start.md) - Learn BMM basics -- [Scale Adaptive System](./scale-adaptive-system.md) - Deep dive on tracks and complexity -- [Brownfield Guide](./brownfield-guide.md) - Working with existing codebases -- [Quick Spec Flow](./quick-spec-flow.md) - Fast-track for Quick Flow track -- [FAQ](./faq.md) - Common questions diff --git a/src/modules/bmm/docs/quick-start.md b/src/modules/bmm/docs/quick-start.md index 93e1774b..c5698242 100644 --- a/src/modules/bmm/docs/quick-start.md +++ b/src/modules/bmm/docs/quick-start.md @@ -6,12 +6,12 @@ Get started with BMad Method v6 for your new greenfield project. This guide walk 1. **Install**: `npx bmad-method@alpha install` 2. **Initialize**: Load Analyst agent → Run "workflow-init" -3. **Plan**: Load PM agent → Run "prd" (or "tech-spec" for small projects) -4. **Architect**: Load Architect agent → Run "create-architecture" (10+ stories only) -5. **Build**: Load SM agent → Run workflows for each story → Load DEV agent → Implement -6. **Always use fresh chats** for each workflow to avoid hallucinations - ---- +3. **Plan**: Load PM agent to create a PRD +4. **Plan UX**: Load UX Expert to create a UX-Design if your application will have a UX/UI element +5. **Architect**: Load Architect agent → Run "create-architecture" +6. **Epic Plan**: The PM steps back in to help run the create-epics-and-stories +7. **Build**: Load SM agent → Run workflows for each story → Load DEV agent → Implement +8. **Always use fresh chats** for each workflow to avoid context issues ## What is BMad Method? diff --git a/src/modules/bmm/module.yaml b/src/modules/bmm/module.yaml index 0cc05c78..fb3dde71 100644 --- a/src/modules/bmm/module.yaml +++ b/src/modules/bmm/module.yaml @@ -43,13 +43,14 @@ project_knowledge: # Artifacts from research, document-project output, other lon prompt: "Where should non-ephemeral project knowledge be searched for and stored\n(docs, research, references)?" default: "docs" result: "{project-root}/{value}" -# tea_use_mcp_enhancements: -# prompt: "Test Architect Playwright MCP capabilities (healing, exploratory, verification) are optionally available.\nYou will have to setup your MCPs yourself; refer to test-architecture.md for hints.\nWould you like to enable MCP enhancements in Test Architect?" -# default: false -# result: "{value}" -# tea_use_playwright_utils: -# prompt: -# - "Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?\nYou must install packages yourself, or use test architect's *framework command." -# default: false -# result: "{value}" +tea_use_mcp_enhancements: + prompt: "WEB APP ONLY: Test Architect Playwright MCP capabilities (healing, exploratory, verification) are optionally available.\nYou will have to setup your MCPs yourself; refer to test-architecture.md for hints.\nWould you like to enable MCP enhancements in Test Architect?" + default: false + result: "{value}" + +tea_use_playwright_utils: + prompt: + - "WEB APP ONLY: Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?\nYou must install packages yourself, or use test architect's *framework command." + default: false + result: "{value}" diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md index 2e70cb95..d41d5620 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md @@ -1,8 +1,10 @@ -# Product Brief: {{project_name}} - -**Date:** {{date}} -**Author:** {{user_name}} - +--- +stepsCompleted: [] +inputDocuments: [] +date: { system-date } +author: { user } --- +# Product Brief: {{project_name}} + diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md index dbb0189c..1db8ecad 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-bri thisStepFile: '{workflow_path}/steps/step-01-init.md' nextStepFile: '{workflow_path}/steps/step-02-vision.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md' +outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Template References productBriefTemplate: '{workflow_path}/product-brief.template.md' diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md index 3ffad7db..437ac5a5 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md @@ -8,9 +8,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-bri # File References thisStepFile: '{workflow_path}/steps/step-01b-continue.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md' -# Task References -# (No task references used in this continuation step) +outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' --- # Step 1B: Product Brief Continuation diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md index 8492b92c..c28fa920 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-bri thisStepFile: '{workflow_path}/steps/step-02-vision.md' nextStepFile: '{workflow_path}/steps/step-03-users.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md' +outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md index e415cc7b..14072a36 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-bri thisStepFile: '{workflow_path}/steps/step-03-users.md' nextStepFile: '{workflow_path}/steps/step-04-metrics.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md' +outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md index d888f716..9d6de6ea 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-bri thisStepFile: '{workflow_path}/steps/step-04-metrics.md' nextStepFile: '{workflow_path}/steps/step-05-scope.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md' +outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md index 94fcad1d..5b3bc6a5 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-bri thisStepFile: '{workflow_path}/steps/step-05-scope.md' nextStepFile: '{workflow_path}/steps/step-06-complete.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md' +outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md index 62716722..fa586c9e 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md @@ -8,9 +8,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-bri # File References thisStepFile: '{workflow_path}/steps/step-06-complete.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md' -# Task References -# (No task references used in this completion step) +outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' --- # Step 6: Product Brief Completion @@ -84,9 +82,8 @@ This brief serves as the foundation for all subsequent product development activ **Status File Management:** Update the main workflow status file: -- Check if `{output_folder}/bmm-workflow-status.yaml` exists -- If not, create it with basic structure -- Update workflow_status["product-brief"] = `{outputFile}` +- Check if `{output_folder} or {planning_artifacts}/bmm-workflow-status.yaml` exists +- If so, update workflow_status["product-brief"] = `{outputFile}` - Add completion timestamp and metadata - Save file, preserving all comments and structure @@ -113,7 +110,7 @@ Perform final validation of the product brief: **Recommended Next Workflow:** Provide guidance on logical next workflows: -1. `workflow prd` - Create detailed Product Requirements Document +1. `create-prd` - Create detailed Product Requirements Document - Brief provides foundation for detailed requirements - User personas inform journey mapping - Success metrics become specific acceptance criteria @@ -121,8 +118,8 @@ Provide guidance on logical next workflows: **Other Potential Next Steps:** -2. `workflow create-ux-design` - UX research and design (can run parallel with PRD) -3. `workflow domain-research` - Deep market or domain research (if needed) +1. `create-ux-design` - UX research and design (can run parallel with PRD) +2. `domain-research` - Deep market or domain research (if needed) **Strategic Considerations:** diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md index f06b7fe5..afb92d96 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md @@ -51,7 +51,7 @@ This uses **step-file architecture** for disciplined execution: Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve: -- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level` +- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level` ### 2. First Step EXECUTION diff --git a/src/modules/bmm/workflows/1-analysis/research/research.template.md b/src/modules/bmm/workflows/1-analysis/research/research.template.md index 131ef715..1d995247 100644 --- a/src/modules/bmm/workflows/1-analysis/research/research.template.md +++ b/src/modules/bmm/workflows/1-analysis/research/research.template.md @@ -1,3 +1,17 @@ +--- +stepsCompleted: [] +inputDocuments: [] +workflowType: 'research' +lastStep: 1 +research_type: '{{research_type}}' +research_topic: '{{research_topic}}' +research_goals: '{{research_goals}}' +user_name: '{{user_name}}' +date: '{{date}}' +web_research_enabled: true +source_verification: true +--- + # Research Report: {{research_type}} **Date:** {{date}} diff --git a/src/modules/bmm/workflows/1-analysis/research/workflow.md b/src/modules/bmm/workflows/1-analysis/research/workflow.md index f0f20d9f..9af85058 100644 --- a/src/modules/bmm/workflows/1-analysis/research/workflow.md +++ b/src/modules/bmm/workflows/1-analysis/research/workflow.md @@ -25,8 +25,6 @@ web_bundle: true - Detailed research sections with proper citations - Executive summary and conclusions ---- - ## WORKFLOW ARCHITECTURE This uses **micro-file architecture** with **routing-based discovery**: @@ -34,9 +32,7 @@ This uses **micro-file architecture** with **routing-based discovery**: - Each research type has its own step folder - Step 01 discovers research type and routes to appropriate sub-workflow - Sequential progression within each research type -- Document state tracked in frontmatter - ---- +- Document state tracked in output frontmatter ## INITIALIZATION @@ -44,25 +40,20 @@ This uses **micro-file architecture** with **routing-based discovery**: Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: -- `project_name`, `output_folder`, `user_name` +- `project_name`, `output_folder`, , `planning_artifacts`, `user_name` - `communication_language`, `document_output_language`, `user_skill_level` - `date` as a system-generated value -- `enable_web_research = true` (web research is default behavior) ### Paths - `installed_path` = `{project-root}/_bmad/bmm/workflows/1-analysis/research` - `template_path` = `{installed_path}/research.template.md` -- `default_output_file` = `{output_folder}/analysis/research/{{research_type}}-{{topic}}-research-{{date}}.md` (dynamic based on research type) - ---- +- `default_output_file` = `{planning_artifacts}/research/{{research_type}}-{{topic}}-research-{{date}}.md` (dynamic based on research type) ## PREREQUISITE **⛔ Web search required.** If unavailable, abort and tell the user. ---- - ## RESEARCH BEHAVIOR ### Web Research Standards @@ -81,9 +72,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - **Critical Claims**: Market size, growth rates, competitive data need verification - **Fact Checking**: Apply fact-checking to critical data points ---- - -## EXECUTION +## Implementation Instructions Execute research type discovery and routing: @@ -156,49 +145,29 @@ After understanding the research topic and goals, identify the most appropriate ### Research Type Routing -Based on user selection, route to appropriate sub-workflow with the discovered topic: +Based on user selection, route to appropriate sub-workflow with the discovered topic using the following IF block sets of instructions. #### If Market Research: - Set `research_type = "market"` - Set `research_topic = [discovered topic from discussion]` -- Set output file: `{output_folder}/analysis/research/market-{{research_topic}}-research-{{date}}.md` +- Create the starter output file: `{planning_artifacts}/research/market-{{research_topic}}-research-{{date}}.md` with exact copy of the ./research.template.md contents - Load: `./market-steps/step-01-init.md` with topic context #### If Domain Research: - Set `research_type = "domain"` - Set `research_topic = [discovered topic from discussion]` -- Set output file: `{output_folder}/analysis/research/domain-{{research_topic}}-research-{{date}}.md` +- Create the starter output file: `{planning_artifacts}/research/domain-{{research_topic}}-research-{{date}}.md` with exact copy of the ./research.template.md contents - Load: `./domain-steps/step-01-init.md` with topic context #### If Technical Research: - Set `research_type = "technical"` - Set `research_topic = [discovered topic from discussion]` -- Set output file: `{output_folder}/analysis/research/technical-{{research_topic}}-research-{{date}}.md` +- Create the starter output file: `{planning_artifacts}/research/technical-{{research_topic}}-research-{{date}}.md` with exact copy of the ./research.template.md contents - Load: `./technical-steps/step-01-init.md` with topic context **Important**: The discovered topic from the collaborative discussion should be passed to the research initialization steps, so they don't need to ask "What do you want to research?" again - they can focus on refining the scope for their specific research type. -### Document Initialization - -Create research document with proper metadata: - -```yaml ---- -stepsCompleted: [1] -inputDocuments: [] -workflowType: 'research' -lastStep: 1 -research_type: '{{research_type}}' -research_topic: '{{research_topic}}' -research_goals: '{{research_goals}}' -user_name: '{{user_name}}' -date: '{{date}}' -web_research_enabled: true -source_verification: true ---- -``` - **Note:** All research workflows require web search for current data and source verification. diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md index ea0435b4..86896990 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md @@ -35,7 +35,7 @@ Initialize the UX design workflow by detecting continuation state and setting up First, check if the output document already exists: -- Look for file at `{output_folder}/ux-design-specification.md` +- Look for file at `{planning_artifacts}/ux-design-specification.md` - If exists, read the complete file including frontmatter - If not exists, this is a fresh workflow @@ -57,23 +57,23 @@ Discover and load context documents using smart discovery: **PRD (Priority: Analysis → Main → Sharded → Whole):** -1. Check analysis folder: `{output_folder}/analysis/*prd*.md` -2. If no analysis files: Try main folder: `{output_folder}/*prd*.md` -3. If no main files: Check for sharded PRD folder: `{output_folder}/*prd*/**/*.md` +1. Check analysis folder: `{planning_artifacts}/*prd*.md` +2. If no files: Try main folder: `{output_folder}/*prd*.md` +3. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md` 4. If sharded folder exists: Load EVERY file in that folder completely for UX context 5. Add discovered files to `inputDocuments` frontmatter **Product Brief (Priority: Analysis → Main → Sharded → Whole):** -1. Check analysis folder: `{output_folder}/analysis/*brief*.md` +1. Check analysis folder: `{planning_artifacts}/*brief*.md` 2. If no analysis files: Try main folder: `{output_folder}/*brief*.md` -3. If no main files: Check for sharded brief folder: `{output_folder}/*brief*/**/*.md` +3. If no main files: Check for sharded brief folder: `**/*brief*/**/*.md` 4. If sharded folder exists: Load EVERY file in that folder completely 5. Add discovered files to `inputDocuments` frontmatter **Research Documents (Priority: Analysis → Main → Sharded → Whole):** -1. Check analysis folder: `{output_folder}/analysis/research/*research*.md` +1. Check analysis folder: `{planning_artifacts}/research/*research*.md` 2. If no analysis files: Try main folder: `{output_folder}/*research*.md` 3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md` 4. Load useful research files completely @@ -92,7 +92,7 @@ Discover and load context documents using smart discovery: #### B. Create Initial Document -Copy the template from `{installed_path}/ux-design-template.md` to `{output_folder}/ux-design-specification.md` +Copy the template from `{installed_path}/ux-design-template.md` to `{planning_artifacts}/ux-design-specification.md` Initialize frontmatter with: ```yaml @@ -113,7 +113,7 @@ Complete setup and report to user: **Document Setup:** -- Created: `{output_folder}/ux-design-specification.md` from template +- Created: `{planning_artifacts}/ux-design-specification.md` from template - Initialized frontmatter with workflow state **Input Documents Discovered:** @@ -132,6 +132,12 @@ Do you have any other documents you'd like me to include, or shall we continue t [C] Continue to UX discovery" +## NEXT STEP: + +After user selects [C] to continue, load `./step-02-discovery.md` to begin the UX discovery phase. + +Remember: Do NOT proceed to step-02 until output file has been updated and user explicitly selects [C] to continue! + ## SUCCESS METRICS: ✅ Existing workflow detected and handed off to step-01b correctly @@ -151,9 +157,3 @@ Do you have any other documents you'd like me to include, or shall we continue t ❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions ❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file ❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols - -## NEXT STEP: - -After user selects [C] to continue, load `./step-02-discovery.md` to begin the UX discovery phase. - -Remember: Do NOT proceed to step-02 until user explicitly selects [C] to continue! diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md index 24d8cf14..f42a4c1f 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md @@ -146,37 +146,19 @@ Show the generated project understanding content and present choices: [Show the complete markdown content from step 5] **What would you like to do?** -[A] Advanced Elicitation - Let's dive deeper into project understanding -[P] Party Mode - Bring different perspectives on user needs and challenges [C] Continue - Save this to the document and move to core experience definition" ### 7. Handle Menu Selection -#### If 'A' (Advanced Elicitation): - -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current project understanding content -- Process the enhanced project insights that come back -- Ask user: "Accept these improvements to the project understanding? (y/n)" -- If yes: Update content with improvements, then return to A/P/C menu -- If no: Keep original content, then return to A/P/C menu - -#### If 'P' (Party Mode): - -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current project understanding -- Process the collaborative insights and different perspectives that come back -- Ask user: "Accept these changes to the project understanding? (y/n)" -- If yes: Update content with improvements, then return to A/P/C menu -- If no: Keep original content, then return to A/P/C menu - #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2]` - Load `./step-03-core-experience.md` ## APPEND TO DOCUMENT: -When user selects 'C', append the content directly to the document using the structure from step 5. +When user selects 'C', append the content directly to the document. Only after the content is saved to document, load `./step-03-core-experience.md` and execute the instructions. ## SUCCESS METRICS: @@ -204,6 +186,4 @@ When user selects 'C', append the content directly to the document using the str ## NEXT STEP: -After user selects 'C' and content is saved to document, load `./step-03-core-experience.md` to define the core user experience. - -Remember: Do NOT proceed to step-03 until user explicitly selects 'C' from the A/P/C menu and content is saved! +Remember: Do NOT proceed to step-03 until user explicitly selects 'C' from the menu and content is saved! diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md index 843a54ac..e3fe2c27 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md @@ -176,7 +176,7 @@ Show the generated core experience content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3]` - Load `./step-04-emotional-response.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md index f2f40f57..12f13976 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md @@ -179,7 +179,7 @@ Show the generated emotional response content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4]` - Load `./step-05-inspiration.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md index b0cbd8a2..45d4183a 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md @@ -194,9 +194,9 @@ Show the generated inspiration analysis content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]` -- Load `./step-06-design-system.md` +- Load and execute`./step-06-design-system.md` ## APPEND TO DOCUMENT: diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md index d23128db..e0773f39 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md @@ -212,7 +212,7 @@ Show the generated design system content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]` - Load `./step-07-defining-experience.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md index c80997c7..adb4380e 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md @@ -214,7 +214,7 @@ Show the generated defining experience content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` - Load `./step-08-visual-foundation.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md index eea6d39a..7d02f67c 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md @@ -184,7 +184,7 @@ Show the generated visual foundation content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` - Load `./step-09-design-directions.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md index 7510fae6..ad0b5b66 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md @@ -184,7 +184,7 @@ Show the generated design direction content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]` - Load `./step-10-user-journeys.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md index dbd8fc2a..1392c4bf 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md @@ -202,7 +202,7 @@ Show the generated user journey content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]` - Load `./step-11-component-strategy.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md index b3d92c40..3cb00b2e 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md @@ -208,7 +208,7 @@ Show the generated component strategy content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]` - Load `./step-12-ux-patterns.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md index 8615d111..36091dcf 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md @@ -197,7 +197,7 @@ Show the generated UX patterns content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]` - Load `./step-13-responsive-accessibility.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md index 87349a04..c636cdc9 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md @@ -224,7 +224,7 @@ Show the generated responsive and accessibility content and present choices: #### If 'C' (Continue): -- Append the final content to `{output_folder}/ux-design-specification.md` +- Append the final content to `{planning_artifacts}/ux-design-specification.md` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]` - Load `./step-14-complete.md` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md index 93cf838d..d41f9406 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md @@ -60,7 +60,7 @@ I've successfully collaborated with you to create a comprehensive UX design spec - ✅ UX consistency patterns for common interactions - ✅ Responsive design and accessibility strategy -**The complete UX design specification is now available at:** `{output_folder}/ux-design-specification.md` +**The complete UX design specification is now available at:** `{planning_artifacts}/ux-design-specification.md` **Supporting Visual Assets:** @@ -221,6 +221,6 @@ This UX design workflow is now complete. The specification serves as the foundat **Core Deliverables:** -- ✅ UX Design Specification: `{output_folder}/ux-design-specification.md` +- ✅ UX Design Specification: `{planning_artifacts}/ux-design-specification.md` - ✅ Color Themes Visualizer: `{output_folder}/ux-color-themes.html` - ✅ Design Directions: `{output_folder}/ux-design-directions.html` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md index c6805ebe..b30852a6 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md @@ -27,7 +27,7 @@ This uses **micro-file architecture** for disciplined execution: Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: -- `project_name`, `output_folder`, `user_name` +- `project_name`, `output_folder`, `planning_artifacts`, `user_name` - `communication_language`, `document_output_language`, `user_skill_level` - `date` as system-generated current datetime @@ -35,7 +35,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - `installed_path` = `{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-ux-design` - `template_path` = `{installed_path}/ux-design-template.md` -- `default_output_file` = `{output_folder}/ux-design-specification.md` +- `default_output_file` = `{planning_artifacts}/ux-design-specification.md` ### Output Files @@ -46,14 +46,12 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: Discover context documents for UX context (Priority: Analysis folder first, then main folder, then sharded): -- PRD: `{output_folder}/analysis/*prd*.md` or `{output_folder}/*prd*.md` or `{output_folder}/*prd*/**/*.md` +- PRD: `{planning_artifacts}/*prd*.md` or `{output_folder}/*prd*.md` or `{output_folder}/*prd*/**/*.md` - Product brief: `{output_folder}/analysis/*brief*.md` or `{output_folder}/*brief*.md` or `{output_folder}/*brief*/**/*.md` - Epics: `{output_folder}/analysis/*epic*.md` or `{output_folder}/*epic*.md` or `{output_folder}/*epic*/**/*.md` - Research: `{output_folder}/analysis/research/*research*.md` or `{output_folder}/*research*.md` or `{output_folder}/*research*/**/*.md` - Brainstorming: `{output_folder}/analysis/brainstorming/*brainstorming*.md` or `{output_folder}/*brainstorming*.md` ---- - ## EXECUTION Load and execute `steps/step-01-init.md` to begin the UX design workflow. diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md index 8c6dc18e..b96a6ae2 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation- thisStepFile: '{workflow_path}/steps/step-01-document-discovery.md' nextStepFile: '{workflow_path}/steps/step-02-prd-analysis.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/implementation-readiness-report-{{date}}.md' +outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' templateFile: '{workflow_path}/templates/readiness-report-template.md' --- diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md index cdbb2b69..88a8178d 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation- thisStepFile: '{workflow_path}/steps/step-02-prd-analysis.md' nextStepFile: '{workflow_path}/steps/step-03-epic-coverage-validation.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/implementation-readiness-report-{{date}}.md' +outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' epicsFile: '{output_folder}/*epic*.md' # Will be resolved to actual file --- diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md index f3dd77b2..b4a90c99 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation- thisStepFile: '{workflow_path}/steps/step-03-epic-coverage-validation.md' nextStepFile: '{workflow_path}/steps/step-04-ux-alignment.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/implementation-readiness-report-{{date}}.md' +outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' --- # Step 3: Epic Coverage Validation diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md index 180108a9..e3ddd53b 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation- thisStepFile: '{workflow_path}/steps/step-04-ux-alignment.md' nextStepFile: '{workflow_path}/steps/step-05-epic-quality-review.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/implementation-readiness-report-{{date}}.md' +outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' --- # Step 4: UX Alignment diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md index d30d719d..597f62a2 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation- thisStepFile: '{workflow_path}/steps/step-05-epic-quality-review.md' nextStepFile: '{workflow_path}/steps/step-06-final-assessment.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/implementation-readiness-report-{{date}}.md' +outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' epicsBestPractices: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories' --- diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md index a19b7dc9..204e6aeb 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md @@ -8,7 +8,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation- # File References thisStepFile: '{workflow_path}/steps/step-06-final-assessment.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/implementation-readiness-report-{{date}}.md' +outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' --- # Step 6: Final Assessment diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md index 0336f529..0a266eb7 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md @@ -47,7 +47,7 @@ web_bundle: false Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve: -- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language` +- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language` ### 2. First Step EXECUTION diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md index d0d100f7..51ac3d6f 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md @@ -2,7 +2,6 @@ stepsCompleted: [] inputDocuments: [] workflowType: 'architecture' -lastStep: 0 project_name: '{{project_name}}' user_name: '{{user_name}}' date: '{{date}}' diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md index 25ce6140..4d661420 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md @@ -36,8 +36,8 @@ Initialize the Architecture workflow by detecting continuation state, discoverin First, check if the output document already exists: -- Look for file at `{output_folder}/architecture.md` -- If exists, read the complete file including frontmatter +- Look for existing {output_folder}||{planning_artifacts} architecture.md or \*\*/architecture/ +- If exists, read the complete file(s) including frontmatter - If not exists, this is a fresh workflow ### 2. Handle Continuation (If Document Exists) @@ -58,14 +58,14 @@ Discover and load context documents using smart discovery: **PRD Document (Priority: Analysis → Main → Sharded → Whole):** -1. Check analysis folder: `{output_folder}/*prd*.md` -2. If no main files: Check for sharded PRD folder: `{output_folder}/*prd*/**/*.md` +1. Check analysis folders: {output*folder} and {planning_artifacts} for a \_prd*.md +2. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md` 3. If sharded folder exists: Load EVERY file in that folder completely 4. Add discovered files to `inputDocuments` frontmatter **Epics/Stories Document (Priority: Analysis → Main → Sharded → Whole):** -1. Check analysis folder: `{output_folder}/analysis/*epic*.md` +1. Check folders: {output*folder} and {planning_artifacts} for a \_epic*.md 2. If no analysis files: Try main folder: `{output_folder}/*epic*.md` 3. If no main files: Check for sharded epics folder: `{output_folder}/*epic*/**/*.md` 4. If sharded folder exists: Load EVERY file in that folder completely @@ -73,24 +73,25 @@ Discover and load context documents using smart discovery: **UX Design Specification (Priority: Analysis → Main → Sharded → Whole):** -1. Check folder: `{output_folder}/*ux*.md` +1. Check folders: {output*folder} and {planning_artifacts} for a \_ux*.md 2. If no main files: Check for sharded UX folder: `{output_folder}/*ux*/**/*.md` 3. If sharded folder exists: Load EVERY file in that folder completely 4. Add discovered files to `inputDocuments` frontmatter **Research Documents (Priority: Analysis → Main):** -1. Check folder: `{output_folder}/research/*research*.md` +1. Check folders {output*folder} and {planning_artifacts} for /research/\_research*.md 2. If no files: Try folder: `{output_folder}/*research*.md` 3. Add discovered files to `inputDocuments` frontmatter **Project Documentation (Existing Projects):** -1. Look for index file: `{output_folder/index.md` +1. Look for index file: `{project_knowledge}/index.md` 2. CRITICAL: Load index.md to understand what project files are available 3. Read available files from index to understand existing project context 4. This provides essential context for extending existing project with new architecture 5. Add discovered files to `inputDocuments` frontmatter +6. IF no index.md, ask user which files from the folder to include **Project Context Rules (Critical for AI Agents):** @@ -123,19 +124,6 @@ Before proceeding, verify we have the essential inputs: #### C. Create Initial Document Copy the template from `{installed_path}/architecture-decision-template.md` to `{output_folder}/architecture.md` -Initialize frontmatter with: - -```yaml ---- -stepsCompleted: [] -inputDocuments: [] -workflowType: 'architecture' -lastStep: 0 -project_name: '{{project_name}}' -user_name: '{{user_name}}' -date: '{{date}}' ---- -``` #### D. Complete Initialization and Report diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/workflow.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/workflow.md index f674c2ac..12efcbb1 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/workflow.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/workflow.md @@ -30,7 +30,7 @@ This uses **micro-file architecture** for disciplined execution: Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: -- `project_name`, `output_folder`, `user_name` +- `project_name`, `output_folder`, `planning_artifacts`, `user_name` - `communication_language`, `document_output_language`, `user_skill_level` - `date` as system-generated current datetime diff --git a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md index a139b3bf..19516510 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +++ b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-an thisStepFile: '{workflow_path}/steps/step-01-validate-prerequisites.md' nextStepFile: '{workflow_path}/steps/step-02-design-epics.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/epics.md' +outputFile: '{planning_artifacts}/epics.md' epicsTemplate: '{workflow_path}/templates/epics-template.md' # Task References @@ -77,20 +77,20 @@ Search for required documents using these patterns (sharded means a large docume **PRD Document Search Priority:** -1. `{output_folder}/*prd*.md` (whole document) -2. `{output_folder}/*prd*/index.md` (sharded version) +1. `{planning_artifacts}/*prd*.md` (whole document) +2. `{planning_artifacts}/*prd*/index.md` (sharded version) **Architecture Document Search Priority:** -1. `{output_folder}/*architecture*.md` (whole document) -2. `{output_folder}/*architecture*/index.md` (sharded version) +1. `{planning_artifacts}/*architecture*.md` (whole document) +2. `{planning_artifacts}/*architecture*/index.md` (sharded version) **UX Design Document Search (Optional):** -1. `{output_folder}/*ux*.md` (whole document) -2. `{output_folder}/*ux*/index.md` (sharded version) +1. `{planning_artifacts}/*ux*.md` (whole document) +2. `{planning_artifacts}/*ux*/index.md` (sharded version) -Ask the user if there are any other documents, or if what you have found is all there is [Yes/No]. Wait for user confirmation. Once confirmed, create the {outputFile} from the {epicsTemplate} and in the front matter list the files in the array of `inputDocuments: []`. +Before proceeding, Ask the user if there are any other documents, or if what you have found is all there is [Yes/No]. Wait for user confirmation. Once confirmed, create the {outputFile} from the {epicsTemplate} and in the front matter list the files in the array of `inputDocuments: []`. ### 3. Extract Functional Requirements (FRs) diff --git a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md index 5e873978..ca4c85de 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +++ b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-an thisStepFile: '{workflow_path}/steps/step-02-design-epics.md' nextStepFile: '{workflow_path}/steps/step-03-create-stories.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/epics.md' +outputFile: '{planning_artifacts}/epics.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' diff --git a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md index a27c7cf9..b018bd5b 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +++ b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md @@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-an thisStepFile: '{workflow_path}/steps/step-03-create-stories.md' nextStepFile: '{workflow_path}/steps/step-04-final-validation.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/epics.md' +outputFile: '{planning_artifacts}/epics.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' diff --git a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md index 1ae059a2..252a9ee1 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +++ b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md @@ -8,7 +8,7 @@ workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-an # File References thisStepFile: '{workflow_path}/steps/step-04-final-validation.md' workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/epics.md' +outputFile: '{planning_artifacts}/epics.md' # Task References advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' diff --git a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md index db99fade..e0a595bb 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +++ b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md @@ -51,7 +51,7 @@ This uses **step-file architecture** for disciplined execution: Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve: -- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language` +- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language` ### 2. First Step EXECUTION diff --git a/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml b/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml index e5de483e..db51becc 100644 --- a/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml @@ -5,14 +5,14 @@ author: "BMad" # Critical variables from config config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +implementation_artifacts: "{config_source}:implementation_artifacts" +output_folder: "{implementation_artifacts}" +sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Workflow components installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review" @@ -23,7 +23,7 @@ template: false variables: # Project context project_context: "**/project-context.md" - story_dir: "{sprint_artifacts}" + story_dir: "{implementation_artifacts}" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml b/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml index a342a9eb..436aeff0 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml @@ -4,14 +4,16 @@ description: "Navigate significant changes during sprint execution by analyzing author: "BMad Method" config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +implementation_artifacts: "{config_source}:implementation_artifacts" +planning_artifacts: "{config_source}:planning_artifacts" +project_knowledge: "{config_source}:project_knowledge" +output_folder: "{implementation_artifacts}" +sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version @@ -19,31 +21,31 @@ sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint- input_file_patterns: prd: description: "Product requirements for impact analysis" - whole: "{output_folder}/*prd*.md" - sharded: "{output_folder}/*prd*/*.md" + whole: "{planning_artifacts}/*prd*.md" + sharded: "{planning_artifacts}/*prd*/*.md" load_strategy: "FULL_LOAD" epics: description: "All epics to analyze change impact" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/*.md" + whole: "{planning_artifacts}/*epic*.md" + sharded: "{planning_artifacts}/*epic*/*.md" load_strategy: "FULL_LOAD" architecture: description: "System architecture and decisions" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" load_strategy: "FULL_LOAD" ux_design: description: "UX design specification (if UI impacts)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" + whole: "{planning_artifacts}/*ux*.md" + sharded: "{planning_artifacts}/*ux*/*.md" load_strategy: "FULL_LOAD" tech_spec: description: "Technical specification" - whole: "{output_folder}/tech-spec*.md" + whole: "{planning_artifacts}/*tech-spec*.md" load_strategy: "FULL_LOAD" document_project: description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" + sharded: "{project_knowledge}/index.md" load_strategy: "INDEX_GUIDED" installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course" @@ -51,7 +53,7 @@ template: false instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" checklist: "{installed_path}/checklist.md" -default_output_file: "{output_folder}/sprint-change-proposal-{date}.md" +default_output_file: "{planning_artifacts}/sprint-change-proposal-{date}.md" standalone: true diff --git a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml index 656aa7b1..225028fa 100644 --- a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml @@ -4,12 +4,12 @@ author: "BMad" # Critical variables from config config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" -story_dir: "{sprint_artifacts}" +implementation_artifacts: "{config_source}:implementation_artifacts" +output_folder: "{implementation_artifacts}" +story_dir: "{implementation_artifacts}" # Workflow components installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story" @@ -19,7 +19,7 @@ validation: "{installed_path}/checklist.md" # Variables and inputs variables: - sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking + sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking epics_file: "{output_folder}/epics.md" # Enhanced epics+stories with BDD and source hints prd_file: "{output_folder}/PRD.md" # Fallback for requirements (if not in epics file) architecture_file: "{output_folder}/architecture.md" # Fallback for constraints (if not in epics file) diff --git a/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml index 6fb4ca5b..d5824ee1 100644 --- a/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml @@ -9,7 +9,7 @@ user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" -story_dir: "{config_source}:sprint_artifacts" +story_dir: "{config_source}:implementation_artifacts" date: system-generated # Workflow components @@ -18,8 +18,8 @@ instructions: "{installed_path}/instructions.xml" validation: "{installed_path}/checklist.md" story_file: "" # Explicit story path; auto-discovered if empty -sprint_artifacts: "{config_source}:sprint_artifacts" -sprint_status: "{sprint_artifacts}/sprint-status.yaml" +implementation_artifacts: "{config_source}:implementation_artifacts" +sprint_status: "{implementation_artifacts}/sprint-status.yaml" project_context: "**/project-context.md" standalone: true diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml index 1dab9765..9be242e7 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml @@ -10,7 +10,7 @@ communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective" template: false @@ -31,7 +31,7 @@ input_file_patterns: load_strategy: "SELECTIVE_LOAD" previous_retrospective: description: "Previous epic's retrospective (optional)" - pattern: "{sprint_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" + pattern: "{implementation_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" load_strategy: "SELECTIVE_LOAD" architecture: description: "System architecture for context" @@ -49,9 +49,9 @@ input_file_patterns: load_strategy: "INDEX_GUIDED" # Required files -sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" -story_directory: "{sprint_artifacts}" -retrospectives_folder: "{sprint_artifacts}" +sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +story_directory: "{implementation_artifacts}" +retrospectives_folder: "{implementation_artifacts}" standalone: true web_bundle: false diff --git a/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml b/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml index 2daad29c..50998f0a 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml @@ -4,11 +4,12 @@ author: "BMad" # Critical variables from config config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" +planning_artifacts: "{config_source}:planning_artifacts" +output_folder: "{implementation_artifacts}" # Workflow components installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning" @@ -25,15 +26,15 @@ variables: # Tracking system configuration tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello - story_location: "{config_source}:sprint_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello - story_location_absolute: "{config_source}:sprint_artifacts" # Absolute path for file operations + story_location: "{config_source}:implementation_artifacts" # Relative path for file-system, Future will support URL for Jira/Linear/Trello + story_location_absolute: "{config_source}:implementation_artifacts" # Absolute path for file operations # Source files (file-system only) - epics_location: "{output_folder}" # Directory containing epic*.md files + epics_location: "{planning_artifacts}" # Directory containing epic*.md files epics_pattern: "epic*.md" # Pattern to find epic files # Output configuration - status_file: "{sprint_artifacts}/sprint-status.yaml" + status_file: "{implementation_artifacts}/sprint-status.yaml" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version diff --git a/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml b/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml index 4b028789..2dd2f25c 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml @@ -10,7 +10,8 @@ user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" date: system-generated -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" +planning_artifacts: "{config_source}:planning_artifacts" # Workflow components installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-status" @@ -18,14 +19,14 @@ instructions: "{installed_path}/instructions.md" # Inputs variables: - sprint_status_file: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" tracking_system: "file-system" # Smart input file references input_file_patterns: sprint_status: description: "Sprint status file generated by sprint-planning" - whole: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" + whole: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" load_strategy: "FULL_LOAD" # Standalone so IDE commands get generated diff --git a/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md b/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md index 272d7518..64fccf29 100644 --- a/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +++ b/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md @@ -19,7 +19,7 @@ Ask clarifying questions: problem, who's affected, scope, constraints, existing code? -Check for existing context in {output_folder} and {sprint_artifacts} +Check for existing context in {output_folder} and {implementation_artifacts} [a] Advanced Elicitation [c] Continue [p] Party Mode @@ -88,7 +88,7 @@
-Save to {sprint_artifacts}/tech-spec-{slug}.md +Save to {implementation_artifacts}/tech-spec-{slug}.md @@ -98,14 +98,14 @@ **Tech-Spec Complete!** -Saved to: {sprint_artifacts}/tech-spec-{slug}.md +Saved to: {implementation_artifacts}/tech-spec-{slug}.md [a] Advanced Elicitation - refine further [b] Begin Development (not recommended - fresh context better) [d] Done - exit [p] Party Mode - get feedback -**Recommended:** Run `dev-spec {sprint_artifacts}/tech-spec-{slug}.md` in fresh context. +**Recommended:** Run `dev-spec {implementation_artifacts}/tech-spec-{slug}.md` in fresh context. Choice (a/b/d/p): diff --git a/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml b/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml index 354fc0d2..cf2b2815 100644 --- a/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +++ b/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml @@ -5,8 +5,10 @@ author: "BMad" # Config config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" +planning_artifacts: "{config_source}:planning_artifacts" +project_knowledge: "{config_source}:project_knowledge" +output_folder: "{implementation_artifacts}" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml index 9ef52cdc..c7ceee43 100644 --- a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml @@ -5,8 +5,10 @@ author: "BMad" # Config config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" +planning_artifacts: "{config_source}:planning_artifacts" +project_knowledge: "{config_source}:project_knowledge" +output_folder: "{implementation_artifacts}" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" diff --git a/src/modules/bmm/workflows/document-project/instructions.md b/src/modules/bmm/workflows/document-project/instructions.md index ae8686fe..ee3a09ca 100644 --- a/src/modules/bmm/workflows/document-project/instructions.md +++ b/src/modules/bmm/workflows/document-project/instructions.md @@ -83,40 +83,39 @@ Would you like to: Your choice [1/2/3]: - - Set resume_mode = true - Set workflow_mode = {{mode}} - Load findings summaries from state file - Load cached project_type_id(s) from state file + + Set resume_mode = true + Set workflow_mode = {{mode}} + Load findings summaries from state file + Load cached project_type_id(s) from state file - CONDITIONAL CSV LOADING FOR RESUME: - For each cached project_type_id, load ONLY the corresponding row from: {documentation_requirements_csv} - Skip loading project-types.csv and architecture_registry.csv (not needed on resume) - Store loaded doc requirements for use in remaining steps + CONDITIONAL CSV LOADING FOR RESUME: + For each cached project_type_id, load ONLY the corresponding row from: {documentation_requirements_csv} + Skip loading project-types.csv and architecture_registry.csv (not needed on resume) + Store loaded doc requirements for use in remaining steps - Display: "Resuming {{workflow_mode}} from {{current_step}} with cached project type(s): {{cached_project_types}}" + Display: "Resuming {{workflow_mode}} from {{current_step}} with cached project type(s): {{cached_project_types}}" - - Load and execute: {installed_path}/workflows/deep-dive-instructions.md with resume context - - - - Load and execute: {installed_path}/workflows/full-scan-instructions.md with resume context - + + Load and execute: {installed_path}/workflows/deep-dive-instructions.md with resume context - - Create archive directory: {output_folder}/.archive/ - Move old state file to: {output_folder}/.archive/project-scan-report-{{timestamp}}.json - Set resume_mode = false - Continue to Step 0.5 + + Load and execute: {installed_path}/workflows/full-scan-instructions.md with resume context - - Display: "Exiting workflow without changes." - Exit workflow - + + + Create archive directory: {output_folder}/.archive/ + Move old state file to: {output_folder}/.archive/project-scan-report-{{timestamp}}.json + Set resume_mode = false + Continue to Step 0.5 + + + + Display: "Exiting workflow without changes." + Exit workflow diff --git a/src/modules/bmm/workflows/document-project/workflow.yaml b/src/modules/bmm/workflows/document-project/workflow.yaml index c0b1725b..536257b3 100644 --- a/src/modules/bmm/workflows/document-project/workflow.yaml +++ b/src/modules/bmm/workflows/document-project/workflow.yaml @@ -6,7 +6,7 @@ author: "BMad" # Critical variables config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" +output_folder: "{config_source}:project_knowledge" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" @@ -15,7 +15,6 @@ date: system-generated # Module path and component files installed_path: "{project-root}/_bmad/bmm/workflows/document-project" -template: false # This is an action workflow with multiple output files instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -23,7 +22,7 @@ validation: "{installed_path}/checklist.md" documentation_requirements_csv: "{installed_path}/documentation-requirements.csv" # Output configuration - Multiple files generated in output folder -# Primary output: {output_folder}/index.md +# Primary output: {output_folder}/project-documentation/ # Additional files generated by sub-workflows based on project structure standalone: true diff --git a/src/modules/bmm/workflows/generate-project-context/project-context-template.md b/src/modules/bmm/workflows/generate-project-context/project-context-template.md index 6b019779..ee01c4b3 100644 --- a/src/modules/bmm/workflows/generate-project-context/project-context-template.md +++ b/src/modules/bmm/workflows/generate-project-context/project-context-template.md @@ -2,7 +2,8 @@ project_name: '{{project_name}}' user_name: '{{user_name}}' date: '{{date}}' -sections_completed: [] +sections_completed: ['technology_stack'] +existing_patterns_found: { { number_of_patterns_discovered } } --- # Project Context for AI Agents diff --git a/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md b/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md index 395b30b6..b14a13dc 100644 --- a/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +++ b/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md @@ -33,7 +33,7 @@ Discover the project's technology stack, existing patterns, and critical impleme First, check if project context already exists: -- Look for file at `{output_folder}/project-context.md` +- Look for file at `{project_knowledge}/project-context.md or {project-root}/**/project-context.md` - If exists: Read complete file to understand existing rules - Present to user: "Found existing project context with {number_of_sections} sections. Would you like to update this or create a new one?" @@ -43,7 +43,7 @@ Load and analyze project files to identify technologies: **Architecture Document:** -- Look for `{output_folder}/architecture.md` +- Look for `{planning_artifacts}/architecture.md` - Extract technology choices with specific versions - Note architectural decisions that affect implementation @@ -55,7 +55,7 @@ Load and analyze project files to identify technologies: **Configuration Files:** -- Look for TypeScript config (`tsconfig.json`) +- Look for project language specific configs ( example: `tsconfig.json`) - Build tool configs (webpack, vite, next.config.js, etc.) - Linting and formatting configs (.eslintrc, .prettierrc, etc.) - Testing configurations (jest.config.js, vitest.config.ts, etc.) @@ -123,17 +123,7 @@ Based on discovery, create or update the context document: #### A. Fresh Document Setup (if no existing context) Copy template from `{installed_path}/project-context-template.md` to `{output_folder}/project-context.md` -Initialize frontmatter with: - -```yaml ---- -project_name: '{{project_name}}' -user_name: '{{user_name}}' -date: '{{date}}' -sections_completed: ['technology_stack'] -existing_patterns_found: { { number_of_patterns_discovered } } ---- -``` +Initialize frontmatter fields. #### B. Existing Document Update @@ -190,4 +180,4 @@ Ready to create/update your project context. This will help AI agents implement After user selects [C] to continue, load `./step-02-generate.md` to collaboratively generate the specific project context rules. -Remember: Do NOT proceed to step-02 until user explicitly selects [C] from the menu and discovery is confirmed! +Remember: Do NOT proceed to step-02 until user explicitly selects [C] from the menu and discovery is confirmed and the initial file has been written as directed in this discovery step! diff --git a/src/modules/bmm/workflows/workflow-status/init/instructions.md b/src/modules/bmm/workflows/workflow-status/init/instructions.md index 6fd628e5..b925dbbe 100644 --- a/src/modules/bmm/workflows/workflow-status/init/instructions.md +++ b/src/modules/bmm/workflows/workflow-status/init/instructions.md @@ -15,7 +15,7 @@ - BMM artifacts: PRD, epics, architecture, UX, brief, research, brainstorm - Implementation: stories, sprint-status, workflow-status - Codebase: source directories, package files, git repo -- Check both {output_folder} and {sprint_artifacts} locations +- Check both {output_folder} and {implementation_artifacts} locations Categorize into one of these states: diff --git a/src/modules/bmm/workflows/workflow-status/init/workflow.yaml b/src/modules/bmm/workflows/workflow-status/init/workflow.yaml index da42ebcc..63fe168c 100644 --- a/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +++ b/src/modules/bmm/workflows/workflow-status/init/workflow.yaml @@ -6,7 +6,7 @@ author: "BMad" # Critical variables from config config_source: "{project-root}/_bmad/bmm/config.yaml" output_folder: "{config_source}:output_folder" -sprint_artifacts: "{config_source}:sprint_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" user_name: "{config_source}:user_name" project_name: "{config_source}:project_name" communication_language: "{config_source}:communication_language" diff --git a/src/modules/bmm/workflows/workflow-status/workflow.yaml b/src/modules/bmm/workflows/workflow-status/workflow.yaml index 946489e1..b17fd9fa 100644 --- a/src/modules/bmm/workflows/workflow-status/workflow.yaml +++ b/src/modules/bmm/workflows/workflow-status/workflow.yaml @@ -6,6 +6,8 @@ author: "BMad" # Critical variables from config config_source: "{project-root}/_bmad/bmm/config.yaml" output_folder: "{config_source}:output_folder" +planning_artifacts: "{config_source}:planning_artifacts" +implementation_artifacts: "{config_source}:implementation_artifacts" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" @@ -23,7 +25,7 @@ template: "{installed_path}/workflow-status-template.yaml" path_files: "{installed_path}/paths/" # Output configuration - reads existing status -default_output_file: "{output_folder}/bmm-workflow-status.yaml" +default_output_file: "{planning_artifacts}/bmm-workflow-status.yaml" standalone: true diff --git a/src/modules/cis/readme.md b/src/modules/cis/docs/README.md similarity index 100% rename from src/modules/cis/readme.md rename to src/modules/cis/docs/README.md From 00a380a03ffed751644ad907b4c9f1856ad84f87 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 17:32:53 +0800 Subject: [PATCH 08/17] remove unused commands that need to be replaced --- package.json | 1 - tools/cli/commands/build.js | 283 -------------------------------- tools/cli/commands/list.js | 40 ----- tools/cli/commands/status.js | 47 ------ tools/cli/commands/uninstall.js | 44 ----- tools/cli/commands/update.js | 28 ---- 6 files changed, 443 deletions(-) delete mode 100644 tools/cli/commands/build.js delete mode 100644 tools/cli/commands/list.js delete mode 100644 tools/cli/commands/status.js delete mode 100644 tools/cli/commands/uninstall.js delete mode 100644 tools/cli/commands/update.js diff --git a/package.json b/package.json index 511f7fae..e8583be3 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ }, "scripts": { "bmad:install": "node tools/cli/bmad-cli.js install", - "bmad:status": "node tools/cli/bmad-cli.js status", "bundle": "node tools/cli/bundlers/bundle-web.js all", "flatten": "node tools/flattener/main.js", "format:check": "prettier --check \"**/*.{js,cjs,mjs,json,md,yaml}\"", diff --git a/tools/cli/commands/build.js b/tools/cli/commands/build.js deleted file mode 100644 index 50c12b83..00000000 --- a/tools/cli/commands/build.js +++ /dev/null @@ -1,283 +0,0 @@ -const chalk = require('chalk'); -const path = require('node:path'); -const fs = require('fs-extra'); -const { YamlXmlBuilder } = require('../lib/agent/yaml-xml-builder'); -const { getProjectRoot } = require('../lib/project-root'); - -const builder = new YamlXmlBuilder(); - -/** - * Find .claude directory by searching up from current directory - */ -async function findClaudeDir(startDir) { - let currentDir = startDir; - const root = path.parse(currentDir).root; - - while (currentDir !== root) { - const claudeDir = path.join(currentDir, '.claude'); - if (await fs.pathExists(claudeDir)) { - return claudeDir; - } - currentDir = path.dirname(currentDir); - } - - return null; -} - -module.exports = { - command: 'build [agent]', - description: 'Build agent XML files from YAML sources', - options: [ - ['-a, --all', 'Build all agents'], - ['-d, --directory ', 'Project directory', '.'], - ], - action: async (agentName, options) => { - try { - let projectDir = path.resolve(options.directory); - - // Auto-detect .claude directory (search up from current dir) - const claudeDir = await findClaudeDir(projectDir); - if (!claudeDir) { - console.log(chalk.yellow('\n⚠️ No .claude directory found')); - console.log(chalk.dim('Run this command from your project directory or')); - console.log(chalk.dim('use --directory flag to specify location')); - console.log(chalk.dim('\nExample: npx bmad-method build pm --directory /path/to/project')); - process.exit(1); - } - - // Use the directory containing .claude - projectDir = path.dirname(claudeDir); - console.log(chalk.dim(`Using project: ${projectDir}\n`)); - - console.log(chalk.cyan('🔨 Building Agent Files\n')); - - if (options.all) { - // Build all agents - await buildAllAgents(projectDir); - } else if (agentName) { - // Build specific agent - await buildAgent(projectDir, agentName); - } else { - // No agent specified, list available agents - console.log(chalk.yellow('No agent specified. Use --all to build all agents or specify an agent name.')); - console.log(chalk.dim('\nAvailable agents:')); - await listAvailableAgents(projectDir); - } - - process.exit(0); - } catch (error) { - console.error(chalk.red('\nError:'), error.message); - if (process.env.DEBUG) { - console.error(error.stack); - } - process.exit(1); - } - }, -}; - -/** - * Build a specific agent - */ -async function buildAgent(projectDir, agentName) { - // First check standalone agents in bmad/agents/{agentname}/ - const standaloneAgentDir = path.join(projectDir, '_bmad', 'agents', agentName); - let standaloneYamlPath = path.join(standaloneAgentDir, `${agentName}.agent.yaml`); - - // If exact match doesn't exist, look for any .agent.yaml file in the directory - if (!(await fs.pathExists(standaloneYamlPath)) && (await fs.pathExists(standaloneAgentDir))) { - const files = await fs.readdir(standaloneAgentDir); - const agentFile = files.find((f) => f.endsWith('.agent.yaml')); - if (agentFile) { - standaloneYamlPath = path.join(standaloneAgentDir, agentFile); - } - } - - if (await fs.pathExists(standaloneYamlPath)) { - const yamlFileName = path.basename(standaloneYamlPath, '.agent.yaml'); - const outputPath = path.join(standaloneAgentDir, `${yamlFileName}.md`); - - // Build the standalone agent - console.log(chalk.cyan(` Building standalone agent ${agentName}...`)); - - const customizePath = path.join(projectDir, '_bmad', '_config', 'agents', `${agentName}.customize.yaml`); - const customizeExists = await fs.pathExists(customizePath); - - await builder.buildAgent(standaloneYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true }); - - console.log(chalk.green(` ✓ ${agentName} built successfully (standalone)`)); - return; - } - - // Find the agent YAML file in .claude/commands/bmad/ - const bmadCommandsDir = path.join(projectDir, '.claude', 'commands', '_bmad'); - - // Search all module directories for the agent - const modules = await fs.readdir(bmadCommandsDir); - let found = false; - - for (const module of modules) { - const agentYamlPath = path.join(bmadCommandsDir, module, 'agents', `${agentName}.agent.yaml`); - const outputPath = path.join(bmadCommandsDir, module, 'agents', `${agentName}.md`); - - if (await fs.pathExists(agentYamlPath)) { - found = true; - - // Build the agent - console.log(chalk.cyan(` Building ${agentName}...`)); - - const customizePath = path.join(projectDir, '.claude', '_config', 'agents', `${agentName}.customize.yaml`); - const customizeExists = await fs.pathExists(customizePath); - - await builder.buildAgent(agentYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true }); - - console.log(chalk.green(` ✓ ${agentName} built successfully`)); - return; - } - } - - if (!found) { - console.log(chalk.yellow(` ⚠️ Agent '${agentName}' not found`)); - console.log(chalk.dim(' Available agents:')); - await listAvailableAgents(projectDir); - } -} - -/** - * Build all agents - */ -async function buildAllAgents(projectDir) { - let builtCount = 0; - - // First, build standalone agents in bmad/agents/ - const standaloneAgentsDir = path.join(projectDir, '_bmad', 'agents'); - if (await fs.pathExists(standaloneAgentsDir)) { - console.log(chalk.cyan('\nBuilding standalone agents...')); - const agentDirs = await fs.readdir(standaloneAgentsDir); - - for (const agentDirName of agentDirs) { - const agentDir = path.join(standaloneAgentsDir, agentDirName); - - // Skip if not a directory - const stat = await fs.stat(agentDir); - if (!stat.isDirectory()) { - continue; - } - - // Find any .agent.yaml file in the directory - const files = await fs.readdir(agentDir); - const agentFile = files.find((f) => f.endsWith('.agent.yaml')); - - if (!agentFile) { - continue; - } - - const agentYamlPath = path.join(agentDir, agentFile); - const agentName = path.basename(agentFile, '.agent.yaml'); - const outputPath = path.join(agentDir, `${agentName}.md`); - - console.log(chalk.cyan(` Building standalone agent ${agentName}...`)); - - const customizePath = path.join(projectDir, '_bmad', '_config', 'agents', `${agentName}.customize.yaml`); - const customizeExists = await fs.pathExists(customizePath); - - await builder.buildAgent(agentYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true }); - - console.log(chalk.green(` ✓ ${agentName} (standalone)`)); - builtCount++; - } - } - - // Then, build module agents in .claude/commands/bmad/ - const bmadCommandsDir = path.join(projectDir, '.claude', 'commands', 'bmad'); - if (await fs.pathExists(bmadCommandsDir)) { - console.log(chalk.cyan('\nBuilding module agents...')); - const modules = await fs.readdir(bmadCommandsDir); - - for (const module of modules) { - const agentsDir = path.join(bmadCommandsDir, module, 'agents'); - - if (!(await fs.pathExists(agentsDir))) { - continue; - } - - const files = await fs.readdir(agentsDir); - - for (const file of files) { - if (!file.endsWith('.agent.yaml')) { - continue; - } - - const agentName = file.replace('.agent.yaml', ''); - const agentYamlPath = path.join(agentsDir, file); - const outputPath = path.join(agentsDir, `${agentName}.md`); - - console.log(chalk.cyan(` Building ${agentName}...`)); - - const customizePath = path.join(projectDir, '.claude', '_config', 'agents', `${agentName}.customize.yaml`); - const customizeExists = await fs.pathExists(customizePath); - - await builder.buildAgent(agentYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true }); - - console.log(chalk.green(` ✓ ${agentName} (${module})`)); - builtCount++; - } - } - } - - console.log(chalk.green(`\n✓ Built ${builtCount} agent(s)`)); -} - -/** - * List available agents - */ -async function listAvailableAgents(projectDir) { - // List standalone agents first - const standaloneAgentsDir = path.join(projectDir, 'bmad', 'agents'); - if (await fs.pathExists(standaloneAgentsDir)) { - console.log(chalk.dim(' Standalone agents:')); - const agentDirs = await fs.readdir(standaloneAgentsDir); - - for (const agentDirName of agentDirs) { - const agentDir = path.join(standaloneAgentsDir, agentDirName); - - // Skip if not a directory - const stat = await fs.stat(agentDir); - if (!stat.isDirectory()) { - continue; - } - - // Find any .agent.yaml file in the directory - const files = await fs.readdir(agentDir); - const agentFile = files.find((f) => f.endsWith('.agent.yaml')); - - if (agentFile) { - const agentName = path.basename(agentFile, '.agent.yaml'); - console.log(chalk.dim(` - ${agentName} (in ${agentDirName}/)`)); - } - } - } - - // List module agents - const bmadCommandsDir = path.join(projectDir, '.claude', 'commands', 'bmad'); - if (await fs.pathExists(bmadCommandsDir)) { - console.log(chalk.dim(' Module agents:')); - const modules = await fs.readdir(bmadCommandsDir); - - for (const module of modules) { - const agentsDir = path.join(bmadCommandsDir, module, 'agents'); - - if (!(await fs.pathExists(agentsDir))) { - continue; - } - - const files = await fs.readdir(agentsDir); - - for (const file of files) { - if (file.endsWith('.agent.yaml')) { - const agentName = file.replace('.agent.yaml', ''); - console.log(chalk.dim(` - ${agentName} (${module})`)); - } - } - } - } -} diff --git a/tools/cli/commands/list.js b/tools/cli/commands/list.js deleted file mode 100644 index de2bd465..00000000 --- a/tools/cli/commands/list.js +++ /dev/null @@ -1,40 +0,0 @@ -const chalk = require('chalk'); -const { Installer } = require('../installers/lib/core/installer'); - -const installer = new Installer(); - -module.exports = { - command: 'list', - description: 'List available modules', - options: [], - action: async () => { - try { - const result = await installer.getAvailableModules(); - const { modules, customModules } = result; - - console.log(chalk.cyan('\n📦 Available BMAD Modules:\n')); - - for (const module of modules) { - console.log(chalk.bold(` ${module.id}`)); - console.log(chalk.dim(` ${module.description}`)); - console.log(chalk.dim(` Version: ${module.version}`)); - console.log(); - } - - if (customModules && customModules.length > 0) { - console.log(chalk.cyan('\n🔧 Custom Modules:\n')); - for (const module of customModules) { - console.log(chalk.bold(` ${module.id}`)); - console.log(chalk.dim(` ${module.description}`)); - console.log(chalk.dim(` Version: ${module.version}`)); - console.log(); - } - } - - process.exit(0); - } catch (error) { - console.error(chalk.red('Error:'), error.message); - process.exit(1); - } - }, -}; diff --git a/tools/cli/commands/status.js b/tools/cli/commands/status.js deleted file mode 100644 index 34ce22d0..00000000 --- a/tools/cli/commands/status.js +++ /dev/null @@ -1,47 +0,0 @@ -const chalk = require('chalk'); -const { Installer } = require('../installers/lib/core/installer'); - -const installer = new Installer(); - -module.exports = { - command: 'status', - description: 'Show installation status', - options: [['-d, --directory ', 'Installation directory', '.']], - action: async (options) => { - try { - const status = await installer.getStatus(options.directory); - - if (!status.installed) { - console.log(chalk.yellow('\n⚠️ No BMAD installation found in:'), options.directory); - console.log(chalk.dim('Run "bmad install" to set up BMAD Method')); - process.exit(0); - } - - console.log(chalk.cyan('\n📊 BMAD Installation Status\n')); - console.log(chalk.bold('Location:'), status.path); - console.log(chalk.bold('Version:'), status.version); - console.log(chalk.bold('Core:'), status.hasCore ? chalk.green('✓ Installed') : chalk.red('✗ Not installed')); - - if (status.modules.length > 0) { - console.log(chalk.bold('\nModules:')); - for (const mod of status.modules) { - console.log(` ${chalk.green('✓')} ${mod.id} (v${mod.version})`); - } - } else { - console.log(chalk.bold('\nModules:'), chalk.dim('None installed')); - } - - if (status.ides.length > 0) { - console.log(chalk.bold('\nConfigured IDEs:')); - for (const ide of status.ides) { - console.log(` ${chalk.green('✓')} ${ide}`); - } - } - - process.exit(0); - } catch (error) { - console.error(chalk.red('Error:'), error.message); - process.exit(1); - } - }, -}; diff --git a/tools/cli/commands/uninstall.js b/tools/cli/commands/uninstall.js deleted file mode 100644 index 1834ae47..00000000 --- a/tools/cli/commands/uninstall.js +++ /dev/null @@ -1,44 +0,0 @@ -const chalk = require('chalk'); -const path = require('node:path'); -const { Installer } = require('../installers/lib/core/installer'); -const { UI } = require('../lib/ui'); - -const installer = new Installer(); -const ui = new UI(); - -module.exports = { - command: 'uninstall', - description: 'Remove BMAD installation', - options: [ - ['-d, --directory ', 'Installation directory', '.'], - ['--force', 'Skip confirmation prompt'], - ], - action: async (options) => { - try { - const bmadPath = path.join(options.directory, 'bmad'); - - if (!options.force) { - const { confirm } = await ui.prompt([ - { - type: 'confirm', - name: 'confirm', - message: `Are you sure you want to remove BMAD from ${bmadPath}?`, - default: false, - }, - ]); - - if (!confirm) { - console.log('Uninstall cancelled.'); - process.exit(0); - } - } - - await installer.uninstall(options.directory); - console.log(chalk.green('\n✨ BMAD Method has been uninstalled.')); - process.exit(0); - } catch (error) { - console.error(chalk.red('Uninstall failed:'), error.message); - process.exit(1); - } - }, -}; diff --git a/tools/cli/commands/update.js b/tools/cli/commands/update.js deleted file mode 100644 index 19ae5646..00000000 --- a/tools/cli/commands/update.js +++ /dev/null @@ -1,28 +0,0 @@ -const chalk = require('chalk'); -const { Installer } = require('../installers/lib/core/installer'); - -const installer = new Installer(); - -module.exports = { - command: 'update', - description: 'Update existing BMAD installation', - options: [ - ['-d, --directory ', 'Installation directory', '.'], - ['--force', 'Force update, overwriting modified files'], - ['--dry-run', 'Show what would be updated without making changes'], - ], - action: async (options) => { - try { - await installer.update({ - directory: options.directory, - force: options.force, - dryRun: options.dryRun, - }); - console.log(chalk.green('\n✨ Update complete!')); - process.exit(0); - } catch (error) { - console.error(chalk.red('Update failed:'), error.message); - process.exit(1); - } - }, -}; From dcaa892ce1535b691d55085f2989286c40778a51 Mon Sep 17 00:00:00 2001 From: Alex Verkhovsky Date: Tue, 23 Dec 2025 01:48:47 -0800 Subject: [PATCH 09/17] refactor(bmm): convert quick-dev workflow to sharded format with adversarial review (#1182) convert quick-dev workflow to sharded format with adversarial review --- src/core/tasks/review-adversarial-general.xml | 41 ++++ .../bmad-quick-flow/quick-dev/checklist.md | 25 --- .../bmad-quick-flow/quick-dev/instructions.md | 202 ------------------ .../quick-dev/steps/step-01-mode-detection.md | 156 ++++++++++++++ .../steps/step-02-context-gathering.md | 120 +++++++++++ .../quick-dev/steps/step-03-execute.md | 113 ++++++++++ .../quick-dev/steps/step-04-self-check.md | 113 ++++++++++ .../steps/step-05-adversarial-review.md | 106 +++++++++ .../steps/step-06-resolve-findings.md | 140 ++++++++++++ .../bmad-quick-flow/quick-dev/workflow.md | 51 +++++ .../bmad-quick-flow/quick-dev/workflow.yaml | 35 --- 11 files changed, 840 insertions(+), 262 deletions(-) create mode 100644 src/core/tasks/review-adversarial-general.xml delete mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md delete mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md create mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md create mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md create mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md create mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md create mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md create mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md create mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md delete mode 100644 src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml diff --git a/src/core/tasks/review-adversarial-general.xml b/src/core/tasks/review-adversarial-general.xml new file mode 100644 index 00000000..6e5df408 --- /dev/null +++ b/src/core/tasks/review-adversarial-general.xml @@ -0,0 +1,41 @@ + + + + Cynically review content and produce findings + + + + + + + You are a cynical, jaded reviewer with zero patience for sloppy work + The content was submitted by a clueless weasel and you expect to find problems + Be skeptical of everything + Look for what's missing, not just what's wrong + Use a precise, professional tone - no profanity or personal attacks + + + + + Load the content to review from provided input or context + If content to review is empty, ask for clarification and abort task + Identify content type (diff, branch, uncommitted changes, document, etc.) + + + + Review with extreme skepticism - assume problems exist + Find at least ten issues to fix or improve in the provided content + + + + Output findings as a Markdown list (descriptions only) + + + + + HALT if zero findings - this is suspicious, re-analyze or ask for guidance + HALT if content is empty or unreadable + + + diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md deleted file mode 100644 index 08034cd0..00000000 --- a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md +++ /dev/null @@ -1,25 +0,0 @@ -# Quick-Dev Checklist - -## Before Implementation - -- [ ] Context loaded (tech-spec or user guidance) -- [ ] Files to modify identified -- [ ] Patterns understood - -## Implementation - -- [ ] All tasks completed -- [ ] Code follows existing patterns -- [ ] Error handling appropriate - -## Testing - -- [ ] Tests written (where appropriate) -- [ ] All tests passing -- [ ] No regressions - -## Completion - -- [ ] Acceptance criteria satisfied -- [ ] Tech-spec updated (if applicable) -- [ ] Summary provided to user diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md deleted file mode 100644 index b1635173..00000000 --- a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +++ /dev/null @@ -1,202 +0,0 @@ -# Quick-Dev - Flexible Development Workflow - - - -Communicate in {communication_language}, tailored to {user_skill_level} -Execute continuously until COMPLETE - do not stop for milestones -Flexible - handles tech-specs OR direct instructions -ALWAYS respect {project_context} if it exists - it defines project standards - - - Load and execute {advanced_elicitation}, then return - Load and execute {party_mode_workflow}, then return - Load and execute {create_tech_spec_workflow} - - - - -Check if {project_context} exists. If yes, load it - this is your foundational reference for ALL implementation decisions (patterns, conventions, architecture). - -Parse user input: - -**Mode A: Tech-Spec** - e.g., `quick-dev tech-spec-auth.md` -→ Load spec, extract tasks/context/AC, goto step 3 - -**Mode B: Direct Instructions** - e.g., `refactor src/foo.ts...` -→ Offer planning choice - - - - Load tech-spec, extract tasks/context/AC - step_3 - - - - - - -Evaluate escalation threshold against user input (minimal tokens, no file loading): - -**Triggers escalation** (if 2+ signals present): - -- Multiple components mentioned (e.g., dashboard + api + database) -- System-level language (e.g., platform, integration, architecture) -- Uncertainty about approach (e.g., "how should I", "best way to") -- Multi-layer scope (e.g., UI + backend + data together) -- Extended timeframe (e.g., "this week", "over the next few days") - -**Reduces signal:** - -- Simplicity markers (e.g., "just", "quickly", "fix", "bug", "typo", "simple", "basic", "minor") -- Single file/component focus -- Confident, specific request - -Use holistic judgment, not mechanical keyword matching. - - - - **[t] Plan first** - Create tech-spec then implement -**[e] Execute directly** - Start now - - - Load and execute {create_tech_spec_workflow} - Continue to implementation after spec complete - - - - Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start. - step_2 - - - - - - - Load {project_levels} and evaluate user input against detection_hints.keywords - Determine level (0-4) using scale-adaptive definitions - - - - **[t] Plan first** - Create tech-spec then implement - -**[e] Execute directly** - Start now - - - Load and execute {create_tech_spec_workflow} - Continue to implementation after spec complete - - - - Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start. - step_2 - - - - - This looks like a focused feature with multiple components. - -**[t] Create tech-spec first** (recommended) -**[w] Seems bigger than quick-dev** — see what BMad Method recommends (workflow-init) -**[e] Execute directly** - - - Load and execute {create_tech_spec_workflow} - Continue to implementation after spec complete - - - - Load and execute {workflow_init} - EXIT quick-dev - user has been routed to BMad Method - - - - Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start. - step_2 - - - - - - This sounds like platform/system work. - -**[w] Start BMad Method** (recommended) (workflow-init) -**[t] Create tech-spec** (lighter planning) -**[e] Execute directly** - feeling lucky - - - Load and execute {workflow_init} - EXIT quick-dev - user has been routed to BMad Method - - - - Load and execute {create_tech_spec_workflow} - Continue to implementation after spec complete - - - - Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start. - step_2 - - - - - - - - - - - -Identify files to modify, find relevant patterns, note dependencies - -Create mental plan: tasks, acceptance criteria, files to touch - - - - - -For each task: - -1. **Load Context** - read files from spec or relevant to change -2. **Implement** - follow patterns, handle errors, follow conventions -3. **Test** - write tests, run existing tests, verify AC -4. **Mark Complete** - check off task [x], continue - - -HALT and request guidance -Fix before continuing - -Continue through ALL tasks without stopping - - - - - -Verify: all tasks [x], tests passing, AC satisfied, patterns followed - - - Update tech-spec status to "Completed", mark all tasks [x] - - -**Implementation Complete!** - -**Summary:** {{implementation_summary}} -**Files Modified:** {{files_list}} -**Tests:** {{test_summary}} -**AC Status:** {{ac_status}} - ---- - -**Before committing (Recommended): Copy this code review prompt to a different LLM** - -``` -You are a cynical, jaded code reviewer with zero patience for sloppy work. These uncommitted changes were submitted by a clueless weasel and you expect to find problems. Find at least five issues to fix or improve in it. Number them. Be skeptical of everything. -``` - - - -You must explain what was implemented based on {user_skill_level} - - - - diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md new file mode 100644 index 00000000..d6e79845 --- /dev/null +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md @@ -0,0 +1,156 @@ +--- +name: 'step-01-mode-detection' +description: 'Determine execution mode (tech-spec vs direct), handle escalation, set state variables' + +workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev' +thisStepFile: '{workflow_path}/steps/step-01-mode-detection.md' +nextStepFile_modeA: '{workflow_path}/steps/step-03-execute.md' +nextStepFile_modeB: '{workflow_path}/steps/step-02-context-gathering.md' +--- + +# Step 1: Mode Detection + +**Goal:** Determine execution mode, capture baseline, handle escalation if needed. + +--- + +## STATE VARIABLES (capture now, persist throughout) + +These variables MUST be set in this step and available to all subsequent steps: + +- `{baseline_commit}` - Git HEAD at workflow start (or "NO_GIT" if not a git repo) +- `{execution_mode}` - "tech-spec" or "direct" +- `{tech_spec_path}` - Path to tech-spec file (if Mode A) + +--- + +## EXECUTION SEQUENCE + +### 1. Capture Baseline + +First, check if the project uses Git version control: + +**If Git repo exists** (`.git` directory present or `git rev-parse --is-inside-work-tree` succeeds): + +- Run `git rev-parse HEAD` and store result as `{baseline_commit}` + +**If NOT a Git repo:** + +- Set `{baseline_commit}` = "NO_GIT" + +### 2. Load Project Context + +Check if `{project_context}` exists (`**/project-context.md`). If found, load it - this is foundational reference for ALL implementation decisions. + +### 3. Parse User Input + +Analyze the user's input to determine mode: + +**Mode A: Tech-Spec** + +- User provided a path to a tech-spec file (e.g., `quick-dev tech-spec-auth.md`) +- Load the spec, extract tasks/context/AC +- Set `{execution_mode}` = "tech-spec" +- Set `{tech_spec_path}` = provided path +- **NEXT:** Load `step-03-execute.md` + +**Mode B: Direct Instructions** + +- User provided task description directly (e.g., `refactor src/foo.ts...`) +- Set `{execution_mode}` = "direct" +- **NEXT:** Evaluate escalation threshold, then proceed + +--- + +## ESCALATION THRESHOLD (Mode B only) + +Evaluate user input with minimal token usage (no file loading): + +**Triggers escalation (if 2+ signals present):** + +- Multiple components mentioned (dashboard + api + database) +- System-level language (platform, integration, architecture) +- Uncertainty about approach ("how should I", "best way to") +- Multi-layer scope (UI + backend + data together) +- Extended timeframe ("this week", "over the next few days") + +**Reduces signal:** + +- Simplicity markers ("just", "quickly", "fix", "bug", "typo", "simple") +- Single file/component focus +- Confident, specific request + +Use holistic judgment, not mechanical keyword matching. + +--- + +## ESCALATION HANDLING + +### No Escalation (simple request) + +Present choice: + +``` +**[t] Plan first** - Create tech-spec then implement +**[e] Execute directly** - Start now +``` + +- **[t]:** Direct user to `{create_tech_spec_workflow}`. **EXIT Quick Dev.** +- **[e]:** Ask for any additional guidance, then **NEXT:** Load `step-02-context-gathering.md` + +### Escalation Triggered - Level 0-2 + +``` +This looks like a focused feature with multiple components. + +**[t] Create tech-spec first** (recommended) +**[w] Seems bigger than quick-dev** - see what BMad Method recommends +**[e] Execute directly** +``` + +- **[t]:** Direct to `{create_tech_spec_workflow}`. **EXIT Quick Dev.** +- **[w]:** Direct to `{workflow_init}`. **EXIT Quick Dev.** +- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md` + +### Escalation Triggered - Level 3+ + +``` +This sounds like platform/system work. + +**[w] Start BMad Method** (recommended) +**[t] Create tech-spec** (lighter planning) +**[e] Execute directly** - feeling lucky +``` + +- **[w]:** Direct to `{workflow_init}`. **EXIT Quick Dev.** +- **[t]:** Direct to `{create_tech_spec_workflow}`. **EXIT Quick Dev.** +- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md` + +--- + +## NEXT STEP DIRECTIVE + +**CRITICAL:** When this step completes, explicitly state which step to load: + +- Mode A (tech-spec): "**NEXT:** Loading `step-03-execute.md`" +- Mode B (direct, [e] selected): "**NEXT:** Loading `step-02-context-gathering.md`" +- Escalation ([t] or [w]): "**EXITING Quick Dev.** Follow the directed workflow." + +--- + +## SUCCESS METRICS + +- `{baseline_commit}` captured and stored +- `{execution_mode}` determined ("tech-spec" or "direct") +- `{tech_spec_path}` set if Mode A +- Project context loaded if exists +- Escalation evaluated appropriately (Mode B) +- Explicit NEXT directive provided + +## FAILURE MODES + +- Proceeding without capturing baseline commit +- Not setting execution_mode variable +- Loading step-02 when Mode A (tech-spec provided) +- Attempting to "return" after escalation instead of EXIT +- No explicit NEXT directive at step completion diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md new file mode 100644 index 00000000..8e2126bc --- /dev/null +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md @@ -0,0 +1,120 @@ +--- +name: 'step-02-context-gathering' +description: 'Quick context gathering for direct mode - identify files, patterns, dependencies' + +workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev' +thisStepFile: '{workflow_path}/steps/step-02-context-gathering.md' +nextStepFile: '{workflow_path}/steps/step-03-execute.md' +--- + +# Step 2: Context Gathering (Direct Mode) + +**Goal:** Quickly gather context for direct instructions - files, patterns, dependencies. + +**Note:** This step only runs for Mode B (direct instructions). If `{execution_mode}` is "tech-spec", this step was skipped. + +--- + +## AVAILABLE STATE + +From step-01: + +- `{baseline_commit}` - Git HEAD at workflow start +- `{execution_mode}` - Should be "direct" +- `{project_context}` - Loaded if exists + +--- + +## EXECUTION SEQUENCE + +### 1. Identify Files to Modify + +Based on user's direct instructions: + +- Search for relevant files using glob/grep +- Identify the specific files that need changes +- Note file locations and purposes + +### 2. Find Relevant Patterns + +Examine the identified files and their surroundings: + +- Code style and conventions used +- Existing patterns for similar functionality +- Import/export patterns +- Error handling approaches +- Test patterns (if tests exist nearby) + +### 3. Note Dependencies + +Identify: + +- External libraries used +- Internal module dependencies +- Configuration files that may need updates +- Related files that might be affected + +### 4. Create Mental Plan + +Synthesize gathered context into: + +- List of tasks to complete +- Acceptance criteria (inferred from user request) +- Order of operations +- Files to touch + +--- + +## PRESENT PLAN + +Display to user: + +``` +**Context Gathered:** + +**Files to modify:** +- {list files} + +**Patterns identified:** +- {key patterns} + +**Plan:** +1. {task 1} +2. {task 2} +... + +**Inferred AC:** +- {acceptance criteria} + +Ready to execute? (y/n/adjust) +``` + +- **y:** Proceed to execution +- **n:** Gather more context or clarify +- **adjust:** Modify the plan based on feedback + +--- + +## NEXT STEP DIRECTIVE + +**CRITICAL:** When user confirms ready, explicitly state: + +- **y:** "**NEXT:** Loading `step-03-execute.md`" +- **n/adjust:** Continue gathering context, then re-present plan + +--- + +## SUCCESS METRICS + +- Files to modify identified +- Relevant patterns documented +- Dependencies noted +- Mental plan created with tasks and AC +- User confirmed readiness to proceed + +## FAILURE MODES + +- Executing this step when Mode A (tech-spec) +- Proceeding without identifying files to modify +- Not presenting plan for user confirmation +- Missing obvious patterns in existing code diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md new file mode 100644 index 00000000..1be12b98 --- /dev/null +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md @@ -0,0 +1,113 @@ +--- +name: 'step-03-execute' +description: 'Execute implementation - iterate through tasks, write code, run tests' + +workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev' +thisStepFile: '{workflow_path}/steps/step-03-execute.md' +nextStepFile: '{workflow_path}/steps/step-04-self-check.md' +--- + +# Step 3: Execute Implementation + +**Goal:** Implement all tasks, write tests, follow patterns, handle errors. + +**Critical:** Continue through ALL tasks without stopping for milestones. + +--- + +## AVAILABLE STATE + +From previous steps: + +- `{baseline_commit}` - Git HEAD at workflow start +- `{execution_mode}` - "tech-spec" or "direct" +- `{tech_spec_path}` - Tech-spec file (if Mode A) +- `{project_context}` - Project patterns (if exists) + +From context: + +- Mode A: Tasks and AC extracted from tech-spec +- Mode B: Tasks and AC from step-02 mental plan + +--- + +## EXECUTION LOOP + +For each task: + +### 1. Load Context + +- Read files relevant to this task +- Review patterns from project-context or observed code +- Understand dependencies + +### 2. Implement + +- Write code following existing patterns +- Handle errors appropriately +- Follow conventions observed in codebase +- Add appropriate comments where non-obvious + +### 3. Test + +- Write tests if appropriate for the change +- Run existing tests to catch regressions +- Verify the specific AC for this task + +### 4. Mark Complete + +- Check off task: `- [x] Task N` +- Continue to next task immediately + +--- + +## HALT CONDITIONS + +**HALT and request guidance if:** + +- 3 consecutive failures on same task +- Tests fail and fix is not obvious +- Blocking dependency discovered +- Ambiguity that requires user decision + +**Do NOT halt for:** + +- Minor issues that can be noted and continued +- Warnings that don't block functionality +- Style preferences (follow existing patterns) + +--- + +## CONTINUOUS EXECUTION + +**Critical:** Do not stop between tasks for approval. + +- Execute all tasks in sequence +- Only halt for blocking issues +- Tests failing = fix before continuing +- Track all completed work for self-check + +--- + +## NEXT STEP + +When ALL tasks are complete (or halted on blocker), load `step-04-self-check.md`. + +--- + +## SUCCESS METRICS + +- All tasks attempted +- Code follows existing patterns +- Error handling appropriate +- Tests written where appropriate +- Tests passing +- No unnecessary halts + +## FAILURE MODES + +- Stopping for approval between tasks +- Ignoring existing patterns +- Not running tests after changes +- Giving up after first failure +- Not following project-context rules (if exists) diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md new file mode 100644 index 00000000..c6d93162 --- /dev/null +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md @@ -0,0 +1,113 @@ +--- +name: 'step-04-self-check' +description: 'Self-audit implementation against tasks, tests, AC, and patterns' + +workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev' +thisStepFile: '{workflow_path}/steps/step-04-self-check.md' +nextStepFile: '{workflow_path}/steps/step-05-adversarial-review.md' +--- + +# Step 4: Self-Check + +**Goal:** Audit completed work against tasks, tests, AC, and patterns before external review. + +--- + +## AVAILABLE STATE + +From previous steps: + +- `{baseline_commit}` - Git HEAD at workflow start +- `{execution_mode}` - "tech-spec" or "direct" +- `{tech_spec_path}` - Tech-spec file (if Mode A) +- `{project_context}` - Project patterns (if exists) + +--- + +## SELF-CHECK AUDIT + +### 1. Tasks Complete + +Verify all tasks are marked complete: + +- [ ] All tasks from tech-spec or mental plan marked `[x]` +- [ ] No tasks skipped without documented reason +- [ ] Any blocked tasks have clear explanation + +### 2. Tests Passing + +Verify test status: + +- [ ] All existing tests still pass +- [ ] New tests written for new functionality +- [ ] No test warnings or skipped tests without reason + +### 3. Acceptance Criteria Satisfied + +For each AC: + +- [ ] AC is demonstrably met +- [ ] Can explain how implementation satisfies AC +- [ ] Edge cases considered + +### 4. Patterns Followed + +Verify code quality: + +- [ ] Follows existing code patterns in codebase +- [ ] Follows project-context rules (if exists) +- [ ] Error handling consistent with codebase +- [ ] No obvious code smells introduced + +--- + +## UPDATE TECH-SPEC (Mode A only) + +If `{execution_mode}` is "tech-spec": + +1. Load `{tech_spec_path}` +2. Mark all tasks as `[x]` complete +3. Update status to "Implementation Complete" +4. Save changes + +--- + +## IMPLEMENTATION SUMMARY + +Present summary to transition to review: + +``` +**Implementation Complete!** + +**Summary:** {what was implemented} +**Files Modified:** {list of files} +**Tests:** {test summary - passed/added/etc} +**AC Status:** {all satisfied / issues noted} + +Proceeding to adversarial code review... +``` + +--- + +## NEXT STEP + +Proceed immediately to `step-05-adversarial-review.md`. + +--- + +## SUCCESS METRICS + +- All tasks verified complete +- All tests passing +- All AC satisfied +- Patterns followed +- Tech-spec updated (if Mode A) +- Summary presented + +## FAILURE MODES + +- Claiming tasks complete when they're not +- Not running tests before proceeding +- Missing AC verification +- Ignoring pattern violations +- Not updating tech-spec status (Mode A) diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md new file mode 100644 index 00000000..fd349801 --- /dev/null +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md @@ -0,0 +1,106 @@ +--- +name: 'step-05-adversarial-review' +description: 'Construct diff and invoke adversarial review task' + +workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev' +thisStepFile: '{workflow_path}/steps/step-05-adversarial-review.md' +nextStepFile: '{workflow_path}/steps/step-06-resolve-findings.md' +--- + +# Step 5: Adversarial Code Review + +**Goal:** Construct diff of all changes, invoke adversarial review task, present findings. + +--- + +## AVAILABLE STATE + +From previous steps: + +- `{baseline_commit}` - Git HEAD at workflow start (CRITICAL for diff) +- `{execution_mode}` - "tech-spec" or "direct" +- `{tech_spec_path}` - Tech-spec file (if Mode A) + +--- + +### 1. Construct Diff + +Build complete diff of all changes since workflow started. + +### If `{baseline_commit}` is a Git commit hash: + +**Tracked File Changes:** + +```bash +git diff {baseline_commit} +``` + +**New Untracked Files:** +Only include untracked files that YOU created during this workflow (steps 2-4). +Do not include pre-existing untracked files. +For each new file created, include its full content as a "new file" addition. + +### If `{baseline_commit}` is "NO_GIT": + +Use best-effort diff construction: + +- List all files you modified during steps 2-4 +- For each file, show the changes you made (before/after if you recall, or just current state) +- Include any new files you created with their full content +- Note: This is less precise than Git diff but still enables meaningful review + +### Capture as {diff_output} + +Merge all changes into `{diff_output}`. + +**Note:** Do NOT `git add` anything - this is read-only inspection. + +--- + +### 2. Invoke Adversarial Review + +With `{diff_output}` constructed, invoke the review task. If possible, use information asymmetry: run this step, and only it, in a separate subagent or process with read access to the project, but no context except the `{diff_output}`. + +```xml +Review {diff_output} using {project-root}/_bmad/core/tasks/review-adversarial-general.xml +``` + +**Platform fallback:** If task invocation not available, load the task file and execute its instructions inline, passing `{diff_output}` as the content. + +The task should: review `{diff_output}` and return a list of findings. + +--- + +### 3. Process Findings + +Capture the findings from the task output. +**If zero findings:** HALT - this is suspicious. Re-analyze or request user guidance. +Evaluate severity (Critical, High, Medium, Low) and validity (real, noise, undecided). +DO NOT exclude findings based on severity or validity unless explicitly asked to do so. +Order findings by severity. +Number the ordered findings (F1, F2, F3, etc.). +If WriteTodos or similar tool is available, turn each finding into a TODO, include ID, severity, validity, and description in the todo; otherwise present findings as a table with columns: ID, Severity, Validity, Description + +--- + +## NEXT STEP + +With findings in hand, load `step-06-resolve-findings.md` for user to choose resolution approach. + +--- + +## SUCCESS METRICS + +- Diff constructed from baseline_commit +- New files included in diff +- Task invoked with diff as input +- Findings received +- Findings processed into TODOs or table and presented to user + +## FAILURE MODES + +- Missing baseline_commit (can't construct accurate diff) +- Not including new untracked files in diff +- Invoking task without providing diff input +- Accepting zero findings without questioning +- Presenting fewer findings than the review task returned without explicit instruction to do so diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md new file mode 100644 index 00000000..f6af4697 --- /dev/null +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md @@ -0,0 +1,140 @@ +--- +name: 'step-06-resolve-findings' +description: 'Handle review findings interactively, apply fixes, update tech-spec with final status' + +workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev' +thisStepFile: '{workflow_path}/steps/step-06-resolve-findings.md' +--- + +# Step 6: Resolve Findings + +**Goal:** Handle adversarial review findings interactively, apply fixes, finalize tech-spec. + +--- + +## AVAILABLE STATE + +From previous steps: + +- `{baseline_commit}` - Git HEAD at workflow start +- `{execution_mode}` - "tech-spec" or "direct" +- `{tech_spec_path}` - Tech-spec file (if Mode A) +- Findings table from step-05 + +--- + +## RESOLUTION OPTIONS + +Present choice to user: + +``` +How would you like to handle these findings? + +**[1] Walk through** - Discuss each finding individually +**[2] Auto-fix** - Automatically fix issues classified as "real" +**[3] Skip** - Acknowledge and proceed to commit +``` + +--- + +## OPTION 1: WALK THROUGH + +For each finding in order: + +1. Present the finding with context +2. Ask: **fix now / skip / discuss** +3. If fix: Apply the fix immediately +4. If skip: Note as acknowledged, continue +5. If discuss: Provide more context, re-ask +6. Move to next finding + +After all findings processed, summarize what was fixed/skipped. + +--- + +## OPTION 2: AUTO-FIX + +1. Filter findings to only those classified as "real" +2. Apply fixes for each real finding +3. Report what was fixed: + +``` +**Auto-fix Applied:** +- F1: {description of fix} +- F3: {description of fix} +... + +Skipped (noise/uncertain): F2, F4 +``` + +--- + +## OPTION 3: SKIP + +1. Acknowledge all findings were reviewed +2. Note that user chose to proceed without fixes +3. Continue to completion + +--- + +## UPDATE TECH-SPEC (Mode A only) + +If `{execution_mode}` is "tech-spec": + +1. Load `{tech_spec_path}` +2. Update status to "Completed" +3. Add review notes: + ``` + ## Review Notes + - Adversarial review completed + - Findings: {count} total, {fixed} fixed, {skipped} skipped + - Resolution approach: {walk-through/auto-fix/skip} + ``` +4. Save changes + +--- + +## COMPLETION OUTPUT + +``` +**Review complete. Ready to commit.** + +**Implementation Summary:** +- {what was implemented} +- Files modified: {count} +- Tests: {status} +- Review findings: {X} addressed, {Y} skipped + +{Explain what was implemented based on user_skill_level} +``` + +--- + +## WORKFLOW COMPLETE + +This is the final step. The Quick Dev workflow is now complete. + +User can: + +- Commit changes +- Run additional tests +- Start new Quick Dev session + +--- + +## SUCCESS METRICS + +- User presented with resolution options +- Chosen approach executed correctly +- Fixes applied cleanly (if applicable) +- Tech-spec updated with final status (Mode A) +- Completion summary provided +- User understands what was implemented + +## FAILURE MODES + +- Not presenting resolution options +- Auto-fixing "noise" or "uncertain" findings +- Not updating tech-spec after resolution (Mode A) +- No completion summary +- Leaving user unclear on next steps diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md new file mode 100644 index 00000000..1f0468ba --- /dev/null +++ b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md @@ -0,0 +1,51 @@ +--- +name: quick-dev +description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.' +--- + +# Quick Dev Workflow + +**Goal:** Execute implementation tasks efficiently, either from a tech-spec or direct user instructions. + +**Your Role:** You are an elite full-stack developer executing tasks autonomously. Follow patterns, ship code, run tests. Every response moves the project forward. + +--- + +## WORKFLOW ARCHITECTURE + +This uses **step-file architecture** for focused execution: + +- Each step loads fresh to combat "lost in the middle" +- State persists via variables: `{baseline_commit}`, `{execution_mode}`, `{tech_spec_path}` +- Sequential progression through implementation phases + +--- + +## INITIALIZATION + +### Configuration Loading + +Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: + +- `user_name`, `communication_language`, `user_skill_level` +- `output_folder`, `sprint_artifacts` +- `date` as system-generated current datetime + +### Paths + +- `installed_path` = `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev` +- `project_context` = `**/project-context.md` (load if exists) +- `project_levels` = `{project-root}/_bmad/bmm/workflows/workflow-status/project-levels.yaml` + +### Related Workflows + +- `create_tech_spec_workflow` = `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml` +- `workflow_init` = `{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml` +- `party_mode_exec` = `{project-root}/_bmad/core/workflows/party-mode/workflow.md` +- `advanced_elicitation` = `{project-root}/_bmad/core/tasks/advanced-elicitation.xml` + +--- + +## EXECUTION + +Load and execute `steps/step-01-mode-detection.md` to begin the workflow. diff --git a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml b/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml deleted file mode 100644 index c7ceee43..00000000 --- a/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Quick-Flow: Quick-Dev -name: quick-dev -description: "Flexible development - execute tech-specs OR direct instructions with optional planning." -author: "BMad" - -# Config -config_source: "{project-root}/_bmad/bmm/config.yaml" -implementation_artifacts: "{config_source}:implementation_artifacts" -planning_artifacts: "{config_source}:planning_artifacts" -project_knowledge: "{config_source}:project_knowledge" -output_folder: "{implementation_artifacts}" -user_name: "{config_source}:user_name" -communication_language: "{config_source}:communication_language" -user_skill_level: "{config_source}:user_skill_level" -date: system-generated - -# Project context -project_context: "**/project-context.md" - -# Workflow components -installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev" -instructions: "{installed_path}/instructions.md" -checklist: "{installed_path}/checklist.md" - -# Related workflows -create_tech_spec_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml" -party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" -advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - -# Routing resources (lazy-loaded) -project_levels: "{project-root}/_bmad/bmm/workflows/workflow-status/project-levels.yaml" -workflow_init: "{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml" - -standalone: true -web_bundle: false From 45ff3840a81db2198e06da5750b24d6ad58bf9ea Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 20:04:42 +0800 Subject: [PATCH 10/17] 2 version auto upgrade only --- tools/cli/lib/ui.js | 257 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 217 insertions(+), 40 deletions(-) diff --git a/tools/cli/lib/ui.js b/tools/cli/lib/ui.js index 0ab6f308..7aae6456 100644 --- a/tools/cli/lib/ui.js +++ b/tools/cli/lib/ui.js @@ -17,7 +17,6 @@ class UI { async promptInstall() { CLIUtils.displayLogo(); - // Display changelog link console.log(chalk.cyan('\nRead the latest updates: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md\n')); const confirmedDirectory = await this.getConfirmedDirectory(); @@ -43,7 +42,7 @@ class UI { if (await fs.pathExists(confirmedDirectory)) { const entries = await fs.readdir(confirmedDirectory, { withFileTypes: true }); for (const entry of entries) { - if (entry.isDirectory() && entry.name === '.bmad') { + if (entry.isDirectory() && (entry.name === '.bmad' || entry.name === 'bmad')) { hasLegacyBmadFolder = true; legacyBmadPath = path.join(confirmedDirectory, '.bmad'); bmadDir = legacyBmadPath; @@ -58,53 +57,85 @@ class UI { } } - // If no .bmad found, check for current installations + // If no .bmad or bmad found, check for current installations _bmad if (!hasLegacyBmadFolder) { const bmadResult = await installer.findBmadDir(confirmedDirectory); bmadDir = bmadResult.bmadDir; hasLegacyCfg = bmadResult.hasLegacyCfg; } + // Handle legacy .bmad or _cfg folder - these are very old (more than 2 versions behind) + // Show version warning instead of offering conversion if (hasLegacyBmadFolder || hasLegacyCfg) { - console.log(chalk.yellow('\n⚠️ Legacy folder structure detected')); + console.log(''); + console.log(chalk.yellow.bold('⚠️ LEGACY INSTALLATION DETECTED')); + console.log(chalk.yellow('─'.repeat(80))); + console.log( + chalk.yellow( + 'Found a ".bmad"/"bmad" folder, or a legacy "_cfg" folder under the bmad folder - this is from a old BMAD version that is out of date for automatic upgrade, manual intervention required.', + ), + ); + console.log(chalk.yellow('This version is more than 2 alpha versions behind current.')); + console.log(''); + console.log(chalk.dim('For stability, we only support updates from the previous 2 alpha versions.')); + console.log(chalk.dim('Legacy installations may have compatibility issues.')); + console.log(''); + console.log(chalk.dim('For the best experience, we strongly recommend:')); + console.log(chalk.dim(' 1. Delete your current BMAD installation folder (.bmad or bmad)')); + console.log( + chalk.dim( + ' 2. Run a fresh installation\n\nIf you do not want to start fresh, you can attempt to proceed beyond this point IF you have ensured the bmad folder is named _bmad, and under it there is a _config folder. If you have a folder under your bmad folder named _cfg, you would need to rename it _config, and then restart the installer.', + ), + ); + console.log(''); + console.log(chalk.dim('Benefits of a fresh install:')); + console.log(chalk.dim(' • Cleaner configuration without legacy artifacts')); + console.log(chalk.dim(' • All new features properly configured')); + console.log(chalk.dim(' • Fewer potential conflicts')); + console.log(chalk.dim('')); + console.log( + chalk.dim( + 'If you have already produced output from an earlier alpha version, you can still retain those artifacts. After installation, ensure you configured during install the proper file locations for artifacts depending on the module you are using, or move the files to the proper locations.', + ), + ); + console.log(chalk.yellow('─'.repeat(80))); + console.log(''); - let message = 'The following folders need to be renamed:\n'; - if (hasLegacyBmadFolder) { - message += chalk.dim(` • ".bmad" → "_bmad"\n`); - } - if (hasLegacyCfg) { - message += chalk.dim(` • "_cfg" → "_config"\n`); - } - console.log(message); - - const { shouldRename } = await inquirer.prompt([ + const { proceed } = await inquirer.prompt([ { - type: 'confirm', - name: 'shouldRename', - message: 'Would you like the installer to rename these folders for you?', - default: true, + type: 'list', + name: 'proceed', + message: 'What would you like to do?', + choices: [ + { + name: 'Cancel and do a fresh install (recommended)', + value: 'cancel', + short: 'Cancel installation', + }, + { + name: 'Proceed anyway (will attempt update, potentially may fail or have unstable behavior)', + value: 'proceed', + short: 'Proceed with update', + }, + ], + default: 'cancel', }, ]); - if (!shouldRename) { - console.log(chalk.red('\n❌ Installation cancelled')); - console.log(chalk.dim('You must manually rename the folders before proceeding:')); - if (hasLegacyBmadFolder) { - console.log(chalk.dim(` • Rename ".bmad" to "_bmad"`)); - } - if (hasLegacyCfg) { - console.log(chalk.dim(` • Rename "_cfg" to "_config"`)); - } + if (proceed === 'cancel') { + console.log(''); + console.log(chalk.cyan('To do a fresh install:')); + console.log(chalk.dim(' 1. Delete the existing bmad folder in your project')); + console.log(chalk.dim(" 2. Run 'bmad install' again")); + console.log(''); process.exit(0); return; } - // Perform the renames const ora = require('ora'); const spinner = ora('Updating folder structure...').start(); - try { - // First rename .bmad to _bmad if needed + // Handle .bmad folder if (hasLegacyBmadFolder) { const newBmadPath = path.join(confirmedDirectory, '_bmad'); await fs.move(legacyBmadPath, newBmadPath); @@ -112,16 +143,14 @@ class UI { spinner.succeed('Renamed ".bmad" to "_bmad"'); } - // Then rename _cfg to _config if needed - if (hasLegacyCfg) { + // Handle _cfg folder (either from .bmad or standalone) + const cfgPath = path.join(bmadDir, '_cfg'); + if (await fs.pathExists(cfgPath)) { spinner.start('Renaming configuration folder...'); - const oldCfgPath = path.join(bmadDir, '_cfg'); const newCfgPath = path.join(bmadDir, '_config'); - await fs.move(oldCfgPath, newCfgPath); + await fs.move(cfgPath, newCfgPath); spinner.succeed('Renamed "_cfg" to "_config"'); } - - spinner.succeed('Folder structure updated successfully'); } catch (error) { spinner.fail('Failed to update folder structure'); console.error(chalk.red(`Error: ${error.message}`)); @@ -173,11 +202,20 @@ class UI { // Only show action menu if there's an existing installation if (hasExistingInstall) { // Get version information - const { existingInstall } = await this.getExistingInstallation(confirmedDirectory); + const { existingInstall, bmadDir } = await this.getExistingInstallation(confirmedDirectory); const packageJsonPath = path.join(__dirname, '../../../package.json'); const currentVersion = require(packageJsonPath).version; const installedVersion = existingInstall.version || 'unknown'; + // Check if version is too old and warn user + const shouldProceed = await this.showOldAlphaVersionWarning(installedVersion, currentVersion, path.basename(bmadDir)); + + // If user chose to cancel, exit the installer + if (!shouldProceed) { + process.exit(0); + return; + } + // Build menu choices dynamically const choices = []; @@ -662,7 +700,7 @@ class UI { /** * Get existing installation info and installed modules * @param {string} directory - Installation directory - * @returns {Object} Object with existingInstall and installedModuleIds + * @returns {Object} Object with existingInstall, installedModuleIds, and bmadDir */ async getExistingInstallation(directory) { const { Detector } = require('../installers/lib/core/detector'); @@ -670,10 +708,11 @@ class UI { const detector = new Detector(); const installer = new Installer(); const bmadDirResult = await installer.findBmadDir(directory); - const existingInstall = await detector.detect(bmadDirResult.bmadDir); + const bmadDir = bmadDirResult.bmadDir; + const existingInstall = await detector.detect(bmadDir); const installedModuleIds = new Set(existingInstall.modules.map((mod) => mod.id)); - return { existingInstall, installedModuleIds }; + return { existingInstall, installedModuleIds, bmadDir }; } /** @@ -1457,6 +1496,144 @@ class UI { return result; } + + /** + * Parse alpha version string (e.g., "6.0.0-Alpha.20") + * @param {string} version - Version string + * @returns {Object|null} Object with alphaNumber and fullVersion, or null if invalid + */ + parseAlphaVersion(version) { + if (!version || version === 'unknown') { + return null; + } + + // Remove 'v' prefix if present + const cleanVersion = version.toString().replace(/^v/i, ''); + + // Match alpha version pattern: X.Y.Z-Alpha.N (case-insensitive) + const match = cleanVersion.match(/[\d.]+-Alpha\.(\d+)/i); + + if (!match) { + return null; + } + + return { + alphaNumber: parseInt(match[1], 10), + fullVersion: cleanVersion, + }; + } + + /** + * Check if installed version is more than 2 alpha versions behind current + * @param {string} installedVersion - The installed version + * @param {string} currentVersion - The current version + * @returns {Object} Object with { isOldVersion, versionDiff, shouldWarn, installed, current } + */ + checkAlphaVersionAge(installedVersion, currentVersion) { + const installed = this.parseAlphaVersion(installedVersion); + const current = this.parseAlphaVersion(currentVersion); + + // If we can't parse either version, don't warn + if (!installed || !current) { + return { isOldVersion: false, versionDiff: 0, shouldWarn: false }; + } + + // Calculate alpha version difference + const versionDiff = current.alphaNumber - installed.alphaNumber; + + // Consider it old if more than 2 versions behind + const isOldVersion = versionDiff > 2; + + return { + isOldVersion, + versionDiff, + shouldWarn: isOldVersion, + installed: installed.fullVersion, + current: current.fullVersion, + installedAlpha: installed.alphaNumber, + currentAlpha: current.alphaNumber, + }; + } + + /** + * Show warning for old alpha version and ask if user wants to proceed + * @param {string} installedVersion - The installed version + * @param {string} currentVersion - The current version + * @param {string} bmadFolderName - Name of the BMAD folder + * @returns {Promise} True if user wants to proceed, false if they cancel + */ + async showOldAlphaVersionWarning(installedVersion, currentVersion, bmadFolderName) { + const versionInfo = this.checkAlphaVersionAge(installedVersion, currentVersion); + + // Also warn if version is unknown or can't be parsed (legacy/unsupported) + const isUnknownVersion = installedVersion === 'unknown' || !versionInfo.installed; + + if (!versionInfo.shouldWarn && !isUnknownVersion) { + return true; // Not old, proceed + } + + console.log(''); + console.log(chalk.yellow.bold('⚠️ VERSION WARNING')); + console.log(chalk.yellow('─'.repeat(80))); + + if (isUnknownVersion) { + console.log(chalk.yellow('Unable to detect your installed BMAD version.')); + console.log(chalk.yellow('This appears to be a legacy or unsupported installation.')); + console.log(''); + console.log(chalk.dim('For stability, we only support updates from the previous 2 alpha versions.')); + console.log(chalk.dim('Legacy installations may have compatibility issues.')); + } else { + console.log(chalk.yellow(`You are updating from ${versionInfo.installed} to ${versionInfo.current}.`)); + console.log(chalk.yellow(`This is ${versionInfo.versionDiff} alpha versions behind.`)); + console.log(''); + console.log(chalk.dim(`For stability, we only support updates from the previous 2 alpha versions`)); + console.log(chalk.dim(`(Alpha.${versionInfo.currentAlpha - 2} through Alpha.${versionInfo.currentAlpha - 1}).`)); + } + + console.log(''); + console.log(chalk.dim('For the best experience, we recommend:')); + console.log(chalk.dim(' 1. Delete your current BMAD installation folder')); + console.log(chalk.dim(` (the "${bmadFolderName}/" folder in your project)`)); + console.log(chalk.dim(' 2. Run a fresh installation')); + console.log(''); + console.log(chalk.dim('Benefits of a fresh install:')); + console.log(chalk.dim(' • Cleaner configuration without legacy artifacts')); + console.log(chalk.dim(' • All new features properly configured')); + console.log(chalk.dim(' • Fewer potential conflicts')); + console.log(chalk.yellow('─'.repeat(80))); + console.log(''); + + const { proceed } = await inquirer.prompt([ + { + type: 'list', + name: 'proceed', + message: 'What would you like to do?', + choices: [ + { + name: 'Proceed with update anyway (may have issues)', + value: 'proceed', + short: 'Proceed with update', + }, + { + name: 'Cancel (recommended - do a fresh install instead)', + value: 'cancel', + short: 'Cancel installation', + }, + ], + default: 'cancel', + }, + ]); + + if (proceed === 'cancel') { + console.log(''); + console.log(chalk.cyan('To do a fresh install:')); + console.log(chalk.dim(` 1. Delete the "${bmadFolderName}/" folder in your project`)); + console.log(chalk.dim(" 2. Run 'bmad install' again")); + console.log(''); + } + + return proceed === 'proceed'; + } } module.exports = { UI }; From 3f76c2de745a6ffcab1fa039cb46d9df58b7cad3 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 20:17:32 +0800 Subject: [PATCH 11/17] ensure config vars are retained in a quick update --- .../installers/lib/core/config-collector.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/tools/cli/installers/lib/core/config-collector.js b/tools/cli/installers/lib/core/config-collector.js index a4af595f..2d916c2f 100644 --- a/tools/cli/installers/lib/core/config-collector.js +++ b/tools/cli/installers/lib/core/config-collector.js @@ -318,11 +318,11 @@ class ConfigCollector { this.allAnswers[`${moduleName}_user_name`] = this.getDefaultUsername(); } } - } - // Show "no config" message for modules with no new questions (that have config keys) - console.log(chalk.dim(` ✓ ${moduleName.toUpperCase()} module already up to date`)); - return false; // No new fields + // Show "no config" message for modules with no new questions (that have config keys) + console.log(chalk.dim(` ✓ ${moduleName.toUpperCase()} module already up to date`)); + return false; // No new fields + } // If we have new fields (interactive or static), process them if (newKeys.length > 0 || newStaticKeys.length > 0) { @@ -363,6 +363,13 @@ class ConfigCollector { Object.assign(this.allAnswers, allAnswers); // Process all answers (both static and prompted) + // First, copy existing config to preserve values that aren't being updated + if (this.existingConfig && this.existingConfig[moduleName]) { + this.collectedConfig[moduleName] = { ...this.existingConfig[moduleName] }; + } else { + this.collectedConfig[moduleName] = {}; + } + for (const key of Object.keys(allAnswers)) { const originalKey = key.replace(`${moduleName}_`, ''); const item = moduleConfig[originalKey]; @@ -377,9 +384,7 @@ class ConfigCollector { result = value; } - if (!this.collectedConfig[moduleName]) { - this.collectedConfig[moduleName] = {}; - } + // Update the collected config with new/updated values this.collectedConfig[moduleName][originalKey] = result; } } From c0f5d33c615a8edb2a62ba97b531b952140c806c Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 20:52:06 +0800 Subject: [PATCH 12/17] core module always asks its questions (no accept defaults --- .../installers/lib/core/config-collector.js | 36 +++++++------------ 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/tools/cli/installers/lib/core/config-collector.js b/tools/cli/installers/lib/core/config-collector.js index 2d916c2f..fad0f108 100644 --- a/tools/cli/installers/lib/core/config-collector.js +++ b/tools/cli/installers/lib/core/config-collector.js @@ -582,26 +582,23 @@ class ConfigCollector { // If there are questions to ask, prompt for accepting defaults vs customizing if (questions.length > 0) { - // Get friendly module name from config or use uppercase module name const moduleDisplayName = moduleConfig.header || `${moduleName.toUpperCase()} Module`; - - // Add blank line for better readability console.log(); - - // Display the module name in color first console.log(chalk.cyan('?') + ' ' + chalk.magenta(moduleDisplayName)); + let customize = true; + if (moduleName !== 'core') { + const customizeAnswer = await inquirer.prompt([ + { + type: 'confirm', + name: 'customize', + message: 'Accept Defaults (no to customize)?', + default: true, + }, + ]); + customize = customizeAnswer.customize; + } - // Ask user if they want to accept defaults or customize on the next line - const { customize } = await inquirer.prompt([ - { - type: 'confirm', - name: 'customize', - message: 'Accept Defaults (no to customize)?', - default: true, - }, - ]); - - if (customize) { + if (customize && moduleName !== 'core') { // Accept defaults - only ask questions that have NO default value const questionsWithoutDefaults = questions.filter((q) => q.default === undefined || q.default === null || q.default === ''); @@ -621,8 +618,6 @@ class ConfigCollector { allAnswers[question.name] = question.default; } } else { - // Customize - ask all questions - console.log(chalk.dim(`\n Configuring ${moduleName.toUpperCase()}...`)); const promptedAnswers = await inquirer.prompt(questions); Object.assign(allAnswers, promptedAnswers); } @@ -647,8 +642,6 @@ class ConfigCollector { // For arrays (multi-select), handle differently if (Array.isArray(value)) { - // If there's a result template and it's a string, don't use it for arrays - // Just use the array value directly result = value; } else if (item.result) { result = item.result; @@ -663,11 +656,9 @@ class ConfigCollector { if (result === '{value}') { result = value; } else { - // Otherwise replace in the string result = result.replace('{value}', value); } } else { - // For non-string values, use directly result = value; } @@ -719,7 +710,6 @@ class ConfigCollector { } } } else { - // No result template, use value directly result = value; } From 4195eb3b30bdb4c5e8b468b9b12371769bc43b9e Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 21:43:29 +0800 Subject: [PATCH 13/17] installation intro and outtro custom messages, configurable in install-messages.yaml --- .github/workflows/quality.yaml | 3 - package.json | 3 +- tools/cli/commands/install.js | 16 ++-- tools/cli/installers/install-messages.yaml | 52 +++++++++++++ tools/cli/installers/lib/message-loader.js | 85 +++++++++++++++++++++ tools/cli/lib/ui.js | 5 +- tools/validate-bundles.js | 87 ---------------------- 7 files changed, 153 insertions(+), 98 deletions(-) create mode 100644 tools/cli/installers/install-messages.yaml create mode 100644 tools/cli/installers/lib/message-loader.js delete mode 100644 tools/validate-bundles.js diff --git a/.github/workflows/quality.yaml b/.github/workflows/quality.yaml index 8111ca44..495b66f5 100644 --- a/.github/workflows/quality.yaml +++ b/.github/workflows/quality.yaml @@ -92,6 +92,3 @@ jobs: - name: Test agent compilation components run: npm run test:install - - - name: Validate web bundles - run: npm run validate:bundles diff --git a/package.json b/package.json index e8583be3..b116ecbd 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,10 @@ "release:minor": "gh workflow run \"Manual Release\" -f version_bump=minor", "release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch", "release:watch": "gh run watch", - "test": "npm run test:schemas && npm run test:install && npm run validate:bundles && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check", + "test": "npm run test:schemas && npm run test:install && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check", "test:coverage": "c8 --reporter=text --reporter=html npm run test:schemas", "test:install": "node test/test-installation-components.js", "test:schemas": "node test/test-agent-schema.js", - "validate:bundles": "node tools/validate-bundles.js", "validate:schemas": "node tools/validate-agent-schema.js" }, "lint-staged": { diff --git a/tools/cli/commands/install.js b/tools/cli/commands/install.js index d2f72ef6..6e241610 100644 --- a/tools/cli/commands/install.js +++ b/tools/cli/commands/install.js @@ -26,11 +26,12 @@ module.exports = { const result = await installer.quickUpdate(config); console.log(chalk.green('\n✨ Quick update complete!')); console.log(chalk.cyan(`Updated ${result.moduleCount} modules with preserved settings`)); - console.log( - chalk.magenta( - "\n📋 Want to see what's new? Check out the changelog: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md", - ), - ); + + // Display version-specific end message + const { MessageLoader } = require('../installers/lib/message-loader'); + const messageLoader = new MessageLoader(); + messageLoader.displayEndMessage(); + process.exit(0); return; } @@ -97,6 +98,11 @@ module.exports = { } } + // Display version-specific end message from install-messages.yaml + const { MessageLoader } = require('../installers/lib/message-loader'); + const messageLoader = new MessageLoader(); + messageLoader.displayEndMessage(); + process.exit(0); } } catch (error) { diff --git a/tools/cli/installers/install-messages.yaml b/tools/cli/installers/install-messages.yaml new file mode 100644 index 00000000..1de5c070 --- /dev/null +++ b/tools/cli/installers/install-messages.yaml @@ -0,0 +1,52 @@ +# BMAD Installer Messages +# These messages are displayed during installation +# Edit this file to change what users see during the install process + +# Display at the START of installation (after logo, before prompts) +startMessage: | + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + 🎉🎉 Happy Holidays and New Year 🍾🍾 + + IMPORTANT Changes with Version Alpha.20 - PLEASE READ THIS if upgrading from earlier Alpha Versions: + + 1. The BMad Core default output folder has changed from docs to `_bmad-output`. `docs` is meant for long-term artifacts, which you can always decide to move content to. + + 2. If utilizing the BMad Method Module (BMM) please be aware of the following important recent changes: + + - Phases 1-3 (Analysis, Planning, Solutioning) will now default output to _bmad-output/planning-artifacts + - Phase 4 (Implementation) will now default output to _bmad-output/implementation-artifacts + - Long term project knowledge (research, docs, references, document-project output) will now default to docs/ + + IT IS STRONGLY SUGGESTED to align with these folder conventions instead of dumping all to docs/ - if you are upgrading from a prior + version where all output was going to docs or docs/sprint-artifacts, it is suggested to reset configs to these new values. + + If you have anything in progress, you can move what was in sprint-artifacts to _bmad-output/implementation-artifacts, and if you had brainstorming + content, a PRD, UX or Architecture, you can move the content to _bmad-output/planning-artifacts. + + Read the latest updates before continuing: + https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md + + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +# Display at the END of installation (after all setup completes) +endMessage: | + ════════════════════════════════════════════════════════════════════════════════ + + ✨ BMAD IS READY TO USE! + + ONE FINAL NOTE WITH VERSION Alpha.20: Phase 4 (Implementation) is still in the process of being migrated to the improved workflow progressive disclosure system. + Along with this, the full conversion to the new path locations for content being searched may possibly be incomplete. If you run a workflow that relies on finding input documents automatically, and you notice they are not being found / looking in the wrong location, either: + 1. Manually specify the correct input location when prompted + 2. Open an issue on GitHub so we can address the problem quickly if you think its a bug. + 3. Ensure your content is in the new locations for best results: + - Planning Artifacts (Phases 1-3): _bmad-output/planning-artifacts + - Implementation Artifacts (Phase 4): _bmad-output/implementation-artifacts + - Long Term Project Knowledge (docs, research, references): docs/ + + Thank you for helping test the early release version of the new BMad Core and BMad Method! + Stable Beta coming soon - please read the full README.md and linked documentation to get started. + + And again, here is the Change Log with all the details of recent updates: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md + + ════════════════════════════════════════════════════════════════════════════════ diff --git a/tools/cli/installers/lib/message-loader.js b/tools/cli/installers/lib/message-loader.js new file mode 100644 index 00000000..dd112669 --- /dev/null +++ b/tools/cli/installers/lib/message-loader.js @@ -0,0 +1,85 @@ +const fs = require('fs-extra'); +const path = require('node:path'); +const yaml = require('yaml'); +const chalk = require('chalk'); + +/** + * Load and display installer messages from messages.yaml + */ +class MessageLoader { + constructor() {} + + /** + * Load messages from the YAML file + * @returns {Object|null} Messages object or null if not found + */ + load() { + if (this.messages) { + return this.messages; + } + + const messagesPath = path.join(__dirname, '..', 'install-messages.yaml'); + + try { + const content = fs.readFileSync(messagesPath, 'utf8'); + this.messages = yaml.parse(content); + return this.messages; + } catch { + // File doesn't exist or is invalid - return null + return null; + } + } + + /** + * Get the start message for display + * @returns {string|null} Start message or null + */ + getStartMessage() { + const messages = this.load(); + return messages?.startMessage || null; + } + + /** + * Get the end message for display + * @returns {string|null} End message or null + */ + getEndMessage() { + const messages = this.load(); + return messages?.endMessage || null; + } + + /** + * Display the start message (after logo, before prompts) + */ + displayStartMessage() { + const message = this.getStartMessage(); + if (message) { + console.log(chalk.cyan(message)); + console.log(); + } + } + + /** + * Display the end message (after installation completes) + */ + displayEndMessage() { + const message = this.getEndMessage(); + if (message) { + console.log(); + console.log(chalk.cyan(message)); + } + } + + /** + * Check if messages exist for the current version + * @param {string} currentVersion - Current package version + * @returns {boolean} True if messages match current version + */ + isCurrent(currentVersion) { + const messages = this.load(); + return messages && messages.version === currentVersion; + } + messages = null; +} + +module.exports = { MessageLoader }; diff --git a/tools/cli/lib/ui.js b/tools/cli/lib/ui.js index 7aae6456..ab055643 100644 --- a/tools/cli/lib/ui.js +++ b/tools/cli/lib/ui.js @@ -17,7 +17,10 @@ class UI { async promptInstall() { CLIUtils.displayLogo(); - console.log(chalk.cyan('\nRead the latest updates: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md\n')); + // Display version-specific start message from install-messages.yaml + const { MessageLoader } = require('../installers/lib/message-loader'); + const messageLoader = new MessageLoader(); + messageLoader.displayStartMessage(); const confirmedDirectory = await this.getConfirmedDirectory(); diff --git a/tools/validate-bundles.js b/tools/validate-bundles.js deleted file mode 100644 index 674e4c63..00000000 --- a/tools/validate-bundles.js +++ /dev/null @@ -1,87 +0,0 @@ -const fs = require('fs-extra'); -const path = require('node:path'); -const xml2js = require('xml2js'); -const chalk = require('chalk'); -const glob = require('glob'); - -async function validateXmlFile(filePath) { - try { - const content = await fs.readFile(filePath, 'utf8'); - await xml2js.parseStringPromise(content, { - strict: true, - explicitArray: false, - }); - return { valid: true }; - } catch (error) { - return { valid: false, error: error.message }; - } -} - -async function validateAllBundles() { - console.log(chalk.cyan.bold('\n═══════════════════════════════════════════════')); - console.log(chalk.cyan.bold(' VALIDATING WEB BUNDLE XML FILES')); - console.log(chalk.cyan.bold('═══════════════════════════════════════════════\n')); - - const bundlesDir = path.join(__dirname, '..', 'web-bundles'); - - // Find all XML files in web-bundles - const pattern = path.join(bundlesDir, '**/*.xml'); - const files = glob.sync(pattern); - - if (files.length === 0) { - console.log(chalk.yellow('No XML files found in web-bundles directory')); - return; - } - - console.log(`Found ${chalk.bold(files.length)} XML files to validate\n`); - - let validCount = 0; - let invalidCount = 0; - const invalidFiles = []; - - for (const file of files) { - const relativePath = path.relative(bundlesDir, file); - const result = await validateXmlFile(file); - - if (result.valid) { - console.log(`${chalk.green('✓')} ${relativePath}`); - validCount++; - } else { - console.log(`${chalk.red('✗')} ${relativePath}`); - console.log(` ${chalk.red('→')} ${result.error}`); - invalidCount++; - invalidFiles.push({ path: relativePath, error: result.error }); - } - } - - // Summary - console.log(chalk.cyan.bold('\n═══════════════════════════════════════════════')); - console.log(chalk.cyan.bold(' SUMMARY')); - console.log(chalk.cyan.bold('═══════════════════════════════════════════════\n')); - - console.log(` Total files checked: ${chalk.bold(files.length)}`); - console.log(` Valid XML files: ${chalk.green(validCount)}`); - console.log(` Invalid XML files: ${invalidCount > 0 ? chalk.red(invalidCount) : chalk.green(invalidCount)}`); - - if (invalidFiles.length > 0) { - console.log(chalk.red.bold('\n Invalid Files:')); - for (const { path, error } of invalidFiles) { - console.log(` ${chalk.red('•')} ${path}`); - if (error.length > 100) { - console.log(` ${error.slice(0, 100)}...`); - } else { - console.log(` ${error}`); - } - } - } - - console.log(chalk.cyan.bold('\n═══════════════════════════════════════════════\n')); - - process.exit(invalidCount > 0 ? 1 : 0); -} - -// Run validation -validateAllBundles().catch((error) => { - console.error(chalk.red('Error running validation:'), error); - process.exit(1); -}); From e4a4f47a1e176a103ac39b9992a229c7dd8b763b Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 22:21:59 +0800 Subject: [PATCH 14/17] remove unnecessary \ before _ and disable md auto fix --- package.json | 3 +-- .../templates/step-01-init-continuable-template.md | 14 +++++++------- .../3-technical/game-architecture/instructions.md | 2 +- .../create-architecture/steps/step-01-init.md | 8 ++++---- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index b116ecbd..6848282d 100644 --- a/package.json +++ b/package.json @@ -58,8 +58,7 @@ "npm run format:fix" ], "*.md": [ - "markdownlint-cli2", - "npm run format:fix" + "markdownlint-cli2" ] }, "dependencies": { diff --git a/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md b/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md index beb56dff..9b5794ef 100644 --- a/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +++ b/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md @@ -13,16 +13,16 @@ description: 'Initialize the [workflow-type] workflow by detecting continuation -workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]' +workflow\*path: `{project-root}/_bmad/[module-path]/workflows/[workflow-name]` # File References (all use {variable} format in file) -thisStepFile: '{workflow_path}/steps/step-01-init.md' -nextStepFile: '{workflow_path}/steps/step-02-[step-name].md' -workflowFile: '{workflow_path}/workflow.md' -outputFile: '{output_folder}/[output-file-name]-{project_name}.md' -continueFile: '{workflow_path}/steps/step-01b-continue.md' -templateFile: '{workflow_path}/templates/[main-template].md' +thisStepFile: `{workflow_path}/steps/step-01-init.md` +nextStepFile: `{workflow_path}/steps/step-02-[step-name].md` +workflowFile: `{workflow_path}/workflow.md` +outputFile: `{output_folder}/[output-file-name]-{project_name}.md` +continueFile: `{workflow_path}/steps/step-01b-continue.md` +templateFile: `{workflow_path}/templates/[main-template].md` # Template References diff --git a/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md b/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md index 20bb9a1f..673ed07e 100644 --- a/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +++ b/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md @@ -74,7 +74,7 @@ For Level {{project_level}}, we'll keep the architecture appropriately scoped. Decision Architecture works from your Product Requirements Document (PRD). -Looking for: _prd_.md, or prd/index.md + files in {output_folder} +Looking for: `*prd*.md`, or `prd/index.md` + files in {output_folder} Please run the PRD workflow first to define your requirements. diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md index 4d661420..8cbcaa47 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md @@ -58,14 +58,14 @@ Discover and load context documents using smart discovery: **PRD Document (Priority: Analysis → Main → Sharded → Whole):** -1. Check analysis folders: {output*folder} and {planning_artifacts} for a \_prd*.md +1. Check analysis folders: {output_folder} and {planning_artifacts} for a `*prd*.md` 2. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md` 3. If sharded folder exists: Load EVERY file in that folder completely 4. Add discovered files to `inputDocuments` frontmatter **Epics/Stories Document (Priority: Analysis → Main → Sharded → Whole):** -1. Check folders: {output*folder} and {planning_artifacts} for a \_epic*.md +1. Check folders: {output_folder} and {planning_artifacts} for a `*epic*.md` 2. If no analysis files: Try main folder: `{output_folder}/*epic*.md` 3. If no main files: Check for sharded epics folder: `{output_folder}/*epic*/**/*.md` 4. If sharded folder exists: Load EVERY file in that folder completely @@ -73,14 +73,14 @@ Discover and load context documents using smart discovery: **UX Design Specification (Priority: Analysis → Main → Sharded → Whole):** -1. Check folders: {output*folder} and {planning_artifacts} for a \_ux*.md +1. Check folders: {output_folder} and {planning_artifacts} for a `*ux*.md` 2. If no main files: Check for sharded UX folder: `{output_folder}/*ux*/**/*.md` 3. If sharded folder exists: Load EVERY file in that folder completely 4. Add discovered files to `inputDocuments` frontmatter **Research Documents (Priority: Analysis → Main):** -1. Check folders {output*folder} and {planning_artifacts} for /research/\_research*.md +1. Check folders {output_folder} and {planning_artifacts} for `/research/*research*.md` 2. If no files: Try folder: `{output_folder}/*research*.md` 3. Add discovered files to `inputDocuments` frontmatter From 925b715d4f7bf92cbdb5f84e7f105bcd01dcf5c0 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Tue, 23 Dec 2025 22:29:51 +0800 Subject: [PATCH 15/17] prettier no longer should screw up md files underscores --- .../toolsmith-sidecar/knowledge/installers.md | 4 ++-- .../toolsmith/toolsmith-sidecar/knowledge/modules.md | 2 +- .../workflows/quiz-master/steps/step-01-init.md | 2 +- .../workflows/quiz-master/workflow.md | 2 +- package.json | 4 ++-- .../bmb/docs/agents/expert-agent-architecture.md | 4 ++-- .../bmb/docs/agents/understanding-agent-types.md | 2 +- .../bmb/docs/workflows/templates/step-1b-template.md | 2 +- .../bmb/docs/workflows/templates/step-template.md | 6 +++--- .../bmb/docs/workflows/templates/workflow-template.md | 2 +- src/modules/bmb/docs/workflows/templates/workflow.md | 2 +- .../workflows/meal-prep-nutrition/workflow.md | 2 +- .../bmb/workflows-legacy/edit-module/checklist.md | 2 +- .../bmb/workflows-legacy/edit-module/instructions.md | 6 +++--- .../bmb/workflows-legacy/module-brief/instructions.md | 4 ++-- .../workflows/meal-prep-nutrition/workflow.md | 2 +- .../create-agent/templates/expert-agent.template.md | 6 +++--- .../workflows/create-module/steps/step-04-structure.md | 2 +- .../workflows/create-module/steps/step-08-installer.md | 10 +++++----- .../create-module/templates/agent.template.md | 2 +- src/modules/bmb/workflows/create-module/validation.md | 4 ++-- src/modules/bmb/workflows/create-module/workflow.md | 2 +- .../workflows/create-workflow/steps/step-07-build.md | 4 ++-- src/modules/bmb/workflows/create-workflow/workflow.md | 2 +- src/modules/bmb/workflows/edit-agent/workflow.md | 2 +- src/modules/bmb/workflows/edit-workflow/workflow.md | 2 +- .../steps/step-02-workflow-validation.md | 2 +- .../workflows/workflow-compliance-check/workflow.md | 2 +- .../1-preproduction/brainstorm-game/instructions.md | 2 +- .../1-preproduction/game-brief/instructions.md | 2 +- .../2-design/narrative/instructions-narrative.md | 2 +- .../3-technical/game-architecture/instructions.md | 2 +- .../generate-project-context/steps/step-02-generate.md | 4 ++-- .../workflows/4-production/correct-course/checklist.md | 2 +- .../4-production/correct-course/instructions.md | 4 ++-- .../4-production/retrospective/instructions.md | 4 ++-- .../4-production/sprint-planning/instructions.md | 4 ++-- .../4-production/sprint-status/instructions.md | 4 ++-- .../workflows/workflow-status/init/instructions.md | 2 +- .../bmgd/workflows/workflow-status/instructions.md | 4 ++-- .../1-analysis/create-product-brief/workflow.md | 2 +- .../create-ux-design/steps/step-02-discovery.md | 4 ++-- .../create-ux-design/steps/step-03-core-experience.md | 8 ++++---- .../steps/step-04-emotional-response.md | 8 ++++---- .../create-ux-design/steps/step-05-inspiration.md | 8 ++++---- .../create-ux-design/steps/step-06-design-system.md | 8 ++++---- .../steps/step-07-defining-experience.md | 8 ++++---- .../steps/step-08-visual-foundation.md | 8 ++++---- .../steps/step-09-design-directions.md | 8 ++++---- .../create-ux-design/steps/step-10-user-journeys.md | 8 ++++---- .../steps/step-11-component-strategy.md | 8 ++++---- .../create-ux-design/steps/step-12-ux-patterns.md | 8 ++++---- .../steps/step-13-responsive-accessibility.md | 8 ++++---- .../2-plan-workflows/prd/steps/step-03-success.md | 8 ++++---- .../2-plan-workflows/prd/steps/step-04-journeys.md | 8 ++++---- .../2-plan-workflows/prd/steps/step-05-domain.md | 8 ++++---- .../2-plan-workflows/prd/steps/step-06-innovation.md | 8 ++++---- .../2-plan-workflows/prd/steps/step-07-project-type.md | 8 ++++---- .../2-plan-workflows/prd/steps/step-08-scoping.md | 8 ++++---- .../2-plan-workflows/prd/steps/step-09-functional.md | 8 ++++---- .../prd/steps/step-10-nonfunctional.md | 8 ++++---- .../check-implementation-readiness/workflow.md | 2 +- .../create-architecture/steps/step-02-context.md | 8 ++++---- .../create-architecture/steps/step-03-starter.md | 4 ++-- .../create-architecture/steps/step-04-decisions.md | 8 ++++---- .../create-architecture/steps/step-05-patterns.md | 8 ++++---- .../create-architecture/steps/step-06-structure.md | 8 ++++---- .../create-architecture/steps/step-07-validation.md | 8 ++++---- .../3-solutioning/create-epics-and-stories/workflow.md | 2 +- .../4-implementation/correct-course/checklist.md | 2 +- .../4-implementation/correct-course/instructions.md | 4 ++-- .../4-implementation/retrospective/instructions.md | 4 ++-- .../4-implementation/sprint-planning/instructions.md | 4 ++-- .../4-implementation/sprint-status/instructions.md | 4 ++-- .../bmm/workflows/document-project/instructions.md | 4 ++-- .../generate-project-context/steps/step-02-generate.md | 4 ++-- .../bmm/workflows/workflow-status/init/instructions.md | 2 +- .../bmm/workflows/workflow-status/instructions.md | 4 ++-- .../cis/workflows/design-thinking/instructions.md | 4 ++-- .../cis/workflows/innovation-strategy/instructions.md | 4 ++-- .../cis/workflows/problem-solving/instructions.md | 4 ++-- 81 files changed, 187 insertions(+), 187 deletions(-) diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md b/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md index 75c925f6..65db8645 100644 --- a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +++ b/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md @@ -30,7 +30,7 @@ ### IDE Manager & Base - @/tools/cli/installers/lib/ide/manager.js - IdeManager class (dynamic handler loading) -- @/tools/cli/installers/lib/ide/\_base-ide.js - BaseIdeSetup class (all handlers extend this) +- @/tools/cli/installers/lib/ide/_base-ide.js - BaseIdeSetup class (all handlers extend this) ### Shared Utilities @@ -116,7 +116,7 @@ Contains: - Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup - Fix installer bug: Check installer.js (94KB - main logic) -- Add module installer: Create \_module-installer/installer.js if custom installer logic needed +- Add module installer: Create _module-installer/installer.js if custom installer logic needed - Update shared generators: Modify files in /shared/ directory ## Relationships diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md b/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md index 496356f6..663fcc60 100644 --- a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +++ b/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md @@ -142,7 +142,7 @@ Defined in @/tools/cli/lib/platform-codes.js ## Common Tasks -- Create new module installer: Add \_module-installer/installer.js +- Create new module installer: Add _module-installer/installer.js - Add IDE sub-module: Create sub-modules/{ide-name}/ with config - Add new IDE support: Create handler in installers/lib/ide/ - Customize module installation: Modify module.yaml diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md b/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md index 9551dee2..9ed3ffe2 100644 --- a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md +++ b/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md @@ -66,7 +66,7 @@ To set up the quiz game by selecting game mode, choosing a category, and prepari ### 1. Welcome and Configuration Loading -Load config from {project-root}/\_bmad/bmb/config.yaml to get user_name. +Load config from {project-root}/_bmad/bmb/config.yaml to get user_name. Present dramatic welcome: "🎺 _DRAMATIC MUSIC PLAYS_ 🎺 diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md b/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md index d0e72459..badf9c51 100644 --- a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md +++ b/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md @@ -45,7 +45,7 @@ web_bundle: true ### 1. Module Configuration Loading -Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve: - `user_name`, `output_folder`, `communication_language`, `document_output_language` diff --git a/package.json b/package.json index 6848282d..a640704c 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,8 @@ "bmad:install": "node tools/cli/bmad-cli.js install", "bundle": "node tools/cli/bundlers/bundle-web.js all", "flatten": "node tools/flattener/main.js", - "format:check": "prettier --check \"**/*.{js,cjs,mjs,json,md,yaml}\"", - "format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,md,yaml}\"", + "format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"", + "format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"", "install:bmad": "node tools/cli/bmad-cli.js install", "lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0", "lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix", diff --git a/src/modules/bmb/docs/agents/expert-agent-architecture.md b/src/modules/bmb/docs/agents/expert-agent-architecture.md index abfa6c29..84731543 100644 --- a/src/modules/bmb/docs/agents/expert-agent-architecture.md +++ b/src/modules/bmb/docs/agents/expert-agent-architecture.md @@ -355,8 +355,8 @@ identity: | - [ ] Sidecar folder structure created and populated - [ ] memories.md has clear section structure - [ ] instructions.md contains core directives -- [ ] Menu actions reference \_bmad/\_memory correctly -- [ ] File paths use \_bmad/\_memory/[agentname]-sidecar/ to reference sidecar content +- [ ] Menu actions reference _bmad/_memory correctly +- [ ] File paths use _bmad/_memory/[agentname]-sidecar/ to reference sidecar content - [ ] Install config personalizes sidecar references - [ ] Agent folder named consistently: `{agent-name}/` - [ ] YAML file named: `{agent-name}.agent.yaml` diff --git a/src/modules/bmb/docs/agents/understanding-agent-types.md b/src/modules/bmb/docs/agents/understanding-agent-types.md index 80cc0395..08e35345 100644 --- a/src/modules/bmb/docs/agents/understanding-agent-types.md +++ b/src/modules/bmb/docs/agents/understanding-agent-types.md @@ -7,7 +7,7 @@ ALL agent types can: - ✓ Write to {output_folder}, {project-root}, or anywhere on system - ✓ Update artifacts and files - ✓ Execute bash commands -- ✓ Use core variables (\_bmad, {output_folder}, etc.) +- ✓ Use core variables (_bmad, {output_folder}, etc.) - ✓ Have complex prompts and logic - ✓ Invoke external tools diff --git a/src/modules/bmb/docs/workflows/templates/step-1b-template.md b/src/modules/bmb/docs/workflows/templates/step-1b-template.md index 3f5273ac..8e34bdd4 100644 --- a/src/modules/bmb/docs/workflows/templates/step-1b-template.md +++ b/src/modules/bmb/docs/workflows/templates/step-1b-template.md @@ -13,7 +13,7 @@ description: 'Handle workflow continuation from previous session' -workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]' +workflow\*path: '{project-root}/_bmad/[module-path]/workflows/[workflow-name]' # File References (all use {variable} format in file) diff --git a/src/modules/bmb/docs/workflows/templates/step-template.md b/src/modules/bmb/docs/workflows/templates/step-template.md index 55612989..5c4c8578 100644 --- a/src/modules/bmb/docs/workflows/templates/step-template.md +++ b/src/modules/bmb/docs/workflows/templates/step-template.md @@ -11,7 +11,7 @@ description: '[Brief description of what this step accomplishes]' -workflow\*path: '{project-root}/\_bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in +workflow\*path: '{project-root}/_bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in # File References (all use {variable} format in file) @@ -23,8 +23,8 @@ outputFile: '{output_folder}/[output-file-name]-{project_name}.md' # Task References (IF THE workflow uses and it makes sense in this step to have these ) -advancedElicitationTask: '{project-root}/\_bmad/core/tasks/advanced-elicitation.xml' -partyModeWorkflow: '{project-root}/\_bmad/core/workflows/party-mode/workflow.md' +advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml' +partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md' # Template References (if this step uses a specific templates) diff --git a/src/modules/bmb/docs/workflows/templates/workflow-template.md b/src/modules/bmb/docs/workflows/templates/workflow-template.md index 109eb820..5cc687a3 100644 --- a/src/modules/bmb/docs/workflows/templates/workflow-template.md +++ b/src/modules/bmb/docs/workflows/templates/workflow-template.md @@ -53,7 +53,7 @@ web_bundle: [true/false] # Set to true for inclusion in web bundle builds ### 1. Module Configuration Loading -Load and read full config from {project-root}/\_bmad/[MODULE FOLDER]/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/[MODULE FOLDER]/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, [MODULE VARS] diff --git a/src/modules/bmb/docs/workflows/templates/workflow.md b/src/modules/bmb/docs/workflows/templates/workflow.md index e68f52cd..65a8eb26 100644 --- a/src/modules/bmb/docs/workflows/templates/workflow.md +++ b/src/modules/bmb/docs/workflows/templates/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/{{targetModule}}/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/{{targetModule}}/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language` diff --git a/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md b/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md index 8db13c65..54b5b495 100644 --- a/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +++ b/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/core/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/core/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language` diff --git a/src/modules/bmb/workflows-legacy/edit-module/checklist.md b/src/modules/bmb/workflows-legacy/edit-module/checklist.md index 40b0759c..779ec5c4 100644 --- a/src/modules/bmb/workflows-legacy/edit-module/checklist.md +++ b/src/modules/bmb/workflows-legacy/edit-module/checklist.md @@ -126,7 +126,7 @@ Use this checklist to validate module edits meet BMAD Core standards. - [ ] Web bundles configured in workflow.yaml files - [ ] All referenced files included in web_bundle_files -- [ ] Paths are \_bmad/-relative (not project-root) +- [ ] Paths are _bmad/-relative (not project-root) - [ ] No config_source references in web bundles - [ ] Invoked workflows included in dependencies diff --git a/src/modules/bmb/workflows-legacy/edit-module/instructions.md b/src/modules/bmb/workflows-legacy/edit-module/instructions.md index 364daf39..6f3e2b8b 100644 --- a/src/modules/bmb/workflows-legacy/edit-module/instructions.md +++ b/src/modules/bmb/workflows-legacy/edit-module/instructions.md @@ -1,7 +1,7 @@ # Edit Module - Module Editor Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/edit-module/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmb/workflows/edit-module/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them Communicate all responses in {communication_language} @@ -186,7 +186,7 @@ Let the conversation flow naturally. Build a shared vision of what "better" look **If setting up cross-module integration:** - Identify which workflows from other modules are needed -- Show how to reference workflows properly: {project-root}/\_bmad/{{module}}/workflows/{{workflow}}/workflow.yaml +- Show how to reference workflows properly: {project-root}/_bmad/{{module}}/workflows/{{workflow}}/workflow.yaml - Document the integration in README - Ensure dependencies are clear - Consider adding example usage diff --git a/src/modules/bmb/workflows-legacy/module-brief/instructions.md b/src/modules/bmb/workflows-legacy/module-brief/instructions.md index 384fa101..1693c3c5 100644 --- a/src/modules/bmb/workflows-legacy/module-brief/instructions.md +++ b/src/modules/bmb/workflows-legacy/module-brief/instructions.md @@ -1,7 +1,7 @@ # Module Brief Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/module-brief/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmb/workflows/module-brief/workflow.yaml Communicate in {communication_language} throughout the module brief creation process ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever. diff --git a/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md b/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md index 6b6fd9db..a63fa50f 100644 --- a/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +++ b/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level` diff --git a/src/modules/bmb/workflows/create-agent/templates/expert-agent.template.md b/src/modules/bmb/workflows/create-agent/templates/expert-agent.template.md index bcc2444b..069512cc 100644 --- a/src/modules/bmb/workflows/create-agent/templates/expert-agent.template.md +++ b/src/modules/bmb/workflows/create-agent/templates/expert-agent.template.md @@ -313,7 +313,7 @@ critical_actions: 1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY 2. **Enforce domain restrictions** - Clear boundaries prevent scope creep -3. **Use \_bmad/\_memory/[agentname]-sidcar/ paths** - For reference to any sidecar content +3. **Use _bmad/_memory/[agentname]-sidcar/ paths** - For reference to any sidecar content 4. **Design for memory growth** - Structure sidecar files for accumulation 5. **Reference past naturally** - Don't dump memory, weave it into conversation 6. **Separate concerns** - Memories, instructions, knowledge in distinct files @@ -356,8 +356,8 @@ identity: | - [ ] Sidecar folder structure created and populated - [ ] memories.md has clear section structure - [ ] instructions.md contains core directives -- [ ] Menu actions reference \_bmad/\_memory/[agentname]-sidcar/ correctly if needing sidecar content reference -- [ ] File paths use \_bmad/\_memory/[agentname]-sidcar/ to reference where the file will be after sidecar content is installed +- [ ] Menu actions reference _bmad/_memory/[agentname]-sidcar/ correctly if needing sidecar content reference +- [ ] File paths use _bmad/_memory/[agentname]-sidcar/ to reference where the file will be after sidecar content is installed - [ ] Install config personalizes sidecar references - [ ] Agent folder named consistently: `{agent-name}/` - [ ] YAML file named: `{agent-name}.agent.yaml` diff --git a/src/modules/bmb/workflows/create-module/steps/step-04-structure.md b/src/modules/bmb/workflows/create-module/steps/step-04-structure.md index 2a02d91a..5d857d67 100644 --- a/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +++ b/src/modules/bmb/workflows/create-module/steps/step-04-structure.md @@ -129,7 +129,7 @@ Create all directories in {bmb_creations_output_folder}/{module_name}/: 3. **tasks/** - For task files (if tasks planned) 4. **templates/** - For shared templates 5. **data/** - For module data -6. **\_module-installer/** - For installation configuration +6. **_module-installer/** - For installation configuration ### 4. Create Placeholder README diff --git a/src/modules/bmb/workflows/create-module/steps/step-08-installer.md b/src/modules/bmb/workflows/create-module/steps/step-08-installer.md index ea981793..cc0cd553 100644 --- a/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +++ b/src/modules/bmb/workflows/create-module/steps/step-08-installer.md @@ -71,8 +71,8 @@ From step 5, we planned these configuration fields: ### 2. Create Installer Directory -Ensure \_module-installer directory exists -Directory: {bmb_creations_output_folder}/{module_name}/\_module-installer/ +Ensure _module-installer directory exists +Directory: {bmb_creations_output_folder}/{module_name}/_module-installer/ ### 3. Create module.yaml @@ -95,7 +95,7 @@ Does your module need any special setup during installation? For example: "I'll create an installer.js file for custom logic." -Create file: {bmb_creations_output_folder}/{module_name}/\_module-installer/installer.js from {installerTemplate} +Create file: {bmb_creations_output_folder}/{module_name}/_module-installer/installer.js from {installerTemplate} Update installer.js with module-specific logic @@ -105,7 +105,7 @@ Update installer.js with module-specific logic If your module needs to copy files during installation (templates, examples, documentation), we can add them to the assets directory." -Create directory: \_module-installer/assets/ +Create directory: _module-installer/assets/ Add note about what assets to include ### 6. Document Installer Setup @@ -131,7 +131,7 @@ Update module-plan.md with installer section: 1. User runs: `bmad install {module_name}` 2. Installer asks: [list of questions] -3. Creates: \_bmad/{module_name}/ +3. Creates: _bmad/{module_name}/ 4. Generates: config.yaml with user settings ### Validation diff --git a/src/modules/bmb/workflows/create-module/templates/agent.template.md b/src/modules/bmb/workflows/create-module/templates/agent.template.md index 94db0a5f..fc81f385 100644 --- a/src/modules/bmb/workflows/create-module/templates/agent.template.md +++ b/src/modules/bmb/workflows/create-module/templates/agent.template.md @@ -264,7 +264,7 @@ Analyze the visual design with my signature dramatic flair menu: # Core interactions - multi: "[CH] Chat with Caravaggio or [SPM] Start Party Mode" triggers: - party-mode: input: SPM or fuzzy match start party mode -route: "{project-root}/\_bmad/core/workflows/edit-agent/workflow.md" +route: "{project-root}/_bmad/core/workflows/edit-agent/workflow.md" data: what's being discussed, plus custom party agents if specified type: exec - expert-chat: input: CH or fuzzy match validate agent diff --git a/src/modules/bmb/workflows/create-module/validation.md b/src/modules/bmb/workflows/create-module/validation.md index 3783b2aa..147664d3 100644 --- a/src/modules/bmb/workflows/create-module/validation.md +++ b/src/modules/bmb/workflows/create-module/validation.md @@ -11,11 +11,11 @@ This document provides the validation criteria used in step-11-validate.md to en - [ ] tasks/ - Task files (if needed) - [ ] templates/ - Shared templates - [ ] data/ - Module data -- [ ] \_module-installer/ - Installation config +- [ ] _module-installer/ - Installation config - [ ] README.md - Module documentation - [ ] module.yaml - module config file -### Optional File in \_module-installer/ +### Optional File in _module-installer/ - [ ] installer.js - Custom logic (if needed) diff --git a/src/modules/bmb/workflows/create-module/workflow.md b/src/modules/bmb/workflows/create-module/workflow.md index 7541f2fa..46badff8 100644 --- a/src/modules/bmb/workflows/create-module/workflow.md +++ b/src/modules/bmb/workflows/create-module/workflow.md @@ -46,7 +46,7 @@ installed_path: '{project-root}/_bmad/bmb/workflows/create-module' ### 1. Module Configuration Loading -Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder` diff --git a/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md b/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md index 0998631d..9dab2ab7 100644 --- a/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +++ b/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md @@ -72,7 +72,7 @@ To generate all the workflow files (workflow.md, step files, templates, and supp - When building continuable step-01-init.md files, use template `{project-root}/_bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md` - When building continuation steps, use template `{project-root}/_bmad/bmb/docs/workflows/templates/step-1b-template.md` - When building the main workflow.md file, you must follow template `{project-root}/_bmad/bmb/docs/workflows/templates/workflow-template.md` -- Example step files from {project-root}/\_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md for patterns +- Example step files from {project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md for patterns ## FILE GENERATION SEQUENCE: @@ -117,7 +117,7 @@ Load and follow {workflowTemplate}: - Create workflow.md using template structure - Insert workflow name and description -- Configure all path variables ({project-root}, \_bmad, {workflow_path}) +- Configure all path variables ({project-root}, _bmad, {workflow_path}) - Set web_bundle flag to true unless user has indicated otherwise - Define role and goal - Include initialization path to step-01 diff --git a/src/modules/bmb/workflows/create-workflow/workflow.md b/src/modules/bmb/workflows/create-workflow/workflow.md index 500097ba..22dd4484 100644 --- a/src/modules/bmb/workflows/create-workflow/workflow.md +++ b/src/modules/bmb/workflows/create-workflow/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder` diff --git a/src/modules/bmb/workflows/edit-agent/workflow.md b/src/modules/bmb/workflows/edit-agent/workflow.md index 9cb9529c..e26cc99b 100644 --- a/src/modules/bmb/workflows/edit-agent/workflow.md +++ b/src/modules/bmb/workflows/edit-agent/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language` diff --git a/src/modules/bmb/workflows/edit-workflow/workflow.md b/src/modules/bmb/workflows/edit-workflow/workflow.md index 35f6124e..1daaca4d 100644 --- a/src/modules/bmb/workflows/edit-workflow/workflow.md +++ b/src/modules/bmb/workflows/edit-workflow/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language` diff --git a/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md b/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md index 24cebddc..6028ee28 100644 --- a/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +++ b/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md @@ -135,7 +135,7 @@ For each deviation: - Configuration Loading uses correct path format: `{project-root}/_bmad/[module]/config.yaml` (variable substitution pattern) - First step follows pattern: `step-01-init.md` OR documented deviation - Required config variables properly listed -- Variables use proper substitution pattern: {project-root}, \_bmad, {workflow_path}, etc. +- Variables use proper substitution pattern: {project-root}, _bmad, {workflow_path}, etc. For violations: diff --git a/src/modules/bmb/workflows/workflow-compliance-check/workflow.md b/src/modules/bmb/workflows/workflow-compliance-check/workflow.md index 7d944650..1f95ea1d 100644 --- a/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +++ b/src/modules/bmb/workflows/workflow-compliance-check/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve: - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language` diff --git a/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md b/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md index f3a4602e..55574a3a 100644 --- a/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +++ b/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md @@ -1,4 +1,4 @@ -The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} This is a meta-workflow that orchestrates the CIS brainstorming workflow with game-specific context and additional game design techniques diff --git a/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md b/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md index 291a2952..cf17000e 100644 --- a/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +++ b/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md @@ -1,6 +1,6 @@ # Game Brief - Interactive Workflow Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md b/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md index 12cbe75c..d47263ea 100644 --- a/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +++ b/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml You MUST have already completed the GDD workflow Communicate all responses in {communication_language} This workflow creates detailed narrative content for story-driven games diff --git a/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md b/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md index 673ed07e..e59e7c69 100644 --- a/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +++ b/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level} The goal is ARCHITECTURAL DECISIONS that prevent AI agent conflicts, not detailed implementation specs diff --git a/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-02-generate.md b/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-02-generate.md index 75e978cb..90c76f2b 100644 --- a/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-02-generate.md +++ b/src/modules/bmgd/workflows/3-technical/generate-project-context/steps/step-02-generate.md @@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding diff --git a/src/modules/bmgd/workflows/4-production/correct-course/checklist.md b/src/modules/bmgd/workflows/4-production/correct-course/checklist.md index 06f7c4f6..1eb33830 100644 --- a/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +++ b/src/modules/bmgd/workflows/4-production/correct-course/checklist.md @@ -1,6 +1,6 @@ # Change Navigation Checklist -This checklist is executed as part of: {project-root}/\_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +This checklist is executed as part of: {project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml Work through each section systematically with the user, recording findings and impacts diff --git a/src/modules/bmgd/workflows/4-production/correct-course/instructions.md b/src/modules/bmgd/workflows/4-production/correct-course/instructions.md index 6e3f0419..1eb776c3 100644 --- a/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +++ b/src/modules/bmgd/workflows/4-production/correct-course/instructions.md @@ -1,7 +1,7 @@ # Correct Course - Sprint Change Management Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmgd/workflows/4-production/retrospective/instructions.md b/src/modules/bmgd/workflows/4-production/retrospective/instructions.md index 87419473..01352cfc 100644 --- a/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +++ b/src/modules/bmgd/workflows/4-production/retrospective/instructions.md @@ -1,7 +1,7 @@ # Retrospective - Epic Completion Review Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever. diff --git a/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md b/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md index ab959d2b..9ec3fe12 100644 --- a/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +++ b/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md @@ -1,7 +1,7 @@ # Sprint Planning - Sprint Status Generator -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml ## 📚 Document Discovery - Full Epic Loading diff --git a/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md b/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md index b38e441c..e160775e 100644 --- a/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md +++ b/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md @@ -1,7 +1,7 @@ # Sprint Status - Multi-Mode Service -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml Modes: interactive (default), validate, data ⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines. diff --git a/src/modules/bmgd/workflows/workflow-status/init/instructions.md b/src/modules/bmgd/workflows/workflow-status/init/instructions.md index 6d6f1d23..57cae373 100644 --- a/src/modules/bmgd/workflows/workflow-status/init/instructions.md +++ b/src/modules/bmgd/workflows/workflow-status/init/instructions.md @@ -1,6 +1,6 @@ # Workflow Init - Game Project Setup Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml You MUST have already loaded and processed: workflow-init/workflow.yaml Communicate in {communication_language} with {user_name} This workflow handles BOTH new game projects AND existing game projects diff --git a/src/modules/bmgd/workflows/workflow-status/instructions.md b/src/modules/bmgd/workflows/workflow-status/instructions.md index 20dd846a..ae95e313 100644 --- a/src/modules/bmgd/workflows/workflow-status/instructions.md +++ b/src/modules/bmgd/workflows/workflow-status/instructions.md @@ -1,7 +1,7 @@ # Workflow Status Check - Multi-Mode Service (BMGD) -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/workflow-status/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml This workflow operates in multiple modes: interactive (default), validate, data, init-check, update Other workflows can call this as a service to avoid duplicating status logic ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. diff --git a/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md b/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md index afb92d96..0cbcca44 100644 --- a/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md +++ b/src/modules/bmm/workflows/1-analysis/create-product-brief/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: - `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level` diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md index f42a4c1f..ce6f8ea8 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md index e3fe2c27..ac4bc45e 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -160,7 +160,7 @@ Show the generated core experience content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current core experience content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current core experience content - Process the enhanced experience insights that come back - Ask user: "Accept these improvements to the core experience definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -168,7 +168,7 @@ Show the generated core experience content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current core experience definition +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current core experience definition - Process the collaborative experience improvements that come back - Ask user: "Accept these changes to the core experience definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md index 12f13976..165b20ba 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -163,7 +163,7 @@ Show the generated emotional response content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current emotional response content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current emotional response content - Process the enhanced emotional insights that come back - Ask user: "Accept these improvements to the emotional response definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -171,7 +171,7 @@ Show the generated emotional response content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition - Process the collaborative emotional insights that come back - Ask user: "Accept these changes to the emotional response definition? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md index 45d4183a..a98b0bbc 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -178,7 +178,7 @@ Show the generated inspiration analysis content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current inspiration analysis content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current inspiration analysis content - Process the enhanced pattern insights that come back - Ask user: "Accept these improvements to the inspiration analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -186,7 +186,7 @@ Show the generated inspiration analysis content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis - Process the collaborative pattern insights that come back - Ask user: "Accept these changes to the inspiration analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md index e0773f39..e0f0741d 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -196,7 +196,7 @@ Show the generated design system content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current design system content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current design system content - Process the enhanced design system insights that come back - Ask user: "Accept these improvements to the design system decision? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -204,7 +204,7 @@ Show the generated design system content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current design system choice +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design system choice - Process the collaborative design system insights that come back - Ask user: "Accept these changes to the design system decision? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md index adb4380e..d2afb46c 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -198,7 +198,7 @@ Show the generated defining experience content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current defining experience content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current defining experience content - Process the enhanced experience insights that come back - Ask user: "Accept these improvements to the defining experience? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -206,7 +206,7 @@ Show the generated defining experience content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current defining experience +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current defining experience - Process the collaborative experience insights that come back - Ask user: "Accept these changes to the defining experience? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md index 7d02f67c..d9445771 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -168,7 +168,7 @@ Show the generated visual foundation content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current visual foundation content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current visual foundation content - Process the enhanced visual insights that come back - Ask user: "Accept these improvements to the visual foundation? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -176,7 +176,7 @@ Show the generated visual foundation content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current visual foundation +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current visual foundation - Process the collaborative visual insights that come back - Ask user: "Accept these changes to the visual foundation? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md index ad0b5b66..188a31ed 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -168,7 +168,7 @@ Show the generated design direction content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current design direction content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current design direction content - Process the enhanced design insights that come back - Ask user: "Accept these improvements to the design direction? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -176,7 +176,7 @@ Show the generated design direction content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current design direction +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design direction - Process the collaborative design insights that come back - Ask user: "Accept these changes to the design direction? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md index 1392c4bf..81816ec0 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -186,7 +186,7 @@ Show the generated user journey content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current user journey content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current user journey content - Process the enhanced journey insights that come back - Ask user: "Accept these improvements to the user journeys? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -194,7 +194,7 @@ Show the generated user journey content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current user journeys +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current user journeys - Process the collaborative journey insights that come back - Ask user: "Accept these changes to the user journeys? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md index 3cb00b2e..d84059e2 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -192,7 +192,7 @@ Show the generated component strategy content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current component strategy content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current component strategy content - Process the enhanced component insights that come back - Ask user: "Accept these improvements to the component strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -200,7 +200,7 @@ Show the generated component strategy content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current component strategy +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current component strategy - Process the collaborative component insights that come back - Ask user: "Accept these changes to the component strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md index 36091dcf..cabea2bb 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -181,7 +181,7 @@ Show the generated UX patterns content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current UX patterns content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current UX patterns content - Process the enhanced pattern insights that come back - Ask user: "Accept these improvements to the UX patterns? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -189,7 +189,7 @@ Show the generated UX patterns content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current UX patterns +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current UX patterns - Process the collaborative pattern insights that come back - Ask user: "Accept these changes to the UX patterns? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md index c636cdc9..9f3a0c70 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md @@ -29,8 +29,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -208,7 +208,7 @@ Show the generated responsive and accessibility content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current responsive/accessibility content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current responsive/accessibility content - Process the enhanced insights that come back - Ask user: "Accept these improvements to the responsive/accessibility strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -216,7 +216,7 @@ Show the generated responsive and accessibility content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy - Process the collaborative insights that come back - Ask user: "Accept these changes to the responsive/accessibility strategy? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md index 5ebe63d2..29ea708c 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md @@ -49,8 +49,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -228,7 +228,7 @@ Show the generated content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current success criteria content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current success criteria content - Process the enhanced success metrics that come back - Ask user: "Accept these improvements to the success criteria? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -236,7 +236,7 @@ Show the generated content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current success criteria +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current success criteria - Process the collaborative improvements to metrics and scope - Ask user: "Accept these changes to the success criteria? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md index 5fb0a855..095480d1 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md @@ -49,8 +49,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -222,7 +222,7 @@ Show the generated journey content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current journey content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current journey content - Process the enhanced journey insights that come back - Ask user: "Accept these improvements to the user journeys? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -230,7 +230,7 @@ Show the generated journey content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current journeys +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current journeys - Process the collaborative journey improvements and additions - Ask user: "Accept these changes to the user journeys? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md index 1fe4192d..e050af3e 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md @@ -52,8 +52,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -207,7 +207,7 @@ Show the generated domain content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current domain content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current domain content - Process the enhanced domain insights that come back - Ask user: "Accept these domain requirement improvements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -215,7 +215,7 @@ Show the generated domain content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current domain requirements +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current domain requirements - Process the collaborative domain expertise and validation - Ask user: "Accept these changes to domain requirements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md index 9630d333..709edad2 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md @@ -52,8 +52,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -186,7 +186,7 @@ Show the generated innovation content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current innovation content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current innovation content - Process the enhanced innovation insights that come back - Ask user: "Accept these improvements to the innovation analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -194,7 +194,7 @@ Show the generated innovation content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current innovation content +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current innovation content - Process the collaborative innovation exploration and ideation - Ask user: "Accept these changes to the innovation analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md index 5b234de0..adca0967 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md @@ -52,8 +52,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -182,7 +182,7 @@ Show the generated project-type content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current project-type content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current project-type content - Process the enhanced technical insights that come back - Ask user: "Accept these improvements to the technical requirements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -190,7 +190,7 @@ Show the generated project-type content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current project-type requirements +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project-type requirements - Process the collaborative technical expertise and validation - Ask user: "Accept these changes to the technical requirements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md index 34f8e1c4..ca03d214 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md @@ -50,8 +50,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -243,7 +243,7 @@ Show the scoping decisions and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current scoping analysis +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current scoping analysis - Process enhanced scoping insights that come back - Ask user: "Accept these improvements to the scoping decisions? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -251,7 +251,7 @@ Show the scoping decisions and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with scoping context +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with scoping context - Process collaborative insights on MVP and roadmap decisions - Ask user: "Accept these changes to the scoping decisions? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md index de3ff379..5d8df8bd 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md @@ -49,8 +49,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -209,7 +209,7 @@ Show the generated functional requirements and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current FR list +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current FR list - Process the enhanced capability coverage that comes back - Ask user: "Accept these additions to the functional requirements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -217,7 +217,7 @@ Show the generated functional requirements and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current FR list +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current FR list - Process the collaborative capability validation and additions - Ask user: "Accept these changes to the functional requirements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md index 4a0793b3..4982519f 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md @@ -49,8 +49,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to this step's A/P/C menu - User accepts/rejects protocol changes before proceeding @@ -209,7 +209,7 @@ Show the generated NFR content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current NFR content +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current NFR content - Process the enhanced quality attribute insights that come back - Ask user: "Accept these improvements to the non-functional requirements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -217,7 +217,7 @@ Show the generated NFR content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current NFR list +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current NFR list - Process the collaborative technical validation and additions - Ask user: "Accept these changes to the non-functional requirements? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md index 0a266eb7..11ac56bb 100644 --- a/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +++ b/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md @@ -45,7 +45,7 @@ web_bundle: false ### 1. Module Configuration Loading -Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: - `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language` diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md index cb6d83d6..84b34629 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -169,7 +169,7 @@ Show the generated content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current context analysis +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current context analysis - Process the enhanced architectural insights that come back - Ask user: "Accept these enhancements to the project context analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu @@ -177,7 +177,7 @@ Show the generated content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current project context +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project context - Process the collaborative improvements to architectural understanding - Ask user: "Accept these changes to the project context analysis? (y/n)" - If yes: Update content with improvements, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md index 02f44275..7480b79e 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md @@ -30,8 +30,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md index b1a580ca..1b145cfd 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md @@ -31,8 +31,8 @@ This step will generate content and present choices for each decision category: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -263,7 +263,7 @@ Show the generated decisions content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with specific decision categories +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with specific decision categories - Process enhanced insights about particular decisions - Ask user: "Accept these enhancements to the architectural decisions? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -271,7 +271,7 @@ Show the generated decisions content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with architectural decisions context +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with architectural decisions context - Process collaborative insights about decision trade-offs - Ask user: "Accept these changes to the architectural decisions? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md index 68b13e53..ec5a85a6 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md @@ -31,8 +31,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -304,7 +304,7 @@ Show the generated patterns content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current patterns +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current patterns - Process enhanced consistency rules that come back - Ask user: "Accept these additional pattern refinements? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -312,7 +312,7 @@ Show the generated patterns content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with implementation patterns context +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with implementation patterns context - Process collaborative insights about potential conflicts - Ask user: "Accept these changes to the implementation patterns? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md index e9be2cc0..9628ad18 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md @@ -31,8 +31,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -324,7 +324,7 @@ Show the generated project structure content and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current project structure +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current project structure - Process enhanced organizational insights that come back - Ask user: "Accept these changes to the project structure? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -332,7 +332,7 @@ Show the generated project structure content and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with project structure context +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with project structure context - Process collaborative insights about organization trade-offs - Ask user: "Accept these changes to the project structure? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md index 4c68d449..aa6d8e38 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +++ b/src/modules/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md @@ -31,8 +31,8 @@ This step will generate content and present choices: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding @@ -304,7 +304,7 @@ Show the validation results and present choices: #### If 'A' (Advanced Elicitation): -- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with validation issues +- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with validation issues - Process enhanced solutions for complex concerns - Ask user: "Accept these architectural improvements? (y/n)" - If yes: Update content, then return to A/P/C menu @@ -312,7 +312,7 @@ Show the validation results and present choices: #### If 'P' (Party Mode): -- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with validation context +- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with validation context - Process collaborative insights on implementation readiness - Ask user: "Accept these changes to the validation results? (y/n)" - If yes: Update content, then return to A/P/C menu diff --git a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md index e0a595bb..dee834f5 100644 --- a/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +++ b/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md @@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution: ### 1. Configuration Loading -Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve: +Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: - `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language` diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md b/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md index 76d4a827..68a0a445 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +++ b/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md @@ -1,6 +1,6 @@ # Change Navigation Checklist -This checklist is executed as part of: {project-root}/\_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +This checklist is executed as part of: {project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml Work through each section systematically with the user, recording findings and impacts diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md b/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md index 95a7ea51..82e8b6a2 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md @@ -1,7 +1,7 @@ # Correct Course - Sprint Change Management Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md index 64e129df..70b1ae80 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md @@ -1,7 +1,7 @@ # Retrospective - Epic Completion Review Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever. diff --git a/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md b/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md index 387fb627..c4f4bd42 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md @@ -1,7 +1,7 @@ # Sprint Planning - Sprint Status Generator -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml ## 📚 Document Discovery - Full Epic Loading diff --git a/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md b/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md index 593231fc..978b9229 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md @@ -1,7 +1,7 @@ # Sprint Status - Multi-Mode Service -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml Modes: interactive (default), validate, data ⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines. diff --git a/src/modules/bmm/workflows/document-project/instructions.md b/src/modules/bmm/workflows/document-project/instructions.md index ee3a09ca..f2482775 100644 --- a/src/modules/bmm/workflows/document-project/instructions.md +++ b/src/modules/bmm/workflows/document-project/instructions.md @@ -1,7 +1,7 @@ # Document Project Workflow Router -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/document-project/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/document-project/workflow.yaml Communicate all responses in {communication_language} diff --git a/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md b/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md index 122bb0e8..587fb741 100644 --- a/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +++ b/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md @@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category: ## PROTOCOL INTEGRATION: -- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml -- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode +- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml +- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode - PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed - User accepts/rejects protocol changes before proceeding diff --git a/src/modules/bmm/workflows/workflow-status/init/instructions.md b/src/modules/bmm/workflows/workflow-status/init/instructions.md index b925dbbe..51c1b6de 100644 --- a/src/modules/bmm/workflows/workflow-status/init/instructions.md +++ b/src/modules/bmm/workflows/workflow-status/init/instructions.md @@ -1,6 +1,6 @@ # Workflow Init - Project Setup Instructions -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml You MUST have already loaded and processed: workflow-init/workflow.yaml Communicate in {communication_language} with {user_name} This workflow handles BOTH new projects AND legacy projects following the BMad Method diff --git a/src/modules/bmm/workflows/workflow-status/instructions.md b/src/modules/bmm/workflows/workflow-status/instructions.md index 28df92b7..9c5b7723 100644 --- a/src/modules/bmm/workflows/workflow-status/instructions.md +++ b/src/modules/bmm/workflows/workflow-status/instructions.md @@ -1,7 +1,7 @@ # Workflow Status Check - Multi-Mode Service -The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/workflow-status/workflow.yaml +The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml This workflow operates in multiple modes: interactive (default), validate, data, init-check, update Other workflows can call this as a service to avoid duplicating status logic ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever. diff --git a/src/modules/cis/workflows/design-thinking/instructions.md b/src/modules/cis/workflows/design-thinking/instructions.md index 8cc88b60..a1812f6a 100644 --- a/src/modules/cis/workflows/design-thinking/instructions.md +++ b/src/modules/cis/workflows/design-thinking/instructions.md @@ -1,7 +1,7 @@ # Design Thinking Workflow Instructions -The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/design-thinking/workflow.yaml +The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/design-thinking/workflow.yaml Load and understand design methods from: {design_methods} ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever. ⚠️ CHECKPOINT PROTOCOL: After EVERY tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints. diff --git a/src/modules/cis/workflows/innovation-strategy/instructions.md b/src/modules/cis/workflows/innovation-strategy/instructions.md index ef158a85..cf0179a8 100644 --- a/src/modules/cis/workflows/innovation-strategy/instructions.md +++ b/src/modules/cis/workflows/innovation-strategy/instructions.md @@ -1,7 +1,7 @@ # Innovation Strategy Workflow Instructions -The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/innovation-strategy/workflow.yaml +The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml Load and understand innovation frameworks from: {innovation_frameworks} ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever. ⚠️ CHECKPOINT PROTOCOL: After EVERY tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints. diff --git a/src/modules/cis/workflows/problem-solving/instructions.md b/src/modules/cis/workflows/problem-solving/instructions.md index b3c3a7b3..c9ff9343 100644 --- a/src/modules/cis/workflows/problem-solving/instructions.md +++ b/src/modules/cis/workflows/problem-solving/instructions.md @@ -1,7 +1,7 @@ # Problem Solving Workflow Instructions -The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/problem-solving/workflow.yaml +The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/problem-solving/workflow.yaml Load and understand solving methods from: {solving_methods} ⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever. ⚠️ CHECKPOINT PROTOCOL: After EVERY tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints. From 19df17b26121437a3ab3c5c15abe6f59a1ed8255 Mon Sep 17 00:00:00 2001 From: Alex Verkhovsky Date: Tue, 23 Dec 2025 07:01:36 -0800 Subject: [PATCH 16/17] feat: add documentation website with Docusaurus build pipeline (#1177) * feat: add documentation website with Docusaurus build pipeline * feat(docs): add AI discovery meta tags for llms.txt files - Add global headTags with ai-terms, llms, llms-full meta tags - Update landing page link to clarify AI context purpose * fix(docs): restore accidentally deleted faq.md and glossary.md Files were removed in 12dd97fe during path restructuring. * fix(docs): update broken project-readme links to GitHub URL * feat(schema): add compound trigger format validation --- .github/workflows/docs.yaml | 72 + .gitignore | 6 +- CONTRIBUTING.md | 4 +- README.md | 13 +- docs/agent-customization-guide.md | 6 +- docs/custom-content-installation.md | 2 +- docs/document-sharding-guide.md | 4 +- docs/getting-started/installation.md | 76 + docs/ide-info/index.md | 24 + docs/ide-info/rovo-dev.md | 394 +- docs/index.md | 81 +- eslint.config.mjs | 9 +- package-lock.json | 16382 +++++++++++++++- package.json | 11 +- .../sample-custom-modules/README.md | 2 +- .../sample-unitary-module/README.md | 0 .../agents/commit-poet/commit-poet.agent.yaml | 0 .../toolsmith-sidecar/instructions.md | 0 .../toolsmith-sidecar/knowledge/bundlers.md | 0 .../toolsmith-sidecar/knowledge/deploy.md | 0 .../toolsmith-sidecar/knowledge/docs.md | 0 .../toolsmith-sidecar/knowledge/installers.md | 3 +- .../toolsmith-sidecar/knowledge/modules.md | 0 .../toolsmith-sidecar/knowledge/tests.md | 0 .../toolsmith/toolsmith-sidecar/memories.md | 0 .../agents/toolsmith/toolsmith.agent.yaml | 0 .../sample-unitary-module/module.yaml | 0 .../quiz-master/steps/step-01-init.md | 0 .../workflows/quiz-master/steps/step-02-q1.md | 0 .../workflows/quiz-master/steps/step-03-q2.md | 0 .../workflows/quiz-master/steps/step-04-q3.md | 0 .../workflows/quiz-master/steps/step-05-q4.md | 0 .../workflows/quiz-master/steps/step-06-q5.md | 0 .../workflows/quiz-master/steps/step-07-q6.md | 0 .../workflows/quiz-master/steps/step-08-q7.md | 0 .../workflows/quiz-master/steps/step-09-q8.md | 0 .../workflows/quiz-master/steps/step-10-q9.md | 0 .../quiz-master/steps/step-11-q10.md | 0 .../quiz-master/steps/step-12-results.md | 0 .../templates/csv-headers.template | 0 .../workflows/quiz-master/workflow.md | 0 .../workflows/wassup/workflow.md | 0 .../sample-wellness-module/README.md | 0 .../agents/meditation-guide.agent.yaml | 0 .../agents/wellness-companion/foo.md | 0 .../wellness-companion-sidecar/addition1.md | 0 .../wellness-companion-sidecar/insights.md | 0 .../instructions.md | 0 .../wellness-companion-sidecar/memories.md | 0 .../wellness-companion-sidecar/patterns.md | 0 .../wellness-companion.agent.yaml | 0 .../sample-wellness-module/module.yaml | 0 .../workflows/daily-checkin/README.md | 0 .../workflows/daily-checkin/workflow.md | 0 .../workflows/guided-meditation/README.md | 0 .../workflows/guided-meditation/workflow.md | 0 .../workflows/wellness-journal/README.md | 0 .../workflows/wellness-journal/workflow.md | 0 src/core/agents/bmad-master.agent.yaml | 16 +- src/modules/bmb/README.md | 25 + .../bmb/agents/agent-builder.agent.yaml | 36 - .../bmb/agents/bmad-builder.agent.yaml | 94 + .../bmb/agents/module-builder.agent.yaml | 48 - .../bmb/agents/workflow-builder.agent.yaml | 40 - .../bmb/docs/agents/agent-compilation.md | 2 +- .../docs/agents/expert-agent-architecture.md | 2 +- src/modules/bmb/docs/agents/index.md | 20 +- .../docs/agents/simple-agent-architecture.md | 4 +- src/modules/bmb/docs/{README.md => index.md} | 39 +- src/modules/bmb/docs/workflows/index.md | 12 +- .../docs/workflows/templates/step-template.md | 8 +- .../workflows-legacy/edit-module/README.md | 2 +- .../templates/simple-agent.template.md | 2 +- .../bmgd/agents/game-architect.agent.yaml | 29 +- .../bmgd/agents/game-designer.agent.yaml | 54 +- src/modules/bmgd/agents/game-dev.agent.yaml | 38 +- src/modules/bmgd/agents/game-qa.agent.yaml | 46 +- .../bmgd/agents/game-scrum-master.agent.yaml | 46 +- .../bmgd/agents/game-solo-dev.agent.yaml | 42 +- src/modules/bmgd/docs/{README.md => index.md} | 4 +- src/modules/bmm/README.md | 4 +- src/modules/bmm/agents/analyst.agent.yaml | 38 +- src/modules/bmm/agents/architect.agent.yaml | 33 +- src/modules/bmm/agents/dev.agent.yaml | 8 +- src/modules/bmm/agents/pm.agent.yaml | 33 +- .../bmm/agents/quick-flow-solo-dev.agent.yaml | 8 +- src/modules/bmm/agents/sm.agent.yaml | 40 +- src/modules/bmm/agents/tea.agent.yaml | 49 +- src/modules/bmm/agents/tech-writer.agent.yaml | 53 +- src/modules/bmm/agents/ux-designer.agent.yaml | 32 +- src/modules/bmm/docs/brownfield-guide.md | 2 +- .../docs/enterprise-agentic-development.md | 2 +- src/modules/bmm/docs/faq.md | 542 + src/modules/bmm/docs/glossary.md | 306 + src/modules/bmm/docs/{README.md => index.md} | 0 src/modules/bmm/docs/party-mode.md | 2 +- src/modules/bmm/docs/quick-spec-flow.md | 2 +- src/modules/bmm/docs/quick-start.md | 2 +- src/modules/bmm/docs/scale-adaptive-system.md | 2 +- src/modules/bmm/docs/test-architecture.md | 20 +- .../cis/agents/brainstorming-coach.agent.yaml | 17 +- .../agents/creative-problem-solver.agent.yaml | 17 +- .../agents/design-thinking-coach.agent.yaml | 17 +- .../agents/innovation-strategist.agent.yaml | 17 +- .../cis/agents/presentation-master.agent.yaml | 41 +- .../agents/storyteller/storyteller.agent.yaml | 17 +- src/modules/cis/docs/{README.md => index.md} | 8 +- .../agent-components/activation-steps.txt | 6 +- .../menu-triggers/camel-case.agent.yaml | 24 + .../compound-invalid-format.agent.yaml | 24 + .../compound-mismatched-kebab.agent.yaml | 24 + .../compound-wrong-shortcut.agent.yaml | 24 + .../menu-triggers/leading-asterisk.agent.yaml | 24 + .../menu-triggers/snake-case.agent.yaml | 24 + .../trigger-with-spaces.agent.yaml | 24 + .../compound-triggers.agent.yaml | 30 + test/test-installation-components.js | 4 +- tools/build-docs.js | 630 + .../installers/lib/core/config-collector.js | 2 +- tools/cli/installers/lib/core/installer.js | 120 +- tools/cli/installers/lib/custom/handler.js | 4 +- tools/cli/installers/lib/ide/_base-ide.js | 7 +- tools/cli/installers/lib/ide/antigravity.js | 39 +- tools/cli/installers/lib/ide/auggie.js | 27 +- tools/cli/installers/lib/ide/claude-code.js | 35 +- tools/cli/installers/lib/ide/cline.js | 21 +- tools/cli/installers/lib/ide/codex.js | 17 +- tools/cli/installers/lib/ide/crush.js | 15 +- tools/cli/installers/lib/ide/cursor.js | 1 - tools/cli/installers/lib/ide/gemini.js | 1 - .../cli/installers/lib/ide/github-copilot.js | 3 +- tools/cli/installers/lib/ide/iflow.js | 1 - tools/cli/installers/lib/ide/kilo.js | 1 - tools/cli/installers/lib/ide/kiro-cli.js | 1 - tools/cli/installers/lib/ide/opencode.js | 1 - tools/cli/installers/lib/ide/qwen.js | 1 - tools/cli/installers/lib/ide/roo.js | 1 - tools/cli/installers/lib/ide/rovo-dev.js | 1 - tools/cli/installers/lib/ide/trae.js | 1 - tools/cli/installers/lib/ide/windsurf.js | 1 - tools/cli/installers/lib/modules/manager.js | 8 +- .../cli/lib/{agent => }/activation-builder.js | 2 +- tools/cli/lib/{agent => }/agent-analyzer.js | 0 tools/cli/lib/agent-party-generator.js | 2 +- tools/cli/lib/agent/compiler.js | 564 + tools/cli/lib/agent/installer.js | 716 + tools/cli/lib/agent/template-engine.js | 31 - tools/cli/lib/file-ops.js | 62 +- tools/cli/lib/ui.js | 2 +- tools/cli/lib/{agent => }/xml-handler.js | 9 +- tools/cli/lib/{agent => }/yaml-xml-builder.js | 166 +- tools/flattener/xml.js | 2 +- tools/{cli => }/lib/xml-utils.js | 0 tools/platform-codes.yaml | 18 +- tools/schema/agent.js | 96 +- website/css/custom.css | 52 + website/docusaurus.config.js | 179 + website/sidebars.js | 157 + website/src/pages/downloads.md | 81 + website/src/pages/index.js | 50 + website/static/favicon.ico | Bin 0 -> 4286 bytes website/static/img/logo.svg | 4 + website/static/robots.txt | 37 + 163 files changed, 20878 insertions(+), 1509 deletions(-) create mode 100644 .github/workflows/docs.yaml create mode 100644 docs/getting-started/installation.md create mode 100644 docs/ide-info/index.md rename {docs => samples}/sample-custom-modules/README.md (78%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/README.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/instructions.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md (97%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/memories.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/module.yaml (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/templates/csv-headers.template (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md (100%) rename {docs => samples}/sample-custom-modules/sample-unitary-module/workflows/wassup/workflow.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/README.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/wellness-companion/foo.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/addition1.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/insights.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/instructions.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/memories.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/patterns.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion.agent.yaml (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/module.yaml (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/README.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/workflow.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/README.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/workflow.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/README.md (100%) rename {docs => samples}/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/workflow.md (100%) create mode 100644 src/modules/bmb/README.md delete mode 100644 src/modules/bmb/agents/agent-builder.agent.yaml create mode 100644 src/modules/bmb/agents/bmad-builder.agent.yaml delete mode 100644 src/modules/bmb/agents/module-builder.agent.yaml delete mode 100644 src/modules/bmb/agents/workflow-builder.agent.yaml rename src/modules/bmb/docs/{README.md => index.md} (77%) rename src/modules/bmgd/docs/{README.md => index.md} (97%) create mode 100644 src/modules/bmm/docs/faq.md create mode 100644 src/modules/bmm/docs/glossary.md rename src/modules/bmm/docs/{README.md => index.md} (100%) rename src/modules/cis/docs/{README.md => index.md} (91%) create mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml create mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml create mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml create mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/compound-wrong-shortcut.agent.yaml create mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml create mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml create mode 100644 test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml create mode 100644 test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml create mode 100644 tools/build-docs.js rename tools/cli/lib/{agent => }/activation-builder.js (99%) rename tools/cli/lib/{agent => }/agent-analyzer.js (100%) create mode 100644 tools/cli/lib/agent/compiler.js create mode 100644 tools/cli/lib/agent/installer.js rename tools/cli/lib/{agent => }/xml-handler.js (95%) rename tools/cli/lib/{agent => }/yaml-xml-builder.js (77%) rename tools/{cli => }/lib/xml-utils.js (100%) create mode 100644 website/css/custom.css create mode 100644 website/docusaurus.config.js create mode 100644 website/sidebars.js create mode 100644 website/src/pages/downloads.md create mode 100644 website/src/pages/index.js create mode 100644 website/static/favicon.ico create mode 100644 website/static/img/logo.svg create mode 100644 website/static/robots.txt diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 00000000..741fc9ca --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,72 @@ +name: Deploy Documentation + +on: + push: + branches: + - main + paths: + - "docs/**" + - "src/modules/*/docs/**" + - "website/**" + - "tools/build-docs.js" + - ".github/workflows/docs.yaml" + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Determine site URL + id: site-url + run: | + if [ "${{ github.repository }}" = "bmad-code-org/BMAD-METHOD" ]; then + echo "url=https://bmad-code-org.github.io/BMAD-METHOD" >> $GITHUB_OUTPUT + else + OWNER="${{ github.repository_owner }}" + REPO="${{ github.event.repository.name }}" + echo "url=https://${OWNER}.github.io/${REPO}" >> $GITHUB_OUTPUT + fi + + - name: Build documentation + env: + SITE_URL: ${{ steps.site-url.outputs.url }} + run: npm run docs:build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: build/site + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 3c8f80c7..de55079f 100644 --- a/.gitignore +++ b/.gitignore @@ -74,4 +74,8 @@ _bmad .kiro/ .roo -bmad-custom-src/ \ No newline at end of file +bmad-custom-src/ + +# Docusaurus / Documentation Build +.docusaurus/ +build/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6ccf68c6..d7c48cb4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -236,10 +236,8 @@ Each commit should represent one logical change: 3. **Don't paste code in issues** - create a proper PR instead 4. **Don't submit your whole project** - contribute specific improvements -## Code Style +## Prompt & Agent Guidelines -- Follow the existing code style and conventions -- Write clear comments for complex logic - Keep dev agents lean - they need context for coding, not documentation - Web/planning agents can be larger with more complex tasks - Everything is natural language (markdown) - no code in core framework diff --git a/README.md b/README.md index 650de273..08a07462 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ The completely revamped **BMAD V6 installer** now includes built-in support for - [**Custom Content Overview**](./docs/custom-content.md) - Discover all supported content types - [**Installation Guide**](./docs/custom-content-installation.md) - Learn to create and install custom content -- [**Detail Content Docs**](./src/modules/bmb/docs/README.md) - Reference details for agents, modules, workflows and the bmad builder -- [**2 Very simple Custom Modules of questionable quality**](./docs/sample-custom-modules/README.md) - if you want to download and try to install a custom shared module, get an idea of how to bundle and share your own, or create your own personal agents, workflows and modules. +- [**Detail Content Docs**](./src/modules/bmb/docs/index.md) - Reference details for agents, modules, workflows and the bmad builder +- [**2 Very simple Custom Modules of questionable quality**](./samples/sample-custom-modules/README.md) - if you want to download and try to install a custom shared module, get an idea of how to bundle and share your own, or create your own personal agents, workflows and modules. @@ -142,18 +142,17 @@ Each agent brings deep expertise and can be customized to match your team's styl - 12 specialized agents - 34 workflows across 4 phases - Scale-adaptive planning - - [→ Documentation Hub](./src/modules/bmm/docs/README.md) + - [→ Documentation Hub](./src/modules/bmm/docs/index.md) - **BMad Builder (BMB)** - Create custom agents and workflows - Build anything from simple agents to complex modules - Create domain-specific solutions (legal, medical, finance, education) - - [→ Builder Guide](src/modules/bmb/docs/README.md) marketplace - - [→ Builder Guide](./src/modules/bmb/README.md) + - [→ Builder Guide](./src/modules/bmb/docs/index.md) - **Creative Intelligence Suite (CIS)** - Innovation & problem-solving - Brainstorming, design thinking, storytelling - 5 creative facilitation workflows - - [→ Creative Workflows](src/modules/cis/docs/README.md) + - [→ Creative Workflows](./src/modules/cis/docs/index.md) ### Key Features @@ -168,7 +167,7 @@ Each agent brings deep expertise and can be customized to match your team's styl ### Quick Links - **[Quick Start Guide](./src/modules/bmm/docs/quick-start.md)** - 15-minute introduction -- **[Complete BMM Documentation](./src/modules/bmm/docs/README.md)** - All guides and references +- **[Complete BMM Documentation](./src/modules/bmm/docs/index.md)** - All guides and references - **[Agent Customization](./docs/agent-customization-guide.md)** - Personalize your agents - **[All Documentation](./docs/index.md)** - Complete documentation index diff --git a/docs/agent-customization-guide.md b/docs/agent-customization-guide.md index 19656d8d..724f5d26 100644 --- a/docs/agent-customization-guide.md +++ b/docs/agent-customization-guide.md @@ -203,6 +203,6 @@ memories: ## Next Steps -- **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about the BMad Method agents -- **[BMB Create Agent Workflow](../src/modules/bmb/workflows/create-agent/README.md)** - Build completely custom agents -- **[BMM Complete Documentation](../src/modules/bmm/docs/README.md)** - Full BMad Method reference +- **[BMM Agents Guide](./modules/bmm/agents-guide)** - Learn about the BMad Method agents +- **[BMB Create Agent Workflow](./modules/bmb/agents/index)** - Build completely custom agents +- **[BMM Complete Documentation](./modules/bmm/index)** - Full BMad Method reference diff --git a/docs/custom-content-installation.md b/docs/custom-content-installation.md index 5dd6d369..6658233e 100644 --- a/docs/custom-content-installation.md +++ b/docs/custom-content-installation.md @@ -4,7 +4,7 @@ This guide explains how to create and install custom BMAD content including agen For detailed information about the different types of custom content available, see [Custom Content](./custom-content.md). -If you download either of the folders within the [Sample Custom Modules](./sample-custom-modules/readme.md) folder +You can find example custom modules in the `samples/sample-custom-modules/` folder of the repository. Download either of the sample folders to try them out. ## Content Types Overview diff --git a/docs/document-sharding-guide.md b/docs/document-sharding-guide.md index 7f3048e3..a0399375 100644 --- a/docs/document-sharding-guide.md +++ b/docs/document-sharding-guide.md @@ -441,8 +441,8 @@ input_file_patterns: ## Related Documentation - [shard-doc Tool](../src/core/tools/shard-doc.xml) - Tool implementation -- [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Workflow overview -- [Workflow Creation Guide](../src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md) - Custom workflow patterns +- [BMM Workflows Guide](./modules/bmm/index.md#-workflow-guides) - Workflow overview +- [Workflow Creation Guide](./modules/bmb/workflows/index) - Custom workflow patterns --- diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md new file mode 100644 index 00000000..f481ab96 --- /dev/null +++ b/docs/getting-started/installation.md @@ -0,0 +1,76 @@ +# Installation + +Get BMAD Method running in your project in under 2 minutes. + +## Quick Install + +```bash +npx bmad-method@alpha install +``` + +This interactive installer will: + +1. Detect your IDE (Claude Code, Cursor, VS Code, etc.) +2. Let you choose which modules to install +3. Configure agents and workflows for your project + +## Requirements + +- **Node.js** 18+ (for the installer) +- **Git** (recommended for version control) +- An **AI-powered IDE** or access to Claude/ChatGPT/Gemini + +## Module Options + +During installation, you'll choose which modules to install: + +| Module | Description | Best For | +| -------- | ---------------- | ---------------------------------------- | +| **BMM** | BMAD Method Core | Software development projects | +| **BMGD** | Game Development | Game projects with specialized workflows | +| **BMB** | Builder | Creating custom agents and workflows | + +## Post-Installation + +After installation, your project will have: + +``` +your-project/ +├── _bmad/ # BMAD configuration and agents +│ ├── bmm/ # Method module (if installed) +│ ├── bmgd/ # Game dev module (if installed) +│ └── config.yaml # Your project configuration +├── .claude/ # IDE-specific setup (varies by IDE) +└── ... your code +``` + +## Next Steps + +1. **Read the [Quick Start Guide](../modules/bmm/quick-start.md)** to build your first feature +2. **Check your [IDE Guide](../ide-info/index.md)** for IDE-specific tips +3. **Explore [Workflows](../modules/bmm/workflows-planning.md)** to understand the methodology + +## Alternative: Web Bundles + +Don't want to install? Use BMAD agents directly in: + +- **Claude Projects** - Upload the web bundle +- **ChatGPT** - Use custom GPT bundles +- **Gemini** - Import agent prompts + +See the [Web Bundles Guide](../web-bundles-gemini-gpt-guide.md) for details. + +## Troubleshooting + +### Common Issues + +**"Command not found: npx"** +: Install Node.js 18+ from [nodejs.org](https://nodejs.org) + +**"Permission denied"** +: Run with appropriate permissions or check your npm configuration + +**IDE not detected** +: The installer will prompt you to select your IDE manually + +For more help, see [Troubleshooting](../modules/bmm/troubleshooting.md) or join our [Discord](https://discord.gg/bmad). diff --git a/docs/ide-info/index.md b/docs/ide-info/index.md new file mode 100644 index 00000000..1ddee660 --- /dev/null +++ b/docs/ide-info/index.md @@ -0,0 +1,24 @@ +# IDE Guides + +BMAD Method works with any AI-powered development environment. Choose your IDE below for specific setup instructions and tips. + +## All Supported IDEs + +| IDE | Type | BMAD Support | +| ----------------------------------- | ----------------- | --------------------- | +| [Claude Code](claude-code.md) | CLI/Terminal | Native slash commands | +| [Cursor](cursor.md) | Desktop Editor | Full agent support | +| [VS Code / Windsurf](windsurf.md) | Desktop Editor | Extension-based | +| [Cline](cline.md) | VS Code Extension | Full support | +| [GitHub Copilot](github-copilot.md) | Extension | Workspace agents | +| [Augment](auggie.md) | Extension | Agent loading | +| [Codex](codex.md) | CLI | Prompt injection | +| [Gemini](gemini.md) | Web/API | Web bundles | +| [Roo](roo.md) | VS Code Extension | Mode support | +| [Kilo](kilo.md) | Extension | Basic support | +| [OpenCode](opencode.md) | Open Source | Full support | +| [Qwen](qwen.md) | Web/API | Web bundles | +| [Trae](trae.md) | Extension | Basic support | +| [Crush](crush.md) | Desktop | Agent support | +| [iFlow](iflow.md) | Extension | Prompt loading | +| [Rovo Dev](rovo-dev.md) | Atlassian | Integration | diff --git a/docs/ide-info/rovo-dev.md b/docs/ide-info/rovo-dev.md index e4d2eb62..9da1e27e 100644 --- a/docs/ide-info/rovo-dev.md +++ b/docs/ide-info/rovo-dev.md @@ -1,388 +1,22 @@ -# Rovo Dev IDE Integration +# BMAD Method - Rovo Dev Instructions -This document describes how BMAD-METHOD integrates with [Atlassian Rovo Dev](https://www.atlassian.com/rovo-dev), an AI-powered software development assistant. +## Activating Agents -## Overview +BMAD agents are installed as subagents in `.rovodev/subagents/`. -Rovo Dev is designed to integrate deeply with developer workflows and organizational knowledge bases. When you install BMAD-METHOD in a Rovo Dev project, it automatically installs BMAD agents, workflows, tasks, and tools just like it does for other IDEs (Cursor, VS Code, etc.). +### How to Use -BMAD-METHOD provides: +1. **Open Project**: Subagents auto-load when project opens +2. **Invoke Agent**: Type `@` and select agent (e.g., `@bmad-bmm-dev`, `@bmad-bmm-architect`) +3. **Reference Files**: Check `.rovodev/workflows/` and `.rovodev/references/` -- **Agents**: Specialized subagents for various development tasks -- **Workflows**: Multi-step workflow guides and coordinators -- **Tasks & Tools**: Reference documentation for BMAD tasks and tools +### Directory Structure -### What are Rovo Dev Subagents? +- `.rovodev/subagents/` - BMAD agents +- `.rovodev/workflows/` - Workflow guides +- `.rovodev/references/` - Tasks and tools -Subagents are specialized agents that Rovo Dev can delegate tasks to. They are defined as Markdown files with YAML frontmatter stored in the `.rovodev/subagents/` directory. Rovo Dev automatically discovers these files and makes them available through the `@subagent-name` syntax. +### Notes -## Installation and Setup - -### Automatic Installation - -When you run the BMAD-METHOD installer and select Rovo Dev as your IDE: - -```bash -bmad install -``` - -The installer will: - -1. Create a `.rovodev/subagents/` directory in your project (if it doesn't exist) -2. Convert BMAD agents into Rovo Dev subagent format -3. Write subagent files with the naming pattern: `bmad--.md` - -### File Structure - -After installation, your project will have: - -``` -project-root/ -├── .rovodev/ -│ ├── subagents/ -│ │ ├── bmad-core-code-reviewer.md -│ │ ├── bmad-bmm-pm.md -│ │ ├── bmad-bmm-dev.md -│ │ └── ... (more agents from selected modules) -│ ├── workflows/ -│ │ ├── bmad-brainstorming.md -│ │ ├── bmad-prd-creation.md -│ │ └── ... (workflow guides) -│ ├── references/ -│ │ ├── bmad-task-core-code-review.md -│ │ ├── bmad-tool-core-analysis.md -│ │ └── ... (task/tool references) -│ ├── config.yml (Rovo Dev configuration) -│ ├── prompts.yml (Optional: reusable prompts) -│ └── ... -├── _bmad/ (BMAD installation directory) -└── ... -``` - -**Directory Structure Explanation:** - -- **subagents/**: Agents discovered and used by Rovo Dev with `@agent-name` syntax -- **workflows/**: Multi-step workflow guides and instructions -- **references/**: Documentation for available tasks and tools in BMAD - -## Subagent File Format - -BMAD agents are converted to Rovo Dev subagent format, which uses Markdown with YAML frontmatter: - -### Basic Structure - -```markdown ---- -name: bmad-module-agent-name -description: One sentence description of what this agent does -tools: - - bash - - open_files - - grep - - expand_code_chunks -model: anthropic.claude-3-5-sonnet-20241022-v2:0 # Optional -load_memory: true # Optional ---- - -You are a specialized agent for [specific task]. - -## Your Role - -Describe the agent's role and responsibilities... - -## Key Instructions - -1. First instruction -2. Second instruction -3. Third instruction - -## When to Use This Agent - -Explain when and how to use this agent... -``` - -### YAML Frontmatter Fields - -| Field | Type | Required | Description | -| ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | -| `name` | string | Yes | Unique identifier for the subagent (kebab-case, no spaces) | -| `description` | string | Yes | One-line description of the subagent's purpose | -| `tools` | array | No | List of tools the subagent can use. If not specified, uses parent agent's tools | -| `model` | string | No | Specific LLM model for this subagent (e.g., `anthropic.claude-3-5-sonnet-20241022-v2:0`). If not specified, uses parent agent's model | -| `load_memory` | boolean | No | Whether to load default memory files (AGENTS.md, AGENTS.local.md). Defaults to `true` | - -### System Prompt - -The content after the closing `---` is the subagent's system prompt. This defines: - -- The agent's persona and role -- Its capabilities and constraints -- Step-by-step instructions for task execution -- Examples of expected behavior - -## Using BMAD Components in Rovo Dev - -### Invoking a Subagent (Agent) - -In Rovo Dev, you can invoke a BMAD agent as a subagent using the `@` syntax: - -``` -@bmad-core-code-reviewer Please review this PR for potential issues -@bmad-bmm-pm Help plan this feature release -@bmad-bmm-dev Implement this feature -``` - -### Accessing Workflows - -Workflow guides are available in `.rovodev/workflows/` directory: - -``` -@bmad-core-code-reviewer Use the brainstorming workflow from .rovodev/workflows/bmad-brainstorming.md -``` - -Workflow files contain step-by-step instructions and can be referenced or copied into Rovo Dev for collaborative workflow execution. - -### Accessing Tasks and Tools - -Task and tool documentation is available in `.rovodev/references/` directory. These provide: - -- Task execution instructions -- Tool capabilities and usage -- Integration examples -- Parameter documentation - -### Example Usage Scenarios - -#### Code Review - -``` -@bmad-core-code-reviewer Review the changes in src/components/Button.tsx -for best practices, performance, and potential bugs -``` - -#### Documentation - -``` -@bmad-core-documentation-writer Generate API documentation for the new -user authentication module -``` - -#### Feature Design - -``` -@bmad-module-feature-designer Design a solution for implementing -dark mode support across the application -``` - -## Customizing BMAD Subagents - -You can customize BMAD subagents after installation by editing their files directly in `.rovodev/subagents/`. - -### Example: Adding Tool Restrictions - -By default, BMAD subagents inherit tools from the parent Rovo Dev agent. You can restrict which tools a specific subagent can use: - -```yaml ---- -name: bmad-core-code-reviewer -description: Reviews code and suggests improvements -tools: - - open_files - - expand_code_chunks - - grep ---- -``` - -### Example: Using a Specific Model - -Some agents might benefit from using a different model. You can specify this: - -```yaml ---- -name: bmad-core-documentation-writer -description: Writes clear and comprehensive documentation -model: anthropic.claude-3-5-sonnet-20241022-v2:0 ---- -``` - -### Example: Enhancing the System Prompt - -You can add additional context to a subagent's system prompt: - -```markdown ---- -name: bmad-core-code-reviewer -description: Reviews code and suggests improvements ---- - -You are a specialized code review agent for our project. - -## Project Context - -Our codebase uses: - -- React 18 for frontend -- Node.js 18+ for backend -- TypeScript for type safety -- Jest for testing - -## Review Checklist - -1. Type safety and TypeScript correctness -2. React best practices and hooks usage -3. Performance considerations -4. Test coverage -5. Documentation and comments - -...rest of original system prompt... -``` - -## Memory and Context - -By default, BMAD subagents have `load_memory: true`, which means they will load memory files from your project: - -- **Project-level**: `.rovodev/AGENTS.md` and `.rovodev/.agent.md` -- **User-level**: `~/.rovodev/AGENTS.md` (global memory across all projects) - -These files can contain: - -- Project guidelines and conventions -- Common patterns and best practices -- Recent decisions and context -- Custom instructions for all agents - -### Creating Project Memory - -Create `.rovodev/AGENTS.md` in your project: - -```markdown -# Project Guidelines - -## Code Style - -- Use 2-space indentation -- Use camelCase for variables -- Use PascalCase for classes - -## Architecture - -- Follow modular component structure -- Use dependency injection for services -- Implement proper error handling - -## Testing Requirements - -- Minimum 80% code coverage -- Write tests before implementation -- Use descriptive test names -``` - -## Troubleshooting - -### Subagents Not Appearing in Rovo Dev - -1. **Verify files exist**: Check that `.rovodev/subagents/bmad-*.md` files are present -2. **Check Rovo Dev is reloaded**: Rovo Dev may cache agent definitions. Restart Rovo Dev or reload the project -3. **Verify file format**: Ensure files have proper YAML frontmatter (between `---` markers) -4. **Check file permissions**: Ensure files are readable by Rovo Dev - -### Agent Name Conflicts - -If you have custom subagents with the same names as BMAD agents, Rovo Dev will load both but may show a warning. Use unique prefixes for custom subagents to avoid conflicts. - -### Tools Not Available - -If a subagent's tools aren't working: - -1. Verify the tool names match Rovo Dev's available tools -2. Check that the parent Rovo Dev agent has access to those tools -3. Ensure tool permissions are properly configured in `.rovodev/config.yml` - -## Advanced: Tool Configuration - -Rovo Dev agents have access to a set of tools for various tasks. Common tools available include: - -- `bash`: Execute shell commands -- `open_files`: View file contents -- `grep`: Search across files -- `expand_code_chunks`: View specific code sections -- `find_and_replace_code`: Modify files -- `create_file`: Create new files -- `delete_file`: Delete files -- `move_file`: Rename or move files - -### MCP Servers - -Rovo Dev can also connect to Model Context Protocol (MCP) servers, which provide additional tools and data sources: - -- **Atlassian Integration**: Access to Jira, Confluence, and Bitbucket -- **Code Analysis**: Custom code analysis and metrics -- **External Services**: APIs and third-party integrations - -Configure MCP servers in `~/.rovodev/mcp.json` or `.rovodev/mcp.json`. - -## Integration with Other IDE Handlers - -BMAD-METHOD supports multiple IDEs simultaneously. You can have both Rovo Dev and other IDE configurations (Cursor, VS Code, etc.) in the same project. Each IDE will have its own artifacts installed in separate directories. - -For example: - -- Rovo Dev agents: `.rovodev/subagents/bmad-*.md` -- Cursor rules: `.cursor/rules/bmad/` -- Claude Code: `.claude/rules/bmad/` - -## Performance Considerations - -- BMAD subagent files are typically small (1-5 KB each) -- Rovo Dev lazy-loads subagents, so having many subagents doesn't impact startup time -- System prompts are cached by Rovo Dev after first load - -## Best Practices - -1. **Keep System Prompts Concise**: Shorter, well-structured prompts are more effective -2. **Use Project Memory**: Leverage `.rovodev/AGENTS.md` for shared context -3. **Customize Tool Restrictions**: Give subagents only the tools they need -4. **Test Subagent Invocations**: Verify each subagent works as expected for your project -5. **Version Control**: Commit `.rovodev/subagents/` to version control for team consistency -6. **Document Custom Subagents**: Add comments explaining the purpose of customized subagents - -## Related Documentation - -- [Rovo Dev Official Documentation](https://www.atlassian.com/rovo-dev) -- [BMAD-METHOD Installation Guide](./installation.md) -- [IDE Handler Architecture](./ide-handlers.md) -- [Rovo Dev Configuration Reference](https://www.atlassian.com/rovo-dev/configuration) - -## Examples - -### Example 1: Code Review Workflow - -``` -User: @bmad-core-code-reviewer Review src/auth/login.ts for security issues -Rovo Dev → Subagent: Opens file, analyzes code, suggests improvements -Subagent output: Security vulnerabilities found, recommendations provided -``` - -### Example 2: Documentation Generation - -``` -User: @bmad-core-documentation-writer Generate API docs for the new payment module -Rovo Dev → Subagent: Analyzes code structure, generates documentation -Subagent output: Markdown documentation with examples and API reference -``` - -### Example 3: Architecture Design - -``` -User: @bmad-module-feature-designer Design a caching strategy for the database layer -Rovo Dev → Subagent: Reviews current architecture, proposes design -Subagent output: Detailed architecture proposal with implementation plan -``` - -## Support - -For issues or questions about: - -- **Rovo Dev**: See [Atlassian Rovo Dev Documentation](https://www.atlassian.com/rovo-dev) -- **BMAD-METHOD**: See [BMAD-METHOD README](../README.md) -- **IDE Integration**: See [IDE Handler Guide](./ide-handlers.md) +- Agents are automatically discovered by Rovo Dev +- Subagents use YAML frontmatter for configuration diff --git a/docs/index.md b/docs/index.md index d2f5bf0a..3bd13681 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,11 +8,11 @@ Complete map of all BMad Method v6 documentation with recommended reading paths. **New users:** Start with one of these based on your situation: -| Your Situation | Start Here | Then Read | -| ---------------------- | --------------------------------------------------------------- | ------------------------------------------------------------- | -| **Brand new to BMad** | [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) | [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) | -| **Upgrading from v4** | [v4 to v6 Upgrade Guide](./v4-to-v6-upgrade.md) | [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) | -| **Brownfield project** | [Brownfield Guide](../src/modules/bmm/docs/brownfield-guide.md) | [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) | +| Your Situation | Start Here | Then Read | +| ---------------------- | -------------------------------------------------- | ----------------------------------------------------------- | +| **Brand new to BMad** | [Quick Start Guide](./modules/bmm/quick-start) | [BMM Workflows Guide](./modules/bmm/index#-workflow-guides) | +| **Upgrading from v4** | [v4 to v6 Upgrade Guide](./v4-to-v6-upgrade.md) | [Quick Start Guide](./modules/bmm/quick-start) | +| **Brownfield project** | [Brownfield Guide](./modules/bmm/brownfield-guide) | [Quick Start Guide](./modules/bmm/quick-start) | --- @@ -20,16 +20,14 @@ Complete map of all BMad Method v6 documentation with recommended reading paths. ### Project-Level Docs (Root) -- **[README.md](../README.md)** - Main project overview, feature summary, and module introductions -- **[CONTRIBUTING.md](../CONTRIBUTING.md)** - How to contribute, pull request guidelines, code style -- **[CHANGELOG.md](../CHANGELOG.md)** - Version history and breaking changes -- **[CLAUDE.md](../CLAUDE.md)** - Claude Code specific guidelines for this project +- **[README.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/README.md)** - Main project overview, feature summary, and module introductions +- **[CONTRIBUTING.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CONTRIBUTING.md)** - How to contribute, pull request guidelines, code style +- **[CHANGELOG.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md)** - Version history and breaking changes ### Installation & Setup - **[v4 to v6 Upgrade Guide](./v4-to-v6-upgrade.md)** - Migration path for v4 users - **[Document Sharding Guide](./document-sharding-guide.md)** - Split large documents for 90%+ token savings -- **[Web Bundles](./USING_WEB_BUNDLES.md)** - Use BMAD agents in Claude Projects, ChatGPT, or Gemini without installation - **[Bundle Distribution Setup](./BUNDLE_DISTRIBUTION_SETUP.md)** - Maintainer guide for bundle auto-publishing --- @@ -40,27 +38,27 @@ Complete map of all BMad Method v6 documentation with recommended reading paths. The flagship module for agile AI-driven development. -- **[BMM Module README](../src/modules/bmm/README.md)** - Module overview, agents, and complete documentation index -- **[BMM Documentation](../src/modules/bmm/docs/)** - All BMM-specific guides and references: - - [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Step-by-step guide to building your first project - - [Quick Spec Flow](../src/modules/bmm/docs/quick-spec-flow.md) - Rapid Level 0-1 development - - [Scale Adaptive System](../src/modules/bmm/docs/scale-adaptive-system.md) - Understanding the 5-level system - - [Brownfield Guide](../src/modules/bmm/docs/brownfield-guide.md) - Working with existing codebases -- **[BMM Workflows Guide](../src/modules/bmm/workflows/README.md)** - **ESSENTIAL READING** -- **[Test Architect Guide](../src/modules/bmm/testarch/README.md)** - Testing strategy and quality assurance +- **[BMM Module README](./modules/bmm/)** - Module overview, agents, and complete documentation index +- **[BMM Documentation](./modules/bmm/)** - All BMM-specific guides and references: + - [Quick Start Guide](./modules/bmm/quick-start) - Step-by-step guide to building your first project + - [Quick Spec Flow](./modules/bmm/quick-spec-flow) - Rapid Level 0-1 development + - [Scale Adaptive System](./modules/bmm/scale-adaptive-system) - Understanding the 5-level system + - [Brownfield Guide](./modules/bmm/brownfield-guide) - Working with existing codebases +- **[BMM Workflows Guide](./modules/bmm/index#-workflow-guides)** - **ESSENTIAL READING** +- **[Test Architect Guide](./modules/bmm/test-architecture)** - Testing strategy and quality assurance ### BMad Builder (BMB) - Create Custom Solutions Build your own agents, workflows, and modules. -- **[BMB Module README](../src/modules/bmb/docs/README.md)** - Module overview and capabilities -- **[Agent Creation Guide](../src/modules/bmb/workflows/create-agent/README.md)** - Design custom agents +- **[BMB Module Overview](./modules/bmb/index)** - Module overview and capabilities +- **[Agent Creation Guide](./modules/bmb/agents/index)** - Design custom agents ### Creative Intelligence Suite (CIS) - Innovation & Creativity AI-powered creative thinking and brainstorming. -- **[CIS Module README](../src/modules/cis/docs/README.md)** - Module overview and workflows +- **[CIS Module README](./modules/cis/)** - Module overview and workflows --- @@ -101,52 +99,45 @@ Instructions for loading agents and running workflows in your development enviro - **[Custom Content Installation](./custom-content-installation.md)** - Install and personalize agents, workflows and modules with the default bmad-method installer! - [Agent Customization Guide](./agent-customization-guide.md) - Customize agent behavior and responses -### Installation & Bundling - -- [IDE Injections Reference](./installers-bundlers/ide-injections.md) - How agents are installed to IDEs -- [Installers & Platforms Reference](./installers-bundlers/installers-modules-platforms-reference.md) - CLI tool and platform support -- [Web Bundler Usage](./installers-bundlers/web-bundler-usage.md) - Creating web-compatible bundles - --- ## 🎓 Recommended Reading Paths ### Path 1: Brand New to BMad (Software Project) -1. [README.md](../README.md) - Understand the vision -2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Get hands-on -3. [BMM Module README](../src/modules/bmm/README.md) - Understand agents -4. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Master the methodology +1. [README.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/README.md) - Understand the vision +2. [Quick Start Guide](./modules/bmm/quick-start) - Get hands-on +3. [BMM Module README](./modules/bmm/) - Understand agents +4. [BMM Workflows Guide](./modules/bmm/index#-workflow-guides) - Master the methodology 5. [Your IDE guide](./ide-info/) - Optimize your workflow ### Path 2: Game Development Project -1. [README.md](../README.md) - Understand the vision -2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Get hands-on -3. [BMM Module README](../src/modules/bmm/README.md) - Game agents are included -4. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Game workflows +1. [README.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/README.md) - Understand the vision +2. [Quick Start Guide](./modules/bmm/quick-start) - Get hands-on +3. [BMM Module README](./modules/bmm/) - Game agents are included +4. [BMGD Workflows Guide](./modules/bmgd/workflows-guide) - Game-specific workflows 5. [Your IDE guide](./ide-info/) - Optimize your workflow ### Path 3: Upgrading from v4 1. [v4 to v6 Upgrade Guide](./v4-to-v6-upgrade.md) - Understand what changed -2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Reorient yourself -3. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Learn new v6 workflows +2. [Quick Start Guide](./modules/bmm/quick-start) - Reorient yourself +3. [BMM Workflows Guide](./modules/bmm/index#-workflow-guides) - Learn new v6 workflows ### Path 4: Working with Existing Codebase (Brownfield) -1. [Brownfield Guide](../src/modules/bmm/docs/brownfield-guide.md) - Approach for legacy code -2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Follow the process -3. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Master the methodology +1. [Brownfield Guide](./modules/bmm/brownfield-guide) - Approach for legacy code +2. [Quick Start Guide](./modules/bmm/quick-start) - Follow the process +3. [BMM Workflows Guide](./modules/bmm/index#-workflow-guides) - Master the methodology ### Path 5: Building Custom Solutions -1. [BMB Module README](../src/modules/bmb/docs/README.md) - Understand capabilities -2. [Agent Creation Guide](../src/modules/bmb/workflows/create-agent/README.md) - Create agents -3. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Understand workflow structure +1. [BMB Module Overview](./modules/bmb/index) - Understand capabilities +2. [Agent Creation Guide](./modules/bmb/agents/index) - Create agents +3. [BMB Workflows Guide](./modules/bmb/workflows/) - Understand workflow structure ### Path 6: Contributing to BMad -1. [CONTRIBUTING.md](../CONTRIBUTING.md) - Contribution guidelines +1. [CONTRIBUTING.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CONTRIBUTING.md) - Contribution guidelines 2. Relevant module README - Understand the area you're contributing to -3. [Code Style section in CONTRIBUTING.md](../CONTRIBUTING.md#code-style) - Follow standards diff --git a/eslint.config.mjs b/eslint.config.mjs index a62fa2a6..0fbaa510 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -18,6 +18,10 @@ export default [ 'test/fixtures/**/*.yaml', '_bmad/**', '_bmad*/**', + // Docusaurus build artifacts + '.docusaurus/**', + 'build/**', + 'website/**', // Gitignored patterns 'z*/**', // z-samples, z1, z2, etc. '.claude/**', @@ -77,9 +81,9 @@ export default [ }, }, - // CLI/CommonJS scripts under tools/** and test/** + // CLI scripts under tools/** and test/** { - files: ['tools/**/*.js', 'test/**/*.js'], + files: ['tools/**/*.js', 'tools/**/*.mjs', 'test/**/*.js'], rules: { // Allow CommonJS patterns for Node CLI scripts 'unicorn/prefer-module': 'off', @@ -106,6 +110,7 @@ export default [ 'no-useless-catch': 'off', 'unicorn/prefer-number-properties': 'off', 'no-unreachable': 'off', + 'unicorn/text-encoding-identifier-case': 'off', }, }, diff --git a/package-lock.json b/package-lock.json index 3cc663db..3e6d086e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "fs-extra": "^11.3.0", "glob": "^11.0.3", "ignore": "^7.0.5", - "inquirer": "^9.3.8", + "inquirer": "^8.2.6", "js-yaml": "^4.1.0", "ora": "^5.4.1", "semver": "^7.6.3", @@ -32,7 +32,10 @@ "bmad-method": "tools/bmad-npx-wrapper.js" }, "devDependencies": { + "@docusaurus/core": "^3.6.0", + "@docusaurus/preset-classic": "^3.6.0", "@eslint/js": "^9.33.0", + "archiver": "^7.0.1", "c8": "^10.1.3", "eslint": "^9.33.0", "eslint-config-prettier": "^10.1.8", @@ -45,6 +48,9 @@ "markdownlint-cli2": "^0.19.1", "prettier": "^3.5.3", "prettier-plugin-packagejson": "^2.5.19", + "prism-react-renderer": "^2.4.1", + "react": "^18.3.1", + "react-dom": "^18.3.1", "yaml-eslint-parser": "^1.2.3", "yaml-lint": "^1.7.0", "zod": "^4.1.12" @@ -53,6 +59,332 @@ "node": ">=20.0.0" } }, + "node_modules/@ai-sdk/gateway": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.22.tgz", + "integrity": "sha512-6fHjDfCbjfj4vyMExuLei7ir2///E5sNwNZaobdJsJIxJjDSsjzSLGO/aUI7p9eOnB8XctDrDSF5ilwDGpi6eg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@ai-sdk/provider-utils": "3.0.19", + "@vercel/oidc": "3.0.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@ai-sdk/provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz", + "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/provider-utils": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.19.tgz", + "integrity": "sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider": "2.0.0", + "@standard-schema/spec": "^1.0.0", + "eventsource-parser": "^3.0.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, + "node_modules/@ai-sdk/react": { + "version": "2.0.117", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-2.0.117.tgz", + "integrity": "sha512-qfwz4p1ev+i/M9rsOUEe53UgzxMUz7e4wrImWdkuFrpD78MBIj53eE/LtyCeAYSCFVSz3JfIDvtdk5MjTrNcbA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/provider-utils": "3.0.19", + "ai": "5.0.115", + "swr": "^2.2.5", + "throttleit": "2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18 || ~19.0.1 || ~19.1.2 || ^19.2.1", + "zod": "^3.25.76 || ^4.1.8" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.1.tgz", + "integrity": "sha512-Y+7e2uPe376OH5O73OB1+vR40ZhbV2kzGh/AR/dPCWguoBOp1IK0o+uZQLX+7i32RMMBEKl3pj6KVEav100Kvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz", + "integrity": "sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.19.2", + "@algolia/autocomplete-shared": "1.19.2" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz", + "integrity": "sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.19.2" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz", + "integrity": "sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.1.tgz", + "integrity": "sha512-5SWfl0UGuKxMBYlU2Y9BnlIKKEyhFU5jHE9F9jAd8nbhxZNLk0y7fXE+AZeFtyK1lkVw6O4B/e6c3XIVVCkmqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.46.1.tgz", + "integrity": "sha512-496K6B1l/0Jvyp3MbW/YIgmm1a6nkTrKXBM7DoEy9YAOJ8GywGpa2UYjNCW1UrOTt+em1ECzDjRx7PIzTR9YvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.46.1.tgz", + "integrity": "sha512-3u6AuZ1Kiss6V5JPuZfVIUYfPi8im06QBCgKqLg82GUBJ3SwhiTdSZFIEgz2mzFuitFdW1PQi3c/65zE/3FgIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.46.1.tgz", + "integrity": "sha512-LwuWjdO35HHl1rxtdn48t920Xl26Dl0SMxjxjFeAK/OwK/pIVfYjOZl/f3Pnm7Kixze+6HjpByVxEaqhTuAFaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.46.1.tgz", + "integrity": "sha512-6LvJAlfEsn9SVq63MYAFX2iUxztUK2Q7BVZtI1vN87lDiJ/tSVFKgKS/jBVO03A39ePxJQiFv6EKv7lmoGlWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.46.1.tgz", + "integrity": "sha512-9GLUCyGGo7YOXHcNqbzca82XYHJTbuiI6iT0FTGc0BrnV2N4OcrznUuVKic/duiLSun5gcy/G2Bciw5Sav9f9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.46.1.tgz", + "integrity": "sha512-NL76o/BoEgU4ObY5oBEC3o6KSPpuXsnSta00tAxTm1iKUWOGR34DQEKhUt8xMHhMKleUNPM/rLPFiIVtfsGU8w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@algolia/ingestion": { + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.46.1.tgz", + "integrity": "sha512-52Nc8WKC1FFXsdlXlTMl1Re/pTAbd2DiJiNdYmgHiikZcfF96G+Opx4qKiLUG1q7zp9e+ahNwXF6ED0XChMywg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.46.1.tgz", + "integrity": "sha512-1x2/2Y/eqz6l3QcEZ8u/zMhSCpjlhePyizJd3sXrmg031HjayYT5+IxikjpqkdF7TU/deCTd/TFUcxLJ2ZHXiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.46.1.tgz", + "integrity": "sha512-SSd3KlQuplxV3aRs5+Z09XilFesgpPjtCG7BGRxLTVje5hn9BLmhjO4W3gKw01INUt44Z1r0Fwx5uqnhAouunA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.46.1.tgz", + "integrity": "sha512-3GfCwudeW6/3caKSdmOP6RXZEL4F3GiemCaXEStkTt2Re8f7NcGYAAZnGlHsCzvhlNEuDzPYdYxh4UweY8l/2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.46.1.tgz", + "integrity": "sha512-JUAxYfmnLYTVtAOFxVvXJ4GDHIhMuaP7JGyZXa/nCk3P8RrN5FCNTdRyftSnxyzwSIAd8qH3CjdBS9WwxxqcHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.46.1.tgz", + "integrity": "sha512-VwbhV1xvTGiek3d2pOS6vNBC4dtbNadyRT+i1niZpGhOJWz1XnfhxNboVbXPGAyMJYz7kDrolbDvEzIDT93uUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -83,9 +415,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", - "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", "dev": true, "license": "MIT", "engines": { @@ -98,6 +430,7 @@ "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -134,14 +467,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -150,6 +483,19 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", @@ -177,6 +523,83 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/helper-globals": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", @@ -187,6 +610,20 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-module-imports": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", @@ -219,6 +656,19 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-plugin-utils": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", @@ -229,6 +679,56 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", @@ -240,9 +740,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -259,6 +759,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helpers": { "version": "7.28.3", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", @@ -274,13 +789,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", - "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@babel/types": "^7.28.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -289,6 +804,103 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -344,6 +956,35 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", @@ -528,6 +1169,1189 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", + "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz", + "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", + "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", + "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", + "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz", + "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", + "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.5", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.4", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.28.5", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.4", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.4.tgz", + "integrity": "sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.43.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", @@ -544,18 +2368,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", - "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", + "@babel/generator": "^7.28.5", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.3", + "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", - "@babel/types": "^7.28.2", + "@babel/types": "^7.28.5", "debug": "^4.3.1" }, "engines": { @@ -563,14 +2387,14 @@ } }, "node_modules/@babel/types": { - "version": "7.28.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", - "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -593,6 +2417,2338 @@ "node": ">=0.1.90" } }, + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz", + "integrity": "sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/postcss-alpha-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.1.tgz", + "integrity": "sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz", + "integrity": "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.12.tgz", + "integrity": "sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-function-display-p3-linear": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.1.tgz", + "integrity": "sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-function": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.12.tgz", + "integrity": "sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-variadic-function-arguments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.2.tgz", + "integrity": "sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-content-alt-text": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.8.tgz", + "integrity": "sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-contrast-color-function": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-contrast-color-function/-/postcss-contrast-color-function-2.0.12.tgz", + "integrity": "sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-exponential-functions": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz", + "integrity": "sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", + "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gamut-mapping": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.11.tgz", + "integrity": "sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gradients-interpolation-method": { + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.12.tgz", + "integrity": "sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.12.tgz", + "integrity": "sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.4.tgz", + "integrity": "sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-initial": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz", + "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz", + "integrity": "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.11.tgz", + "integrity": "sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-float-and-clear": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", + "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overflow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", + "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overscroll-behavior": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", + "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-resize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", + "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-viewport-units": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz", + "integrity": "sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-minmax": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz", + "integrity": "sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz", + "integrity": "sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", + "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", + "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.12.tgz", + "integrity": "sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-position-area-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-position-area-property/-/postcss-position-area-property-1.0.0.tgz", + "integrity": "sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.1.tgz", + "integrity": "sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-random-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz", + "integrity": "sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.12.tgz", + "integrity": "sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", + "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-sign-functions": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz", + "integrity": "sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz", + "integrity": "sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-system-ui-font-family": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-system-ui-font-family/-/postcss-system-ui-font-family-1.0.0.tgz", + "integrity": "sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.3.tgz", + "integrity": "sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/color-helpers": "^5.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz", + "integrity": "sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", + "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/utilities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz", + "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@docsearch/core/-/core-4.3.1.tgz", + "integrity": "sha512-ktVbkePE+2h9RwqCUMbWXOoebFyDOxHqImAqfs+lC8yOU+XwEW4jgvHGJK079deTeHtdhUNj0PXHSnhJINvHzQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": ">= 16.8.0 < 20.0.0", + "react": ">= 16.8.0 < 20.0.0", + "react-dom": ">= 16.8.0 < 20.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@docsearch/css": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.3.2.tgz", + "integrity": "sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@docsearch/react": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-4.3.2.tgz", + "integrity": "sha512-74SFD6WluwvgsOPqifYOviEEVwDxslxfhakTlra+JviaNcs7KK/rjsPj89kVEoQc9FUxRkAofaJnHIR7pb4TSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ai-sdk/react": "^2.0.30", + "@algolia/autocomplete-core": "1.19.2", + "@docsearch/core": "4.3.1", + "@docsearch/css": "4.3.2", + "ai": "^5.0.30", + "algoliasearch": "^5.28.0", + "marked": "^16.3.0", + "zod": "^4.1.8" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 20.0.0", + "react": ">= 16.8.0 < 20.0.0", + "react-dom": ">= 16.8.0 < 20.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docusaurus/babel": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.9.2.tgz", + "integrity": "sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", + "@babel/runtime": "^7.25.9", + "@babel/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.9.2", + "@docusaurus/utils": "3.9.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@docusaurus/bundler": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.9.2.tgz", + "integrity": "sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.9.2", + "@docusaurus/cssnano-preset": "3.9.2", + "@docusaurus/logger": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.3", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.11.0", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "file-loader": "^6.2.0", + "html-minifier-terser": "^7.2.0", + "mini-css-extract-plugin": "^2.9.2", + "null-loader": "^4.0.1", + "postcss": "^8.5.4", + "postcss-loader": "^7.3.4", + "postcss-preset-env": "^10.2.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.9.2.tgz", + "integrity": "sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.9.2", + "@docusaurus/bundler": "3.9.2", + "@docusaurus/logger": "3.9.2", + "@docusaurus/mdx-loader": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "core-js": "^3.31.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "eval": "^0.1.8", + "execa": "5.1.1", + "fs-extra": "^11.1.1", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.6.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "open": "^8.4.0", + "p-map": "^4.0.0", + "prompts": "^2.4.2", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.6", + "tinypool": "^1.0.2", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "webpack": "^5.95.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-server": "^5.2.2", + "webpack-merge": "^6.0.1" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "@mdx-js/react": "^3.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/core/node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/core/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@docusaurus/core/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@docusaurus/core/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/core/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/core/node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/core/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.9.2.tgz", + "integrity": "sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.5.4", + "postcss-sort-media-queries": "^5.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.9.2.tgz", + "integrity": "sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.9.2.tgz", + "integrity": "sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^2.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.9.2.tgz", + "integrity": "sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.9.2", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.9.2.tgz", + "integrity": "sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/logger": "3.9.2", + "@docusaurus/mdx-loader": "3.9.2", + "@docusaurus/theme-common": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "cheerio": "1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "schema-dts": "^1.1.2", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz", + "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/logger": "3.9.2", + "@docusaurus/mdx-loader": "3.9.2", + "@docusaurus/module-type-aliases": "3.9.2", + "@docusaurus/theme-common": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "schema-dts": "^1.1.2", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.9.2.tgz", + "integrity": "sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/mdx-loader": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-css-cascade-layers": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.9.2.tgz", + "integrity": "sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.9.2.tgz", + "integrity": "sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "fs-extra": "^11.1.1", + "react-json-view-lite": "^2.3.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.9.2.tgz", + "integrity": "sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.9.2.tgz", + "integrity": "sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.9.2.tgz", + "integrity": "sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.9.2.tgz", + "integrity": "sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/logger": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-svgr": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.9.2.tgz", + "integrity": "sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "@svgr/core": "8.1.0", + "@svgr/webpack": "^8.1.0", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.9.2.tgz", + "integrity": "sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/plugin-content-blog": "3.9.2", + "@docusaurus/plugin-content-docs": "3.9.2", + "@docusaurus/plugin-content-pages": "3.9.2", + "@docusaurus/plugin-css-cascade-layers": "3.9.2", + "@docusaurus/plugin-debug": "3.9.2", + "@docusaurus/plugin-google-analytics": "3.9.2", + "@docusaurus/plugin-google-gtag": "3.9.2", + "@docusaurus/plugin-google-tag-manager": "3.9.2", + "@docusaurus/plugin-sitemap": "3.9.2", + "@docusaurus/plugin-svgr": "3.9.2", + "@docusaurus/theme-classic": "3.9.2", + "@docusaurus/theme-common": "3.9.2", + "@docusaurus/theme-search-algolia": "3.9.2", + "@docusaurus/types": "3.9.2" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.9.2.tgz", + "integrity": "sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/logger": "3.9.2", + "@docusaurus/mdx-loader": "3.9.2", + "@docusaurus/module-type-aliases": "3.9.2", + "@docusaurus/plugin-content-blog": "3.9.2", + "@docusaurus/plugin-content-docs": "3.9.2", + "@docusaurus/plugin-content-pages": "3.9.2", + "@docusaurus/theme-common": "3.9.2", + "@docusaurus/theme-translations": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "infima": "0.2.0-alpha.45", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.5.4", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.2.tgz", + "integrity": "sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/mdx-loader": "3.9.2", + "@docusaurus/module-type-aliases": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.2.tgz", + "integrity": "sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/react": "^3.9.0 || ^4.1.0", + "@docusaurus/core": "3.9.2", + "@docusaurus/logger": "3.9.2", + "@docusaurus/plugin-content-docs": "3.9.2", + "@docusaurus/theme-common": "3.9.2", + "@docusaurus/theme-translations": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "algoliasearch": "^5.37.0", + "algoliasearch-helper": "^3.26.0", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.9.2.tgz", + "integrity": "sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@docusaurus/types": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.9.2.tgz", + "integrity": "sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/mdast": "^4.0.2", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.95.0", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/types/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@docusaurus/types/node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.9.2.tgz", + "integrity": "sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "escape-string-regexp": "^4.0.0", + "execa": "5.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "p-queue": "^6.6.2", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.9.2.tgz", + "integrity": "sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.9.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.9.2.tgz", + "integrity": "sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.9.2", + "@docusaurus/utils": "3.9.2", + "@docusaurus/utils-common": "3.9.2", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", @@ -744,6 +4900,23 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", @@ -811,13 +4984,13 @@ } }, "node_modules/@inquirer/external-editor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", - "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", + "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", "license": "MIT", "dependencies": { - "chardet": "^2.1.1", - "iconv-lite": "^0.7.0" + "chardet": "^2.1.0", + "iconv-lite": "^0.6.3" }, "engines": { "node": ">=18" @@ -831,15 +5004,6 @@ } } }, - "node_modules/@inquirer/figures": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", - "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", @@ -1524,6 +5688,17 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", @@ -1542,6 +5717,126 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", + "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", + "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@kayvan/markdown-tree-parser": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@kayvan/markdown-tree-parser/-/markdown-tree-parser-1.6.1.tgz", @@ -1566,6 +5861,93 @@ "url": "https://github.com/sponsors/ksylvan" } }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", + "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1604,6 +5986,16 @@ "node": ">= 8" } }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -1628,6 +6020,82 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true, + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@sinclair/typebox": { "version": "0.34.40", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.40.tgz", @@ -1635,6 +6103,19 @@ "dev": true, "license": "MIT" }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, "node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", @@ -1668,6 +6149,420 @@ "@sinonjs/commons": "^3.0.1" } }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1713,6 +6608,48 @@ "@babel/types": "^7.28.2" } }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -1722,6 +6659,28 @@ "@types/ms": "*" } }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -1729,6 +6688,97 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz", + "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -1779,6 +6829,20 @@ "@types/unist": "*" } }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/ms": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", @@ -1791,10 +6855,158 @@ "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.10.0" } }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prismjs": { + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", @@ -1808,6 +7020,16 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/yargs": { "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", @@ -1832,6 +7054,34 @@ "dev": true, "license": "ISC" }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, "node_modules/@unrs/resolver-binding-darwin-arm64": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", @@ -1846,12 +7096,485 @@ "darwin" ] }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vercel/oidc": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.0.5.tgz", + "integrity": "sha512-fnYhv671l+eTTp48gB4zEsTW/YtRgRPnkI2nT7x6qw5rkI1Lq2hTmQIpHPgyThI0znLK+vX2n9XxKdXZ7BUbbw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1859,6 +7582,19 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -1869,12 +7605,79 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aggregate-error/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ai": { + "version": "5.0.115", + "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.115.tgz", + "integrity": "sha512-aVuHx0orGxXvhyL7oXUyW8TnWQE6Al8f3Bl6VZjz0WHMV+WaACHPkSyvQ3wje2QCUGzdl5DBF5d+OaXyghPQyg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@ai-sdk/gateway": "2.0.22", + "@ai-sdk/provider": "2.0.0", + "@ai-sdk/provider-utils": "3.0.19", + "@opentelemetry/api": "1.9.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.25.76 || ^4.1.8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1886,6 +7689,98 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/algoliasearch": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.46.1.tgz", + "integrity": "sha512-39ol8Ulqb3MntofkXHlrcXKyU8BU0PXvQrXPBIX6eXj/EO4VT7651mhGVORI2oF8ydya9nFzT3fYDoqme/KL6w==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/abtesting": "1.12.1", + "@algolia/client-abtesting": "5.46.1", + "@algolia/client-analytics": "5.46.1", + "@algolia/client-common": "5.46.1", + "@algolia/client-insights": "5.46.1", + "@algolia/client-personalization": "5.46.1", + "@algolia/client-query-suggestions": "5.46.1", + "@algolia/client-search": "5.46.1", + "@algolia/ingestion": "1.46.1", + "@algolia/monitoring": "1.46.1", + "@algolia/recommend": "5.46.1", + "@algolia/requester-browser-xhr": "5.46.1", + "@algolia/requester-fetch": "5.46.1", + "@algolia/requester-node-http": "5.46.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.26.1.tgz", + "integrity": "sha512-CAlCxm4fYBXtvc5MamDzP6Svu8rW4z9me4DCBY1rQ2UDJ0u0flWmusQ8M3nOExZsLLRcUwUPoRAPMrhzOG3erw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -1910,6 +7805,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1948,12 +7856,235 @@ "node": ">= 8" } }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/archiver-utils/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/archiver-utils/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/archiver-utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/archiver/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/archiver/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -1964,6 +8095,16 @@ "node": ">=8" } }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "dev": true, + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -1971,6 +8112,43 @@ "dev": true, "license": "MIT" }, + "node_modules/autoprefixer": { + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/babel-jest": { "version": "30.0.5", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.0.5.tgz", @@ -1993,6 +8171,34 @@ "@babel/core": "^7.11.0" } }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, "node_modules/babel-plugin-istanbul": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz", @@ -2025,6 +8231,58 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/babel-preset-current-node-syntax": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", @@ -2086,6 +8344,21 @@ "dev": true, "license": "MIT" }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -2106,6 +8379,46 @@ ], "license": "MIT" }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.10", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.10.tgz", + "integrity": "sha512-2VIKvDx8Z1a9rTB2eCkdPE5nSe28XnA+qivGnWHoB40hMMt/h1hSz0960Zqsn6ZyxWXUie0EBdElKv8may20AA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -2117,6 +8430,82 @@ "readable-stream": "^3.4.0" } }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -2194,9 +8583,9 @@ } }, "node_modules/browserslist": { - "version": "4.25.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", - "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -2213,11 +8602,13 @@ } ], "license": "MIT", + "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001735", - "electron-to-chromium": "^1.5.204", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -2260,6 +8651,16 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -2280,6 +8681,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/c8": { "version": "10.1.3", "resolved": "https://registry.npmjs.org/c8/-/c8-10.1.3.tgz", @@ -2426,6 +8853,85 @@ "node": ">=18" } }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2436,6 +8942,17 @@ "node": ">=6" } }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -2446,10 +8963,23 @@ "node": ">=6" } }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001737", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", - "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", + "version": "1.0.30001761", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz", + "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==", "dev": true, "funding": [ { @@ -2467,6 +8997,17 @@ ], "license": "CC-BY-4.0" }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2510,6 +9051,17 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/character-entities-legacy": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", @@ -2533,11 +9085,99 @@ } }, "node_modules/chardet": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", - "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", "license": "MIT" }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, "node_modules/ci-info": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", @@ -2561,6 +9201,19 @@ "dev": true, "license": "MIT" }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, "node_modules/clean-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", @@ -2584,6 +9237,16 @@ "node": ">=0.8.0" } }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/cli-boxes": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", @@ -2707,12 +9370,12 @@ } }, "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "license": "ISC", "engines": { - "node": ">= 12" + "node": ">= 10" } }, "node_modules/cliui": { @@ -2739,6 +9402,31 @@ "node": ">=0.8" } }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -2750,6 +9438,17 @@ "node": ">= 0.12.0" } }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/collect-v8-coverage": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", @@ -2775,6 +9474,13 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -2782,6 +9488,27 @@ "dev": true, "license": "MIT" }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/commander": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", @@ -2791,6 +9518,141 @@ "node": ">=20" } }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true, + "license": "ISC" + }, + "node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/compress-commons/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2798,6 +9660,74 @@ "dev": true, "license": "MIT" }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/configstore/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/configstore/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", @@ -2805,6 +9735,26 @@ "dev": true, "license": "MIT" }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -2812,6 +9762,103 @@ "dev": true, "license": "MIT" }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", + "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-js-compat": { "version": "3.45.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", @@ -2826,6 +9873,121 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/core-js-pure": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.47.0.tgz", + "integrity": "sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/crc32-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2840,6 +10002,379 @@ "node": ">= 8" } }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-blank-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", + "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz", + "integrity": "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.3.tgz", + "integrity": "sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", + "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/css-selector-parser": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.1.3.tgz", @@ -2856,12 +10391,220 @@ ], "license": "MIT" }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.5.2.tgz", + "integrity": "sha512-Pmoj9RmD8RIoIzA2EQWO4D4RMeDts0tgAH0VXdlNdxjuBGI3a9wMOIcUwaPNmD4r2qtIa06gqkIf7sECl+cBCg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "MIT-0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/csv-parse": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-6.1.0.tgz", "integrity": "sha512-CEE+jwpgLn+MmtCpVcPtiCZpVtB6Z2OKPTr34pycYYoL7sxdOkXDdQ4lRiw6ioC0q6BLqhc6cKweCVvral8yhw==", "license": "MIT" }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true, + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", @@ -2892,6 +10635,35 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/dedent": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", @@ -2907,6 +10679,16 @@ } } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2924,6 +10706,36 @@ "node": ">=0.10.0" } }, + "node_modules/default-browser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -2936,6 +10748,72 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -2945,6 +10823,17 @@ "node": ">=6" } }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, "node_modules/detect-indent": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", @@ -2965,6 +10854,31 @@ "node": ">=8" } }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -2991,16 +10905,164 @@ "node": ">=8" } }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "license": "MIT" }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, "node_modules/electron-to-chromium": { - "version": "1.5.208", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.208.tgz", - "integrity": "sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==", + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "dev": true, "license": "ISC" }, @@ -3023,6 +11085,44 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/enhanced-resolve": { "version": "5.18.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", @@ -3073,6 +11173,80 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -3083,6 +11257,26 @@ "node": ">=6" } }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -3102,6 +11296,7 @@ "integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -3457,6 +11652,127 @@ "node": ">=4.0" } }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.5.0.tgz", + "integrity": "sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3467,6 +11783,52 @@ "node": ">=0.10.0" } }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/eventemitter3": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", @@ -3474,6 +11836,36 @@ "dev": true, "license": "MIT" }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -3533,12 +11925,119 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3546,6 +12045,13 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", @@ -3590,6 +12096,23 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/fastq": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", @@ -3600,6 +12123,33 @@ "reusify": "^1.0.4" } }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -3610,6 +12160,19 @@ "bser": "2.1.1" } }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/figlet": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.8.0.tgz", @@ -3622,6 +12185,30 @@ "node": ">= 0.4.0" } }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -3635,6 +12222,46 @@ "node": ">=16.0.0" } }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -3648,6 +12275,163 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -3678,6 +12462,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, "node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", @@ -3699,6 +12493,27 @@ "dev": true, "license": "ISC" }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -3715,6 +12530,59 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fs-extra": { "version": "11.3.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", @@ -3751,6 +12619,16 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -3784,6 +12662,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true, + "license": "ISC" + }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -3794,6 +12704,20 @@ "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -3830,6 +12754,13 @@ "url": "https://github.com/fisker/git-hooks-list?sponsor=1" } }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "dev": true, + "license": "ISC" + }, "node_modules/glob": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", @@ -3866,6 +12797,30 @@ "node": ">=10.13.0" } }, + "node_modules/glob-to-regex.js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", + "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/glob/node_modules/minimatch": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", @@ -3881,6 +12836,22 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", @@ -3932,12 +12903,127 @@ "dev": true, "license": "MIT" }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3947,6 +13033,323 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -3954,6 +13357,263 @@ "dev": true, "license": "MIT" }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.5.tgz", + "integrity": "sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -3980,20 +13640,39 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, "node_modules/iconv-lite": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", - "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "peerDependencies": { + "postcss": "^8.1.0" } }, "node_modules/ieee754": { @@ -4025,6 +13704,19 @@ "node": ">= 4" } }, + "node_modules/image-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", + "dev": true, + "license": "MIT", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, "node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -4042,6 +13734,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", @@ -4085,6 +13787,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/infima": { + "version": "0.2.0-alpha.45", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", + "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -4113,27 +13825,37 @@ "node": ">=10" } }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "dev": true, + "license": "MIT" + }, "node_modules/inquirer": { - "version": "9.3.8", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.3.8.tgz", - "integrity": "sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w==", + "version": "8.2.7", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz", + "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", "license": "MIT", "dependencies": { - "@inquirer/external-editor": "^1.0.2", - "@inquirer/figures": "^1.0.3", - "ansi-escapes": "^4.3.2", - "cli-width": "^4.1.0", - "mute-stream": "1.0.0", + "@inquirer/external-editor": "^1.0.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0", - "yoctocolors-cjs": "^2.1.2" + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" }, "engines": { - "node": ">=18" + "node": ">=12.0.0" } }, "node_modules/inquirer/node_modules/wrap-ansi": { @@ -4150,6 +13872,26 @@ "node": ">=8" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/is-alphabetical": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", @@ -4183,6 +13925,19 @@ "dev": true, "license": "MIT" }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-builtin-module": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-5.0.0.tgz", @@ -4199,6 +13954,51 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-decimal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", @@ -4210,6 +14010,32 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -4267,6 +14093,58 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -4276,6 +14154,32 @@ "node": ">=8" } }, + "node_modules/is-network-error": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz", + "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.1.0.tgz", + "integrity": "sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -4286,6 +14190,26 @@ "node": ">=0.12.0" } }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -4298,6 +14222,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -4311,6 +14258,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "license": "MIT" + }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -4323,12 +14277,52 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true, + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "license": "ISC" }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -5182,6 +15176,30 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5228,6 +15246,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -5311,6 +15336,106 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", + "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -5509,6 +15634,35 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -5525,12 +15679,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.iteratee": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.iteratee/-/lodash.iteratee-4.7.0.tgz", "integrity": "sha512-yv3cSQZmfpbIKo4Yo45B1taEvxjNvcpF1CEOc0Y6dEyvhPIfEJE3twDwPgWTPQubcSgXyBwBKG6wpQvWMDOf6Q==", "license": "MIT" }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -5538,6 +15712,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT" + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -5767,6 +15948,42 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -5803,6 +16020,19 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/markdown-it": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", @@ -5821,6 +16051,17 @@ "markdown-it": "bin/markdown-it.mjs" } }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/markdownlint": { "version": "0.39.0", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.39.0.tgz", @@ -5929,6 +16170,81 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/marked": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", + "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mdast-util-from-markdown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", @@ -5953,6 +16269,226 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-phrasing": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", @@ -5967,6 +16503,28 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-to-markdown": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", @@ -6001,6 +16559,13 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/mdurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", @@ -6008,6 +16573,45 @@ "dev": true, "license": "MIT" }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.51.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.1.tgz", + "integrity": "sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -6025,6 +16629,16 @@ "node": ">= 8" } }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/micromark": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", @@ -6114,6 +16728,44 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/micromark-extension-gfm-autolink-literal": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", @@ -6152,6 +16804,25 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/micromark-extension-gfm-table": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", @@ -6170,6 +16841,38 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/micromark-extension-math": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", @@ -6190,6 +16893,113 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/micromark-factory-destination": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", @@ -6233,6 +17043,34 @@ "micromark-util-types": "^2.0.0" } }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, "node_modules/micromark-factory-space": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", @@ -6434,6 +17272,32 @@ ], "license": "MIT" }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, "node_modules/micromark-util-html-tag-name": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", @@ -6577,6 +17441,42 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -6599,6 +17499,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -6609,6 +17522,34 @@ "node": ">=4" } }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -6622,6 +17563,16 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -6631,21 +17582,42 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" } }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "license": "ISC" + }, "node_modules/nano-spawn": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-1.0.2.tgz", @@ -6659,6 +17631,25 @@ "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1" } }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/napi-postinstall": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.3.tgz", @@ -6739,6 +17730,60 @@ "node": ">=10" } }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-forge": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -6747,9 +17792,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, @@ -6763,6 +17808,19 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", + "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -6776,6 +17834,13 @@ "node": ">=8" } }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "dev": true, + "license": "MIT" + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -6788,6 +17853,130 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -6813,6 +18002,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -6854,6 +18071,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -6886,6 +18123,77 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -6896,12 +18204,42 @@ "node": ">=6" } }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "dev": true, + "license": "MIT", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6961,6 +18299,74 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -6981,6 +18387,13 @@ "node": ">=0.10.0" } }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -6990,6 +18403,13 @@ "node": ">=8" } }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, "node_modules/path-scurry": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", @@ -7015,6 +18435,16 @@ "node": "20 || >=22" } }, + "node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "0.0.1" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -7147,6 +18577,1547 @@ "node": ">=4" } }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", + "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz", + "integrity": "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", + "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", + "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-custom-media": { + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz", + "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-properties": { + "version": "14.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz", + "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz", + "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", + "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz", + "integrity": "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", + "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-focus-within": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", + "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", + "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-image-set-function": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", + "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-lab-function": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz", + "integrity": "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.1.0", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.1.0.tgz", + "integrity": "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz", + "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-resolve-nested": "^3.1.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz", + "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", + "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", + "dev": true, + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", + "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", + "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-preset-env": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.5.0.tgz", + "integrity": "sha512-xgxFQPAPxeWmsgy8cR7GM1PGAL/smA5E9qU7K//D4vucS01es3M0fDujhDJn3kY8Ip7/vVYcecbe1yY+vBo3qQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-alpha-function": "^1.0.1", + "@csstools/postcss-cascade-layers": "^5.0.2", + "@csstools/postcss-color-function": "^4.0.12", + "@csstools/postcss-color-function-display-p3-linear": "^1.0.1", + "@csstools/postcss-color-mix-function": "^3.0.12", + "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2", + "@csstools/postcss-content-alt-text": "^2.0.8", + "@csstools/postcss-contrast-color-function": "^2.0.12", + "@csstools/postcss-exponential-functions": "^2.0.9", + "@csstools/postcss-font-format-keywords": "^4.0.0", + "@csstools/postcss-gamut-mapping": "^2.0.11", + "@csstools/postcss-gradients-interpolation-method": "^5.0.12", + "@csstools/postcss-hwb-function": "^4.0.12", + "@csstools/postcss-ic-unit": "^4.0.4", + "@csstools/postcss-initial": "^2.0.1", + "@csstools/postcss-is-pseudo-class": "^5.0.3", + "@csstools/postcss-light-dark-function": "^2.0.11", + "@csstools/postcss-logical-float-and-clear": "^3.0.0", + "@csstools/postcss-logical-overflow": "^2.0.0", + "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", + "@csstools/postcss-logical-resize": "^3.0.0", + "@csstools/postcss-logical-viewport-units": "^3.0.4", + "@csstools/postcss-media-minmax": "^2.0.9", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5", + "@csstools/postcss-nested-calc": "^4.0.0", + "@csstools/postcss-normalize-display-values": "^4.0.0", + "@csstools/postcss-oklab-function": "^4.0.12", + "@csstools/postcss-position-area-property": "^1.0.0", + "@csstools/postcss-progressive-custom-properties": "^4.2.1", + "@csstools/postcss-random-function": "^2.0.1", + "@csstools/postcss-relative-color-syntax": "^3.0.12", + "@csstools/postcss-scope-pseudo-class": "^4.0.1", + "@csstools/postcss-sign-functions": "^1.1.4", + "@csstools/postcss-stepped-value-functions": "^4.0.9", + "@csstools/postcss-system-ui-font-family": "^1.0.0", + "@csstools/postcss-text-decoration-shorthand": "^4.0.3", + "@csstools/postcss-trigonometric-functions": "^4.0.9", + "@csstools/postcss-unset-value": "^4.0.0", + "autoprefixer": "^10.4.22", + "browserslist": "^4.28.0", + "css-blank-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.3", + "css-prefers-color-scheme": "^10.0.0", + "cssdb": "^8.5.2", + "postcss-attribute-case-insensitive": "^7.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^7.0.12", + "postcss-color-hex-alpha": "^10.0.0", + "postcss-color-rebeccapurple": "^10.0.0", + "postcss-custom-media": "^11.0.6", + "postcss-custom-properties": "^14.0.6", + "postcss-custom-selectors": "^8.0.5", + "postcss-dir-pseudo-class": "^9.0.1", + "postcss-double-position-gradients": "^6.0.4", + "postcss-focus-visible": "^10.0.1", + "postcss-focus-within": "^9.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^6.0.0", + "postcss-image-set-function": "^7.0.0", + "postcss-lab-function": "^7.0.12", + "postcss-logical": "^8.1.0", + "postcss-nesting": "^13.0.2", + "postcss-opacity-percentage": "^3.0.0", + "postcss-overflow-shorthand": "^6.0.0", + "postcss-page-break": "^3.0.4", + "postcss-place": "^10.0.0", + "postcss-pseudo-class-any-link": "^10.0.1", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^8.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", + "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", + "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sort-css-media-queries": "2.2.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.23" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -7163,6 +20134,7 @@ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -7192,6 +20164,17 @@ } } }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, "node_modules/pretty-format": { "version": "30.0.5", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", @@ -7220,6 +20203,132 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", + "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -7240,6 +20349,22 @@ "node": ">=6" } }, + "node_modules/pupa": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.3.0.tgz", + "integrity": "sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pure-rand": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", @@ -7257,6 +20382,22 @@ ], "license": "MIT" }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -7278,6 +20419,166 @@ ], "license": "MIT" }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-helmet-async": { + "name": "@slorber/react-helmet-async", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", @@ -7285,6 +20586,113 @@ "dev": true, "license": "MIT" }, + "node_modules/react-json-view-lite": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-2.5.0.tgz", + "integrity": "sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/react": "*" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -7299,6 +20707,143 @@ "node": ">= 6" } }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/regexp-tree": { "version": "0.1.27", "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", @@ -7309,6 +20854,73 @@ "regexp-tree": "bin/regexp-tree" } }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexpu-core/node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/registry-auth-token": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", + "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, "node_modules/regjsparser": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", @@ -7335,6 +20947,153 @@ "node": ">=6" } }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-directive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.1.tgz", + "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive/node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-parse": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", @@ -7351,6 +21110,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-stringify": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", @@ -7366,6 +21143,123 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -7376,6 +21270,60 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, "node_modules/resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", @@ -7409,6 +21357,13 @@ "node": ">=4" } }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "dev": true, + "license": "MIT" + }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", @@ -7419,6 +21374,22 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -7438,6 +21409,16 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", @@ -7456,10 +21437,42 @@ "dev": true, "license": "MIT" }, + "node_modules/rtlcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", + "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", + "dev": true, + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "license": "MIT", "engines": { "node": ">=0.12.0" @@ -7530,6 +21543,103 @@ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "license": "ISC" }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-dts": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/schema-dts/-/schema-dts-1.1.5.tgz", + "integrity": "sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/secure-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz", @@ -7537,6 +21647,27 @@ "dev": true, "license": "MIT" }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -7549,6 +21680,254 @@ "node": ">=10" } }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "dev": true, + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7570,6 +21949,95 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -7582,6 +22050,68 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true, + "license": "MIT" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -7622,6 +22152,39 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", + "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.3.0" + } + }, "node_modules/sort-object-keys": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", @@ -7674,6 +22237,16 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -7685,6 +22258,49 @@ "source-map": "^0.6.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -7692,6 +22308,19 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -7715,6 +22344,35 @@ "node": ">=8" } }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true, + "license": "MIT" + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -7795,6 +22453,36 @@ "node": ">=8" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -7830,6 +22518,16 @@ "node": ">=8" } }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -7869,6 +22567,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7881,6 +22616,76 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/swr": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.8.tgz", + "integrity": "sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.3", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/synckit": { "version": "0.11.11", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", @@ -7898,9 +22703,9 @@ } }, "node_modules/tapable": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", - "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, "license": "MIT", "engines": { @@ -7911,6 +22716,136 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/tar-stream/node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/terser": { + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -7948,6 +22883,88 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-decoder/node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/thingies": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", + "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "^2" + } + }, + "node_modules/throttleit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz", + "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "dev": true, + "license": "MIT" + }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", @@ -7989,6 +23006,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -7996,6 +23014,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -8016,6 +23044,54 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tree-dump": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/trough": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", @@ -8066,7 +23142,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/type-check": { "version": "0.4.0", @@ -8103,6 +23180,53 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, "node_modules/typescript": { "version": "5.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", @@ -8132,6 +23256,60 @@ "devOptional": true, "license": "MIT" }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/unicorn-magic": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", @@ -8164,6 +23342,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unist-util-find": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unist-util-find/-/unist-util-find-3.0.0.tgz", @@ -8192,6 +23386,34 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/unist-util-select/-/unist-util-select-5.1.0.tgz", @@ -8260,6 +23482,16 @@ "node": ">= 10.0.0" } }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/unrs-resolver": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", @@ -8296,9 +23528,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -8326,6 +23558,211 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/update-notifier/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -8336,12 +23773,129 @@ "punycode": "^2.1.0" } }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -8357,6 +23911,23 @@ "node": ">=10.12.0" } }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -8371,6 +23942,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vfile-message": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", @@ -8395,6 +23981,30 @@ "makeerror": "1.0.12" } }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -8404,6 +24014,427 @@ "defaults": "^1.0.3" } }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpack": { + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", + "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.4", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", + "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "express": "^4.21.2", + "graceful-fs": "^4.2.6", + "http-proxy-middleware": "^2.0.9", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpackbar": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", + "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "consola": "^3.2.3", + "figures": "^3.2.0", + "markdown-table": "^2.0.0", + "pretty-time": "^1.1.0", + "std-env": "^3.7.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/webpackbar/node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -8431,6 +24462,13 @@ "node": ">=8" } }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -8497,6 +24535,86 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wsl-utils/node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, "node_modules/xml2js": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", @@ -8636,16 +24754,61 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yoctocolors-cjs": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", - "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 14" + } + }, + "node_modules/zip-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/zod": { @@ -8654,6 +24817,7 @@ "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index a640704c..7db943ff 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,9 @@ "scripts": { "bmad:install": "node tools/cli/bmad-cli.js install", "bundle": "node tools/cli/bundlers/bundle-web.js all", + "docs:build": "node tools/build-docs.js", + "docs:dev": "npm run docs:build && npm run docs:serve", + "docs:serve": "docusaurus start --config website/docusaurus.config.js --host localhost", "flatten": "node tools/flattener/main.js", "format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"", "format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"", @@ -72,7 +75,7 @@ "fs-extra": "^11.3.0", "glob": "^11.0.3", "ignore": "^7.0.5", - "inquirer": "^9.3.8", + "inquirer": "^8.2.6", "js-yaml": "^4.1.0", "ora": "^5.4.1", "semver": "^7.6.3", @@ -81,7 +84,10 @@ "yaml": "^2.7.0" }, "devDependencies": { + "@docusaurus/core": "^3.6.0", + "@docusaurus/preset-classic": "^3.6.0", "@eslint/js": "^9.33.0", + "archiver": "^7.0.1", "c8": "^10.1.3", "eslint": "^9.33.0", "eslint-config-prettier": "^10.1.8", @@ -94,6 +100,9 @@ "markdownlint-cli2": "^0.19.1", "prettier": "^3.5.3", "prettier-plugin-packagejson": "^2.5.19", + "prism-react-renderer": "^2.4.1", + "react": "^18.3.1", + "react-dom": "^18.3.1", "yaml-eslint-parser": "^1.2.3", "yaml-lint": "^1.7.0", "zod": "^4.1.12" diff --git a/docs/sample-custom-modules/README.md b/samples/sample-custom-modules/README.md similarity index 78% rename from docs/sample-custom-modules/README.md rename to samples/sample-custom-modules/README.md index 874c7c71..23bcee8a 100644 --- a/docs/sample-custom-modules/README.md +++ b/samples/sample-custom-modules/README.md @@ -4,7 +4,7 @@ These are quickly put together examples of both a stand alone somewhat cohesive To try these out, download either or both folders to your local machine, and run the normal bmad installer, and when asked about custom local content, say yes, and give the path to one of these two folders. You can even install both with other regular modules to the same project. -Note - a project is just a folder with .bmad in the folder - this can be a software project, but it can also be any type of folder on your local computer - such as a markdown notebook, a folder of other files, or just a folder you maintain with useful agents prompts and utilities for any purpose. +Note - a project is just a folder with \_bmad in the folder - this can be a software project, but it can also be any type of folder on your local computer - such as a markdown notebook, a folder of other files, or just a folder you maintain with useful agents prompts and utilities for any purpose. Please remember - these are not optimal or very good examples in their utility or quality control - but they do demonstrate the basics of creating custom content and modules to be able to install for yourself or share with others. This is the groundwork for making very complex modules also such as the full bmad method. diff --git a/docs/sample-custom-modules/sample-unitary-module/README.md b/samples/sample-custom-modules/sample-unitary-module/README.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/README.md rename to samples/sample-custom-modules/sample-unitary-module/README.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml b/samples/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml rename to samples/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/instructions.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/instructions.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/instructions.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/instructions.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md similarity index 97% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md index 65db8645..b6f8be22 100644 --- a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +++ b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md @@ -49,7 +49,8 @@ - @/tools/cli/lib/xml-handler.js - XML processing - @/tools/cli/lib/yaml-format.js - YAML formatting - @/tools/cli/lib/file-ops.js - File operations -- @/tools/cli/lib/agent/yaml-xml-builder.js - Agent YAML to XML compilation +- @/tools/cli/lib/agent/compiler.js - Agent YAML to XML compilation +- @/tools/cli/lib/agent/installer.js - Agent installation - @/tools/cli/lib/agent/template-engine.js - Template processing ## IDE Handler Registry (16 IDEs) diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/memories.md b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/memories.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/memories.md rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/memories.md diff --git a/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml b/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml rename to samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith.agent.yaml diff --git a/docs/sample-custom-modules/sample-unitary-module/module.yaml b/samples/sample-custom-modules/sample-unitary-module/module.yaml similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/module.yaml rename to samples/sample-custom-modules/sample-unitary-module/module.yaml diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/templates/csv-headers.template b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/templates/csv-headers.template similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/templates/csv-headers.template rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/templates/csv-headers.template diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md b/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md diff --git a/docs/sample-custom-modules/sample-unitary-module/workflows/wassup/workflow.md b/samples/sample-custom-modules/sample-unitary-module/workflows/wassup/workflow.md similarity index 100% rename from docs/sample-custom-modules/sample-unitary-module/workflows/wassup/workflow.md rename to samples/sample-custom-modules/sample-unitary-module/workflows/wassup/workflow.md diff --git a/docs/sample-custom-modules/sample-wellness-module/README.md b/samples/sample-custom-modules/sample-wellness-module/README.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/README.md rename to samples/sample-custom-modules/sample-wellness-module/README.md diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml b/samples/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml rename to samples/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/foo.md b/samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/foo.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/foo.md rename to samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/foo.md diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/addition1.md b/samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/addition1.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/addition1.md rename to samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/addition1.md diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/insights.md b/samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/insights.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/insights.md rename to samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/insights.md diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/instructions.md b/samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/instructions.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/instructions.md rename to samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/instructions.md diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/memories.md b/samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/memories.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/memories.md rename to samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/memories.md diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/patterns.md b/samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/patterns.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/patterns.md rename to samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion-sidecar/patterns.md diff --git a/docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion.agent.yaml b/samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion.agent.yaml similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion.agent.yaml rename to samples/sample-custom-modules/sample-wellness-module/agents/wellness-companion/wellness-companion.agent.yaml diff --git a/docs/sample-custom-modules/sample-wellness-module/module.yaml b/samples/sample-custom-modules/sample-wellness-module/module.yaml similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/module.yaml rename to samples/sample-custom-modules/sample-wellness-module/module.yaml diff --git a/docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/README.md b/samples/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/README.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/README.md rename to samples/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/README.md diff --git a/docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/workflow.md b/samples/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/workflow.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/workflow.md rename to samples/sample-custom-modules/sample-wellness-module/workflows/daily-checkin/workflow.md diff --git a/docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/README.md b/samples/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/README.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/README.md rename to samples/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/README.md diff --git a/docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/workflow.md b/samples/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/workflow.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/workflow.md rename to samples/sample-custom-modules/sample-wellness-module/workflows/guided-meditation/workflow.md diff --git a/docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/README.md b/samples/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/README.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/README.md rename to samples/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/README.md diff --git a/docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/workflow.md b/samples/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/workflow.md similarity index 100% rename from docs/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/workflow.md rename to samples/sample-custom-modules/sample-wellness-module/workflows/wellness-journal/workflow.md diff --git a/src/core/agents/bmad-master.agent.yaml b/src/core/agents/bmad-master.agent.yaml index 1405d339..a7338d49 100644 --- a/src/core/agents/bmad-master.agent.yaml +++ b/src/core/agents/bmad-master.agent.yaml @@ -21,18 +21,14 @@ agent: - "ALWAYS communicate in {communication_language}" menu: - - trigger: "CH or fuzzy match on chat" - action: "agent responds as expert based on its persona to converse" - description: "[CH] Chat with the BMad Master" - - - trigger: "LT or list-tasks or fuzzy match on list tasks" + - trigger: "list-tasks" action: "list all tasks from {project-root}/_bmad/_config/task-manifest.csv" - description: "[LT] List Available Tasks" + description: "List Available Tasks" - - trigger: "LW or list-workflows or fuzzy match on list workflows" + - trigger: "list-workflows" action: "list all workflows from {project-root}/_bmad/_config/workflow-manifest.csv" - description: "[LW] List Workflows" + description: "List Workflows" - - trigger: "PS or party-mode or fuzzy match on party mode" + - trigger: "party-mode" exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Group chat with all agents" + description: "Group chat with all agents" diff --git a/src/modules/bmb/README.md b/src/modules/bmb/README.md new file mode 100644 index 00000000..b32d657c --- /dev/null +++ b/src/modules/bmb/README.md @@ -0,0 +1,25 @@ +# BMB - BMad Builder Module + +Specialized tools and workflows for creating, customizing, and extending BMad components including agents, workflows, and complete modules. + +## Overview + +BMB provides a complete toolkit for extending BMad Method with disciplined, systematic approaches to agent and workflow development while maintaining framework consistency and power. + +**1 Master Builder Agent** | **5 Creation Workflows** | **3 Agent Architectures** + +## Documentation + +For complete documentation, architecture guides, and reference materials: + +**[→ BMB Documentation](./docs/index.md)** + +## Quick Links + +- [Agent Creation Guide](./docs/agents/index.md) - Build custom agents +- [Workflow Architecture](./docs/workflows/index.md) - Design workflows +- [Reference Examples](./reference/) - Working examples and templates + +--- + +Part of [BMad Method](https://github.com/bmadcode/bmad-method) v6.0 diff --git a/src/modules/bmb/agents/agent-builder.agent.yaml b/src/modules/bmb/agents/agent-builder.agent.yaml deleted file mode 100644 index afe514f9..00000000 --- a/src/modules/bmb/agents/agent-builder.agent.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Agent Building Expert Agent Definition -# Specialized in creating, editing, and validating BMAD agents with best practices - -agent: - webskip: true - metadata: - id: "_bmad/bmb/agents/agent-building-expert.md" - name: Bond - title: Agent Building Expert - icon: 🤖 - module: bmb - - persona: - role: Agent Architecture Specialist + BMAD Compliance Expert - identity: Master agent architect with deep expertise in agent design patterns, persona development, and BMAD Core compliance. Specializes in creating robust, maintainable agents that follow best practices. - communication_style: "Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references." - principles: | - - Every agent must follow BMAD Core standards and best practices - - Personas drive agent behavior - make them specific and authentic - - Menu structure must be consistent across all agents - - Validate compliance before finalizing any agent - - Load resources at runtime, never pre-load - - Focus on practical implementation and real-world usage - - discussion: true - conversational_knowledge: - - agents: "{project-root}/_bmad/bmb/docs/agents/kb.csv" - - menu: - - trigger: CA or create-agent or fuzzy match on create agent - exec: "{project-root}/_bmad/bmb/workflows/create-agent/workflow.md" - description: "[CA] Create a new BMAD agent with best practices and compliance" - - - trigger: EA or edit-agent or fuzzy match on edit agent - exec: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.md" - description: "[EA] Edit existing BMAD agents while maintaining compliance" diff --git a/src/modules/bmb/agents/bmad-builder.agent.yaml b/src/modules/bmb/agents/bmad-builder.agent.yaml new file mode 100644 index 00000000..52189df1 --- /dev/null +++ b/src/modules/bmb/agents/bmad-builder.agent.yaml @@ -0,0 +1,94 @@ +# BMad Builder Agent Definition +# Master BMad Module Agent Team and Workflow Builder and Maintainer + +agent: + webskip: true + metadata: + id: "_bmad/bmb/agents/bmad-builder.md" + name: BMad Builder + title: BMad Builder + icon: 🧙 + module: bmb + + persona: + role: Generalist Builder and BMAD System Maintainer + identity: A hands-on builder who gets things done efficiently and maintains the entire BMAD ecosystem + communication_style: Direct, action-oriented, and encouraging with a can-do attitude + principles: + - Execute resources directly without hesitation + - Load resources at runtime never pre-load + - Always present numbered lists for clear choices + - Focus on practical implementation and results + - Maintain system-wide coherence and standards + - Balance speed with quality and compliance + + discussion: true + conversational_knowledge: + - agents: "{project-root}/_bmad/bmb/docs/agents/kb.csv" + - workflows: "{project-root}/_bmad/bmb/docs/workflows/kb.csv" + - modules: "{project-root}/_bmad/bmb/docs/modules/kb.csv" + + menu: + - multi: "[CA] Create, [EA] Edit, or [VA] Validate with Compliance CheckBMAD agents with best practices" + triggers: + - create-agent: + - input: CA or fuzzy match create agent + - route: "{project-root}/_bmad/bmb/workflows/create-agent/workflow.md" + - data: null + - type: exec + - edit-agent: + - input: EA or fuzzy match edit agent + - route: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.md" + - data: null + - type: exec + - run-agent-compliance-check: + - input: VA or fuzzy match validate agent + - route: "{project-root}/_bmad/bmb/workflows/agent-compliance-check/workflow.md" + - data: null + - type: exec + + - multi: "[CW] Create, [EW] Edit, or [VW] Validate with Compliance CheckBMAD workflows with best practices" + triggers: + - create-workflow: + - input: CW or fuzzy match create workflow + - route: "{project-root}/_bmad/bmb/workflows/create-workflow/workflow.md" + - data: null + - type: exec + - edit-workflow: + - input: EW or fuzzy match edit workflow + - route: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.md" + - data: null + - type: exec + - run-workflow-compliance-check: + - input: VW or fuzzy match validate workflow + - route: "{project-root}/_bmad/bmb/workflows/workflow-compliance-check/workflow.md" + - data: null + - type: exec + + - multi: "[BM] Brainstorm, [PBM] Product Brief, [CM] Create, [EM] Edit or [VM] Validate with Compliance Check BMAD modules with best practices" + triggers: + - brainstorm-module: + - input: BM or fuzzy match brainstorm module + - route: "{project-root}/_bmad/bmb/workflows/brainstorm-module/workflow.md" + - data: null + - type: exec + - product-brief-module: + - input: PBM or fuzzy match product brief module + - route: "{project-root}/_bmad/bmb/workflows/product-brief-module/workflow.md" + - data: null + - type: exec + - create-module: + - input: CM or fuzzy match create module + - route: "{project-root}/_bmad/bmb/workflows/create-module/workflow.md" + - data: null + - type: exec + - edit-module: + - input: EM or fuzzy match edit module + - route: "{project-root}/_bmad/bmb/workflows/edit-module/workflow.md" + - data: null + - type: exec + - run-module-compliance-check: + - input: VM or fuzzy match validate module + - route: "{project-root}/_bmad/bmb/workflows/module-compliance-check/workflow.md" + - data: null + - type: exec diff --git a/src/modules/bmb/agents/module-builder.agent.yaml b/src/modules/bmb/agents/module-builder.agent.yaml deleted file mode 100644 index 4797867c..00000000 --- a/src/modules/bmb/agents/module-builder.agent.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# Module Creation Master Agent Definition -# Specialized in creating, editing, and validating complete BMAD modules with best practices - -agent: - webskip: true - metadata: - id: "_bmad/bmb/agents/module-creation-master.md" - name: Morgan - title: Module Creation Master - icon: 🏗️ - module: bmb - - persona: - role: Module Architecture Specialist + Full-Stack Systems Designer - identity: Expert module architect with comprehensive knowledge of BMAD Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality. - communication_style: "Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability." - principles: | - - Modules must be self-contained yet integrate seamlessly - - Every module should solve specific business problems effectively - - Documentation and examples are as important as code - - Plan for growth and evolution from day one - - Balance innovation with proven patterns - - Consider the entire module lifecycle from creation to maintenance - - discussion: true - conversational_knowledge: - - modules: "{project-root}/_bmad/bmb/docs/modules/kb.csv" - - menu: - - trigger: BM or brainstorm-module or fuzzy match on brainstorm module - exec: "{project-root}/_bmad/bmb/workflows/brainstorm-module/workflow.md" - description: "[BM] Brainstorm and conceptualize new BMAD modules" - - - trigger: PB or product-brief or fuzzy match on product brief module - exec: "{project-root}/_bmad/bmb/workflows/product-brief-module/workflow.md" - description: "[PB] Create product brief for BMAD module development" - - - trigger: CM or create-module or fuzzy match on create module - exec: "{project-root}/_bmad/bmb/workflows/create-module/workflow.md" - description: "[CM] Create a complete BMAD module with agents, workflows, and infrastructure" - - - trigger: EM or edit-module or fuzzy match on edit module - exec: "{project-root}/_bmad/bmb/workflows/edit-module/workflow.md" - description: "[EM] Edit existing BMAD modules while maintaining coherence" - - - trigger: VM or validate-module or fuzzy match on validate module - exec: "{project-root}/_bmad/bmb/workflows/module-compliance-check/workflow.md" - description: "[VM] Run compliance check on BMAD modules against best practices" diff --git a/src/modules/bmb/agents/workflow-builder.agent.yaml b/src/modules/bmb/agents/workflow-builder.agent.yaml deleted file mode 100644 index b2151aab..00000000 --- a/src/modules/bmb/agents/workflow-builder.agent.yaml +++ /dev/null @@ -1,40 +0,0 @@ -# Workflow Building Master Agent Definition -# Specialized in creating, editing, and validating BMAD workflows with best practices - -agent: - webskip: true - metadata: - id: "_bmad/bmb/agents/workflow-building-master.md" - name: Wendy - title: Workflow Building Master - icon: 🔄 - module: bmb - - persona: - role: Workflow Architecture Specialist + Process Design Expert - identity: Master workflow architect with expertise in process design, state management, and workflow optimization. Specializes in creating efficient, scalable workflows that integrate seamlessly with BMAD systems. - communication_style: "Methodical and process-oriented, like a systems engineer. Focuses on flow, efficiency, and error handling. Uses workflow-specific terminology and thinks in terms of states, transitions, and data flow." - principles: | - - Workflows must be efficient, reliable, and maintainable - - Every workflow should have clear entry and exit points - - Error handling and edge cases are critical for robust workflows - - Workflow documentation must be comprehensive and clear - - Test workflows thoroughly before deployment - - Optimize for both performance and user experience - - discussion: true - conversational_knowledge: - - workflows: "{project-root}/_bmad/bmb/docs/workflows/kb.csv" - - menu: - - trigger: CW or create-workflow or fuzzy match on create workflow - exec: "{project-root}/_bmad/bmb/workflows/create-workflow/workflow.md" - description: "[CW] Create a new BMAD workflow with proper structure and best practices" - - # - trigger: EW or edit-workflow or fuzzy match on edit workflow - # exec: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.md" - # description: "[EW] Edit existing BMAD workflows while maintaining integrity" - - # - trigger: VW or validate-workflow or fuzzy match on validate workflow - # exec: "{project-root}/_bmad/bmb/workflows/workflow-compliance-check/workflow.md" - # description: "[VW] Run compliance check on BMAD workflows against best practices" diff --git a/src/modules/bmb/docs/agents/agent-compilation.md b/src/modules/bmb/docs/agents/agent-compilation.md index b960bb5f..32af63fd 100644 --- a/src/modules/bmb/docs/agents/agent-compilation.md +++ b/src/modules/bmb/docs/agents/agent-compilation.md @@ -8,7 +8,7 @@ What the compiler auto-injects. **DO NOT duplicate these in your YAML.** agent.yaml → Handlebars processing → XML generation → frontmatter.md ``` -Source: `tools/cli/lib/agent/yaml-xml-builder.js` +Source: `tools/cli/lib/agent/compiler.js` ## File Naming Convention diff --git a/src/modules/bmb/docs/agents/expert-agent-architecture.md b/src/modules/bmb/docs/agents/expert-agent-architecture.md index 84731543..ad50ca9d 100644 --- a/src/modules/bmb/docs/agents/expert-agent-architecture.md +++ b/src/modules/bmb/docs/agents/expert-agent-architecture.md @@ -223,7 +223,7 @@ Same as simple agents, PLUS: ## Reference Example -See: `bmb/reference/agents/expert-examples/journal-keeper/` +See: [journal-keeper/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/expert-examples/journal-keeper) Features demonstrated: diff --git a/src/modules/bmb/docs/agents/index.md b/src/modules/bmb/docs/agents/index.md index ac476161..8237aab8 100644 --- a/src/modules/bmb/docs/agents/index.md +++ b/src/modules/bmb/docs/agents/index.md @@ -9,7 +9,7 @@ Comprehensive guides for each agent type (choose based on use case): - [Understanding Agent Types](./understanding-agent-types.md) - **START HERE** - Architecture vs capability, "The Same Agent, Three Ways" - [Simple Agent Architecture](./simple-agent-architecture.md) - Self-contained, optimized, personality-driven - [Expert Agent Architecture](./expert-agent-architecture.md) - Memory, sidecar files, domain restrictions -- [Module Agent Architecture](./module-agent-architecture.md) - Workflow integration, professional tools +- Module Agent Architecture _(TODO)_ - Workflow integration, professional tools ## Agent Design Patterns @@ -18,20 +18,20 @@ Comprehensive guides for each agent type (choose based on use case): ## Reference Examples -Production-ready examples in `/bmb/reference/agents/`: +Production-ready examples in [bmb/reference/agents/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents): -**Simple Agents** (`simple-examples/`) +**Simple Agents** ([simple-examples/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/simple-examples)) -- `commit-poet.agent.yaml` - Commit message artisan with style customization +- [commit-poet.agent.yaml](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml) - Commit message artisan with style customization -**Expert Agents** (`expert-examples/`) +**Expert Agents** ([expert-examples/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/expert-examples)) -- `journal-keeper/` - Personal journal companion with memory and pattern recognition +- [journal-keeper/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/expert-examples/journal-keeper) - Personal journal companion with memory and pattern recognition -**Module Agents** (`module-examples/`) +**Module Agents** ([module-examples/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/module-examples)) -- `security-engineer.agent.yaml` - BMM security specialist with threat modeling -- `trend-analyst.agent.yaml` - CIS trend intelligence expert +- [security-engineer.agent.yaml](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml) - BMM security specialist with threat modeling +- [trend-analyst.agent.yaml](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml) - CIS trend intelligence expert ## Installation Guide @@ -52,4 +52,4 @@ Agents are authored in YAML with Handlebars templating. The compiler auto-inject **Critical:** See [Agent Compilation](./agent-compilation.md) to avoid duplicating auto-injected content. -Source: `tools/cli/lib/agent/yaml-xml-builder.js` +Source: `tools/cli/lib/agent/compiler.js` diff --git a/src/modules/bmb/docs/agents/simple-agent-architecture.md b/src/modules/bmb/docs/agents/simple-agent-architecture.md index d7f35f44..b1ae901b 100644 --- a/src/modules/bmb/docs/agents/simple-agent-architecture.md +++ b/src/modules/bmb/docs/agents/simple-agent-architecture.md @@ -178,7 +178,7 @@ Content when false ## What Gets Injected at Compile Time -The `tools/cli/lib/agent/yaml-xml-builder.js` automatically adds: +The `tools/cli/lib/agent/compiler.js` automatically adds: 1. **YAML Frontmatter** @@ -206,7 +206,7 @@ The `tools/cli/lib/agent/yaml-xml-builder.js` automatically adds: ## Reference Example -See: `../../reference/agents/simple-examples/commit-poet.agent.yaml` +See: [commit-poet.agent.yaml](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml) Features demonstrated: diff --git a/src/modules/bmb/docs/README.md b/src/modules/bmb/docs/index.md similarity index 77% rename from src/modules/bmb/docs/README.md rename to src/modules/bmb/docs/index.md index f0fa192b..7826d159 100644 --- a/src/modules/bmb/docs/README.md +++ b/src/modules/bmb/docs/index.md @@ -16,7 +16,9 @@ Specialized tools and workflows for creating, customizing, and extending BMad co ### 🤖 Agents -There is a dedicated Agent expert, a Workflow Expert, and a Module Expert agent available! +**BMad Builder** - Master builder agent orchestrating all creation workflows with deep knowledge of BMad architecture and conventions. + +- Install Location: `_bmad/bmb/agents/bmad-builder.md` ### 📚 Documentation @@ -42,33 +44,33 @@ There is a dedicated Agent expert, a Workflow Expert, and a Module Expert agent - **[Workflow Index](./workflows/index.md)** - Core workflow system overview - **[Architecture Guide](./workflows/architecture.md)** - Step-file design and JIT loading -- **[Template System](./workflows/templates/step-template.md)** - Standard step file template +- **Template System** _(TODO)_ - Standard step file template - **[Intent vs Prescriptive](./workflows/intent-vs-prescriptive-spectrum.md)** - Design philosophy ## Reference Materials ### 🤖 Agent Examples -- **[Simple Agent Example](../reference/agents/simple-examples/commit-poet.agent.yaml)** - Self-contained agent -- **[Expert Agent Example](../reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml)** - Agent with persistent memory -- **[Module Add On Agent Examples](../reference/agents/module-examples/security-engineer.agent.yaml)** - Integration patterns (BMM, CIS) +- **[Simple Agent Example](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml)** - Self-contained agent +- **[Expert Agent Example](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml)** - Agent with persistent memory +- **[Module Add On Agent Examples](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml)** - Integration patterns (BMM, CIS) ### 📋 Workflow Examples -- **[Meal Prep & Nutrition](./reference/workflows/meal-prep-nutrition/)** - Complete step-file workflow demonstration +- **[Meal Prep & Nutrition](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/workflows/meal-prep-nutrition)** - Complete step-file workflow demonstration - **Template patterns** for document generation and state management ## Core Workflows ### Creation Workflows (Step-File Architecture) -**[create-agent](./workflows/create-agent/)** - Build BMad agents +**create-agent** _(TODO)_ - Build BMad agents - 11 guided steps from brainstorming to celebration - 18 reference data files with validation checklists - Template-based agent generation -**[create-workflow](./workflows/create-workflow/)** - Design workflows +**create-workflow** _(TODO)_ - Design workflows - 12 structured steps from init to review - 9 template files for workflow creation @@ -76,13 +78,13 @@ There is a dedicated Agent expert, a Workflow Expert, and a Module Expert agent ### Editing Workflows -**[edit-agent](./workflows/edit-agent/)** - Modify existing agents +**edit-agent** _(TODO)_ - Modify existing agents - 5 steps: discovery → validation - Intent-driven analysis and updates - Best practice compliance -**[edit-workflow](./workflows/edit-workflow/)** - Update workflows +**edit-workflow** _(TODO)_ - Update workflows - 5 steps: analyze → compliance check - Structure maintenance and validation @@ -90,7 +92,7 @@ There is a dedicated Agent expert, a Workflow Expert, and a Module Expert agent ### Quality Assurance -**[workflow-compliance-check](./workflows/workflow-compliance-check/)** - Validation +**workflow-compliance-check** _(TODO)_ - Validation - 8 systematic validation steps - Adversarial analysis approach @@ -131,12 +133,21 @@ BMB creates three agent architectures: ## Quick Start -### Using BMad Builder Agents +### Using BMad Builder Agent -1. **Load BMad Builder agents** in your IDE: +1. **Load BMad Builder agent** in your IDE: ``` - /bmad:bmb:agents:agent-builder|module-builder|workflow-builder + /bmad:bmb:agents:bmad-builder ``` +2. **Choose creation type:** + - `[CA]` Create Agent - Build new agents + - `[CW]` Create Workflow - Design workflows + - `[EA]` Edit Agent - Modify existing agents + - `[EW]` Edit Workflow - Update workflows + - `[VA]` Validate Agent - Quality check agents + - `[VW]` Validate Workflow - Quality check workflows + +3. **Follow interactive prompts** for step-by-step guidance ### Example: Creating an Agent diff --git a/src/modules/bmb/docs/workflows/index.md b/src/modules/bmb/docs/workflows/index.md index 6d4c4aa5..ecc13bbf 100644 --- a/src/modules/bmb/docs/workflows/index.md +++ b/src/modules/bmb/docs/workflows/index.md @@ -12,27 +12,27 @@ Essential terminology and concepts for understanding BMAD workflows. The micro-file architecture, JIT step loading, state management, and collaboration patterns that make BMAD workflows optimal for AI execution. -### [Writing Workflows](./writing-workflows.md) +### Writing Workflows _(TODO)_ Complete guide to creating workflows: workflow.md control files, step files, CSV data integration, and frontmatter design. -### [Step Files & Dialog Patterns](./step-files.md) +### Step Files & Dialog Patterns _(TODO)_ Crafting effective step files: structure, execution rules, prescriptive vs intent-based dialog, and validation patterns. -### [Templates & Content Generation](./templates.md) +### Templates & Content Generation _(TODO)_ Creating append-only templates, frontmatter design, conditional content, and dynamic content generation strategies. -### [Workflow Patterns](./patterns.md) +### Workflow Patterns _(TODO)_ Common workflow types: linear, conditional, protocol integration, multi-agent workflows, and real-world examples. -### [Migration Guide](./migration.md) +### Migration Guide _(TODO)_ Converting from XML-heavy workflows to the new pure markdown format, with before/after examples and checklist. -### [Best Practices & Reference](./best-practices.md) +### Best Practices & Reference _(TODO)_ Critical rules, anti-patterns, performance optimization, debugging, quick reference templates, and troubleshooting. diff --git a/src/modules/bmb/docs/workflows/templates/step-template.md b/src/modules/bmb/docs/workflows/templates/step-template.md index 5c4c8578..e5a1784c 100644 --- a/src/modules/bmb/docs/workflows/templates/step-template.md +++ b/src/modules/bmb/docs/workflows/templates/step-template.md @@ -243,7 +243,7 @@ Display: "**Select an Option:** [A] [Continue to Step Foo] [A] [Continue to Step ### Initialization Step Example -See [step-01-init.md](../reference/workflows/meal-prep-nutrition/steps/step-01-init.md) for an example of: +See [step-01-init.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md) for an example of: - Detecting existing workflow state and short circuit to 1b - Creating output documents from templates @@ -252,7 +252,7 @@ See [step-01-init.md](../reference/workflows/meal-prep-nutrition/steps/step-01-i ### Continuation Step Example -See [step-01b-continue.md](../reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md) for an example of: +See [step-01b-continue.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md) for an example of: - Handling already-in-progress workflows - Detecting completion status @@ -261,7 +261,7 @@ See [step-01b-continue.md](../reference/workflows/meal-prep-nutrition/steps/step ### Standard Step with Menu Example -See [step-02-profile.md](../reference/workflows/meal-prep-nutrition/steps/step-02-profile.md) for an example of: +See [step-02-profile.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md) for an example of: - Presenting a menu with A/P/C options - Forcing halt until user selects 'C' (Continue) @@ -271,7 +271,7 @@ See [step-02-profile.md](../reference/workflows/meal-prep-nutrition/steps/step-0 ### Final Step Example -See [step-06-prep-schedule.md](../reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md) for an example of: +See [step-06-prep-schedule.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md) for an example of: - Completing workflow deliverables - Marking workflow as complete in frontmatter diff --git a/src/modules/bmb/workflows-legacy/edit-module/README.md b/src/modules/bmb/workflows-legacy/edit-module/README.md index 649b6b50..d14308cb 100644 --- a/src/modules/bmb/workflows-legacy/edit-module/README.md +++ b/src/modules/bmb/workflows-legacy/edit-module/README.md @@ -154,7 +154,7 @@ Workflow: Analyzes BMM → You choose option 8 (add new workflow) ## Activation -Invoke via BMad Module Builder agent: +Invoke via BMad Builder agent: ``` /bmad:bmb:agents:bmad-builder diff --git a/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md b/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md index d7f35f44..e68a3c56 100644 --- a/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md +++ b/src/modules/bmb/workflows/create-agent/templates/simple-agent.template.md @@ -178,7 +178,7 @@ Content when false ## What Gets Injected at Compile Time -The `tools/cli/lib/agent/yaml-xml-builder.js` automatically adds: +The `tools/cli/lib/agent/compiler.js` automatically adds: 1. **YAML Frontmatter** diff --git a/src/modules/bmgd/agents/game-architect.agent.yaml b/src/modules/bmgd/agents/game-architect.agent.yaml index 38ca1fa3..3b28024d 100644 --- a/src/modules/bmgd/agents/game-architect.agent.yaml +++ b/src/modules/bmgd/agents/game-architect.agent.yaml @@ -25,27 +25,28 @@ agent: - "Always document performance budgets and critical path decisions" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + description: Get workflow status or initialize a workflow if not already done - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Game Architect" - - - trigger: GA or game-architecture or fuzzy match on game architecture + - trigger: create-architecture exec: "{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture/workflow.md" - description: "[GA] Produce a Scale Adaptive Game Architecture" + description: Produce a Scale Adaptive Game Architecture - - trigger: PC or project-context or fuzzy match on project context + - trigger: generate-project-context exec: "{project-root}/_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md" - description: "[PC] Create optimized project-context.md for AI agent consistency" + description: Create optimized project-context.md for AI agent consistency - - trigger: CC or correct-course or fuzzy match on correct course + - trigger: correct-course workflow: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml" - description: "[CC] Course Correction Analysis (when implementation is off-track)" + description: Course Correction Analysis (when implementation is off-track) ide-only: true - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmgd/agents/game-designer.agent.yaml b/src/modules/bmgd/agents/game-designer.agent.yaml index a56cf8a2..6f6b02dc 100644 --- a/src/modules/bmgd/agents/game-designer.agent.yaml +++ b/src/modules/bmgd/agents/game-designer.agent.yaml @@ -22,35 +22,39 @@ agent: - "When creating GDDs, always validate against game pillars and core loop" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + description: Get workflow status or initialize a workflow if not already done - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Game Designer" + - multi: "[BG] Brainstorm Game, [GB] Create Game Brief, [GDD] Create GDD, [ND] Narrative Design" + triggers: + - brainstorm-game: + - input: BG or fuzzy match brainstorm game + - route: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md" + - type: exec + - create-game-brief: + - input: GB or fuzzy match create game brief + - route: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md" + - type: exec + - create-gdd: + - input: GDD or fuzzy match create gdd + - route: "{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.md" + - type: exec + - narrative: + - input: ND or fuzzy match narrative design + - route: "{project-root}/_bmad/bmgd/workflows/2-design/narrative/workflow.md" + - type: exec - - trigger: BG or brainstorm-game or fuzzy match on brainstorm game - exec: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md" - description: "[BG] Brainstorm Game ideas and concepts" - - - trigger: GB or game-brief or fuzzy match on game brief - exec: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md" - description: "[GB] Create a Game Brief document" - - - trigger: GDD or create-gdd or fuzzy match on gdd - exec: "{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.md" - description: "[GDD] Create a Game Design Document" - - - trigger: ND or narrative-design or fuzzy match on narrative design - exec: "{project-root}/_bmad/bmgd/workflows/2-design/narrative/workflow.md" - description: "[ND] Design narrative elements and story" - - - trigger: QP or quick-prototype or fuzzy match on quick prototype + - trigger: quick-prototype workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" - description: "[QP] Rapid game prototyping - test mechanics and ideas quickly" + description: Rapid game prototyping - test mechanics and ideas quickly ide-only: true - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmgd/agents/game-dev.agent.yaml b/src/modules/bmgd/agents/game-dev.agent.yaml index 68a613b7..381aef21 100644 --- a/src/modules/bmgd/agents/game-dev.agent.yaml +++ b/src/modules/bmgd/agents/game-dev.agent.yaml @@ -24,37 +24,33 @@ agent: - "Always check for performance implications on game loop code" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or check current sprint progress (optional)" + description: Get workflow status or check current sprint progress - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Game Developer" - - - trigger: DS or dev-story or fuzzy match on dev story + - trigger: dev-story workflow: "{project-root}/_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml" - description: "[DS] Execute Dev Story workflow, implementing tasks and tests" + description: Execute Dev Story workflow, implementing tasks and tests - - trigger: CR or code-review or fuzzy match on code review + - trigger: code-review workflow: "{project-root}/_bmad/bmgd/workflows/4-production/code-review/workflow.yaml" - description: "[CR] Perform a thorough clean context QA code review on a story flagged Ready for Review" + description: Perform a thorough clean context QA code review on a story flagged Ready for Review - - trigger: QD or quick-dev or fuzzy match on quick dev + - trigger: quick-dev workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" - description: "[QD] Flexible game development - implement features with game-specific considerations" + description: Flexible game development - implement features with game-specific considerations ide-only: true - - trigger: QP or quick-prototype or fuzzy match on quick prototype + - trigger: quick-prototype workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" - description: "[QP] Rapid game prototyping - test mechanics and ideas quickly" + description: Rapid game prototyping - test mechanics and ideas quickly ide-only: true - - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" - web-only: true - - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmgd/agents/game-qa.agent.yaml b/src/modules/bmgd/agents/game-qa.agent.yaml index ae273a5c..1c8dc595 100644 --- a/src/modules/bmgd/agents/game-qa.agent.yaml +++ b/src/modules/bmgd/agents/game-qa.agent.yaml @@ -26,43 +26,39 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or check current project state (optional)" + description: Get workflow status or check current project state - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Game QA Architect" - - - trigger: TF or test-framework or fuzzy match on test framework + - trigger: test-framework workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml" - description: "[TF] Initialize game test framework (Unity/Unreal/Godot)" + description: Initialize game test framework (Unity/Unreal/Godot) - - trigger: TD or test-design or fuzzy match on test design + - trigger: test-design workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-design/workflow.yaml" - description: "[TD] Create comprehensive game test scenarios" + description: Create comprehensive game test scenarios - - trigger: TA or test-automate or fuzzy match on test automate + - trigger: automate workflow: "{project-root}/_bmad/bmgd/workflows/gametest/automate/workflow.yaml" - description: "[TA] Generate automated game tests" + description: Generate automated game tests - - trigger: PP or playtest-plan or fuzzy match on playtest plan + - trigger: playtest-plan workflow: "{project-root}/_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml" - description: "[PP] Create structured playtesting plan" + description: Create structured playtesting plan - - trigger: PT or performance-test or fuzzy match on performance test + - trigger: performance-test workflow: "{project-root}/_bmad/bmgd/workflows/gametest/performance/workflow.yaml" - description: "[PT] Design performance testing strategy" + description: Design performance testing strategy - - trigger: TR or test-review or fuzzy match on test review + - trigger: test-review workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-review/workflow.yaml" - description: "[TR] Review test quality and coverage" + description: Review test quality and coverage - - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" - web-only: true - - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmgd/agents/game-scrum-master.agent.yaml b/src/modules/bmgd/agents/game-scrum-master.agent.yaml index f4588996..39c41004 100644 --- a/src/modules/bmgd/agents/game-scrum-master.agent.yaml +++ b/src/modules/bmgd/agents/game-scrum-master.agent.yaml @@ -24,44 +24,40 @@ agent: - "Generate complete story drafts from existing documentation without additional elicitation" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + description: Get workflow status or initialize a workflow if not already done - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Game Dev Scrum Master" - - - trigger: SP or sprint-planning or fuzzy match on sprint planning + - trigger: sprint-planning workflow: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml" - description: "[SP] Generate or update sprint-status.yaml from epic files (Required after GDD+Epics are created)" + description: Generate or update sprint-status.yaml from epic files (Required after GDD+Epics are created) - - trigger: SS or sprint-status or fuzzy match on sprint status + - trigger: sprint-status workflow: "{project-root}/_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml" - description: "[SS] View sprint progress, surface risks, and get next action recommendation" + description: View sprint progress, surface risks, and get next action recommendation - - trigger: CS or create-story or fuzzy match on create story + - trigger: create-story workflow: "{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml" - description: "[CS] Create Story with direct ready-for-dev marking (Required to prepare stories for development)" + description: Create Story with direct ready-for-dev marking (Required to prepare stories for development) - - trigger: VS or validate-story or fuzzy match on validate story + - trigger: validate-create-story validate-workflow: "{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml" - description: "[VS] Validate Story Draft with Independent Review (Highly Recommended)" + description: Validate Story Draft with Independent Review (Highly Recommended) - - trigger: ER or epic-retrospective or fuzzy match on epic retrospective + - trigger: epic-retrospective workflow: "{project-root}/_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml" data: "{project-root}/_bmad/_config/agent-manifest.csv" - description: "[ER] Facilitate team retrospective after a game development epic is completed" + description: Facilitate team retrospective after a game development epic is completed - - trigger: CC or correct-course or fuzzy match on correct course + - trigger: correct-course workflow: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml" - description: "[CC] Navigate significant changes during game dev sprint (When implementation is off-track)" + description: Navigate significant changes during game dev sprint (When implementation is off-track) - - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" - web-only: true - - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmgd/agents/game-solo-dev.agent.yaml b/src/modules/bmgd/agents/game-solo-dev.agent.yaml index 0c3a1ace..1b63be37 100644 --- a/src/modules/bmgd/agents/game-solo-dev.agent.yaml +++ b/src/modules/bmgd/agents/game-solo-dev.agent.yaml @@ -22,39 +22,35 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or check current project state (optional)" + description: Get workflow status or check current project state - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Game Solo Dev" - - - trigger: QP or quick-prototype or fuzzy match on quick prototype + - trigger: quick-prototype workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml" - description: "[QP] Rapid prototype to test if the mechanic is fun (Start here for new ideas)" + description: Rapid prototype to test if the mechanic is fun (Start here for new ideas) - - trigger: QD or quick-dev or fuzzy match on quick dev + - trigger: quick-dev workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml" - description: "[QD] Implement features end-to-end solo with game-specific considerations" + description: Implement features end-to-end solo with game-specific considerations - - trigger: TS or tech-spec or fuzzy match on tech spec + - trigger: create-tech-spec workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml" - description: "[TS] Architect a technical spec with implementation-ready stories" + description: Architect a technical spec with implementation-ready stories - - trigger: CR or code-review or fuzzy match on code review + - trigger: code-review workflow: "{project-root}/_bmad/bmgd/workflows/4-production/code-review/workflow.yaml" - description: "[CR] Review code quality (use fresh context for best results)" + description: Review code quality (use fresh context for best results) - - trigger: TF or test-framework or fuzzy match on test framework + - trigger: test-framework workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml" - description: "[TF] Set up automated testing for your game engine" + description: Set up automated testing for your game engine - - trigger: AE or advanced-elicitation or fuzzy match on advanced elicitation - exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" - description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results" - web-only: true - - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring in other experts when specialized backup is needed" + description: Bring in other experts when specialized backup is needed + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmgd/docs/README.md b/src/modules/bmgd/docs/index.md similarity index 97% rename from src/modules/bmgd/docs/README.md rename to src/modules/bmgd/docs/index.md index d5f89c31..06ddba4b 100644 --- a/src/modules/bmgd/docs/README.md +++ b/src/modules/bmgd/docs/index.md @@ -163,8 +163,8 @@ BMGD Documentation ### Related Documentation -- **[BMM Documentation](../../bmm/docs/README.md)** - Core BMad Method documentation -- **[IDE Setup Guides](../../../../docs/ide-info/)** - Configure your development environment +- **[BMM Documentation](../../bmm/docs/index.md)** - Core BMad Method documentation +- **[IDE Guides](../../ide-info/)** - Configure your development environment --- diff --git a/src/modules/bmm/README.md b/src/modules/bmm/README.md index 39b6b5a7..0992fdd0 100644 --- a/src/modules/bmm/README.md +++ b/src/modules/bmm/README.md @@ -6,7 +6,7 @@ Core orchestration system for AI-driven agile development, providing comprehensi ## 📚 Complete Documentation -👉 **[BMM Documentation Hub](./docs/README.md)** - Start here for complete guides, tutorials, and references +👉 **[BMM Documentation Hub](./docs/index.md)** - Start here for complete guides, tutorials, and references **Quick Links:** @@ -48,7 +48,7 @@ bmm/ **Phase 3:** Solutioning (required) - 3 workflows **Phase 4:** Implementation (iterative) - 7 workflows -👉 **[Workflow Guides](./docs/README.md#-workflow-guides)** - Detailed documentation for each phase +👉 **[Workflow Guides](./docs/index.md#-workflow-guides)** - Detailed documentation for each phase --- diff --git a/src/modules/bmm/agents/analyst.agent.yaml b/src/modules/bmm/agents/analyst.agent.yaml index cc280cf1..9a1add04 100644 --- a/src/modules/bmm/agents/analyst.agent.yaml +++ b/src/modules/bmm/agents/analyst.agent.yaml @@ -18,31 +18,35 @@ agent: - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md` menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + description: Get workflow status or initialize a workflow if not already done (optional) - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Business Analyst" - - - trigger: BP or brainstorm-project or fuzzy match on brainstorm + - trigger: brainstorm-project exec: "{project-root}/_bmad/core/workflows/brainstorming/workflow.md" data: "{project-root}/_bmad/bmm/data/project-context-template.md" - description: "[BP] Guided Project Brainstorming session with final report (optional)" + description: Guided Project Brainstorming session with final report (optional) - - trigger: RS or research or fuzzy match on research + - trigger: research exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow.md" - description: "[RS] Guided Research scoped to market, domain, competitive analysis, or technical research (optional)" + description: Guided Research scoped to market, domain, competitive analysis, or technical research (optional) - - trigger: PB or product-brief or fuzzy match on product brief + - trigger: product-brief exec: "{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md" - description: "[PB] Create a Product Brief (recommended input for PRD)" + description: Create a Product Brief (recommended input for PRD) - - trigger: DP or document-project or fuzzy match on document project + - trigger: document-project workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml" - description: "[DP] Document your existing project (optional, but recommended for existing brownfield project efforts)" + description: Document your existing project (optional, but recommended for existing brownfield project efforts) - - trigger: PS or party-mode or fuzzy match on party mode - exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + - multi: "[SPM] Start Party Mode (optionally suggest attendees and topic), [CH] Chat" + triggers: + - party-mode: + - input: SPM or fuzzy match start party mode + - route: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" + - data: what is being discussed or suggested with the command, along with custom party custom agents if specified + - type: exec + - expert-chat: + - input: CH or fuzzy match validate agent + - action: agent responds as expert based on its persona to converse + - type: action diff --git a/src/modules/bmm/agents/architect.agent.yaml b/src/modules/bmm/agents/architect.agent.yaml index 07f8604d..2265f35d 100644 --- a/src/modules/bmm/agents/architect.agent.yaml +++ b/src/modules/bmm/agents/architect.agent.yaml @@ -18,22 +18,31 @@ agent: - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md` menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + description: Get workflow status or initialize a workflow if not already done (optional) - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Architect Agent" - - - trigger: CA or create-architecture or fuzzy match on create architecture + - trigger: create-architecture exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md" - description: "[CA] Create an Architecture Document" + description: Create an Architecture Document to Guide Development of a PRD (required for BMad Method projects) - - trigger: IR or implementation-readiness or fuzzy match on implementation readiness + - trigger: implementation-readiness exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md" - description: "[IR] Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development)" + description: Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development) - - trigger: PS or party-mode or fuzzy match on party mode start + - trigger: create-excalidraw-diagram + workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml" + description: Create system architecture or technical diagram (Excalidraw) (Use any time you need a diagram) + + - trigger: create-excalidraw-dataflow + workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml" + description: Create data flow diagram (Excalidraw) (Use any time you need a diagram) + + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmm/agents/dev.agent.yaml b/src/modules/bmm/agents/dev.agent.yaml index fbc5505c..82bc9116 100644 --- a/src/modules/bmm/agents/dev.agent.yaml +++ b/src/modules/bmm/agents/dev.agent.yaml @@ -35,14 +35,14 @@ agent: - "NEVER lie about tests being written or passing - tests must actually exist and pass 100%" menu: - - trigger: DS or dev-story or fuzzy match on dev story + - trigger: DS or dev-story or fuzzy match on dev-story workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml" description: "[DS] Execute Dev Story workflow (full BMM path with sprint-status)" - - trigger: CR or code-review or fuzzy match on code review + - trigger: CR or code-review or fuzzy match on code-review workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml" description: "[CR] Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)" - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: PM or party-mode or fuzzy match on party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: "[PM] Bring the whole team in to chat with other expert agents from the party" diff --git a/src/modules/bmm/agents/pm.agent.yaml b/src/modules/bmm/agents/pm.agent.yaml index 9dcf66e8..3cbcbae4 100644 --- a/src/modules/bmm/agents/pm.agent.yaml +++ b/src/modules/bmm/agents/pm.agent.yaml @@ -19,31 +19,32 @@ agent: - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md` menu: - - trigger: WS or workflow-status or fuzzy match on workflow status + - trigger: workflow-status workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" + description: Get workflow status or initialize a workflow if not already done (optional) - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Product Manager" - - - trigger: PR or prd or fuzzy match on prd + - trigger: create-prd exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md" - description: "[PR] Create Product Requirements Document (PRD) (Required for BMad Method flow)" + description: Create Product Requirements Document (PRD) (Required for BMad Method flow) - - trigger: ES or epics-stories or fuzzy match on epics and stories + - trigger: create-epics-and-stories exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md" - description: "[ES] Create Epics and User Stories from PRD (Required for BMad Method flow AFTER the Architecture is completed)" + description: Create Epics and User Stories from PRD (Required for BMad Method flow AFTER the Architecture is completed) - - trigger: IR or implementation-readiness or fuzzy match on implementation readiness + - trigger: implementation-readiness exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md" - description: "[IR] Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development)" + description: Validate PRD, UX, Architecture, Epics and stories aligned (Optional but recommended before development) - - trigger: CC or correct-course or fuzzy match on correct course + - trigger: correct-course workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - description: "[CC] Course Correction Analysis (optional during implementation when things go off track)" + description: Course Correction Analysis (optional during implementation when things go off track) ide-only: true - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml b/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml index 6c09fd79..34363f63 100644 --- a/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +++ b/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml @@ -18,14 +18,10 @@ agent: - If `**/project-context.md` exists, follow it. If absent, proceed without. menu: - - trigger: TS or tech-spec or fuzzy match on tech spec + - trigger: TS or tech-spec or fuzzy match on tech-spec workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml" description: "[TS] Architect a technical spec with implementation-ready stories (Required first step)" - - trigger: QD or quick-dev or fuzzy match on quick dev + - trigger: QD or quick-dev or fuzzy match on quick-dev workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml" description: "[QD] Implement the tech spec end-to-end solo (Core of Quick Flow)" - - - trigger: CR or code-review or fuzzy match on code review - workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml" - description: "[CR] Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)" diff --git a/src/modules/bmm/agents/sm.agent.yaml b/src/modules/bmm/agents/sm.agent.yaml index f4b7e2d2..64262df4 100644 --- a/src/modules/bmm/agents/sm.agent.yaml +++ b/src/modules/bmm/agents/sm.agent.yaml @@ -24,31 +24,35 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status - workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Scrum Master" - - - trigger: SP or sprint-planning or fuzzy match on sprint planning + - trigger: sprint-planning workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml" - description: "[SP] Generate or re-generate sprint-status.yaml from epic files (Required after Epics+Stories are created)" + description: Generate or re-generate sprint-status.yaml from epic files (Required after Epics+Stories are created) - - trigger: CS or create-story or fuzzy match on create story + - trigger: create-story workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml" - description: "[CS] Create Story (Required to prepare stories for development)" + description: Create Story (Required to prepare stories for development) - - trigger: ER or epic-retrospective or fuzzy match on epic retrospective + # TODO: validate-create-story is not yet implemented + # The validate-workflow: handler type is not recognized by the workflow engine + # See: https://github.com/bmad-code-org/BMAD-METHOD/issues/1075 + # - trigger: validate-create-story + # workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/create-story/validate-workflow.yaml" + # description: Validate Story (Highly Recommended, use fresh context and different LLM for best results) + + - trigger: epic-retrospective workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml" data: "{project-root}/_bmad/_config/agent-manifest.csv" - description: "[ER] Facilitate team retrospective after an epic is completed (Optional)" + description: Facilitate team retrospective after an epic is completed (Optional) - - trigger: CC or correct-course or fuzzy match on correct course + - trigger: correct-course workflow: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - description: "[CC] Execute correct-course task (When implementation is off-track)" + description: Execute correct-course task (When implementation is off-track) - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmm/agents/tea.agent.yaml b/src/modules/bmm/agents/tea.agent.yaml index 9e0c12cc..e5b3d7ce 100644 --- a/src/modules/bmm/agents/tea.agent.yaml +++ b/src/modules/bmm/agents/tea.agent.yaml @@ -28,46 +28,43 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status - workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Master Test Architect" - - - trigger: TF or test-framework or fuzzy match on test framework + - trigger: framework workflow: "{project-root}/_bmad/bmm/workflows/testarch/framework/workflow.yaml" - description: "[TF] Initialize production-ready test framework architecture" + description: Initialize production-ready test framework architecture - - trigger: AT or atdd or fuzzy match on atdd + - trigger: atdd workflow: "{project-root}/_bmad/bmm/workflows/testarch/atdd/workflow.yaml" - description: "[AT] Generate E2E tests first, before starting implementation" + description: Generate E2E tests first, before starting implementation - - trigger: TA or test-automate or fuzzy match on test automate + - trigger: automate workflow: "{project-root}/_bmad/bmm/workflows/testarch/automate/workflow.yaml" - description: "[TA] Generate comprehensive test automation" + description: Generate comprehensive test automation - - trigger: TD or test-design or fuzzy match on test design + - trigger: test-design workflow: "{project-root}/_bmad/bmm/workflows/testarch/test-design/workflow.yaml" - description: "[TD] Create comprehensive test scenarios" + description: Create comprehensive test scenarios - - trigger: TR or test-trace or fuzzy match on test trace + - trigger: trace workflow: "{project-root}/_bmad/bmm/workflows/testarch/trace/workflow.yaml" - description: "[TR] Map requirements to tests (Phase 1) and make quality gate decision (Phase 2)" + description: Map requirements to tests (Phase 1) and make quality gate decision (Phase 2) - - trigger: NR or nfr-assess or fuzzy match on nfr assess + - trigger: nfr-assess workflow: "{project-root}/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml" - description: "[NR] Validate non-functional requirements" + description: Validate non-functional requirements - - trigger: CI or ci or fuzzy match on ci + - trigger: ci workflow: "{project-root}/_bmad/bmm/workflows/testarch/ci/workflow.yaml" - description: "[CI] Scaffold CI/CD quality pipeline" + description: Scaffold CI/CD quality pipeline - - trigger: RV or test-review or fuzzy match on test review + - trigger: test-review workflow: "{project-root}/_bmad/bmm/workflows/testarch/test-review/workflow.yaml" - description: "[RV] Review test quality using comprehensive knowledge base and best practices" + description: Review test quality using comprehensive knowledge base and best practices - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmm/agents/tech-writer.agent.yaml b/src/modules/bmm/agents/tech-writer.agent.yaml index 650a3b3c..48b68e83 100644 --- a/src/modules/bmm/agents/tech-writer.agent.yaml +++ b/src/modules/bmm/agents/tech-writer.agent.yaml @@ -21,42 +21,47 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status - workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Technical Writer" - - - trigger: DP or document-project or fuzzy match on document project + - trigger: document-project workflow: "{project-root}/_bmad/bmm/workflows/document-project/workflow.yaml" - description: "[DP] Comprehensive project documentation (brownfield analysis, architecture scanning)" + description: Comprehensive project documentation (brownfield analysis, architecture scanning) - - trigger: MG or mermaid-gen or fuzzy match on mermaid + - trigger: generate-mermaid action: "Create a Mermaid diagram based on user description. Ask for diagram type (flowchart, sequence, class, ER, state, git) and content, then generate properly formatted Mermaid syntax following CommonMark fenced code block standards." - description: "[MG] Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state)" + description: Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state) - - trigger: EF or excalidraw-flowchart or fuzzy match on excalidraw flowchart + - trigger: create-excalidraw-flowchart workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml" - description: "[EF] Create Excalidraw flowchart for processes and logic flows" + description: Create Excalidraw flowchart for processes and logic flows - - trigger: ED or excalidraw-diagram or fuzzy match on excalidraw diagram + - trigger: create-excalidraw-diagram workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml" - description: "[ED] Create Excalidraw system architecture or technical diagram" + description: Create Excalidraw system architecture or technical diagram - - trigger: DF or dataflow or fuzzy match on dataflow + - trigger: create-excalidraw-dataflow workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml" - description: "[DF] Create Excalidraw data flow diagram" + description: Create Excalidraw data flow diagram - - trigger: VD or validate-doc or fuzzy match on validate doc + - trigger: validate-doc action: "Review the specified document against CommonMark standards, technical writing best practices, and style guide compliance. Provide specific, actionable improvement suggestions organized by priority." - description: "[VD] Validate documentation against standards and best practices" + description: Validate documentation against standards and best practices - - trigger: EC or explain-concept or fuzzy match on explain concept + - trigger: improve-readme + action: "Analyze the current README file and suggest improvements for clarity, completeness, and structure. Follow task-oriented writing principles and ensure all essential sections are present (Overview, Getting Started, Usage, Contributing, License)." + description: Review and improve README files + + - trigger: explain-concept action: "Create a clear technical explanation with examples and diagrams for a complex concept. Break it down into digestible sections using task-oriented approach. Include code examples and Mermaid diagrams where helpful." - description: "[EC] Create clear technical explanations with examples" + description: Create clear technical explanations with examples - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: standards-guide + action: "Display the complete documentation standards from {project-root}/_bmad/bmm/data/documentation-standards.md in a clear, formatted way for the user." + description: Show BMAD documentation standards reference (CommonMark, Mermaid, OpenAPI) + + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmm/agents/ux-designer.agent.yaml b/src/modules/bmm/agents/ux-designer.agent.yaml index 94ce1b26..2bf7a844 100644 --- a/src/modules/bmm/agents/ux-designer.agent.yaml +++ b/src/modules/bmm/agents/ux-designer.agent.yaml @@ -23,22 +23,26 @@ agent: - "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`" menu: - - trigger: WS or workflow-status or fuzzy match on workflow status - workflow: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml" - description: "[WS] Get workflow status or initialize a workflow if not already done (optional)" - - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the UX Designer" - - - trigger: UX or ux-design or fuzzy match on ux design + - trigger: create-ux-design exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md" - description: "[UX] Generate a UX Design and UI Plan from a PRD (Recommended before creating Architecture)" + description: Generate a UX Design and UI Plan from a PRD (Recommended before creating Architecture) - - trigger: XW or wireframe or fuzzy match on wireframe + # TODO: validate-design is not yet implemented + # The validate-workflow: handler type is not recognized by the workflow engine + # See: https://github.com/bmad-code-org/BMAD-METHOD/issues/1075 + # - trigger: validate-design + # workflow: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/validate-workflow.yaml" + # description: Validate UX Specification and Design Artifacts + + - trigger: create-excalidraw-wireframe workflow: "{project-root}/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml" - description: "[XW] Create website or app wireframe (Excalidraw)" + description: Create website or app wireframe (Excalidraw) - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Bring the whole team in to chat with other expert agents from the party" + description: Bring the whole team in to chat with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/bmm/docs/brownfield-guide.md b/src/modules/bmm/docs/brownfield-guide.md index 6f6f661c..b75d506b 100644 --- a/src/modules/bmm/docs/brownfield-guide.md +++ b/src/modules/bmm/docs/brownfield-guide.md @@ -726,7 +726,7 @@ flowchart TD - **[Glossary](./glossary.md)** - Key terminology - **[FAQ](./faq.md)** - Common questions - **[Troubleshooting](./troubleshooting.md)** - Problem resolution -- **[Workflow Documentation](./README.md#-workflow-guides)** - Complete workflow reference +- **[Workflow Documentation](./index.md#-workflow-guides)** - Complete workflow reference --- diff --git a/src/modules/bmm/docs/enterprise-agentic-development.md b/src/modules/bmm/docs/enterprise-agentic-development.md index ca2e5388..f12a3ec1 100644 --- a/src/modules/bmm/docs/enterprise-agentic-development.md +++ b/src/modules/bmm/docs/enterprise-agentic-development.md @@ -678,7 +678,7 @@ PMs write BMad PRDs → Stories auto-fed to cloud AI agents → Parallel impleme - [FAQ](./faq.md) - Common questions - [Scale Adaptive System](./scale-adaptive-system.md) - Project levels explained - [Quick Start Guide](./quick-start.md) - Getting started -- [Workflow Documentation](./README.md#-workflow-guides) - Complete workflow reference +- [Workflow Documentation](./index.md#-workflow-guides) - Complete workflow reference - [Agents Guide](./agents-guide.md) - Understanding BMad agents --- diff --git a/src/modules/bmm/docs/faq.md b/src/modules/bmm/docs/faq.md new file mode 100644 index 00000000..f9d9365d --- /dev/null +++ b/src/modules/bmm/docs/faq.md @@ -0,0 +1,542 @@ +# BMM Frequently Asked Questions + +Quick answers to common questions about the BMad Method Module. + +--- + +## Table of Contents + +- [Getting Started](#getting-started) +- [Choosing the Right Level](#choosing-the-right-level) +- [Workflows and Phases](#workflows-and-phases) +- [Planning Documents](#planning-documents) +- [Implementation](#implementation) +- [Brownfield Development](#brownfield-development) +- [Tools and Technical](#tools-and-technical) + +--- + +## Getting Started + +### Q: Do I always need to run workflow-init? + +**A:** No, once you learn the flow you can go directly to workflows. However, workflow-init is helpful because it: + +- Determines your project's appropriate level automatically +- Creates the tracking status file +- Routes you to the correct starting workflow + +For experienced users: use the [Quick Reference](./quick-start.md#quick-reference-agent-document-mapping) to go directly to the right agent/workflow. + +### Q: Why do I need fresh chats for each workflow? + +**A:** Context-intensive workflows (like brainstorming, PRD creation, architecture design) can cause AI hallucinations if run in sequence within the same chat. Starting fresh ensures the agent has maximum context capacity for each workflow. This is particularly important for: + +- Planning workflows (PRD, architecture) +- Analysis workflows (brainstorming, research) +- Complex story implementation + +Quick workflows like status checks can reuse chats safely. + +### Q: Can I skip workflow-status and just start working? + +**A:** Yes, if you already know your project level and which workflow comes next. workflow-status is mainly useful for: + +- New projects (guides initial setup) +- When you're unsure what to do next +- After breaks in work (reminds you where you left off) +- Checking overall progress + +### Q: What's the minimum I need to get started? + +**A:** For the fastest path: + +1. Install BMad Method: `npx bmad-method@alpha install` +2. For small changes: Load PM agent → run tech-spec → implement +3. For larger projects: Load PM agent → run prd → architect → implement + +### Q: How do I know if I'm in Phase 1, 2, 3, or 4? + +**A:** Check your `bmm-workflow-status.md` file (created by workflow-init). It shows your current phase and progress. If you don't have this file, you can also tell by what you're working on: + +- **Phase 1** - Brainstorming, research, product brief (optional) +- **Phase 2** - Creating either a PRD or tech-spec (always required) +- **Phase 3** - Architecture design (Level 2-4 only) +- **Phase 4** - Actually writing code, implementing stories + +--- + +## Choosing the Right Level + +### Q: How do I know which level my project is? + +**A:** Use workflow-init for automatic detection, or self-assess using these keywords: + +- **Level 0:** "fix", "bug", "typo", "small change", "patch" → 1 story +- **Level 1:** "simple", "basic", "small feature", "add" → 2-10 stories +- **Level 2:** "dashboard", "several features", "admin panel" → 5-15 stories +- **Level 3:** "platform", "integration", "complex", "system" → 12-40 stories +- **Level 4:** "enterprise", "multi-tenant", "multiple products" → 40+ stories + +When in doubt, start smaller. You can always run create-prd later if needed. + +### Q: Can I change levels mid-project? + +**A:** Yes! If you started at Level 1 but realize it's Level 2, you can run create-prd to add proper planning docs. The system is flexible - your initial level choice isn't permanent. + +### Q: What if workflow-init suggests the wrong level? + +**A:** You can override it! workflow-init suggests a level but always asks for confirmation. If you disagree, just say so and choose the level you think is appropriate. Trust your judgment. + +### Q: Do I always need architecture for Level 2? + +**A:** No, architecture is **optional** for Level 2. Only create architecture if you need system-level design. Many Level 2 projects work fine with just PRD created during planning. + +### Q: What's the difference between Level 1 and Level 2? + +**A:** + +- **Level 1:** 1-10 stories, uses tech-spec (simpler, faster), no architecture +- **Level 2:** 5-15 stories, uses PRD (product-focused), optional architecture + +The overlap (5-10 stories) is intentional. Choose based on: + +- Need product-level planning? → Level 2 +- Just need technical plan? → Level 1 +- Multiple epics? → Level 2 +- Single epic? → Level 1 + +--- + +## Workflows and Phases + +### Q: What's the difference between workflow-status and workflow-init? + +**A:** + +- **workflow-status:** Checks existing status and tells you what's next (use when continuing work) +- **workflow-init:** Creates new status file and sets up project (use when starting new project) + +If status file exists, use workflow-status. If not, use workflow-init. + +### Q: Can I skip Phase 1 (Analysis)? + +**A:** Yes! Phase 1 is optional for all levels, though recommended for complex projects. Skip if: + +- Requirements are clear +- No research needed +- Time-sensitive work +- Small changes (Level 0-1) + +### Q: When is Phase 3 (Architecture) required? + +**A:** + +- **Level 0-1:** Never (skip entirely) +- **Level 2:** Optional (only if system design needed) +- **Level 3-4:** Required (comprehensive architecture mandatory) + +### Q: What happens if I skip a recommended workflow? + +**A:** Nothing breaks! Workflows are guidance, not enforcement. However, skipping recommended workflows (like architecture for Level 3) may cause: + +- Integration issues during implementation +- Rework due to poor planning +- Conflicting design decisions +- Longer development time overall + +### Q: How do I know when Phase 3 is complete and I can start Phase 4? + +**A:** For Level 3-4, run the implementation-readiness workflow. It validates PRD + Architecture + Epics + UX (optional) are aligned before implementation. Pass the gate check = ready for Phase 4. + +### Q: Can I run workflows in parallel or do they have to be sequential? + +**A:** Most workflows must be sequential within a phase: + +- Phase 1: brainstorm → research → product-brief (optional order) +- Phase 2: PRD must complete before moving forward +- Phase 3: architecture → epics+stories → implementation-readiness (sequential) +- Phase 4: Stories within an epic should generally be sequential, but stories in different epics can be parallel if you have capacity + +--- + +## Planning Documents + +### Q: Why no tech-spec at Level 2+? + +**A:** Level 2+ projects need product-level planning (PRD) and system-level design (Architecture), which tech-spec doesn't provide. Tech-spec is too narrow for coordinating multiple features. Instead, Level 2-4 uses: + +- PRD (product vision, functional requirements, non-functional requirements) +- Architecture (system design) +- Epics+Stories (created AFTER architecture is complete) + +### Q: Do I need a PRD for a bug fix? + +**A:** No! Bug fixes are typically Level 0 (single atomic change). Use Quick Spec Flow: + +- Load PM agent +- Run tech-spec workflow +- Implement immediately + +PRDs are for Level 2-4 projects with multiple features requiring product-level coordination. + +### Q: Can I skip the product brief? + +**A:** Yes, product brief is always optional. It's most valuable for: + +- Level 3-4 projects needing strategic direction +- Projects with stakeholders requiring alignment +- Novel products needing market research +- When you want to explore solution space before committing + +--- + +## Implementation + +### Q: Does create-story include implementation context? + +**A:** Yes! The create-story workflow generates story files that include implementation-specific guidance, references existing patterns from your documentation, and provides technical context. The workflow loads your architecture, PRD, and existing project documentation to create comprehensive stories. For Quick Flow projects using tech-spec, the tech-spec itself is already comprehensive, so stories can be simpler. + +### Q: How do I mark a story as done? + +**A:** After dev-story completes and code-review passes: + +1. Open `sprint-status.yaml` (created by sprint-planning) +2. Change the story status from `review` to `done` +3. Save the file + +### Q: Can I work on multiple stories at once? + +**A:** Yes, if you have capacity! Stories within different epics can be worked in parallel. However, stories within the same epic are usually sequential because they build on each other. + +### Q: What if my story takes longer than estimated? + +**A:** That's normal! Stories are estimates. If implementation reveals more complexity: + +1. Continue working until DoD is met +2. Consider if story should be split +3. Document learnings in retrospective +4. Adjust future estimates based on this learning + +### Q: When should I run retrospective? + +**A:** After completing all stories in an epic (when epic is done). Retrospectives capture: + +- What went well +- What could improve +- Technical insights +- Learnings for future epics + +Don't wait until project end - run after each epic for continuous improvement. + +--- + +## Brownfield Development + +### Q: What is brownfield vs greenfield? + +**A:** + +- **Greenfield:** New project, starting from scratch, clean slate +- **Brownfield:** Existing project, working with established codebase and patterns + +### Q: Do I have to run document-project for brownfield? + +**A:** Highly recommended, especially if: + +- No existing documentation +- Documentation is outdated +- AI agents need context about existing code +- Level 2-4 complexity + +You can skip it if you have comprehensive, up-to-date documentation including `docs/index.md`. + +### Q: What if I forget to run document-project on brownfield? + +**A:** Workflows will lack context about existing code. You may get: + +- Suggestions that don't match existing patterns +- Integration approaches that miss existing APIs +- Architecture that conflicts with current structure + +Run document-project and restart planning with proper context. + +### Q: Can I use Quick Spec Flow for brownfield projects? + +**A:** Yes! Quick Spec Flow works great for brownfield. It will: + +- Auto-detect your existing stack +- Analyze brownfield code patterns +- Detect conventions and ask for confirmation +- Generate context-rich tech-spec that respects existing code + +Perfect for bug fixes and small features in existing codebases. + +### Q: How does workflow-init handle brownfield with old planning docs? + +**A:** workflow-init asks about YOUR current work first, then uses old artifacts as context: + +1. Shows what it found (old PRD, epics, etc.) +2. Asks: "Is this work in progress, previous effort, or proposed work?" +3. If previous effort: Asks you to describe your NEW work +4. Determines level based on YOUR work, not old artifacts + +This prevents old Level 3 PRDs from forcing Level 3 workflow for new Level 0 bug fix. + +### Q: What if my existing code doesn't follow best practices? + +**A:** Quick Spec Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide: + +- **Yes** → Maintain consistency with current codebase +- **No** → Establish new standards (document why in tech-spec) + +BMM respects your choice - it won't force modernization, but it will offer it. + +--- + +## Tools and Technical + +### Q: Why are my Mermaid diagrams not rendering? + +**A:** Common issues: + +1. Missing language tag: Use ` ```mermaid` not just ` ``` ` +2. Syntax errors in diagram (validate at mermaid.live) +3. Tool doesn't support Mermaid (check your Markdown renderer) + +All BMM docs use valid Mermaid syntax that should render in GitHub, VS Code, and most IDEs. + +### Q: Can I use BMM with GitHub Copilot / Cursor / other AI tools? + +**A:** Yes! BMM is complementary. BMM handles: + +- Project planning and structure +- Workflow orchestration +- Agent Personas and expertise +- Documentation generation +- Quality gates + +Your AI coding assistant handles: + +- Line-by-line code completion +- Quick refactoring +- Test generation + +Use them together for best results. + +### Q: What IDEs/tools support BMM? + +**A:** BMM requires tools with **agent mode** and access to **high-quality LLM models** that can load and follow complex workflows, then properly implement code changes. + +**Recommended Tools:** + +- **Claude Code** ⭐ **Best choice** + - Sonnet 4.5 (excellent workflow following, coding, reasoning) + - Opus (maximum context, complex planning) + - Native agent mode designed for BMM workflows + +- **Cursor** + - Supports Anthropic (Claude) and OpenAI models + - Agent mode with composer + - Good for developers who prefer Cursor's UX + +- **Windsurf** + - Multi-model support + - Agent capabilities + - Suitable for BMM workflows + +**What Matters:** + +1. **Agent mode** - Can load long workflow instructions and maintain context +2. **High-quality LLM** - Models ranked high on SWE-bench (coding benchmarks) +3. **Model selection** - Access to Claude Sonnet 4.5, Opus, or GPT-4o class models +4. **Context capacity** - Can handle large planning documents and codebases + +**Why model quality matters:** BMM workflows require LLMs that can follow multi-step processes, maintain context across phases, and implement code that adheres to specifications. Tools with weaker models will struggle with workflow adherence and code quality. + +See [IDE Setup Guides](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/docs/ide-info) for configuration specifics. + +### Q: Can I customize agents? + +**A:** Yes! Agents are installed as markdown files with XML-style content (optimized for LLMs, readable by any model). Create customization files in `_bmad/_config/agents/[agent-name].customize.yaml` to override default behaviors while keeping core functionality intact. See agent documentation for customization options. + +**Note:** While source agents in this repo are YAML, they install as `.md` files with XML-style tags - a format any LLM can read and follow. + +### Q: What happens to my planning docs after implementation? + +**A:** Keep them! They serve as: + +- Historical record of decisions +- Onboarding material for new team members +- Reference for future enhancements +- Audit trail for compliance + +For enterprise projects (Level 4), consider archiving completed planning artifacts to keep workspace clean. + +### Q: Can I use BMM for non-software projects? + +**A:** BMM is optimized for software development, but the methodology principles (scale-adaptive planning, just-in-time design, context injection) can apply to other complex project types. You'd need to adapt workflows and agents for your domain. + +--- + +## Advanced Questions + +### Q: What if my project grows from Level 1 to Level 3? + +**A:** Totally fine! When you realize scope has grown: + +1. Run create-prd to add product-level planning +2. Run create-architecture for system design +3. Use existing tech-spec as input for PRD +4. Continue with updated level + +The system is flexible - growth is expected. + +### Q: Can I mix greenfield and brownfield approaches? + +**A:** Yes! Common scenario: adding new greenfield feature to brownfield codebase. Approach: + +1. Run document-project for brownfield context +2. Use greenfield workflows for new feature planning +3. Explicitly document integration points between new and existing +4. Test integration thoroughly + +### Q: How do I handle urgent hotfixes during a sprint? + +**A:** Use correct-course workflow or just: + +1. Save your current work state +2. Load PM agent → quick tech-spec for hotfix +3. Implement hotfix (Level 0 flow) +4. Deploy hotfix +5. Return to original sprint work + +Level 0 Quick Spec Flow is perfect for urgent fixes. + +### Q: What if I disagree with the workflow's recommendations? + +**A:** Workflows are guidance, not enforcement. If a workflow recommends something that doesn't make sense for your context: + +- Explain your reasoning to the agent +- Ask for alternative approaches +- Skip the recommendation if you're confident +- Document why you deviated (for future reference) + +Trust your expertise - BMM supports your decisions. + +### Q: Can multiple developers work on the same BMM project? + +**A:** Yes! But the paradigm is fundamentally different from traditional agile teams. + +**Key Difference:** + +- **Traditional:** Multiple devs work on stories within one epic (months) +- **Agentic:** Each dev owns complete epics (days) + +**In traditional agile:** A team of 5 devs might spend 2-3 months on a single epic, with each dev owning different stories. + +**With BMM + AI agents:** A single dev can complete an entire epic in 1-3 days. What used to take months now takes days. + +**Team Work Distribution:** + +- **Recommended:** Split work by **epic** (not story) +- Each developer owns complete epics end-to-end +- Parallel work happens at epic level +- Minimal coordination needed + +**For full-stack apps:** + +- Frontend and backend can be separate epics (unusual in traditional agile) +- Frontend dev owns all frontend epics +- Backend dev owns all backend epics +- Works because delivery is so fast + +**Enterprise Considerations:** + +- Use **git submodules** for BMM installation (not .gitignore) +- Allows personal configurations without polluting main repo +- Teams may use different AI tools (Claude Code, Cursor, etc.) +- Developers may follow different methods or create custom agents/workflows + +**Quick Tips:** + +- Share `sprint-status.yaml` (single source of truth) +- Assign entire epics to developers (not individual stories) +- Coordinate at epic boundaries, not story level +- Use git submodules for BMM in enterprise settings + +**For comprehensive coverage of enterprise team collaboration, work distribution strategies, git submodule setup, and velocity expectations, see:** + +👉 **[Enterprise Agentic Development Guide](./enterprise-agentic-development.md)** + +### Q: What is party mode and when should I use it? + +**A:** Party mode is a unique multi-agent collaboration feature where ALL your installed agents (19+ from BMM, CIS, BMB, custom modules) discuss your challenges together in real-time. + +**How it works:** + +1. Run `/bmad:core:workflows:party-mode` (or `*party-mode` from any agent) +2. Introduce your topic +3. BMad Master selects 2-3 most relevant agents per message +4. Agents cross-talk, debate, and build on each other's ideas + +**Best for:** + +- Strategic decisions with trade-offs (architecture choices, tech stack, scope) +- Creative brainstorming (game design, product innovation, UX ideation) +- Cross-functional alignment (epic kickoffs, retrospectives, phase transitions) +- Complex problem-solving (multi-faceted challenges, risk assessment) + +**Example parties:** + +- **Product Strategy:** PM + Innovation Strategist (CIS) + Analyst +- **Technical Design:** Architect + Creative Problem Solver (CIS) + Game Architect +- **User Experience:** UX Designer + Design Thinking Coach (CIS) + Storyteller (CIS) + +**Why it's powerful:** + +- Diverse perspectives (technical, creative, strategic) +- Healthy debate reveals blind spots +- Emergent insights from agent interaction +- Natural collaboration across modules + +**For complete documentation:** + +👉 **[Party Mode Guide](./party-mode.md)** - How it works, when to use it, example compositions, best practices + +--- + +## Getting Help + +### Q: Where do I get help if my question isn't answered here? + +**A:** + +1. Search [Complete Documentation](./README.md) for related topics +2. Ask in [Discord Community](https://discord.gg/gk8jAdXWmj) (#general-dev) +3. Open a [GitHub Issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) +4. Watch [YouTube Tutorials](https://www.youtube.com/@BMadCode) + +### Q: How do I report a bug or request a feature? + +**A:** Open a GitHub issue at: + +Please include: + +- BMM version (check your installed version) +- Steps to reproduce (for bugs) +- Expected vs actual behavior +- Relevant workflow or agent involved + +--- + +## Related Documentation + +- [Quick Start Guide](./quick-start.md) - Get started with BMM +- [Glossary](./glossary.md) - Terminology reference +- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding levels +- [Brownfield Guide](./brownfield-guide.md) - Existing codebase workflows + +--- + +**Have a question not answered here?** Please [open an issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) or ask in [Discord](https://discord.gg/gk8jAdXWmj) so we can add it! diff --git a/src/modules/bmm/docs/glossary.md b/src/modules/bmm/docs/glossary.md new file mode 100644 index 00000000..d611b96c --- /dev/null +++ b/src/modules/bmm/docs/glossary.md @@ -0,0 +1,306 @@ +# BMM Glossary + +Comprehensive terminology reference for the BMad Method Module. + +--- + +## Navigation + +- [Core Concepts](#core-concepts) +- [Scale and Complexity](#scale-and-complexity) +- [Planning Documents](#planning-documents) +- [Workflow and Phases](#workflow-and-phases) +- [Agents and Roles](#agents-and-roles) +- [Status and Tracking](#status-and-tracking) +- [Project Types](#project-types) +- [Implementation Terms](#implementation-terms) + +--- + +## Core Concepts + +### BMM (BMad Method Module) + +Core orchestration system for AI-driven agile development, providing comprehensive lifecycle management through specialized agents and workflows. + +### BMad Method + +The complete methodology for AI-assisted software development, encompassing planning, architecture, implementation, and quality assurance workflows that adapt to project complexity. + +### Scale-Adaptive System + +BMad Method's intelligent workflow orchestration that automatically adjusts planning depth, documentation requirements, and implementation processes based on project needs through three distinct planning tracks (Quick Flow, BMad Method, Enterprise Method). + +### Agent + +A specialized AI persona with specific expertise (PM, Architect, SM, DEV, TEA) that guides users through workflows and creates deliverables. Agents have defined capabilities, communication styles, and workflow access. + +### Workflow + +A multi-step guided process that orchestrates AI agent activities to produce specific deliverables. Workflows are interactive and adapt to user context. + +--- + +## Scale and Complexity + +### Quick Flow Track + +Fast implementation track using tech-spec planning only. Best for bug fixes, small features, and changes with clear scope. Typical range: 1-15 stories. No architecture phase needed. Examples: bug fixes, OAuth login, search features. + +### BMad Method Track + +Full product planning track using PRD + Architecture + UX. Best for products, platforms, and complex features requiring system design. Typical range: 10-50+ stories. Examples: admin dashboards, e-commerce platforms, SaaS products. + +### Enterprise Method Track + +Extended enterprise planning track adding Security Architecture, DevOps Strategy, and Test Strategy to BMad Method. Best for enterprise requirements, compliance needs, and multi-tenant systems. Typical range: 30+ stories. Examples: multi-tenant platforms, compliance-driven systems, mission-critical applications. + +### Planning Track + +The methodology path (Quick Flow, BMad Method, or Enterprise Method) chosen for a project based on planning needs, complexity, and requirements rather than story count alone. + +**Note:** Story counts are guidance, not definitions. Tracks are determined by what planning the project needs, not story math. + +--- + +## Planning Documents + +### Tech-Spec (Technical Specification) + +**Quick Flow track only.** Comprehensive technical plan created upfront that serves as the primary planning document for small changes or features. Contains problem statement, solution approach, file-level changes, stack detection (brownfield), testing strategy, and developer resources. + +### PRD (Product Requirements Document) + +**BMad Method/Enterprise tracks.** Product-level planning document containing vision, goals, Functional Requirements (FRs), Non-Functional Requirements (NFRs), success criteria, and UX considerations. Replaces tech-spec for larger projects that need product planning. **V6 Note:** PRD focuses on WHAT to build (requirements). Epic+Stories are created separately AFTER architecture via create-epics-and-stories workflow. + +### Architecture Document + +**BMad Method/Enterprise tracks.** System-wide design document defining structure, components, interactions, data models, integration patterns, security, performance, and deployment. + +**Scale-Adaptive:** Architecture complexity scales with track - BMad Method is lightweight to moderate, Enterprise Method is comprehensive with security/devops/test strategies. + +### Epics + +High-level feature groupings that contain multiple related stories. Typically span 5-15 stories each and represent cohesive functionality (e.g., "User Authentication Epic"). + +### Product Brief + +Optional strategic planning document created in Phase 1 (Analysis) that captures product vision, market context, user needs, and high-level requirements before detailed planning. + +### GDD (Game Design Document) + +Game development equivalent of PRD, created by Game Designer agent for game projects. + +--- + +## Workflow and Phases + +### Phase 0: Documentation (Prerequisite) + +**Conditional phase for brownfield projects.** Creates comprehensive codebase documentation before planning. Only required if existing documentation is insufficient for AI agents. + +### Phase 1: Analysis (Optional) + +Discovery and research phase including brainstorming, research workflows, and product brief creation. Optional for Quick Flow, recommended for BMad Method, required for Enterprise Method. + +### Phase 2: Planning (Required) + +**Always required.** Creates formal requirements and work breakdown. Routes to tech-spec (Quick Flow) or PRD (BMad Method/Enterprise) based on selected track. + +### Phase 3: Solutioning (Track-Dependent) + +Architecture design phase. Required for BMad Method and Enterprise Method tracks. Includes architecture creation, validation, and gate checks. + +### Phase 4: Implementation (Required) + +Sprint-based development through story-by-story iteration. Uses sprint-planning, create-story, dev-story, code-review, and retrospective workflows. + +### Documentation (Prerequisite for Brownfield) + +**Conditional prerequisite for brownfield projects.** Creates comprehensive codebase documentation before planning. Only required if existing documentation is insufficient for AI agents. Uses the `document-project` workflow. + +### Quick Spec Flow + +Fast-track workflow system for Quick Flow track projects that goes straight from idea to tech-spec to implementation, bypassing heavy planning. Designed for bug fixes, small features, and rapid prototyping. + +--- + +## Agents and Roles + +### PM (Product Manager) + +Agent responsible for creating PRDs, tech-specs, and managing product requirements. Primary agent for Phase 2 planning. + +### Analyst (Business Analyst) + +Agent that initializes workflows, conducts research, creates product briefs, and tracks progress. Often the entry point for new projects. + +### Architect + +Agent that designs system architecture, creates architecture documents, performs technical reviews, and validates designs. Primary agent for Phase 3 solutioning. + +### SM (Scrum Master) + +Agent that manages sprints, creates stories, generates contexts, and coordinates implementation. Primary orchestrator for Phase 4 implementation. + +### DEV (Developer) + +Agent that implements stories, writes code, runs tests, and performs code reviews. Primary implementer in Phase 4. + +### TEA (Test Architect) + +Agent responsible for test strategy, quality gates, NFR assessment, and comprehensive quality assurance. Integrates throughout all phases. + +### Technical Writer + +Agent specialized in creating and maintaining high-quality technical documentation. Expert in documentation standards, information architecture, and professional technical writing. The agent's internal name is "paige" but is presented as "Technical Writer" to users. + +### UX Designer + +Agent that creates UX design documents, interaction patterns, and visual specifications for UI-heavy projects. + +### Game Designer + +Specialized agent for game development projects. Creates game design documents (GDD) and game-specific workflows. + +### BMad Master + +Meta-level orchestrator agent from BMad Core. Facilitates party mode, lists available tasks and workflows, and provides high-level guidance across all modules. + +### Party Mode + +Multi-agent collaboration feature where all installed agents (19+ from BMM, CIS, BMB, custom modules) discuss challenges together in real-time. BMad Master orchestrates, selecting 2-3 relevant agents per message for natural cross-talk and debate. Best for strategic decisions, creative brainstorming, cross-functional alignment, and complex problem-solving. See [Party Mode Guide](./party-mode.md). + +--- + +## Status and Tracking + +### bmm-workflow-status.yaml + +**Phases 1-3.** Tracking file that shows current phase, completed workflows, progress, and next recommended actions. Created by workflow-init, updated automatically. + +### sprint-status.yaml + +**Phase 4 only.** Single source of truth for implementation tracking. Contains all epics, stories, and retrospectives with current status for each. Created by sprint-planning, updated by agents. + +### Story Status Progression + +``` +backlog → ready-for-dev → in-progress → review → done +``` + +- **backlog** - Story exists in epic but not yet created +- **ready-for-dev** - Story file created via create-story; validation is optional (run `validate-create-story` for quality check before dev picks it up) +- **in-progress** - DEV is implementing via dev-story +- **review** - Implementation complete, awaiting code-review +- **done** - Completed with DoD met + +### Epic Status Progression + +``` +backlog → in-progress → done +``` + +- **backlog** - Epic not yet started +- **in-progress** - Epic actively being worked on +- **done** - All stories in epic completed + +### Retrospective + +Workflow run after completing each epic to capture learnings, identify improvements, and feed insights into next epic planning. Critical for continuous improvement. + +--- + +## Project Types + +### Greenfield + +New project starting from scratch with no existing codebase. Freedom to establish patterns, choose stack, and design from clean slate. + +### Brownfield + +Existing project with established codebase, patterns, and constraints. Requires understanding existing architecture, respecting established conventions, and planning integration with current systems. + +**Critical:** Brownfield projects should run document-project workflow BEFORE planning to ensure AI agents have adequate context about existing code. + +### document-project Workflow + +**Brownfield prerequisite.** Analyzes and documents existing codebase, creating comprehensive documentation including project overview, architecture analysis, source tree, API contracts, and data models. Three scan levels: quick, deep, exhaustive. + +--- + +## Implementation Terms + +### Story + +Single unit of implementable work with clear acceptance criteria, typically 2-8 hours of development effort. Stories are grouped into epics and tracked in sprint-status.yaml. + +### Story File + +Markdown file containing story details: description, acceptance criteria, technical notes, dependencies, implementation guidance, and testing requirements. + +### Story Context + +Implementation guidance embedded within story files during the create-story workflow. Provides implementation-specific context, references existing patterns, suggests approaches, and helps maintain consistency with established codebase conventions. + +### Sprint Planning + +Workflow that initializes Phase 4 implementation by creating sprint-status.yaml, extracting all epics/stories from planning docs, and setting up tracking infrastructure. + +### Gate Check + +Validation workflow (implementation-readiness) run before Phase 4 to ensure PRD + Architecture + Epics + UX (optional) are aligned with no gaps or contradictions. Required for BMad Method and Enterprise Method tracks. + +### DoD (Definition of Done) + +Criteria that must be met before marking a story as done. Typically includes: implementation complete, tests written and passing, code reviewed, documentation updated, and acceptance criteria validated. + +### Shard / Sharding + +**For runtime LLM optimization only (NOT human docs).** Splitting large planning documents (PRD, epics, architecture) into smaller section-based files to improve workflow efficiency. Phase 1-3 workflows load entire sharded documents transparently. Phase 4 workflows selectively load only needed sections for massive token savings. + +--- + +## Additional Terms + +### Workflow Status + +Universal entry point workflow that checks for existing status file, displays current phase/progress, and recommends next action based on project state. + +### Workflow Init + +Initialization workflow that creates bmm-workflow-status.yaml, detects greenfield vs brownfield, determines planning track, and sets up appropriate workflow path. + +### Track Selection + +Automatic analysis by workflow-init that uses keyword analysis, complexity indicators, and project requirements to suggest appropriate track (Quick Flow, BMad Method, or Enterprise Method). User can override suggested track. + +### Correct Course + +Workflow run during Phase 4 when significant changes or issues arise. Analyzes impact, proposes solutions, and routes to appropriate remediation workflows. + +### Migration Strategy + +Plan for handling changes to existing data, schemas, APIs, or patterns during brownfield development. Critical for ensuring backward compatibility and smooth rollout. + +### Feature Flags + +Implementation technique for brownfield projects that allows gradual rollout of new functionality, easy rollback, and A/B testing. Recommended for BMad Method and Enterprise brownfield changes. + +### Integration Points + +Specific locations where new code connects with existing systems. Must be documented explicitly in brownfield tech-specs and architectures. + +### Convention Detection + +Quick Spec Flow feature that automatically detects existing code style, naming conventions, patterns, and frameworks from brownfield codebases, then asks user to confirm before proceeding. + +--- + +## Related Documentation + +- [Quick Start Guide](./quick-start.md) - Learn BMM basics +- [Scale Adaptive System](./scale-adaptive-system.md) - Deep dive on tracks and complexity +- [Brownfield Guide](./brownfield-guide.md) - Working with existing codebases +- [Quick Spec Flow](./quick-spec-flow.md) - Fast-track for Quick Flow track +- [FAQ](./faq.md) - Common questions diff --git a/src/modules/bmm/docs/README.md b/src/modules/bmm/docs/index.md similarity index 100% rename from src/modules/bmm/docs/README.md rename to src/modules/bmm/docs/index.md diff --git a/src/modules/bmm/docs/party-mode.md b/src/modules/bmm/docs/party-mode.md index 3c70b392..287e5022 100644 --- a/src/modules/bmm/docs/party-mode.md +++ b/src/modules/bmm/docs/party-mode.md @@ -171,7 +171,7 @@ Party mode can include **19+ agents** from all installed modules: **CIS (5 agents):** Brainstorming Coach, Creative Problem Solver, Design Thinking Coach, Innovation Strategist, Storyteller -**BMB (3 agents):** Agent, Workflow, and Module Expert Agents +**BMB (1 agent):** BMad Builder **Core (1 agent):** BMad Master (orchestrator) diff --git a/src/modules/bmm/docs/quick-spec-flow.md b/src/modules/bmm/docs/quick-spec-flow.md index dd114e4e..96af1993 100644 --- a/src/modules/bmm/docs/quick-spec-flow.md +++ b/src/modules/bmm/docs/quick-spec-flow.md @@ -629,7 +629,7 @@ Quick Spec Flow is your **fast path from idea to implementation** for: ## Next Steps - **Try it now:** Load PM agent and describe a small change -- **Learn more:** See the [BMM Workflow Guides](./README.md#-workflow-guides) for comprehensive workflow documentation +- **Learn more:** See the [BMM Workflow Guides](./index.md#-workflow-guides) for comprehensive workflow documentation - **Need help deciding?** Run `workflow-init` to get a recommendation - **Have questions?** Join us on Discord: diff --git a/src/modules/bmm/docs/quick-start.md b/src/modules/bmm/docs/quick-start.md index c5698242..d32c1d7f 100644 --- a/src/modules/bmm/docs/quick-start.md +++ b/src/modules/bmm/docs/quick-start.md @@ -350,7 +350,7 @@ A: Yes, once you learn the flow. Use the Quick Reference in Step 2 to go directl - **During workflows**: Agents guide you with questions and explanations - **Community**: [Discord](https://discord.gg/gk8jAdXWmj) - #general-dev, #bugs-issues -- **Complete guide**: [BMM Workflow Documentation](./README.md#-workflow-guides) +- **Complete guide**: [BMM Workflow Documentation](./index.md#-workflow-guides) - **YouTube tutorials**: [BMad Code Channel](https://www.youtube.com/@BMadCode) --- diff --git a/src/modules/bmm/docs/scale-adaptive-system.md b/src/modules/bmm/docs/scale-adaptive-system.md index 946c6574..09b66048 100644 --- a/src/modules/bmm/docs/scale-adaptive-system.md +++ b/src/modules/bmm/docs/scale-adaptive-system.md @@ -611,7 +611,7 @@ Run `workflow-init` on existing projects to migrate to new tracking system. It d - **[Brownfield Guide](./brownfield-guide.md)** - Existing codebase workflows - **[Glossary](./glossary.md)** - Complete terminology - **[FAQ](./faq.md)** - Common questions -- **[Workflows Guide](./README.md#-workflow-guides)** - Complete workflow reference +- **[Workflows Guide](./index.md#-workflow-guides)** - Complete workflow reference --- diff --git a/src/modules/bmm/docs/test-architecture.md b/src/modules/bmm/docs/test-architecture.md index 3b653e35..9363e7a5 100644 --- a/src/modules/bmm/docs/test-architecture.md +++ b/src/modules/bmm/docs/test-architecture.md @@ -440,15 +440,15 @@ Provides fixture-based utilities that integrate into TEA's test generation and r

-| Command | Workflow README | Primary Outputs | Notes | With Playwright MCP Enhancements | -| -------------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| `*framework` | [📖](../workflows/testarch/framework/README.md) | Playwright/Cypress scaffold, `.env.example`, `.nvmrc`, sample specs | Use when no production-ready harness exists | - | -| `*ci` | [📖](../workflows/testarch/ci/README.md) | CI workflow, selective test scripts, secrets checklist | Platform-aware (GitHub Actions default) | - | -| `*test-design` | [📖](../workflows/testarch/test-design/README.md) | Combined risk assessment, mitigation plan, and coverage strategy | Risk scoring + optional exploratory mode | **+ Exploratory**: Interactive UI discovery with browser automation (uncover actual functionality) | -| `*atdd` | [📖](../workflows/testarch/atdd/README.md) | Failing acceptance tests + implementation checklist | TDD red phase + optional recording mode | **+ Recording**: AI generation verified with live browser (accurate selectors from real DOM) | -| `*automate` | [📖](../workflows/testarch/automate/README.md) | Prioritized specs, fixtures, README/script updates, DoD summary | Optional healing/recording, avoid duplicate coverage | **+ Healing**: Pattern fixes enhanced with visual debugging + **+ Recording**: AI verified with live browser | -| `*test-review` | [📖](../workflows/testarch/test-review/README.md) | Test quality review report with 0-100 score, violations, fixes | Reviews tests against knowledge base patterns | - | -| `*nfr-assess` | [📖](../workflows/testarch/nfr-assess/README.md) | NFR assessment report with actions | Focus on security/performance/reliability | - | -| `*trace` | [📖](../workflows/testarch/trace/README.md) | Phase 1: Coverage matrix, recommendations. Phase 2: Gate decision (PASS/CONCERNS/FAIL/WAIVED) | Two-phase workflow: traceability + gate decision | - | +| Command | Workflow README | Primary Outputs | Notes | With Playwright MCP Enhancements | +| -------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| `*framework` | [📖](../workflows/testarch/framework/instructions.md) | Playwright/Cypress scaffold, `.env.example`, `.nvmrc`, sample specs | Use when no production-ready harness exists | - | +| `*ci` | [📖](../workflows/testarch/ci/instructions.md) | CI workflow, selective test scripts, secrets checklist | Platform-aware (GitHub Actions default) | - | +| `*test-design` | [📖](../workflows/testarch/test-design/instructions.md) | Combined risk assessment, mitigation plan, and coverage strategy | Risk scoring + optional exploratory mode | **+ Exploratory**: Interactive UI discovery with browser automation (uncover actual functionality) | +| `*atdd` | [📖](../workflows/testarch/atdd/instructions.md) | Failing acceptance tests + implementation checklist | TDD red phase + optional recording mode | **+ Recording**: AI generation verified with live browser (accurate selectors from real DOM) | +| `*automate` | [📖](../workflows/testarch/automate/instructions.md) | Prioritized specs, fixtures, README/script updates, DoD summary | Optional healing/recording, avoid duplicate coverage | **+ Healing**: Pattern fixes enhanced with visual debugging + **+ Recording**: AI verified with live browser | +| `*test-review` | [📖](../workflows/testarch/test-review/instructions.md) | Test quality review report with 0-100 score, violations, fixes | Reviews tests against knowledge base patterns | - | +| `*nfr-assess` | [📖](../workflows/testarch/nfr-assess/instructions.md) | NFR assessment report with actions | Focus on security/performance/reliability | - | +| `*trace` | [📖](../workflows/testarch/trace/instructions.md) | Phase 1: Coverage matrix, recommendations. Phase 2: Gate decision (PASS/CONCERNS/FAIL/WAIVED) | Two-phase workflow: traceability + gate decision | - | **📖** = Click to view detailed workflow documentation diff --git a/src/modules/cis/agents/brainstorming-coach.agent.yaml b/src/modules/cis/agents/brainstorming-coach.agent.yaml index ba630080..fc2df635 100644 --- a/src/modules/cis/agents/brainstorming-coach.agent.yaml +++ b/src/modules/cis/agents/brainstorming-coach.agent.yaml @@ -15,14 +15,15 @@ agent: principles: Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools. menu: - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Elite Brainstorming Specialist" - - - trigger: BS or brainstorm or fuzzy match on brainstorm + - trigger: brainstorm workflow: "{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml" - description: "[BS] Guide me through Brainstorming any topic" + description: Guide me through Brainstorming any topic - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Consult with other expert agents from the party" + description: Consult with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/cis/agents/creative-problem-solver.agent.yaml b/src/modules/cis/agents/creative-problem-solver.agent.yaml index 5349efa3..9e30b37f 100644 --- a/src/modules/cis/agents/creative-problem-solver.agent.yaml +++ b/src/modules/cis/agents/creative-problem-solver.agent.yaml @@ -15,14 +15,15 @@ agent: principles: Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer. menu: - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Master Problem Solver" - - - trigger: SL or solve or fuzzy match on problem solve + - trigger: solve workflow: "{project-root}/_bmad/cis/workflows/problem-solving/workflow.yaml" - description: "[SL] Apply systematic problem-solving methodologies" + description: Apply systematic problem-solving methodologies - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Consult with other expert agents from the party" + description: Consult with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/cis/agents/design-thinking-coach.agent.yaml b/src/modules/cis/agents/design-thinking-coach.agent.yaml index 24970c12..ac2c37b7 100644 --- a/src/modules/cis/agents/design-thinking-coach.agent.yaml +++ b/src/modules/cis/agents/design-thinking-coach.agent.yaml @@ -15,14 +15,15 @@ agent: principles: Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them. menu: - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Design Thinking Maestro" - - - trigger: DT or design-thinking or fuzzy match on design thinking + - trigger: design workflow: "{project-root}/_bmad/cis/workflows/design-thinking/workflow.yaml" - description: "[DT] Guide human-centered design process" + description: Guide human-centered design process - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Consult with other expert agents from the party" + description: Consult with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/cis/agents/innovation-strategist.agent.yaml b/src/modules/cis/agents/innovation-strategist.agent.yaml index e401eaab..7684ce3a 100644 --- a/src/modules/cis/agents/innovation-strategist.agent.yaml +++ b/src/modules/cis/agents/innovation-strategist.agent.yaml @@ -15,14 +15,15 @@ agent: principles: Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete. menu: - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Disruptive Innovation Oracle" - - - trigger: IS or innovation-strategy or fuzzy match on innovation strategy + - trigger: innovate workflow: "{project-root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml" - description: "[IS] Identify disruption opportunities and business model innovation" + description: Identify disruption opportunities and business model innovation - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Consult with other expert agents from the party" + description: Consult with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/cis/agents/presentation-master.agent.yaml b/src/modules/cis/agents/presentation-master.agent.yaml index 6b4515a3..84e01bbd 100644 --- a/src/modules/cis/agents/presentation-master.agent.yaml +++ b/src/modules/cis/agents/presentation-master.agent.yaml @@ -23,38 +23,39 @@ agent: - Story structure applies everywhere - hook, build tension, deliver payoff menu: - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Visual Communication Expert" - - - trigger: SD or slide-deck or fuzzy match on slide deck + - trigger: slide-deck workflow: "todo" - description: "[SD] Create multi-slide presentation with professional layouts and visual hierarchy" + description: Create multi-slide presentation with professional layouts and visual hierarchy - - trigger: EX or explainer or fuzzy match on explainer + - trigger: explainer workflow: "todo" - description: "[EX] Design YouTube/video explainer layout with visual script and engagement hooks" + description: Design YouTube/video explainer layout with visual script and engagement hooks - - trigger: PD or pitch-deck or fuzzy match on pitch deck + - trigger: pitch-deck workflow: "todo" - description: "[PD] Craft investor pitch presentation with data visualization and narrative arc" + description: Craft investor pitch presentation with data visualization and narrative arc - - trigger: TK or talk or fuzzy match on talk + - trigger: talk workflow: "todo" - description: "[TK] Build conference or workshop presentation materials with speaker notes" + description: Build conference or workshop presentation materials with speaker notes - - trigger: IN or infographic or fuzzy match on infographic + - trigger: infographic workflow: "todo" - description: "[IN] Design creative information visualization with visual storytelling" + description: Design creative information visualization with visual storytelling - - trigger: VM or visual-metaphor or fuzzy match on visual metaphor + - trigger: visual-metaphor workflow: "todo" - description: "[VM] Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes)" + description: Create conceptual illustrations (Rube Goldberg machines, journey maps, creative processes) - - trigger: CV or concept-visual or fuzzy match on concept visual + - trigger: concept-visual workflow: "todo" - description: "[CV] Generate single expressive image that explains ideas creatively and memorably" + description: Generate single expressive image that explains ideas creatively and memorably - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Consult with other expert agents from the party" + description: Consult with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/cis/agents/storyteller/storyteller.agent.yaml b/src/modules/cis/agents/storyteller/storyteller.agent.yaml index 7b1dc2f5..3a1daeb7 100644 --- a/src/modules/cis/agents/storyteller/storyteller.agent.yaml +++ b/src/modules/cis/agents/storyteller/storyteller.agent.yaml @@ -20,14 +20,15 @@ agent: - "Load COMPLETE file {project-root}/_bmad/_memory/storyteller-sidecar/stories-told.md and review the history of stories created for this user" menu: - - trigger: CH or fuzzy match on chat - action: agent responds as expert based on its persona to converse - description: "[CH] Chat with the Master Storyteller" - - - trigger: ST or story or fuzzy match on story + - trigger: story exec: "{project-root}/_bmad/cis/workflows/storytelling/workflow.yaml" - description: "[ST] Craft compelling narrative using proven frameworks" + description: Craft compelling narrative using proven frameworks - - trigger: PS or party-mode or fuzzy match on party mode + - trigger: party-mode exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md" - description: "[PS] Consult with other expert agents from the party" + description: Consult with other expert agents from the party + + - trigger: advanced-elicitation + exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml" + description: Advanced elicitation techniques to challenge the LLM to get better results + web-only: true diff --git a/src/modules/cis/docs/README.md b/src/modules/cis/docs/index.md similarity index 91% rename from src/modules/cis/docs/README.md rename to src/modules/cis/docs/index.md index 51dc4bff..46fb6e0a 100644 --- a/src/modules/cis/docs/README.md +++ b/src/modules/cis/docs/index.md @@ -17,8 +17,6 @@ CIS provides structured creative methodologies through distinctive agent persona ## Specialized Agents -[View detailed agent descriptions →](./agents/README.md) - - **Carson** - Brainstorming Specialist (energetic facilitator) - **Maya** - Design Thinking Maestro (jazz-like improviser) - **Dr. Quinn** - Problem Solver (detective-scientist hybrid) @@ -27,7 +25,7 @@ CIS provides structured creative methodologies through distinctive agent persona ## Interactive Workflows -[View all workflows →](./workflows/README.md) +[View all workflows →](../workflows/README.md) **5 Workflows** with **150+ Creative Techniques:** @@ -144,9 +142,7 @@ CIS workflows integrate with: ## Related Documentation -- **[Workflow Guide](./workflows/README.md)** - Detailed workflow instructions -- **[Agent Personas](./agents/README.md)** - Full agent descriptions -- **[BMM Integration](../bmm/README.md)** - Development workflow connection +- **[BMM Documentation](../../bmm/docs/index.md)** - Core BMad Method documentation --- diff --git a/src/utility/agent-components/activation-steps.txt b/src/utility/agent-components/activation-steps.txt index 8c58227d..860be6a7 100644 --- a/src/utility/agent-components/activation-steps.txt +++ b/src/utility/agent-components/activation-steps.txt @@ -7,7 +7,7 @@ Remember: user's name is {user_name} {AGENT_SPECIFIC_STEPS} - Show greeting using {user_name} from config, communicate in {communication_language}, then display list of ALL menu items from menu section - STOP and WAIT for user input - do NOT execute menu items automatically - accept 2 letter menu command or fuzzy match as specified in each menu items cmd property - On user input: find matching menu item → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized" + Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section + STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match + On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized" When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions \ No newline at end of file diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml new file mode 100644 index 00000000..551371eb --- /dev/null +++ b/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml @@ -0,0 +1,24 @@ +# Test: CamelCase trigger +# Expected: FAIL +# Error code: custom +# Error path: agent.menu[0].trigger +# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) + +agent: + metadata: + id: camel-case-trigger + name: CamelCase Trigger + title: CamelCase + icon: ❌ + + persona: + role: Test agent + identity: Test identity + communication_style: Test style + principles: + - Test principle + + menu: + - trigger: listTasks + description: Invalid CamelCase trigger + action: list_tasks diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml new file mode 100644 index 00000000..7d511299 --- /dev/null +++ b/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml @@ -0,0 +1,24 @@ +# Test: Compound trigger with invalid format +# Expected: FAIL +# Error code: custom +# Error path: agent.menu[0].trigger +# Error message: agent.menu[].trigger compound format error: invalid compound trigger format + +agent: + metadata: + id: compound-invalid-format + name: Invalid Format + title: Invalid Format Test + icon: 🧪 + + persona: + role: Test agent + identity: Test identity + communication_style: Test style + principles: + - Test principle + + menu: + - trigger: TS or tech-spec + description: Missing fuzzy match clause + action: test diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml new file mode 100644 index 00000000..3208b39f --- /dev/null +++ b/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml @@ -0,0 +1,24 @@ +# Test: Compound trigger with mismatched kebab portions +# Expected: FAIL +# Error code: custom +# Error path: agent.menu[0].trigger +# Error message: agent.menu[].trigger compound format error: kebab-case trigger mismatch: "tech-spec" vs "other-thing" + +agent: + metadata: + id: compound-mismatched-kebab + name: Mismatched Kebab + title: Mismatched Kebab Test + icon: 🧪 + + persona: + role: Test agent + identity: Test identity + communication_style: Test style + principles: + - Test principle + + menu: + - trigger: TS or tech-spec or fuzzy match on other-thing + description: Kebab portions do not match + action: test diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/compound-wrong-shortcut.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/compound-wrong-shortcut.agent.yaml new file mode 100644 index 00000000..aa73e8ae --- /dev/null +++ b/test/fixtures/agent-schema/invalid/menu-triggers/compound-wrong-shortcut.agent.yaml @@ -0,0 +1,24 @@ +# Test: Compound trigger with wrong shortcut +# Expected: FAIL +# Error code: custom +# Error path: agent.menu[0].trigger +# Error message: agent.menu[].trigger compound format error: shortcut "XX" does not match expected "TS" for "tech-spec" + +agent: + metadata: + id: compound-wrong-shortcut + name: Wrong Shortcut + title: Wrong Shortcut Test + icon: 🧪 + + persona: + role: Test agent + identity: Test identity + communication_style: Test style + principles: + - Test principle + + menu: + - trigger: XX or tech-spec or fuzzy match on tech-spec + description: Shortcut does not match kebab trigger + action: test diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml new file mode 100644 index 00000000..856b6c84 --- /dev/null +++ b/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml @@ -0,0 +1,24 @@ +# Test: Trigger with leading asterisk +# Expected: FAIL +# Error code: custom +# Error path: agent.menu[0].trigger +# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) + +agent: + metadata: + id: asterisk-trigger + name: Asterisk Trigger + title: Asterisk + icon: ❌ + + persona: + role: Test agent + identity: Test identity + communication_style: Test style + principles: + - Test principle + + menu: + - trigger: "*help" + description: Invalid trigger with asterisk + action: display_help diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml new file mode 100644 index 00000000..7cee63d1 --- /dev/null +++ b/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml @@ -0,0 +1,24 @@ +# Test: Snake_case trigger +# Expected: FAIL +# Error code: custom +# Error path: agent.menu[0].trigger +# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) + +agent: + metadata: + id: snake-case-trigger + name: Snake Case Trigger + title: Snake Case + icon: ❌ + + persona: + role: Test agent + identity: Test identity + communication_style: Test style + principles: + - Test principle + + menu: + - trigger: list_tasks + description: Invalid snake_case trigger + action: list_tasks diff --git a/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml b/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml new file mode 100644 index 00000000..b665ed43 --- /dev/null +++ b/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml @@ -0,0 +1,24 @@ +# Test: Trigger with spaces +# Expected: FAIL +# Error code: custom +# Error path: agent.menu[0].trigger +# Error message: agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen) + +agent: + metadata: + id: spaces-trigger + name: Spaces Trigger + title: Spaces + icon: ❌ + + persona: + role: Test agent + identity: Test identity + communication_style: Test style + principles: + - Test principle + + menu: + - trigger: list tasks + description: Invalid trigger with spaces + action: list_tasks diff --git a/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml b/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml new file mode 100644 index 00000000..5ce29421 --- /dev/null +++ b/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml @@ -0,0 +1,30 @@ +# Test: Valid compound triggers +# Expected: PASS + +agent: + metadata: + id: compound-triggers + name: Compound Triggers + title: Compound Triggers Test + icon: 🧪 + + persona: + role: Test agent with compound triggers + identity: I test compound trigger validation. + communication_style: Clear + principles: + - Test compound format + + menu: + - trigger: TS or tech-spec or fuzzy match on tech-spec + description: Two-word compound trigger + action: tech_spec + - trigger: DS or dev-story or fuzzy match on dev-story + description: Another two-word compound trigger + action: dev_story + - trigger: WI or workflow-init-process or fuzzy match on workflow-init-process + description: Three-word compound trigger (uses first 2 words for shortcut) + action: workflow_init + - trigger: H or help or fuzzy match on help + description: Single-word compound trigger (1-letter shortcut) + action: help diff --git a/test/test-installation-components.js b/test/test-installation-components.js index 41775e6b..464ca613 100644 --- a/test/test-installation-components.js +++ b/test/test-installation-components.js @@ -13,7 +13,7 @@ const path = require('node:path'); const fs = require('fs-extra'); -const { YamlXmlBuilder } = require('../tools/cli/lib/agent/yaml-xml-builder'); +const { YamlXmlBuilder } = require('../tools/cli/lib/yaml-xml-builder'); const { ManifestGenerator } = require('../tools/cli/installers/lib/core/manifest-generator'); // ANSI colors @@ -175,7 +175,7 @@ async function runTests() { assert(compiled.includes('testarch/knowledge'), 'TEA agent compilation includes knowledge base path'); - assert(compiled.includes('test-design'), 'TEA agent menu includes test-design workflow'); + assert(compiled.includes('*test-design'), 'TEA agent menu includes test-design workflow'); // Cleanup await fs.remove(tempOutput); diff --git a/tools/build-docs.js b/tools/build-docs.js new file mode 100644 index 00000000..fbab38aa --- /dev/null +++ b/tools/build-docs.js @@ -0,0 +1,630 @@ +/** + * BMAD Documentation Build Pipeline + * + * Consolidates docs from multiple sources, generates LLM-friendly files, + * creates downloadable bundles, and builds the Docusaurus site. + * + * Build outputs: + * build/consolidated/ - Merged docs from all sources + * build/artifacts/ - With llms.txt, llms-full.txt, ZIPs + * build/site/ - Final Docusaurus output (deployable) + */ + +const { execSync } = require('node:child_process'); +const fs = require('node:fs'); +const path = require('node:path'); +const archiver = require('archiver'); + +// ============================================================================= +// Configuration +// ============================================================================= + +const PROJECT_ROOT = path.dirname(__dirname); +const BUILD_DIR = path.join(PROJECT_ROOT, 'build'); + +const SITE_URL = process.env.SITE_URL || 'https://bmad-code-org.github.io/BMAD-METHOD'; +const REPO_URL = 'https://github.com/bmad-code-org/BMAD-METHOD'; + +const LLM_MAX_CHARS = 600_000; +const LLM_WARN_CHARS = 500_000; + +const MODULES = ['bmm', 'bmb', 'bmgd', 'cis']; + +// No root docs copied - only docs/ folder content goes to site +// README.md, CHANGELOG.md etc. link to GitHub +const ROOT_DOCS = []; + +const LLM_EXCLUDE_PATTERNS = ['changelog', 'ide-info/', 'v4-to-v6-upgrade', 'downloads/', 'faq']; + +// ============================================================================= +// Main Entry Point +// ============================================================================= + +async function main() { + console.log(); + printBanner('BMAD Documentation Build Pipeline'); + console.log(); + console.log(`Project root: ${PROJECT_ROOT}`); + console.log(`Build directory: ${BUILD_DIR}`); + console.log(); + + cleanBuildDirectory(); + + const consolidatedDir = consolidateDocs(); + const artifactsDir = await generateArtifacts(consolidatedDir); + const siteDir = buildDocusaurusSite(artifactsDir); + + printBuildSummary(consolidatedDir, artifactsDir, siteDir); +} + +main().catch((error) => { + console.error(error); + process.exit(1); +}); + +// ============================================================================= +// Pipeline Stages +// ============================================================================= + +function consolidateDocs() { + printHeader('Consolidating documentation sources'); + + const outputDir = path.join(BUILD_DIR, 'consolidated'); + fs.mkdirSync(outputDir, { recursive: true }); + + copyMainDocs(outputDir); + copyRootDocs(outputDir); + copyModuleDocs(outputDir); + + const mdCount = countMarkdownFiles(outputDir); + console.log(); + console.log(` \u001B[32m✓\u001B[0m Consolidation complete: ${mdCount} markdown files`); + + return outputDir; +} + +async function generateArtifacts(consolidatedDir) { + printHeader('Generating LLM files and download bundles'); + + const outputDir = path.join(BUILD_DIR, 'artifacts'); + copyDirectory(consolidatedDir, outputDir); + + generateLlmsTxt(outputDir); + generateLlmsFullTxt(outputDir); + await generateDownloadBundles(outputDir); + + console.log(); + console.log(` \u001B[32m✓\u001B[0m Artifact generation complete`); + + return outputDir; +} + +function buildDocusaurusSite(artifactsDir) { + printHeader('Building Docusaurus site'); + + const siteDir = path.join(BUILD_DIR, 'site'); + const mainDocs = path.join(PROJECT_ROOT, 'docs'); + const docsBackup = path.join(BUILD_DIR, 'docs-backup'); + + backupAndReplaceDocs(mainDocs, docsBackup, artifactsDir); + + try { + runDocusaurusBuild(siteDir); + } finally { + restoreDocs(mainDocs, docsBackup); + } + + copyArtifactsToSite(artifactsDir, siteDir); + + console.log(); + console.log(` \u001B[32m✓\u001B[0m Docusaurus build complete`); + + return siteDir; +} + +// ============================================================================= +// Documentation Consolidation +// ============================================================================= + +function copyMainDocs(destDir) { + console.log(' → Copying main docs...'); + const docsDir = path.join(PROJECT_ROOT, 'docs'); + copyDirectory(docsDir, destDir, ['modules', 'llms.txt', 'llms-full.txt'], true); +} + +function copyRootDocs(destDir) { + console.log(' → Copying root documentation files...'); + + for (const doc of ROOT_DOCS) { + const srcPath = path.join(PROJECT_ROOT, doc.src); + const destPath = path.join(destDir, doc.dest); + + if (fs.existsSync(srcPath)) { + let content = fs.readFileSync(srcPath, 'utf-8'); + + if (!content.startsWith('---')) { + content = `---\ntitle: "${doc.title}"\n---\n\n${content}`; + } + + content = transformMarkdownLinks(content); + fs.writeFileSync(destPath, content); + console.log(` ${doc.src} → ${doc.dest}`); + } + } +} + +function copyModuleDocs(destDir) { + fs.mkdirSync(path.join(destDir, 'modules'), { recursive: true }); + + for (const moduleName of MODULES) { + const srcPath = path.join(PROJECT_ROOT, 'src', 'modules', moduleName, 'docs'); + const moduleDest = path.join(destDir, 'modules', moduleName); + + if (fs.existsSync(srcPath)) { + console.log(` → Copying ${moduleName} docs...`); + copyDirectory(srcPath, moduleDest, [], false, moduleName); + const count = countMarkdownFiles(moduleDest); + console.log(` ${count} markdown files`); + } else { + console.log(` ⚠ WARNING: ${moduleName} docs not found`); + } + } +} + +// ============================================================================= +// LLM File Generation +// ============================================================================= + +function generateLlmsTxt(outputDir) { + console.log(' → Generating llms.txt...'); + + const content = [ + '# BMAD Method Documentation', + '', + '> AI-driven agile development with specialized agents and workflows that scale from bug fixes to enterprise platforms.', + '', + `Documentation: ${SITE_URL}`, + `Repository: ${REPO_URL}`, + `Full docs: ${SITE_URL}/llms-full.txt`, + '', + '## Quick Start', + '', + `- **[Quick Start](${SITE_URL}/docs/modules/bmm/quick-start)** - Get started with BMAD Method`, + `- **[Installation](${SITE_URL}/docs/getting-started/installation)** - Installation guide`, + '', + '## Core Concepts', + '', + `- **[Scale Adaptive System](${SITE_URL}/docs/modules/bmm/scale-adaptive-system)** - Understand BMAD scaling`, + `- **[Quick Flow](${SITE_URL}/docs/modules/bmm/bmad-quick-flow)** - Fast development workflow`, + `- **[Party Mode](${SITE_URL}/docs/modules/bmm/party-mode)** - Multi-agent collaboration`, + '', + '## Modules', + '', + `- **[BMM - Method](${SITE_URL}/docs/modules/bmm/quick-start)** - Core methodology module`, + `- **[BMB - Builder](${SITE_URL}/docs/modules/bmb/)** - Agent and workflow builder`, + `- **[BMGD - Game Dev](${SITE_URL}/docs/modules/bmgd/quick-start)** - Game development module`, + '', + '---', + '', + '## Quick Links', + '', + `- [Full Documentation (llms-full.txt)](${SITE_URL}/llms-full.txt) - Complete docs for AI context`, + `- [Source Bundle](${SITE_URL}/downloads/bmad-sources.zip) - Complete source code`, + `- [Prompts Bundle](${SITE_URL}/downloads/bmad-prompts.zip) - Agent prompts and workflows`, + '', + ].join('\n'); + + const outputPath = path.join(outputDir, 'llms.txt'); + fs.writeFileSync(outputPath, content, 'utf-8'); + console.log(` Generated llms.txt (${content.length.toLocaleString()} chars)`); +} + +function generateLlmsFullTxt(outputDir) { + console.log(' → Generating llms-full.txt...'); + + const date = new Date().toISOString().split('T')[0]; + const files = getDocsFromSidebar(); + + const output = [ + '# BMAD Method Documentation (Full)', + '', + '> Complete documentation for AI consumption', + `> Generated: ${date}`, + `> Repository: ${REPO_URL}`, + '', + ]; + + let fileCount = 0; + let skippedCount = 0; + + for (const mdPath of files) { + if (shouldExcludeFromLlm(mdPath)) { + skippedCount++; + continue; + } + + const fullPath = path.join(outputDir, mdPath); + try { + const content = readMarkdownContent(fullPath); + output.push(``, content, '', ''); + fileCount++; + } catch (error) { + console.error(` Warning: Could not read ${mdPath}: ${error.message}`); + } + } + + const result = output.join('\n'); + validateLlmSize(result); + + const outputPath = path.join(outputDir, 'llms-full.txt'); + fs.writeFileSync(outputPath, result, 'utf-8'); + + const tokenEstimate = Math.floor(result.length / 4).toLocaleString(); + console.log( + ` Processed ${fileCount} files (skipped ${skippedCount}), ${result.length.toLocaleString()} chars (~${tokenEstimate} tokens)`, + ); +} + +function getDocsFromSidebar() { + const sidebarsPath = path.join(PROJECT_ROOT, 'website', 'sidebars.js'); + + try { + const sidebarContent = fs.readFileSync(sidebarsPath, 'utf-8'); + const matches = sidebarContent.matchAll(/'([a-zA-Z0-9\-_/]+)'/g); + const files = []; + + for (const match of matches) { + const docId = match[1]; + // Skip Docusaurus keywords + if (docId.includes('Sidebar') || docId === 'doc' || docId === 'category') { + continue; + } + // Skip category labels (Title Case words without slashes like 'Workflows', 'Reference') + if (!docId.includes('/') && /^[A-Z][a-z]/.test(docId)) { + continue; + } + files.push(docId + '.md'); + } + + return files; + } catch { + console.log(' Warning: Could not parse sidebars'); + return []; + } +} + +function shouldExcludeFromLlm(filePath) { + return LLM_EXCLUDE_PATTERNS.some((pattern) => filePath.includes(pattern)); +} + +function readMarkdownContent(filePath) { + let content = fs.readFileSync(filePath, 'utf-8'); + + if (content.startsWith('---')) { + const end = content.indexOf('---', 3); + if (end !== -1) { + content = content.slice(end + 3).trim(); + } + } + + return content; +} + +function validateLlmSize(content) { + const charCount = content.length; + + if (charCount > LLM_MAX_CHARS) { + console.error(` ERROR: Exceeds ${LLM_MAX_CHARS.toLocaleString()} char limit`); + process.exit(1); + } else if (charCount > LLM_WARN_CHARS) { + console.warn(` \u001B[33mWARNING: Approaching ${LLM_WARN_CHARS.toLocaleString()} char limit\u001B[0m`); + } +} + +// ============================================================================= +// Download Bundle Generation +// ============================================================================= + +async function generateDownloadBundles(outputDir) { + console.log(' → Generating download bundles...'); + + const downloadsDir = path.join(outputDir, 'downloads'); + fs.mkdirSync(downloadsDir, { recursive: true }); + + await generateSourcesBundle(downloadsDir); + await generatePromptsBundle(downloadsDir); +} + +async function generateSourcesBundle(downloadsDir) { + const srcDir = path.join(PROJECT_ROOT, 'src'); + if (!fs.existsSync(srcDir)) return; + + const zipPath = path.join(downloadsDir, 'bmad-sources.zip'); + await createZipArchive(srcDir, zipPath, ['__pycache__', '.pyc', '.DS_Store', 'node_modules']); + + const size = (fs.statSync(zipPath).size / 1024 / 1024).toFixed(1); + console.log(` bmad-sources.zip (${size}M)`); +} + +async function generatePromptsBundle(downloadsDir) { + const modulesDir = path.join(PROJECT_ROOT, 'src', 'modules'); + if (!fs.existsSync(modulesDir)) return; + + const zipPath = path.join(downloadsDir, 'bmad-prompts.zip'); + await createZipArchive(modulesDir, zipPath, ['docs', '.DS_Store', '__pycache__', 'node_modules']); + + const size = Math.floor(fs.statSync(zipPath).size / 1024); + console.log(` bmad-prompts.zip (${size}K)`); +} + +// ============================================================================= +// Docusaurus Build +// ============================================================================= + +function backupAndReplaceDocs(mainDocs, backupDir, artifactsDir) { + console.log(' → Preparing docs for Docusaurus...'); + + if (fs.existsSync(mainDocs)) { + copyDirectory(mainDocs, backupDir); + fs.rmSync(mainDocs, { recursive: true }); + } + + copyDirectory(artifactsDir, mainDocs, ['llms.txt', 'llms-full.txt']); + removeZipFiles(path.join(mainDocs, 'downloads')); +} + +function runDocusaurusBuild(siteDir) { + console.log(' → Running docusaurus build...'); + execSync('npx docusaurus build --config website/docusaurus.config.js --out-dir ' + siteDir, { + cwd: PROJECT_ROOT, + stdio: 'inherit', + }); +} + +function restoreDocs(mainDocs, backupDir) { + console.log(' → Restoring original docs...'); + fs.rmSync(mainDocs, { recursive: true }); + + if (fs.existsSync(backupDir)) { + copyDirectory(backupDir, mainDocs); + fs.rmSync(backupDir, { recursive: true }); + } +} + +function copyArtifactsToSite(artifactsDir, siteDir) { + console.log(' → Copying artifacts to site...'); + + fs.copyFileSync(path.join(artifactsDir, 'llms.txt'), path.join(siteDir, 'llms.txt')); + fs.copyFileSync(path.join(artifactsDir, 'llms-full.txt'), path.join(siteDir, 'llms-full.txt')); + + const downloadsDir = path.join(artifactsDir, 'downloads'); + if (fs.existsSync(downloadsDir)) { + copyDirectory(downloadsDir, path.join(siteDir, 'downloads')); + } +} + +function removeZipFiles(dir) { + if (!fs.existsSync(dir)) return; + + for (const file of fs.readdirSync(dir)) { + if (file.endsWith('.zip')) { + fs.unlinkSync(path.join(dir, file)); + } + } +} + +// ============================================================================= +// Build Summary +// ============================================================================= + +function printBuildSummary(consolidatedDir, artifactsDir, siteDir) { + console.log(); + printBanner('Build Complete!'); + console.log(); + console.log('Build artifacts:'); + console.log(` Consolidated docs: ${consolidatedDir}`); + console.log(` Generated files: ${artifactsDir}`); + console.log(` Final site: ${siteDir}`); + console.log(); + console.log(`Deployable output: ${siteDir}/`); + console.log(); + + listDirectoryContents(siteDir); +} + +function listDirectoryContents(dir) { + const entries = fs.readdirSync(dir).slice(0, 15); + + for (const entry of entries) { + const fullPath = path.join(dir, entry); + const stat = fs.statSync(fullPath); + + if (stat.isFile()) { + const sizeStr = formatFileSize(stat.size); + console.log(` ${entry.padEnd(40)} ${sizeStr.padStart(8)}`); + } else { + console.log(` ${entry}/`); + } + } +} + +function formatFileSize(bytes) { + if (bytes > 1024 * 1024) { + return `${(bytes / 1024 / 1024).toFixed(1)}M`; + } else if (bytes > 1024) { + return `${Math.floor(bytes / 1024)}K`; + } + return `${bytes}B`; +} + +// ============================================================================= +// File System Utilities +// ============================================================================= + +function cleanBuildDirectory() { + console.log('Cleaning previous build...'); + + if (fs.existsSync(BUILD_DIR)) { + fs.rmSync(BUILD_DIR, { recursive: true }); + } + fs.mkdirSync(BUILD_DIR, { recursive: true }); +} + +function copyDirectory(src, dest, exclude = [], transformMd = false, moduleName = null) { + if (!fs.existsSync(src)) return false; + fs.mkdirSync(dest, { recursive: true }); + + for (const entry of fs.readdirSync(src, { withFileTypes: true })) { + if (exclude.includes(entry.name)) continue; + + const srcPath = path.join(src, entry.name); + const destPath = path.join(dest, entry.name); + + if (entry.isDirectory()) { + copyDirectory(srcPath, destPath, exclude, transformMd, moduleName); + } else if (entry.name.endsWith('.md')) { + // Always transform markdown links, use module context if provided + let content = fs.readFileSync(srcPath, 'utf-8'); + content = transformMarkdownLinks(content, moduleName); + fs.writeFileSync(destPath, content); + } else { + fs.copyFileSync(srcPath, destPath); + } + } + return true; +} + +function transformMarkdownLinks(content, moduleName = null) { + // Transform HTML img src attributes for module docs images + content = content.replaceAll(/src="\.\/src\/modules\/([^/]+)\/docs\/images\/([^"]+)"/g, (match, mod, file) => { + return `src="./modules/${mod}/images/${file}"`; + }); + + return content.replaceAll(/\]\(([^)]+)\)/g, (match, url) => { + // src/modules/{mod}/docs/{path}.md → ./modules/{mod}/{path}.md + // Keeps .md - Docusaurus handles .md → page conversion + const docsMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/docs\/(.+\.md)$/); + if (docsMatch) return `](./modules/${docsMatch[1]}/${docsMatch[2]})`; + + // src/modules/{mod}/docs/ → ./modules/{mod}/ + const docsDirMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/docs\/$/); + if (docsDirMatch) return `](./modules/${docsDirMatch[1]}/)`; + + // src/modules/{mod}/docs/images/{file} → ./modules/{mod}/images/{file} + const docsImageMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/docs\/images\/(.+)$/); + if (docsImageMatch) return `](./modules/${docsImageMatch[1]}/images/${docsImageMatch[2]})`; + + // src/modules/{mod}/README.md → GitHub (not in docs folder) + const readmeMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/README\.md$/i); + if (readmeMatch) return `](${REPO_URL}/blob/main/src/modules/${readmeMatch[1]}/README.md)`; + + // src/modules/* (non-docs) → GitHub + const srcMatch = url.match(/^\.\.?\/src\/modules\/(.+)$/); + if (srcMatch) return `](${REPO_URL}/tree/main/src/modules/${srcMatch[1]})`; + + // Relative paths escaping docs/ folder → GitHub (when module context is known) + // e.g., ../workflows/foo/bar.md from within docs/ → src/modules/{mod}/workflows/foo/bar.md + if (moduleName) { + const relativeEscapeMatch = url.match(/^\.\.\/([^.][^)]+)$/); + if (relativeEscapeMatch && !relativeEscapeMatch[1].startsWith('src/')) { + const relativePath = relativeEscapeMatch[1]; + return `](${REPO_URL}/blob/main/src/modules/${moduleName}/${relativePath})`; + } + } + + // ./docs/{path}.md → ./{path}.md (docs folder contents are at root in build) + // Keeps .md - Docusaurus handles .md → page conversion + const rootDocsMatch = url.match(/^\.\/docs\/(.+\.md)$/); + if (rootDocsMatch) return `](./${rootDocsMatch[1]})`; + + // Root docs → GitHub (not part of docs site) + if (url === '../README.md' || url === './README.md' || url === './project-readme') { + return `](${REPO_URL}/blob/main/README.md)`; + } + if (url === '../CHANGELOG.md' || url === './CHANGELOG.md' || url === './changelog') { + return `](${REPO_URL}/blob/main/CHANGELOG.md)`; + } + + // Root files → GitHub (CONTRIBUTING, LICENSE, CODE_OF_CONDUCT, etc.) + const contributingMatch = url.match(/^(\.\.\/)?CONTRIBUTING\.md(#.*)?$/); + if (contributingMatch) { + const anchor = contributingMatch[2] || ''; + return `](${REPO_URL}/blob/main/CONTRIBUTING.md${anchor})`; + } + if (url === 'LICENSE' || url === '../LICENSE') { + return `](${REPO_URL}/blob/main/LICENSE)`; + } + if (url === '.github/CODE_OF_CONDUCT.md' || url === '../.github/CODE_OF_CONDUCT.md') { + return `](${REPO_URL}/blob/main/.github/CODE_OF_CONDUCT.md)`; + } + + // Other root .md files → GitHub + const rootFileMatch = url.match(/^\.\.\/([A-Z][^/]+\.md)$/); + if (rootFileMatch) return `](${REPO_URL}/blob/main/${rootFileMatch[1]})`; + + // Cross-module doc links: ../../{mod}/docs/{path}.md → ../{mod}/{path}.md + // Fixes path structure but keeps .md (Docusaurus handles .md → page conversion) + const crossModuleDocsMatch = url.match(/^\.\.\/\.\.\/([^/]+)\/docs\/(.+\.md)$/); + if (crossModuleDocsMatch) return `](../${crossModuleDocsMatch[1]}/${crossModuleDocsMatch[2]})`; + + // Root-level folders (samples/) → GitHub + const rootFolderMatch = url.match(/^\.\.\/((samples)\/.*)/); + if (rootFolderMatch) return `](${REPO_URL}/blob/main/${rootFolderMatch[1]})`; + + return match; + }); +} + +function countMarkdownFiles(dir) { + let count = 0; + if (!fs.existsSync(dir)) return 0; + + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const fullPath = path.join(dir, entry.name); + if (entry.isDirectory()) { + count += countMarkdownFiles(fullPath); + } else if (entry.name.endsWith('.md')) { + count++; + } + } + return count; +} + +function createZipArchive(sourceDir, outputPath, exclude = []) { + return new Promise((resolve, reject) => { + const output = fs.createWriteStream(outputPath); + const archive = archiver('zip', { zlib: { level: 9 } }); + + output.on('close', resolve); + archive.on('error', reject); + + archive.pipe(output); + + const baseName = path.basename(sourceDir); + archive.directory(sourceDir, baseName, (entry) => { + for (const pattern of exclude) { + if (entry.name.includes(pattern)) return false; + } + return entry; + }); + + archive.finalize(); + }); +} + +// ============================================================================= +// Console Output Formatting +// ============================================================================= + +function printHeader(title) { + console.log(); + console.log('┌' + '─'.repeat(62) + '┐'); + console.log(`│ ${title.padEnd(60)} │`); + console.log('└' + '─'.repeat(62) + '┘'); +} + +function printBanner(title) { + console.log('╔' + '═'.repeat(62) + '╗'); + console.log(`║${title.padStart(31 + title.length / 2).padEnd(62)}║`); + console.log('╚' + '═'.repeat(62) + '╝'); +} diff --git a/tools/cli/installers/lib/core/config-collector.js b/tools/cli/installers/lib/core/config-collector.js index fad0f108..ca09ca2f 100644 --- a/tools/cli/installers/lib/core/config-collector.js +++ b/tools/cli/installers/lib/core/config-collector.js @@ -2,7 +2,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const yaml = require('yaml'); const chalk = require('chalk'); -const inquirer = require('inquirer').default || require('inquirer'); +const inquirer = require('inquirer'); const { getProjectRoot, getModulePath } = require('../../../lib/project-root'); const { CLIUtils } = require('../../../lib/cli-utils'); diff --git a/tools/cli/installers/lib/core/installer.js b/tools/cli/installers/lib/core/installer.js index 3817d9b7..5b403972 100644 --- a/tools/cli/installers/lib/core/installer.js +++ b/tools/cli/installers/lib/core/installer.js @@ -2,14 +2,14 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); const ora = require('ora'); -const inquirer = require('inquirer').default || require('inquirer'); +const inquirer = require('inquirer'); const { Detector } = require('./detector'); const { Manifest } = require('./manifest'); const { ModuleManager } = require('../modules/manager'); const { IdeManager } = require('../ide/manager'); const { FileOps } = require('../../../lib/file-ops'); const { Config } = require('../../../lib/config'); -const { XmlHandler } = require('../../../lib/agent/xml-handler'); +const { XmlHandler } = require('../../../lib/xml-handler'); const { DependencyResolver } = require('./dependency-resolver'); const { ConfigCollector } = require('./config-collector'); const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root'); @@ -297,41 +297,49 @@ class Installer { console.log('\n'); // Add spacing before IDE questions for (const ide of newlySelectedIdes) { - // Get IDE handler and check if it needs interactive configuration - try { - // Dynamically load the IDE setup module - const ideModule = require(`../ide/${ide}`); + // List of IDEs that have interactive prompts + //TODO: Why is this here, hardcoding this list here is bad, fix me! + const needsPrompts = ['claude-code', 'github-copilot', 'roo', 'cline', 'auggie', 'codex', 'qwen', 'gemini', 'rovo-dev'].includes( + ide, + ); - // Get the setup class (handle different export formats) - let SetupClass; - const className = - ide - .split('-') - .map((part) => part.charAt(0).toUpperCase() + part.slice(1)) - .join('') + 'Setup'; + if (needsPrompts) { + // Get IDE handler and collect configuration + try { + // Dynamically load the IDE setup module + const ideModule = require(`../ide/${ide}`); - if (ideModule[className]) { - SetupClass = ideModule[className]; - } else if (ideModule.default) { - SetupClass = ideModule.default; - } else { - continue; + // Get the setup class (handle different export formats) + let SetupClass; + const className = + ide + .split('-') + .map((part) => part.charAt(0).toUpperCase() + part.slice(1)) + .join('') + 'Setup'; + + if (ideModule[className]) { + SetupClass = ideModule[className]; + } else if (ideModule.default) { + SetupClass = ideModule.default; + } else { + continue; + } + + const ideSetup = new SetupClass(); + + // Check if this IDE has a collectConfiguration method + if (typeof ideSetup.collectConfiguration === 'function') { + console.log(chalk.cyan(`\nConfiguring ${ide}...`)); + ideConfigurations[ide] = await ideSetup.collectConfiguration({ + selectedModules: selectedModules || [], + projectDir, + bmadDir, + }); + } + } catch { + // IDE doesn't have a setup file or collectConfiguration method + console.warn(chalk.yellow(`Warning: Could not load configuration for ${ide}`)); } - - const ideSetup = new SetupClass(); - - // Check if this IDE has a collectConfiguration method (no hardcoding needed!) - if (typeof ideSetup.collectConfiguration === 'function') { - console.log(chalk.cyan(`\nConfiguring ${ide}...`)); - ideConfigurations[ide] = await ideSetup.collectConfiguration({ - selectedModules: selectedModules || [], - projectDir, - bmadDir, - }); - } - } catch { - // IDE doesn't have a setup file or collectConfiguration method - console.warn(chalk.yellow(`Warning: Could not load configuration for ${ide}`)); } } } @@ -835,6 +843,8 @@ class Installer { allModules = allModules.filter((m) => m !== 'core'); } + const modulesToInstall = allModules; + // For dependency resolution, we only need regular modules (not custom modules) // Custom modules are already installed in _bmad and don't need dependency resolution from source const regularModulesForResolution = allModules.filter((module) => { @@ -1213,19 +1223,17 @@ class Installer { console.log(chalk.dim('Remove these .bak files it no longer needed\n')); } - // Display completion message (skip if requested, e.g., for quick updates) - if (!config._skipCompletion) { - const { UI } = require('../../../lib/ui'); - const ui = new UI(); - ui.showInstallSummary({ - path: bmadDir, - modules: config.modules, - ides: config.ides, - customFiles: customFiles.length > 0 ? customFiles : undefined, - ttsInjectedFiles: this.enableAgentVibes && this.ttsInjectedFiles.length > 0 ? this.ttsInjectedFiles : undefined, - agentVibesEnabled: this.enableAgentVibes || false, - }); - } + // Display completion message + const { UI } = require('../../../lib/ui'); + const ui = new UI(); + ui.showInstallSummary({ + path: bmadDir, + modules: config.modules, + ides: config.ides, + customFiles: customFiles.length > 0 ? customFiles : undefined, + ttsInjectedFiles: this.enableAgentVibes && this.ttsInjectedFiles.length > 0 ? this.ttsInjectedFiles : undefined, + agentVibesEnabled: this.enableAgentVibes || false, + }); return { success: true, @@ -1505,7 +1513,9 @@ class Installer { * @param {string} bmadDir - BMAD installation directory * @param {Object} coreFiles - Core files to install */ - async installCoreWithDependencies(bmadDir) { + async installCoreWithDependencies(bmadDir, coreFiles) { + const sourcePath = getModulePath('core'); + const targetPath = path.join(bmadDir, 'core'); await this.installCore(bmadDir); } @@ -1515,7 +1525,7 @@ class Installer { * @param {string} bmadDir - BMAD installation directory * @param {Object} moduleFiles - Module files to install */ - async installModuleWithDependencies(moduleName, bmadDir) { + async installModuleWithDependencies(moduleName, bmadDir, moduleFiles) { // Get module configuration for conditional installation const moduleConfig = this.configCollector.collectedConfig[moduleName] || {}; @@ -1787,6 +1797,7 @@ class Installer { } const agentName = agentFile.replace('.md', ''); + const mdPath = path.join(agentsPath, agentFile); const customizePath = path.join(cfgAgentsDir, `${moduleName}-${agentName}.customize.yaml`); // For .md files that are already compiled, we don't need to do much @@ -2000,9 +2011,8 @@ class Installer { _existingModules: installedModules, // Pass all installed modules for manifest generation }; - // Call the standard install method, but skip UI completion for quick updates - installConfig._skipCompletion = true; - await this.install(installConfig); + // Call the standard install method + const result = await this.install(installConfig); // Only succeed the spinner if it's still spinning // (install method might have stopped it if folder name changed) @@ -2130,7 +2140,7 @@ class Installer { * Private: Prompt for update action */ async promptUpdateAction() { - const inquirer = require('inquirer').default || require('inquirer'); + const inquirer = require('inquirer'); return await inquirer.prompt([ { type: 'list', @@ -2160,7 +2170,7 @@ class Installer { return !name.startsWith('_bmad'); // Everything else is manual cleanup }); - const inquirer = require('inquirer').default || require('inquirer'); + const inquirer = require('inquirer'); // Show warning for other offending paths FIRST if (otherOffenders.length > 0) { @@ -2459,7 +2469,7 @@ class Installer { console.log(chalk.yellow(`\n⚠️ Found ${customModulesWithMissingSources.length} custom module(s) with missing sources:`)); - const inquirer = require('inquirer').default || require('inquirer'); + const inquirer = require('inquirer'); let keptCount = 0; let updatedCount = 0; let removedCount = 0; diff --git a/tools/cli/installers/lib/custom/handler.js b/tools/cli/installers/lib/custom/handler.js index 41d8f0ac..c8aa52ee 100644 --- a/tools/cli/installers/lib/custom/handler.js +++ b/tools/cli/installers/lib/custom/handler.js @@ -3,7 +3,7 @@ const fs = require('fs-extra'); const chalk = require('chalk'); const yaml = require('yaml'); const { FileOps } = require('../../../lib/file-ops'); -const { XmlHandler } = require('../../../lib/agent/xml-handler'); +const { XmlHandler } = require('../../../lib/xml-handler'); /** * Handler for custom content (custom.yaml) @@ -311,7 +311,7 @@ class CustomHandler { // Read and compile the YAML try { const yamlContent = await fs.readFile(agentFile, 'utf8'); - const { compileAgent } = require('../../../lib/agent/yaml-xml-builder'); + const { compileAgent } = require('../../../lib/agent/compiler'); // Create customize template if it doesn't exist if (!(await fs.pathExists(customizePath))) { diff --git a/tools/cli/installers/lib/ide/_base-ide.js b/tools/cli/installers/lib/ide/_base-ide.js index bfa9af88..b53eb977 100644 --- a/tools/cli/installers/lib/ide/_base-ide.js +++ b/tools/cli/installers/lib/ide/_base-ide.js @@ -1,7 +1,7 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); -const { XmlHandler } = require('../../../lib/agent/xml-handler'); +const { XmlHandler } = require('../../../lib/xml-handler'); const { getSourcePath } = require('../../../lib/project-root'); /** @@ -493,6 +493,11 @@ class BaseIdeSetup { // Replace placeholders let processed = content; + // Inject activation block for agent files FIRST (before replacements) + if (metadata.name && content.includes('`; if (content.includes(marker)) { @@ -400,7 +399,7 @@ class AntigravitySetup extends BaseIdeSetup { } content = content.replace(marker, injectionContent); - await this.writeFile(targetPath, content); + await fs.writeFile(targetPath, content); console.log(chalk.dim(` Injected: ${injection.point} → ${injection.file}`)); } } @@ -418,7 +417,7 @@ class AntigravitySetup extends BaseIdeSetup { targetDir = path.join(os.homedir(), '.agent', 'agents'); console.log(chalk.dim(` Installing subagents globally to: ~/.agent/agents/`)); } else { - targetDir = PathUtils.getIdeSubDir(projectDir, '.agent', 'agents'); + targetDir = path.join(projectDir, '.agent', 'agents'); console.log(chalk.dim(` Installing subagents to project: .agent/agents/`)); } @@ -465,11 +464,11 @@ class AntigravitySetup extends BaseIdeSetup { */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { // Create .agent/workflows/bmad directory structure (same as regular agents) - const agentDir = PathUtils.getConfigDir(projectDir, this.configDir); - const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); - const bmadWorkflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir, 'bmad'); + const agentDir = path.join(projectDir, this.configDir); + const workflowsDir = path.join(agentDir, this.workflowsDir); + const bmadWorkflowsDir = path.join(workflowsDir, 'bmad'); - await this.ensureDir(bmadWorkflowsDir); + await fs.ensureDir(bmadWorkflowsDir); // Create custom agent launcher with same pattern as regular agents const launcherContent = `name: '${agentName}' @@ -494,7 +493,7 @@ usage: | const launcherPath = path.join(bmadWorkflowsDir, fileName); // Write the launcher file - await this.writeFile(launcherPath, launcherContent); + await fs.writeFile(launcherPath, launcherContent, 'utf8'); return { ide: 'antigravity', diff --git a/tools/cli/installers/lib/ide/auggie.js b/tools/cli/installers/lib/ide/auggie.js index 2c07a58e..04e08788 100644 --- a/tools/cli/installers/lib/ide/auggie.js +++ b/tools/cli/installers/lib/ide/auggie.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); @@ -26,7 +25,7 @@ class AuggieSetup extends BaseIdeSetup { console.log(chalk.cyan(`Setting up ${this.name}...`)); // Always use project directory - const location = PathUtils.getIdeSubDir(projectDir, '.augment', 'commands'); + const location = path.join(projectDir, '.augment', 'commands'); // Clean up old BMAD installation first await this.cleanup(projectDir); @@ -53,11 +52,11 @@ class AuggieSetup extends BaseIdeSetup { content: artifact.content, })); - const bmadCommandsDir = PathUtils.getIdeSubDir(location, 'bmad'); - const agentsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'agents'); - const tasksDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'tasks'); - const toolsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'tools'); - const workflowsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'workflows'); + const bmadCommandsDir = path.join(location, 'bmad'); + const agentsDir = path.join(bmadCommandsDir, 'agents'); + const tasksDir = path.join(bmadCommandsDir, 'tasks'); + const toolsDir = path.join(bmadCommandsDir, 'tools'); + const workflowsDir = path.join(bmadCommandsDir, 'workflows'); await this.ensureDir(agentsDir); await this.ensureDir(tasksDir); @@ -180,10 +179,10 @@ BMAD ${workflow.module.toUpperCase()} module const fs = require('fs-extra'); // Only clean up project directory - const location = PathUtils.getIdeSubDir(projectDir, '.augment', 'commands'); + const location = path.join(projectDir, '.augment', 'commands'); const bmadDir = path.join(location, 'bmad'); - if (await this.exists(bmadDir)) { + if (await fs.pathExists(bmadDir)) { await fs.remove(bmadDir); console.log(chalk.dim(` Removed old BMAD commands`)); } @@ -199,12 +198,12 @@ BMAD ${workflow.module.toUpperCase()} module */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { // Auggie uses .augment/commands directory - const location = PathUtils.getIdeSubDir(projectDir, '.augment', 'commands'); - const bmadCommandsDir = PathUtils.getIdeSubDir(location, 'bmad'); - const agentsDir = PathUtils.getIdeSubDir(bmadCommandsDir, 'agents'); + const location = path.join(projectDir, '.augment', 'commands'); + const bmadCommandsDir = path.join(location, 'bmad'); + const agentsDir = path.join(bmadCommandsDir, 'agents'); // Create .augment/commands/bmad/agents directory if it doesn't exist - await this.ensureDir(agentsDir); + await fs.ensureDir(agentsDir); // Create custom agent launcher const launcherContent = `--- @@ -231,7 +230,7 @@ BMAD Custom agent const launcherPath = path.join(agentsDir, fileName); // Write the launcher file - await this.writeFile(launcherPath, launcherContent); + await fs.writeFile(launcherPath, launcherContent, 'utf8'); return { ide: 'auggie', diff --git a/tools/cli/installers/lib/ide/claude-code.js b/tools/cli/installers/lib/ide/claude-code.js index 1a2da897..56131e44 100644 --- a/tools/cli/installers/lib/ide/claude-code.js +++ b/tools/cli/installers/lib/ide/claude-code.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator'); @@ -49,7 +48,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { try { // Load injection configuration - const configContent = await this.readFile(injectionConfigPath); + const configContent = await fs.readFile(injectionConfigPath, 'utf8'); const injectionConfig = yaml.parse(configContent); // Ask about subagents if they exist and we haven't asked yet @@ -58,7 +57,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { if (config.subagentChoices.install !== 'none') { // Ask for installation location - const inquirer = require('inquirer').default || require('inquirer'); + const inquirer = require('inquirer'); const locationAnswer = await inquirer.prompt([ { type: 'list', @@ -88,9 +87,9 @@ class ClaudeCodeSetup extends BaseIdeSetup { * @param {string} projectDir - Project directory */ async cleanup(projectDir) { - const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); + const bmadCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad'); - if (await this.exists(bmadCommandsDir)) { + if (await fs.pathExists(bmadCommandsDir)) { await fs.remove(bmadCommandsDir); console.log(chalk.dim(` Removed old BMAD commands from ${this.name}`)); } @@ -112,9 +111,9 @@ class ClaudeCodeSetup extends BaseIdeSetup { await this.cleanup(projectDir); // Create .claude/commands directory structure - const claudeDir = PathUtils.getConfigDir(projectDir, this.configDir); - const commandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir); - const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); + const claudeDir = path.join(projectDir, this.configDir); + const commandsDir = path.join(claudeDir, this.commandsDir); + const bmadCommandsDir = path.join(commandsDir, 'bmad'); await this.ensureDir(bmadCommandsDir); @@ -160,7 +159,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { let workflowCommandCount = 0; for (const artifact of workflowArtifacts) { if (artifact.type === 'workflow-command') { - const moduleWorkflowsDir = PathUtils.getIdeSubDir(bmadCommandsDir, artifact.module, 'workflows'); + const moduleWorkflowsDir = path.join(bmadCommandsDir, artifact.module, 'workflows'); await this.ensureDir(moduleWorkflowsDir); const commandPath = path.join(moduleWorkflowsDir, path.basename(artifact.relativePath)); await this.writeFile(commandPath, artifact.content); @@ -199,7 +198,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { * Read and process file content */ async readAndProcess(filePath, metadata) { - const content = await this.readFile(filePath); + const content = await fs.readFile(filePath, 'utf8'); return this.processContent(content, metadata); } @@ -219,7 +218,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { // Add core agents const corePath = getModulePath('core'); - if (await this.exists(path.join(corePath, 'agents'))) { + if (await fs.pathExists(path.join(corePath, 'agents'))) { const coreAgents = await getAgentsFromDir(path.join(corePath, 'agents'), 'core'); agents.push(...coreAgents); } @@ -229,7 +228,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { const modulePath = path.join(sourceDir, moduleName); const agentsPath = path.join(modulePath, 'agents'); - if (await this.exists(agentsPath)) { + if (await fs.pathExists(agentsPath)) { const moduleAgents = await getAgentsFromDir(agentsPath, moduleName); agents.push(...moduleAgents); } @@ -306,7 +305,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { choices = await this.promptSubagentInstallation(config.subagents); if (choices.install !== 'none') { - const inquirer = require('inquirer').default || require('inquirer'); + const inquirer = require('inquirer'); const locationAnswer = await inquirer.prompt([ { type: 'list', @@ -343,7 +342,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { * Prompt user for subagent installation preferences */ async promptSubagentInstallation(subagentConfig) { - const inquirer = require('inquirer').default || require('inquirer'); + const inquirer = require('inquirer'); // First ask if they want to install subagents const { install } = await inquirer.prompt([ @@ -396,7 +395,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { const targetPath = path.join(projectDir, injection.file); if (await this.exists(targetPath)) { - let content = await this.readFile(targetPath); + let content = await fs.readFile(targetPath, 'utf8'); const marker = ``; if (content.includes(marker)) { @@ -408,7 +407,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { } content = content.replace(marker, injectionContent); - await this.writeFile(targetPath, content); + await fs.writeFile(targetPath, content); console.log(chalk.dim(` Injected: ${injection.point} → ${injection.file}`)); } } @@ -426,7 +425,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { targetDir = path.join(os.homedir(), '.claude', 'agents'); console.log(chalk.dim(` Installing subagents globally to: ~/.claude/agents/`)); } else { - targetDir = PathUtils.getIdeSubDir(projectDir, '.claude', 'agents'); + targetDir = path.join(projectDir, '.claude', 'agents'); console.log(chalk.dim(` Installing subagents to project: .claude/agents/`)); } @@ -472,7 +471,7 @@ class ClaudeCodeSetup extends BaseIdeSetup { * @returns {Object|null} Info about created command */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { - const customAgentsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad', 'custom', 'agents'); + const customAgentsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad', 'custom', 'agents'); if (!(await this.exists(path.join(projectDir, this.configDir)))) { return null; // IDE not configured for this project diff --git a/tools/cli/installers/lib/ide/cline.js b/tools/cli/installers/lib/ide/cline.js index f25b57a3..9a9ceba6 100644 --- a/tools/cli/installers/lib/ide/cline.js +++ b/tools/cli/installers/lib/ide/cline.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); const { BaseIdeSetup } = require('./_base-ide'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { getAgentsFromBmad, getTasksFromBmad } = require('./shared/bmad-artifacts'); @@ -27,8 +26,9 @@ class ClineSetup extends BaseIdeSetup { async setup(projectDir, bmadDir, options = {}) { console.log(chalk.cyan(`Setting up ${this.name}...`)); - // Create .clinerules/workflows directory using shared utilities - const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); + // Create .clinerules/workflows directory + const clineDir = path.join(projectDir, this.configDir); + const workflowsDir = path.join(clineDir, this.workflowsDir); await this.ensureDir(workflowsDir); @@ -72,9 +72,9 @@ class ClineSetup extends BaseIdeSetup { * Detect Cline installation by checking for .clinerules/workflows directory */ async detect(projectDir) { - const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); + const workflowsDir = path.join(projectDir, this.configDir, this.workflowsDir); - if (!(await this.exists(workflowsDir))) { + if (!(await fs.pathExists(workflowsDir))) { return false; } @@ -159,8 +159,8 @@ class ClineSetup extends BaseIdeSetup { for (const artifact of artifacts) { const flattenedName = this.flattenFilename(artifact.relativePath); - const targetPath = PathUtils.joinSafe(destDir, flattenedName); - await this.writeFile(targetPath, artifact.content); + const targetPath = path.join(destDir, flattenedName); + await fs.writeFile(targetPath, artifact.content); written++; } @@ -204,7 +204,7 @@ class ClineSetup extends BaseIdeSetup { * Cleanup Cline configuration */ async cleanup(projectDir) { - const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); + const workflowsDir = path.join(projectDir, this.configDir, this.workflowsDir); await this.clearOldBmadFiles(workflowsDir); console.log(chalk.dim(`Removed ${this.name} BMAD configuration`)); } @@ -218,10 +218,11 @@ class ClineSetup extends BaseIdeSetup { * @returns {Object} Installation result */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { - const workflowsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.workflowsDir); + const clineDir = path.join(projectDir, this.configDir); + const workflowsDir = path.join(clineDir, this.workflowsDir); // Create .clinerules/workflows directory if it doesn't exist - await this.ensureDir(workflowsDir); + await fs.ensureDir(workflowsDir); // Create custom agent launcher workflow const launcherContent = `name: ${agentName} diff --git a/tools/cli/installers/lib/ide/codex.js b/tools/cli/installers/lib/ide/codex.js index 3a2b3373..e538fa6f 100644 --- a/tools/cli/installers/lib/ide/codex.js +++ b/tools/cli/installers/lib/ide/codex.js @@ -3,7 +3,6 @@ const fs = require('fs-extra'); const os = require('node:os'); const chalk = require('chalk'); const { BaseIdeSetup } = require('./_base-ide'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { getTasksFromBmad } = require('./shared/bmad-artifacts'); @@ -22,7 +21,7 @@ class CodexSetup extends BaseIdeSetup { * @returns {Object} Collected configuration */ async collectConfiguration(options = {}) { - const inquirer = require('inquirer').default || require('inquirer'); + const inquirer = require('inquirer'); let confirmed = false; let installLocation = 'global'; @@ -131,7 +130,7 @@ class CodexSetup extends BaseIdeSetup { const projectSpecificDir = this.getCodexPromptDir(projectDir_local, 'project'); // Check global location - if (await this.exists(globalDir)) { + if (await fs.pathExists(globalDir)) { const entries = await fs.readdir(globalDir); if (entries.some((entry) => entry.startsWith('bmad-'))) { return true; @@ -139,7 +138,7 @@ class CodexSetup extends BaseIdeSetup { } // Check project-specific location - if (await this.exists(projectSpecificDir)) { + if (await fs.pathExists(projectSpecificDir)) { const entries = await fs.readdir(projectSpecificDir); if (entries.some((entry) => entry.startsWith('bmad-'))) { return true; @@ -208,7 +207,7 @@ class CodexSetup extends BaseIdeSetup { getCodexPromptDir(projectDir = null, location = 'global') { if (location === 'project' && projectDir) { - return PathUtils.getIdeSubDir(projectDir, '.codex', 'prompts'); + return path.join(projectDir, '.codex', 'prompts'); } return path.join(os.homedir(), '.codex', 'prompts'); } @@ -219,7 +218,7 @@ class CodexSetup extends BaseIdeSetup { for (const artifact of artifacts) { const flattenedName = this.flattenFilename(artifact.relativePath); const targetPath = path.join(destDir, flattenedName); - await this.writeFile(targetPath, artifact.content); + await fs.writeFile(targetPath, artifact.content); written++; } @@ -227,7 +226,7 @@ class CodexSetup extends BaseIdeSetup { } async clearOldBmadFiles(destDir) { - if (!(await this.exists(destDir))) { + if (!(await fs.pathExists(destDir))) { return; } @@ -249,7 +248,7 @@ class CodexSetup extends BaseIdeSetup { } async readAndProcessWithProject(filePath, metadata, projectDir) { - const content = await this.readFile(filePath); + const content = await fs.readFile(filePath, 'utf8'); return super.processContent(content, metadata, projectDir); } @@ -377,7 +376,7 @@ You must fully embody this agent's persona and follow all activation instruction const fileName = `bmad-custom-agents-${agentName}.md`; const launcherPath = path.join(destDir, fileName); - await this.writeFile(launcherPath, launcherContent); + await fs.writeFile(launcherPath, launcherContent, 'utf8'); return { path: path.relative(projectDir, launcherPath), diff --git a/tools/cli/installers/lib/ide/crush.js b/tools/cli/installers/lib/ide/crush.js index a548093d..0bef6952 100644 --- a/tools/cli/installers/lib/ide/crush.js +++ b/tools/cli/installers/lib/ide/crush.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); @@ -27,8 +26,8 @@ class CrushSetup extends BaseIdeSetup { console.log(chalk.cyan(`Setting up ${this.name}...`)); // Create .crush/commands/bmad directory structure - const crushDir = PathUtils.getConfigDir(projectDir, this.configDir); - const commandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); + const crushDir = path.join(projectDir, this.configDir); + const commandsDir = path.join(crushDir, this.commandsDir, 'bmad'); await this.ensureDir(commandsDir); @@ -243,9 +242,9 @@ Part of the BMAD ${workflow.module.toUpperCase()} module. */ async cleanup(projectDir) { const fs = require('fs-extra'); - const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); + const bmadCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad'); - if (await this.exists(bmadCommandsDir)) { + if (await fs.pathExists(bmadCommandsDir)) { await fs.remove(bmadCommandsDir); console.log(chalk.dim(`Removed BMAD commands from Crush`)); } @@ -260,8 +259,8 @@ Part of the BMAD ${workflow.module.toUpperCase()} module. * @returns {Object} Installation result */ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) { - const crushDir = PathUtils.getConfigDir(projectDir, this.configDir); - const bmadCommandsDir = PathUtils.getIdeSubDir(projectDir, this.configDir, this.commandsDir, 'bmad'); + const crushDir = path.join(projectDir, this.configDir); + const bmadCommandsDir = path.join(crushDir, this.commandsDir, 'bmad'); // Create .crush/commands/bmad directory if it doesn't exist await fs.ensureDir(bmadCommandsDir); @@ -287,7 +286,7 @@ The agent will follow the persona and instructions from the main agent file. const launcherPath = path.join(bmadCommandsDir, fileName); // Write the launcher file - await this.writeFile(launcherPath, launcherContent); + await fs.writeFile(launcherPath, launcherContent, 'utf8'); return { ide: 'crush', diff --git a/tools/cli/installers/lib/ide/cursor.js b/tools/cli/installers/lib/ide/cursor.js index 764153dc..183bbced 100644 --- a/tools/cli/installers/lib/ide/cursor.js +++ b/tools/cli/installers/lib/ide/cursor.js @@ -1,7 +1,6 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); diff --git a/tools/cli/installers/lib/ide/gemini.js b/tools/cli/installers/lib/ide/gemini.js index f002485c..82746abf 100644 --- a/tools/cli/installers/lib/ide/gemini.js +++ b/tools/cli/installers/lib/ide/gemini.js @@ -3,7 +3,6 @@ const fs = require('fs-extra'); const yaml = require('yaml'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); diff --git a/tools/cli/installers/lib/ide/github-copilot.js b/tools/cli/installers/lib/ide/github-copilot.js index 1409a092..998ec657 100644 --- a/tools/cli/installers/lib/ide/github-copilot.js +++ b/tools/cli/installers/lib/ide/github-copilot.js @@ -1,8 +1,7 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); -const inquirer = require('inquirer').default || require('inquirer'); +const inquirer = require('inquirer'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/ide/iflow.js b/tools/cli/installers/lib/ide/iflow.js index 238c34c2..bbe6d470 100644 --- a/tools/cli/installers/lib/ide/iflow.js +++ b/tools/cli/installers/lib/ide/iflow.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); diff --git a/tools/cli/installers/lib/ide/kilo.js b/tools/cli/installers/lib/ide/kilo.js index 3def56c6..66cb8c37 100644 --- a/tools/cli/installers/lib/ide/kilo.js +++ b/tools/cli/installers/lib/ide/kilo.js @@ -1,7 +1,6 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/ide/kiro-cli.js b/tools/cli/installers/lib/ide/kiro-cli.js index a37392cb..47f2a29d 100644 --- a/tools/cli/installers/lib/ide/kiro-cli.js +++ b/tools/cli/installers/lib/ide/kiro-cli.js @@ -3,7 +3,6 @@ const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); const fs = require('fs-extra'); const yaml = require('yaml'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); /** * Kiro CLI setup handler for BMad Method diff --git a/tools/cli/installers/lib/ide/opencode.js b/tools/cli/installers/lib/ide/opencode.js index f9087ac7..cf5e8eec 100644 --- a/tools/cli/installers/lib/ide/opencode.js +++ b/tools/cli/installers/lib/ide/opencode.js @@ -4,7 +4,6 @@ const os = require('node:os'); const chalk = require('chalk'); const yaml = require('yaml'); const { BaseIdeSetup } = require('./_base-ide'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); diff --git a/tools/cli/installers/lib/ide/qwen.js b/tools/cli/installers/lib/ide/qwen.js index 96af9802..bdc0cb29 100644 --- a/tools/cli/installers/lib/ide/qwen.js +++ b/tools/cli/installers/lib/ide/qwen.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { getAgentsFromBmad, getTasksFromBmad } = require('./shared/bmad-artifacts'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); diff --git a/tools/cli/installers/lib/ide/roo.js b/tools/cli/installers/lib/ide/roo.js index fe297694..26370100 100644 --- a/tools/cli/installers/lib/ide/roo.js +++ b/tools/cli/installers/lib/ide/roo.js @@ -1,7 +1,6 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/ide/rovo-dev.js b/tools/cli/installers/lib/ide/rovo-dev.js index 6ba35b4c..ecb34d4b 100644 --- a/tools/cli/installers/lib/ide/rovo-dev.js +++ b/tools/cli/installers/lib/ide/rovo-dev.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const chalk = require('chalk'); const { BaseIdeSetup } = require('./_base-ide'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator'); const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator'); diff --git a/tools/cli/installers/lib/ide/trae.js b/tools/cli/installers/lib/ide/trae.js index 64f9b34c..b4bea49b 100644 --- a/tools/cli/installers/lib/ide/trae.js +++ b/tools/cli/installers/lib/ide/trae.js @@ -2,7 +2,6 @@ const path = require('node:path'); const fs = require('fs-extra'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/ide/windsurf.js b/tools/cli/installers/lib/ide/windsurf.js index cd6bc5f6..92596db3 100644 --- a/tools/cli/installers/lib/ide/windsurf.js +++ b/tools/cli/installers/lib/ide/windsurf.js @@ -1,7 +1,6 @@ const path = require('node:path'); const { BaseIdeSetup } = require('./_base-ide'); const chalk = require('chalk'); -const { FileOps, PathUtils } = require('../../../lib/file-ops'); const { AgentCommandGenerator } = require('./shared/agent-command-generator'); /** diff --git a/tools/cli/installers/lib/modules/manager.js b/tools/cli/installers/lib/modules/manager.js index 0cbf21c9..4844f243 100644 --- a/tools/cli/installers/lib/modules/manager.js +++ b/tools/cli/installers/lib/modules/manager.js @@ -2,9 +2,9 @@ const path = require('node:path'); const fs = require('fs-extra'); const yaml = require('yaml'); const chalk = require('chalk'); -const { XmlHandler } = require('../../../lib/agent/xml-handler'); +const { XmlHandler } = require('../../../lib/xml-handler'); const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root'); -const { filterCustomizationData } = require('../../../lib/agent/yaml-xml-builder'); +const { filterCustomizationData } = require('../../../lib/agent/compiler'); /** * Manages the installation, updating, and removal of BMAD modules. @@ -757,7 +757,7 @@ class ModuleManager { // Read and compile the YAML try { const yamlContent = await fs.readFile(sourceYamlPath, 'utf8'); - const { compileAgent } = require('../../../lib/agent/yaml-xml-builder'); + const { compileAgent } = require('../../../lib/agent/compiler'); // Create customize template if it doesn't exist if (!(await fs.pathExists(customizePath))) { @@ -952,7 +952,7 @@ class ModuleManager { // // Check if content has agent XML and no activation block // if (content.includes('${escapeXml(roleText)}\n`; + } + + if (persona.identity) { + const identityText = persona.identity.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' '); + xml += ` ${escapeXml(identityText)}\n`; + } + + if (persona.communication_style) { + const styleText = persona.communication_style.trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' '); + xml += ` ${escapeXml(styleText)}\n`; + } + + if (persona.principles) { + let principlesText; + if (Array.isArray(persona.principles)) { + principlesText = persona.principles.join(' '); + } else { + principlesText = persona.principles.trim().replaceAll(/\n+/g, ' '); + } + xml += ` ${escapeXml(principlesText)}\n`; + } + + xml += ' \n'; + + return xml; +} + +/** + * Build prompts XML section + * @param {Array} prompts - Prompts array + * @returns {string} Prompts XML + */ +function buildPromptsXml(prompts) { + if (!prompts || prompts.length === 0) return ''; + + let xml = ' \n'; + + for (const prompt of prompts) { + xml += ` \n`; + xml += ` \n`; + // Don't escape prompt content - it's meant to be read as-is + xml += `${prompt.content || ''}\n`; + xml += ` \n`; + xml += ` \n`; + } + + xml += ' \n'; + + return xml; +} + +/** + * Build memories XML section + * @param {Array} memories - Memories array + * @returns {string} Memories XML + */ +function buildMemoriesXml(memories) { + if (!memories || memories.length === 0) return ''; + + let xml = ' \n'; + + for (const memory of memories) { + xml += ` ${escapeXml(String(memory))}\n`; + } + + xml += ' \n'; + + return xml; +} + +/** + * Build menu XML section + * Supports both legacy and multi format menu items + * Multi items display as a single menu item with nested handlers + * @param {Array} menuItems - Menu items + * @returns {string} Menu XML + */ +function buildMenuXml(menuItems) { + let xml = ' \n'; + + // Always inject menu display option first + xml += ` [M] Redisplay Menu Options\n`; + + // Add user-defined menu items + if (menuItems && menuItems.length > 0) { + for (const item of menuItems) { + // Handle multi format menu items with nested handlers + if (item.multi && item.triggers && Array.isArray(item.triggers)) { + xml += ` ${escapeXml(item.multi)}\n`; + xml += buildNestedHandlers(item.triggers); + xml += ` \n`; + } + // Handle legacy format menu items + else if (item.trigger) { + // For legacy items, keep using cmd with * format + let trigger = item.trigger || ''; + if (!trigger.startsWith('*')) { + trigger = '*' + trigger; + } + + const attrs = [`cmd="${trigger}"`]; + + // Add handler attributes + if (item.workflow) attrs.push(`workflow="${item.workflow}"`); + if (item.exec) attrs.push(`exec="${item.exec}"`); + if (item.tmpl) attrs.push(`tmpl="${item.tmpl}"`); + if (item.data) attrs.push(`data="${item.data}"`); + if (item.action) attrs.push(`action="${item.action}"`); + + xml += ` ${escapeXml(item.description || '')}\n`; + } + } + } + + // Always inject dismiss last + xml += ` [D] Dismiss Agent\n`; + + xml += ' \n'; + + return xml; +} + +/** + * Build nested handlers for multi format menu items + * @param {Array} triggers - Triggers array from multi format + * @returns {string} Handler XML + */ +function buildNestedHandlers(triggers) { + let xml = ''; + + for (const triggerGroup of triggers) { + for (const [triggerName, execArray] of Object.entries(triggerGroup)) { + // Build trigger with * prefix + let trigger = triggerName.startsWith('*') ? triggerName : '*' + triggerName; + + // Extract the relevant execution data + const execData = processExecArray(execArray); + + // For nested handlers in multi items, we use match attribute for fuzzy matching + const attrs = [`match="${escapeXml(execData.description || '')}"`]; + + // Add handler attributes based on exec data + if (execData.route) attrs.push(`exec="${execData.route}"`); + if (execData.workflow) attrs.push(`workflow="${execData.workflow}"`); + if (execData['validate-workflow']) attrs.push(`validate-workflow="${execData['validate-workflow']}"`); + if (execData.action) attrs.push(`action="${execData.action}"`); + if (execData.data) attrs.push(`data="${execData.data}"`); + if (execData.tmpl) attrs.push(`tmpl="${execData.tmpl}"`); + // Only add type if it's not 'exec' (exec is already implied by the exec attribute) + if (execData.type && execData.type !== 'exec') attrs.push(`type="${execData.type}"`); + + xml += ` \n`; + } + } + + return xml; +} + +/** + * Process the execution array from multi format triggers + * Extracts relevant data for XML attributes + * @param {Array} execArray - Array of execution objects + * @returns {Object} Processed execution data + */ +function processExecArray(execArray) { + const result = { + description: '', + route: null, + workflow: null, + data: null, + action: null, + type: null, + }; + + if (!Array.isArray(execArray)) { + return result; + } + + for (const exec of execArray) { + if (exec.input) { + // Use input as description if no explicit description is provided + result.description = exec.input; + } + + if (exec.route) { + // Determine if it's a workflow or exec based on file extension or context + if (exec.route.endsWith('.yaml') || exec.route.endsWith('.yml')) { + result.workflow = exec.route; + } else { + result.route = exec.route; + } + } + + if (exec.data !== null && exec.data !== undefined) { + result.data = exec.data; + } + + if (exec.action) { + result.action = exec.action; + } + + if (exec.type) { + result.type = exec.type; + } + } + + return result; +} + +/** + * Compile agent YAML to proper XML format + * @param {Object} agentYaml - Parsed and processed agent YAML + * @param {string} agentName - Final agent name (for ID and frontmatter) + * @param {string} targetPath - Target path for agent ID + * @returns {Promise} Compiled XML string with frontmatter + */ +async function compileToXml(agentYaml, agentName = '', targetPath = '') { + const agent = agentYaml.agent; + const meta = agent.metadata; + + let xml = ''; + + // Build frontmatter + xml += buildFrontmatter(meta, agentName || meta.name || 'agent'); + + // Start code fence + xml += '```xml\n'; + + // Agent opening tag + const agentAttrs = [ + `id="${targetPath || meta.id || ''}"`, + `name="${meta.name || ''}"`, + `title="${meta.title || ''}"`, + `icon="${meta.icon || '🤖'}"`, + ]; + + xml += `\n`; + + // Activation block - use ActivationBuilder for proper fragment loading + const activationBuilder = new ActivationBuilder(); + const analyzer = new AgentAnalyzer(); + const profile = analyzer.analyzeAgentObject(agentYaml); + xml += await activationBuilder.buildActivation( + profile, + meta, + agent.critical_actions || [], + false, // forWebBundle - set to false for IDE deployment + ); + + // Persona section + xml += buildPersonaXml(agent.persona); + + // Prompts section (if present) + if (agent.prompts && agent.prompts.length > 0) { + xml += buildPromptsXml(agent.prompts); + } + + // Memories section (if present) + if (agent.memories && agent.memories.length > 0) { + xml += buildMemoriesXml(agent.memories); + } + + // Menu section + xml += buildMenuXml(agent.menu || []); + + // Closing agent tag + xml += '\n'; + + // Close code fence + xml += '```\n'; + + return xml; +} + +/** + * Full compilation pipeline + * @param {string} yamlContent - Raw YAML string + * @param {Object} answers - Answers from install_config questions (or defaults) + * @param {string} agentName - Optional final agent name (user's custom persona name) + * @param {string} targetPath - Optional target path for agent ID + * @param {Object} options - Additional options including config + * @returns {Promise} { xml: string, metadata: Object } + */ +async function compileAgent(yamlContent, answers = {}, agentName = '', targetPath = '', options = {}) { + // Parse YAML + let agentYaml = yaml.parse(yamlContent); + + // Apply customization merges before template processing + // Handle metadata overrides (like name) + if (answers.metadata) { + // Filter out empty values from metadata + const filteredMetadata = filterCustomizationData(answers.metadata); + if (Object.keys(filteredMetadata).length > 0) { + agentYaml.agent.metadata = { ...agentYaml.agent.metadata, ...filteredMetadata }; + } + // Remove from answers so it doesn't get processed as template variables + const { metadata, ...templateAnswers } = answers; + answers = templateAnswers; + } + + // Handle other customization properties + // These should be merged into the agent structure, not processed as template variables + const customizationKeys = ['persona', 'critical_actions', 'memories', 'menu', 'prompts']; + const customizations = {}; + const remainingAnswers = { ...answers }; + + for (const key of customizationKeys) { + if (answers[key]) { + let filtered; + + // Handle different data types + if (Array.isArray(answers[key])) { + // For arrays, filter out empty/null/undefined values + filtered = answers[key].filter((item) => item !== null && item !== undefined && item !== ''); + } else { + // For objects, use filterCustomizationData + filtered = filterCustomizationData(answers[key]); + } + + // Check if we have valid content + const hasContent = Array.isArray(filtered) ? filtered.length > 0 : Object.keys(filtered).length > 0; + + if (hasContent) { + customizations[key] = filtered; + } + delete remainingAnswers[key]; + } + } + + // Merge customizations into agentYaml + if (Object.keys(customizations).length > 0) { + // For persona: replace entire section + if (customizations.persona) { + agentYaml.agent.persona = customizations.persona; + } + + // For critical_actions: append to existing or create new + if (customizations.critical_actions) { + const existing = agentYaml.agent.critical_actions || []; + agentYaml.agent.critical_actions = [...existing, ...customizations.critical_actions]; + } + + // For memories: append to existing or create new + if (customizations.memories) { + const existing = agentYaml.agent.memories || []; + agentYaml.agent.memories = [...existing, ...customizations.memories]; + } + + // For menu: append to existing or create new + if (customizations.menu) { + const existing = agentYaml.agent.menu || []; + agentYaml.agent.menu = [...existing, ...customizations.menu]; + } + + // For prompts: append to existing or create new (by id) + if (customizations.prompts) { + const existing = agentYaml.agent.prompts || []; + // Merge by id, with customizations taking precedence + const mergedPrompts = [...existing]; + for (const customPrompt of customizations.prompts) { + const existingIndex = mergedPrompts.findIndex((p) => p.id === customPrompt.id); + if (existingIndex === -1) { + mergedPrompts.push(customPrompt); + } else { + mergedPrompts[existingIndex] = customPrompt; + } + } + agentYaml.agent.prompts = mergedPrompts; + } + } + + // Use remaining answers for template processing + answers = remainingAnswers; + + // Extract install_config + const installConfig = extractInstallConfig(agentYaml); + + // Merge defaults with provided answers + let finalAnswers = answers; + if (installConfig) { + const defaults = getDefaultValues(installConfig); + finalAnswers = { ...defaults, ...answers }; + } + + // Process templates with answers + const processedYaml = processAgentYaml(agentYaml, finalAnswers); + + // Strip install_config from output + const cleanYaml = stripInstallConfig(processedYaml); + + let xml = await compileToXml(cleanYaml, agentName, targetPath); + + // Ensure xml is a string before attempting replaceAll + if (typeof xml !== 'string') { + throw new TypeError('compileToXml did not return a string'); + } + + return { + xml, + metadata: cleanYaml.agent.metadata, + processedYaml: cleanYaml, + }; +} + +/** + * Filter customization data to remove empty/null values + * @param {Object} data - Raw customization data + * @returns {Object} Filtered customization data + */ +function filterCustomizationData(data) { + const filtered = {}; + + for (const [key, value] of Object.entries(data)) { + if (value === null || value === undefined || value === '') { + continue; // Skip null/undefined/empty values + } + + if (Array.isArray(value)) { + if (value.length > 0) { + filtered[key] = value; + } + } else if (typeof value === 'object') { + const nested = filterCustomizationData(value); + if (Object.keys(nested).length > 0) { + filtered[key] = nested; + } + } else { + filtered[key] = value; + } + } + + return filtered; +} + +/** + * Process TTS injection markers in content + * @param {string} content - Content to process + * @param {boolean} enableAgentVibes - Whether AgentVibes is enabled + * @returns {Object} { content: string, hadInjection: boolean } + */ +function processTTSInjectionPoints(content, enableAgentVibes) { + const hasAgentTTS = content.includes(''); + + if (enableAgentVibes && hasAgentTTS) { + // Replace agent-tts injection marker with TTS rule + content = content.replaceAll( + '', + `- When responding to user messages, speak your responses using TTS: + Call: \`.claude/hooks/bmad-speak.sh '{agent-id}' '{response-text}'\` after each response + Replace {agent-id} with YOUR agent ID from tag at top of this file + Replace {response-text} with the text you just output to the user + IMPORTANT: Use single quotes as shown - do NOT escape special characters like ! or $ inside single quotes + Run in background (&) to avoid blocking`, + ); + return { content, hadInjection: true }; + } else if (!enableAgentVibes && hasAgentTTS) { + // Strip injection markers when disabled + content = content.replaceAll(/\n?/g, ''); + } + + return { content, hadInjection: false }; +} + +/** + * Compile agent file to .md + * @param {string} yamlPath - Path to agent YAML file + * @param {Object} options - { answers: {}, outputPath: string, enableAgentVibes: boolean } + * @returns {Object} Compilation result + */ +function compileAgentFile(yamlPath, options = {}) { + const yamlContent = fs.readFileSync(yamlPath, 'utf8'); + const result = compileAgent(yamlContent, options.answers || {}); + + // Determine output path + let outputPath = options.outputPath; + if (!outputPath) { + // Default: same directory, same name, .md extension + const dir = path.dirname(yamlPath); + const basename = path.basename(yamlPath, '.agent.yaml'); + outputPath = path.join(dir, `${basename}.md`); + } + + // Process TTS injection points if enableAgentVibes option is provided + let xml = result.xml; + let ttsInjected = false; + if (options.enableAgentVibes !== undefined) { + const ttsResult = processTTSInjectionPoints(xml, options.enableAgentVibes); + xml = ttsResult.content; + ttsInjected = ttsResult.hadInjection; + } + + // Write compiled XML + fs.writeFileSync(outputPath, xml, 'utf8'); + + return { + ...result, + xml, + outputPath, + sourcePath: yamlPath, + ttsInjected, + }; +} + +module.exports = { + compileToXml, + compileAgent, + compileAgentFile, + escapeXml, + buildFrontmatter, + buildPersonaXml, + buildPromptsXml, + buildMemoriesXml, + buildMenuXml, + filterCustomizationData, +}; diff --git a/tools/cli/lib/agent/installer.js b/tools/cli/lib/agent/installer.js new file mode 100644 index 00000000..b55502ed --- /dev/null +++ b/tools/cli/lib/agent/installer.js @@ -0,0 +1,716 @@ +/** + * BMAD Agent Installer + * Discovers, prompts, compiles, and installs agents + */ + +const fs = require('node:fs'); +const path = require('node:path'); +const yaml = require('yaml'); +const readline = require('node:readline'); +const { compileAgent, compileAgentFile } = require('./compiler'); +const { extractInstallConfig, getDefaultValues } = require('./template-engine'); + +/** + * Find BMAD config file in project + * @param {string} startPath - Starting directory to search from + * @returns {Object|null} Config data or null + */ +function findBmadConfig(startPath = process.cwd()) { + // Look for common BMAD folder names + const possibleNames = ['_bmad']; + + for (const name of possibleNames) { + const configPath = path.join(startPath, name, 'bmb', 'config.yaml'); + if (fs.existsSync(configPath)) { + const content = fs.readFileSync(configPath, 'utf8'); + const config = yaml.parse(content); + return { + ...config, + bmadFolder: path.join(startPath, name), + projectRoot: startPath, + }; + } + } + + return null; +} + +/** + * Resolve path variables like {project-root} and {bmad-folder} + * @param {string} pathStr - Path with variables + * @param {Object} context - Contains projectRoot, bmadFolder + * @returns {string} Resolved path + */ +function resolvePath(pathStr, context) { + return pathStr.replaceAll('{project-root}', context.projectRoot).replaceAll('{bmad-folder}', context_bmadFolder); +} + +/** + * Discover available agents in the custom agent location recursively + * @param {string} searchPath - Path to search for agents + * @returns {Array} List of agent info objects + */ +function discoverAgents(searchPath) { + if (!fs.existsSync(searchPath)) { + return []; + } + + const agents = []; + + // Helper function to recursively search + function searchDirectory(dir, relativePath = '') { + const entries = fs.readdirSync(dir, { withFileTypes: true }); + + for (const entry of entries) { + const fullPath = path.join(dir, entry.name); + const agentRelativePath = relativePath ? path.join(relativePath, entry.name) : entry.name; + + if (entry.isFile() && entry.name.endsWith('.agent.yaml')) { + // Simple agent (single file) + // The agent name is based on the filename + const agentName = entry.name.replace('.agent.yaml', ''); + agents.push({ + type: 'simple', + name: agentName, + path: fullPath, + yamlFile: fullPath, + relativePath: agentRelativePath.replace('.agent.yaml', ''), + }); + } else if (entry.isDirectory()) { + // Check if this directory contains an .agent.yaml file + try { + const dirContents = fs.readdirSync(fullPath); + const yamlFiles = dirContents.filter((f) => f.endsWith('.agent.yaml')); + + if (yamlFiles.length > 0) { + // Found .agent.yaml files in this directory + for (const yamlFile of yamlFiles) { + const agentYamlPath = path.join(fullPath, yamlFile); + const agentName = path.basename(yamlFile, '.agent.yaml'); + + agents.push({ + type: 'expert', + name: agentName, + path: fullPath, + yamlFile: agentYamlPath, + relativePath: agentRelativePath, + }); + } + } else { + // No .agent.yaml in this directory, recurse deeper + searchDirectory(fullPath, agentRelativePath); + } + } catch { + // Skip directories we can't read + } + } + } + } + + searchDirectory(searchPath); + return agents; +} + +/** + * Load agent YAML and extract install_config + * @param {string} yamlPath - Path to agent YAML file + * @returns {Object} Agent YAML and install config + */ +function loadAgentConfig(yamlPath) { + const content = fs.readFileSync(yamlPath, 'utf8'); + const agentYaml = yaml.parse(content); + const installConfig = extractInstallConfig(agentYaml); + const defaults = installConfig ? getDefaultValues(installConfig) : {}; + + // Check for saved_answers (from previously installed custom agents) + // These take precedence over defaults + const savedAnswers = agentYaml?.saved_answers || {}; + + const metadata = agentYaml?.agent?.metadata || {}; + + return { + yamlContent: content, + agentYaml, + installConfig, + defaults: { ...defaults, ...savedAnswers }, // saved_answers override defaults + metadata, + hasSidecar: metadata.hasSidecar === true, + }; +} + +/** + * Interactive prompt for install_config questions + * @param {Object} installConfig - Install configuration with questions + * @param {Object} defaults - Default values + * @returns {Promise} User answers + */ +async function promptInstallQuestions(installConfig, defaults, presetAnswers = {}) { + if (!installConfig || !installConfig.questions || installConfig.questions.length === 0) { + return { ...defaults, ...presetAnswers }; + } + + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + + const question = (prompt) => + new Promise((resolve) => { + rl.question(prompt, resolve); + }); + + const answers = { ...defaults, ...presetAnswers }; + + console.log('\n📝 Agent Configuration\n'); + if (installConfig.description) { + console.log(` ${installConfig.description}\n`); + } + + for (const q of installConfig.questions) { + // Skip questions for variables that are already set (e.g., custom_name set upfront) + if (answers[q.var] !== undefined && answers[q.var] !== defaults[q.var]) { + console.log(chalk.dim(` ${q.var}: ${answers[q.var]} (already set)`)); + continue; + } + + let response; + + switch (q.type) { + case 'text': { + const defaultHint = q.default ? ` (default: ${q.default})` : ''; + response = await question(` ${q.prompt}${defaultHint}: `); + answers[q.var] = response || q.default || ''; + + break; + } + case 'boolean': { + const defaultHint = q.default ? ' [Y/n]' : ' [y/N]'; + response = await question(` ${q.prompt}${defaultHint}: `); + if (response === '') { + answers[q.var] = q.default; + } else { + answers[q.var] = response.toLowerCase().startsWith('y'); + } + + break; + } + case 'choice': { + console.log(` ${q.prompt}`); + for (const [idx, opt] of q.options.entries()) { + const marker = opt.value === q.default ? '* ' : ' '; + console.log(` ${marker}${idx + 1}. ${opt.label}`); + } + const defaultIdx = q.options.findIndex((o) => o.value === q.default) + 1; + let validChoice = false; + let choiceIdx; + while (!validChoice) { + response = await question(` Choice (default: ${defaultIdx}): `); + if (response) { + choiceIdx = parseInt(response, 10) - 1; + if (isNaN(choiceIdx) || choiceIdx < 0 || choiceIdx >= q.options.length) { + console.log(` Invalid choice. Please enter 1-${q.options.length}`); + } else { + validChoice = true; + } + } else { + choiceIdx = defaultIdx - 1; + validChoice = true; + } + } + answers[q.var] = q.options[choiceIdx].value; + + break; + } + // No default + } + } + + rl.close(); + return answers; +} + +/** + * Install a compiled agent to target location + * @param {Object} agentInfo - Agent discovery info + * @param {Object} answers - User answers for install_config + * @param {string} targetPath - Target installation directory + * @param {Object} options - Additional options including config + * @returns {Object} Installation result + */ +function installAgent(agentInfo, answers, targetPath, options = {}) { + // Compile the agent + const { xml, metadata, processedYaml } = compileAgent(fs.readFileSync(agentInfo.yamlFile, 'utf8'), answers); + + // Determine target agent folder name + // Use the folder name from agentInfo, NOT the persona name from metadata + const agentFolderName = agentInfo.name; + + const agentTargetDir = path.join(targetPath, agentFolderName); + + // Create target directory + if (!fs.existsSync(agentTargetDir)) { + fs.mkdirSync(agentTargetDir, { recursive: true }); + } + + // Write compiled XML (.md) + const compiledFileName = `${agentFolderName}.md`; + const compiledPath = path.join(agentTargetDir, compiledFileName); + fs.writeFileSync(compiledPath, xml, 'utf8'); + + const result = { + success: true, + agentName: metadata.name || agentInfo.name, + targetDir: agentTargetDir, + compiledFile: compiledPath, + }; + + return result; +} + +/** + * Update agent metadata ID to reflect installed location + * @param {string} compiledContent - Compiled XML content + * @param {string} targetPath - Target installation path relative to project + * @returns {string} Updated content + */ +function updateAgentId(compiledContent, targetPath) { + // Update the id attribute in the opening agent tag + return compiledContent.replace(/( { + const value = agentData[col] || ''; + return escapeCsvField(value); + }); + + // Replace the line + lines[lineNumber] = row.join(','); + + fs.writeFileSync(manifestFile, lines.join('\n') + '\n', 'utf8'); + return true; +} + +/** + * Add agent to manifest CSV + * @param {string} manifestFile - Path to agent-manifest.csv + * @param {Object} agentData - Agent metadata and path info + * @returns {boolean} Success + */ +function addToManifest(manifestFile, agentData) { + const content = fs.readFileSync(manifestFile, 'utf8'); + const lines = content.trim().split('\n'); + + // Parse header to understand column order + const header = lines[0]; + const columns = header.split(','); + + // Build the new row based on header columns + const row = columns.map((col) => { + const value = agentData[col] || ''; + return escapeCsvField(value); + }); + + // Append new row + const newLine = row.join(','); + const updatedContent = content.trim() + '\n' + newLine + '\n'; + + fs.writeFileSync(manifestFile, updatedContent, 'utf8'); + return true; +} + +/** + * Save agent source YAML to _config/custom/agents/ for reinstallation + * Stores user answers in a top-level saved_answers section (cleaner than overwriting defaults) + * @param {Object} agentInfo - Agent info (path, type, etc.) + * @param {string} cfgFolder - Path to _config folder + * @param {string} agentName - Final agent name (e.g., "fred-commit-poet") + * @param {Object} answers - User answers to save for reinstallation + * @returns {Object} Info about saved source + */ +function saveAgentSource(agentInfo, cfgFolder, agentName, answers = {}) { + // Save to _config/custom/agents/ instead of _config/agents/ + const customAgentsCfgDir = path.join(cfgFolder, 'custom', 'agents'); + + if (!fs.existsSync(customAgentsCfgDir)) { + fs.mkdirSync(customAgentsCfgDir, { recursive: true }); + } + + const yamlLib = require('yaml'); + + /** + * Add saved_answers section to store user's actual answers + */ + function addSavedAnswers(agentYaml, answers) { + // Store answers in a clear, separate section + agentYaml.saved_answers = answers; + return agentYaml; + } + + if (agentInfo.type === 'simple') { + // Simple agent: copy YAML with saved_answers section + const targetYaml = path.join(customAgentsCfgDir, `${agentName}.agent.yaml`); + const originalContent = fs.readFileSync(agentInfo.yamlFile, 'utf8'); + const agentYaml = yamlLib.parse(originalContent); + + // Add saved_answers section with user's choices + addSavedAnswers(agentYaml, answers); + + fs.writeFileSync(targetYaml, yamlLib.stringify(agentYaml), 'utf8'); + return { type: 'simple', path: targetYaml }; + } else { + // Expert agent with sidecar: copy entire folder with saved_answers + const targetFolder = path.join(customAgentsCfgDir, agentName); + if (!fs.existsSync(targetFolder)) { + fs.mkdirSync(targetFolder, { recursive: true }); + } + + // Copy YAML and entire sidecar structure + const sourceDir = agentInfo.path; + const copied = []; + + function copyDir(src, dest) { + if (!fs.existsSync(dest)) { + fs.mkdirSync(dest, { recursive: true }); + } + + const entries = fs.readdirSync(src, { withFileTypes: true }); + for (const entry of entries) { + const srcPath = path.join(src, entry.name); + const destPath = path.join(dest, entry.name); + + if (entry.isDirectory()) { + copyDir(srcPath, destPath); + } else if (entry.name.endsWith('.agent.yaml')) { + // For the agent YAML, add saved_answers section + const originalContent = fs.readFileSync(srcPath, 'utf8'); + const agentYaml = yamlLib.parse(originalContent); + addSavedAnswers(agentYaml, answers); + // Rename YAML to match final agent name + const newYamlPath = path.join(dest, `${agentName}.agent.yaml`); + fs.writeFileSync(newYamlPath, yamlLib.stringify(agentYaml), 'utf8'); + copied.push(newYamlPath); + } else { + fs.copyFileSync(srcPath, destPath); + copied.push(destPath); + } + } + } + + copyDir(sourceDir, targetFolder); + return { type: 'expert', path: targetFolder, files: copied }; + } +} + +/** + * Create IDE slash command wrapper for agent + * Leverages IdeManager to dispatch to IDE-specific handlers + * @param {string} projectRoot - Project root path + * @param {string} agentName - Agent name (e.g., "commit-poet") + * @param {string} agentPath - Path to compiled agent (relative to project root) + * @param {Object} metadata - Agent metadata + * @returns {Promise} Info about created slash commands + */ +async function createIdeSlashCommands(projectRoot, agentName, agentPath, metadata) { + // Read manifest.yaml to get installed IDEs + const manifestPath = path.join(projectRoot, '_bmad', '_config', 'manifest.yaml'); + let installedIdes = ['claude-code']; // Default to Claude Code if no manifest + + if (fs.existsSync(manifestPath)) { + const yamlLib = require('yaml'); + const manifestContent = fs.readFileSync(manifestPath, 'utf8'); + const manifest = yamlLib.parse(manifestContent); + if (manifest.ides && Array.isArray(manifest.ides)) { + installedIdes = manifest.ides; + } + } + + // Use IdeManager to install custom agent launchers for all configured IDEs + const { IdeManager } = require('../../installers/lib/ide/manager'); + const ideManager = new IdeManager(); + + const results = await ideManager.installCustomAgentLaunchers(installedIdes, projectRoot, agentName, agentPath, metadata); + + return results; +} + +/** + * Update manifest.yaml to track custom agent + * @param {string} manifestPath - Path to manifest.yaml + * @param {string} agentName - Agent name + * @param {string} agentType - Agent type (source name) + * @returns {boolean} Success + */ +function updateManifestYaml(manifestPath, agentName, agentType) { + if (!fs.existsSync(manifestPath)) { + return false; + } + + const yamlLib = require('yaml'); + const content = fs.readFileSync(manifestPath, 'utf8'); + const manifest = yamlLib.parse(content); + + // Initialize custom_agents array if not exists + if (!manifest.custom_agents) { + manifest.custom_agents = []; + } + + // Check if this agent is already registered + const existingIndex = manifest.custom_agents.findIndex((a) => a.name === agentName || (typeof a === 'string' && a === agentName)); + + const agentEntry = { + name: agentName, + type: agentType, + installed: new Date().toISOString(), + }; + + if (existingIndex === -1) { + // Add new entry + manifest.custom_agents.push(agentEntry); + } else { + // Update existing entry + manifest.custom_agents[existingIndex] = agentEntry; + } + + // Update lastUpdated timestamp + if (manifest.installation) { + manifest.installation.lastUpdated = new Date().toISOString(); + } + + // Write back + const newContent = yamlLib.stringify(manifest); + fs.writeFileSync(manifestPath, newContent, 'utf8'); + + return true; +} + +/** + * Extract manifest data from compiled agent XML + * @param {string} xmlContent - Compiled agent XML + * @param {Object} metadata - Agent metadata from YAML + * @param {string} agentPath - Relative path to agent file + * @param {string} moduleName - Module name (default: 'custom') + * @returns {Object} Manifest row data + */ +function extractManifestData(xmlContent, metadata, agentPath, moduleName = 'custom') { + // Extract data from XML using regex (simple parsing) + const extractTag = (tag) => { + const match = xmlContent.match(new RegExp(`<${tag}>([\\s\\S]*?)`)); + if (!match) return ''; + // Collapse multiple lines into single line, normalize whitespace + return match[1].trim().replaceAll(/\n+/g, ' ').replaceAll(/\s+/g, ' ').trim(); + }; + + // Extract attributes from agent tag + const extractAgentAttribute = (attr) => { + const match = xmlContent.match(new RegExp(`]*\\s${attr}=["']([^"']+)["']`)); + return match ? match[1] : ''; + }; + + const extractPrinciples = () => { + const match = xmlContent.match(/([\s\S]*?)<\/principles>/); + if (!match) return ''; + // Extract individual principle lines + const principles = match[1] + .split('\n') + .map((l) => l.trim()) + .filter((l) => l.length > 0) + .join(' '); + return principles; + }; + + // Prioritize XML extraction over metadata for agent persona info + const xmlTitle = extractAgentAttribute('title') || extractTag('name'); + const xmlIcon = extractAgentAttribute('icon'); + + return { + name: metadata.id ? path.basename(metadata.id, '.md') : metadata.name.toLowerCase().replaceAll(/\s+/g, '-'), + displayName: xmlTitle || metadata.name || '', + title: xmlTitle || metadata.title || '', + icon: xmlIcon || metadata.icon || '', + role: extractTag('role'), + identity: extractTag('identity'), + communicationStyle: extractTag('communication_style'), + principles: extractPrinciples(), + module: moduleName, + path: agentPath, + }; +} + +module.exports = { + findBmadConfig, + resolvePath, + discoverAgents, + loadAgentConfig, + promptInstallQuestions, + installAgent, + updateAgentId, + detectBmadProject, + addToManifest, + extractManifestData, + escapeCsvField, + checkManifestForAgent, + checkManifestForPath, + updateManifestEntry, + saveAgentSource, + createIdeSlashCommands, + updateManifestYaml, +}; diff --git a/tools/cli/lib/agent/template-engine.js b/tools/cli/lib/agent/template-engine.js index b093e2e9..01281fb1 100644 --- a/tools/cli/lib/agent/template-engine.js +++ b/tools/cli/lib/agent/template-engine.js @@ -140,36 +140,6 @@ function getDefaultValues(installConfig) { return defaults; } -/** - * Filter out empty/null/undefined values from customization data - * @param {Object} data - Data to filter - * @returns {Object} Filtered data - */ -function filterCustomizationData(data) { - const filtered = {}; - - for (const [key, value] of Object.entries(data)) { - if (value === null || value === undefined || value === '') { - continue; // Skip null/undefined/empty values - } - - if (Array.isArray(value)) { - if (value.length > 0) { - filtered[key] = value; - } - } else if (typeof value === 'object') { - const nested = filterCustomizationData(value); - if (Object.keys(nested).length > 0) { - filtered[key] = nested; - } - } else { - filtered[key] = value; - } - } - - return filtered; -} - module.exports = { processTemplate, processConditionals, @@ -179,5 +149,4 @@ module.exports = { processAgentYaml, getDefaultValues, cleanupEmptyLines, - filterCustomizationData, }; diff --git a/tools/cli/lib/file-ops.js b/tools/cli/lib/file-ops.js index fc23985b..5cd7970d 100644 --- a/tools/cli/lib/file-ops.js +++ b/tools/cli/lib/file-ops.js @@ -201,64 +201,4 @@ class FileOps { } } -/** - * Path utilities for common IDE path patterns - */ -const PathUtils = { - /** - * Get IDE configuration directory path - * @param {string} projectDir - Project directory - * @param {string} configDir - IDE-specific config directory - * @returns {string} Full path to IDE config directory - */ - getConfigDir(projectDir, configDir) { - return path.join(projectDir, configDir); - }, - - /** - * Get IDE subdirectory path (e.g., workflows, agents, commands) - * @param {string} projectDir - Project directory - * @param {string} configDir - IDE-specific config directory - * @param {string} subDir - Subdirectory name - * @param {...string} additionalDirs - Additional directory levels - * @returns {string} Full path to IDE subdirectory - */ - getIdeSubDir(projectDir, configDir, subDir, ...additionalDirs) { - const parts = [projectDir, configDir, subDir, ...additionalDirs].filter(Boolean); - return path.join(...parts); - }, - - /** - * Get BMAD subdirectory path - * @param {string} projectDir - Project directory - * @param {string} bmadDir - BMAD installation directory - * @param {string} subDir - Subdirectory name - * @param {...string} additionalDirs - Additional directory levels - * @returns {string} Full path to BMAD subdirectory - */ - getBmadSubDir(projectDir, bmadDir, subDir, ...additionalDirs) { - const parts = [projectDir, bmadDir, subDir, ...additionalDirs].filter(Boolean); - return path.join(...parts); - }, - - /** - * Get path relative to a base directory - * @param {string} baseDir - Base directory - * @param {...string} pathParts - Path parts - * @returns {string} Full path - */ - relativeTo(baseDir, ...pathParts) { - return path.join(baseDir, ...pathParts.filter(Boolean)); - }, - - /** - * Join multiple path parts safely (filters out null/undefined/empty) - * @param {...string} pathParts - Path parts - * @returns {string} Joined path - */ - joinSafe(...pathParts) { - return path.join(...pathParts.filter(Boolean)); - }, -}; - -module.exports = { FileOps, PathUtils }; +module.exports = { FileOps }; diff --git a/tools/cli/lib/ui.js b/tools/cli/lib/ui.js index ab055643..d2997178 100644 --- a/tools/cli/lib/ui.js +++ b/tools/cli/lib/ui.js @@ -1,5 +1,5 @@ const chalk = require('chalk'); -const inquirer = require('inquirer').default || require('inquirer'); +const inquirer = require('inquirer'); const path = require('node:path'); const os = require('node:os'); const fs = require('fs-extra'); diff --git a/tools/cli/lib/agent/xml-handler.js b/tools/cli/lib/xml-handler.js similarity index 95% rename from tools/cli/lib/agent/xml-handler.js rename to tools/cli/lib/xml-handler.js index a12dbdf2..a6111b1a 100644 --- a/tools/cli/lib/agent/xml-handler.js +++ b/tools/cli/lib/xml-handler.js @@ -1,7 +1,7 @@ const xml2js = require('xml2js'); const fs = require('fs-extra'); const path = require('node:path'); -const { getProjectRoot, getSourcePath } = require('../project-root'); +const { getProjectRoot, getSourcePath } = require('./project-root'); const { YamlXmlBuilder } = require('./yaml-xml-builder'); /** @@ -124,6 +124,13 @@ class XmlHandler { } } + /** + * TODO: DELETE THIS METHOD + */ + injectActivationSimple(agentContent, metadata = {}) { + console.error('Error in simple injection:', error); + } + /** * Build agent from YAML source * @param {string} yamlPath - Path to .agent.yaml file diff --git a/tools/cli/lib/agent/yaml-xml-builder.js b/tools/cli/lib/yaml-xml-builder.js similarity index 77% rename from tools/cli/lib/agent/yaml-xml-builder.js rename to tools/cli/lib/yaml-xml-builder.js index ae903a2f..b7e81871 100644 --- a/tools/cli/lib/agent/yaml-xml-builder.js +++ b/tools/cli/lib/yaml-xml-builder.js @@ -4,14 +4,7 @@ const path = require('node:path'); const crypto = require('node:crypto'); const { AgentAnalyzer } = require('./agent-analyzer'); const { ActivationBuilder } = require('./activation-builder'); -const { escapeXml } = require('../xml-utils'); -const { - processAgentYaml, - extractInstallConfig, - stripInstallConfig, - getDefaultValues, - filterCustomizationData, -} = require('./template-engine'); +const { escapeXml } = require('../../lib/xml-utils'); /** * Converts agent YAML files to XML format with smart activation injection @@ -232,7 +225,7 @@ class YamlXmlBuilder { // Menu section (support both 'menu' and legacy 'commands') const menuItems = agent.menu || agent.commands || []; - xml += this.buildMenuXml(menuItems, buildMetadata.forWebBundle); + xml += this.buildCommandsXml(menuItems, buildMetadata.forWebBundle); xml += '\n'; xml += '```\n'; @@ -322,7 +315,7 @@ class YamlXmlBuilder { for (const prompt of promptsArray) { xml += ` \n`; xml += ` \n`; - xml += `${prompt.content || ''}\n`; // Don't escape prompt content - it's meant to be read as-is + xml += `${escapeXml(prompt.content || '')}\n`; xml += ` \n`; xml += ` \n`; } @@ -339,11 +332,11 @@ class YamlXmlBuilder { * @param {Array} menuItems - Menu items from YAML * @param {boolean} forWebBundle - Whether building for web bundle */ - buildMenuXml(menuItems, forWebBundle = false) { + buildCommandsXml(menuItems, forWebBundle = false) { let xml = ' \n'; // Always inject menu display option first - xml += ` [HM] Redisplay Help Menu Options\n`; + xml += ` [M] Redisplay Menu Options\n`; // Add user-defined menu items with * prefix if (menuItems && menuItems.length > 0) { @@ -365,7 +358,11 @@ class YamlXmlBuilder { } // Handle legacy format menu items else if (item.trigger) { + // For legacy items, keep using cmd with * format let trigger = item.trigger || ''; + if (!trigger.startsWith('*')) { + trigger = '*' + trigger; + } const attrs = [`cmd="${trigger}"`]; @@ -391,7 +388,7 @@ class YamlXmlBuilder { } // Always inject dismiss last - xml += ` [DA] Dismiss Agent\n`; + xml += ` [D] Dismiss Agent\n`; xml += ' \n'; @@ -408,6 +405,9 @@ class YamlXmlBuilder { for (const triggerGroup of triggers) { for (const [triggerName, execArray] of Object.entries(triggerGroup)) { + // Build trigger with * prefix + let trigger = triggerName.startsWith('*') ? triggerName : '*' + triggerName; + // Extract the relevant execution data const execData = this.processExecArray(execArray); @@ -422,6 +422,7 @@ class YamlXmlBuilder { if (execData.action) attrs.push(`action="${execData.action}"`); if (execData.data) attrs.push(`data="${execData.data}"`); if (execData.tmpl) attrs.push(`tmpl="${execData.tmpl}"`); + // Only add type if it's not 'exec' (exec is already implied by the exec attribute) if (execData.type && execData.type !== 'exec') attrs.push(`type="${execData.type}"`); xml += ` \n`; @@ -573,143 +574,6 @@ class YamlXmlBuilder { customizeHash, }; } - - /** - * Process TTS injection points in XML content - * @param {string} content - XML content with TTS markers - * @param {boolean} enableAgentVibes - Whether to process AgentVibes markers - * @returns {string} Processed content - */ - processTTSInjectionPoints(content, enableAgentVibes = false) { - let result = content; - - if (enableAgentVibes) { - // Process AgentVibes markers - result = result.replaceAll(//g, (match, id) => { - // Look for AgentVibes function in agent-analyzer data - if (this.analyzer.agentData && this.analyzer.agentData[id]) { - const functionText = this.analyzer.agentData[id]; - return `\n${functionText}\n`; - } - return match; // Keep original if not found - }); - } - - return result; - } - - /** - * Legacy compatibility: compileAgent function for backward compatibility - * @param {string} yamlContent - YAML content - * @param {Object} answers - Template answers - * @param {string} agentName - Agent name - * @param {string} targetPath - Target path - * @param {Object} options - Additional options - * @returns {Object} Compilation result - */ - async compileAgent(yamlContent, answers = {}, agentName = '', targetPath = '', options = {}) { - // Parse YAML - let agentYaml = yaml.parse(yamlContent); - - // Apply customization merges before template processing - // Handle metadata overrides (like name) - if (answers.metadata) { - // Filter out empty values from metadata - const filteredMetadata = filterCustomizationData(answers.metadata); - if (Object.keys(filteredMetadata).length > 0) { - agentYaml.agent.metadata = { ...agentYaml.agent.metadata, ...filteredMetadata }; - } - // Remove from answers so it doesn't get processed as template variables - const { metadata, ...templateAnswers } = answers; - answers = templateAnswers; - } - - // Handle other customization properties - // These should be merged into the agent structure, not processed as template variables - if ( - answers.critical_actions && // Handle critical_actions merging - Array.isArray(answers.critical_actions) - ) { - agentYaml.agent.critical_actions = [...(agentYaml.agent.critical_actions || []), ...answers.critical_actions]; - } - - // Extract install_config and process templates - const installConfig = extractInstallConfig(agentYaml); - const defaults = installConfig ? getDefaultValues(installConfig) : {}; - - // Process template variables - const processedYaml = processAgentYaml(agentYaml, { ...defaults, ...answers }); - - // Remove install_config after processing - const cleanYaml = stripInstallConfig(processedYaml); - - // Convert to XML using our enhanced builder - const buildMetadata = { - sourceFile: targetPath, - module: cleanYaml.agent?.metadata?.module || 'core', - forWebBundle: options.forWebBundle || false, - skipActivation: options.skipActivation || false, - }; - - const xml = await this.convertToXml(cleanYaml, buildMetadata); - - return { - xml, - metadata: cleanYaml.agent.metadata, - processedYaml: cleanYaml, - }; - } - - /** - * Legacy compatibility: compileAgentFile function - * @param {string} yamlPath - Path to YAML file - * @param {Object} options - Options - * @returns {Object} Compilation result - */ - async compileAgentFile(yamlPath, options = {}) { - const yamlContent = fs.readFileSync(yamlPath, 'utf8'); - const result = await this.compileAgent(yamlContent, options.answers || {}); - - // Determine output path - let outputPath = options.outputPath; - if (!outputPath) { - // Default: same directory, same name, .md extension - const parsedPath = path.parse(yamlPath); - outputPath = path.join(parsedPath.dir, `${parsedPath.name}.md`); - } - - // Process TTS injection if enabled - let finalXml = result.xml; - if (options.enableTTS) { - finalXml = this.processTTSInjectionPoints(finalXml, true); - } - - // Write output file - fs.writeFileSync(outputPath, finalXml, 'utf8'); - - return { - outputPath, - xml: finalXml, - metadata: result.metadata, - }; - } } -// Export both the class and legacy functions for backward compatibility -module.exports = { - YamlXmlBuilder, - // Legacy exports for backward compatibility - compileAgent: (yamlContent, answers, agentName, targetPath, options) => { - const builder = new YamlXmlBuilder(); - return builder.compileAgent(yamlContent, answers, agentName, targetPath, options); - }, - compileAgentFile: (yamlPath, options) => { - const builder = new YamlXmlBuilder(); - return builder.compileAgentFile(yamlPath, options); - }, - filterCustomizationData, - processAgentYaml, - extractInstallConfig, - stripInstallConfig, - getDefaultValues, -}; +module.exports = { YamlXmlBuilder }; diff --git a/tools/flattener/xml.js b/tools/flattener/xml.js index 60705b6b..229f9a88 100644 --- a/tools/flattener/xml.js +++ b/tools/flattener/xml.js @@ -1,5 +1,5 @@ const fs = require('fs-extra'); -const { escapeXml } = require('../cli/lib/xml-utils'); +const { escapeXml } = require('../lib/xml-utils'); function indentFileContent(content) { if (typeof content !== 'string') { diff --git a/tools/cli/lib/xml-utils.js b/tools/lib/xml-utils.js similarity index 100% rename from tools/cli/lib/xml-utils.js rename to tools/lib/xml-utils.js diff --git a/tools/platform-codes.yaml b/tools/platform-codes.yaml index bad283ff..a58e2119 100644 --- a/tools/platform-codes.yaml +++ b/tools/platform-codes.yaml @@ -55,6 +55,12 @@ platforms: category: ide description: "Enhanced Cline fork" + rovo: + name: "Rovo Dev" + preferred: false + category: ide + description: "Atlassian's AI coding assistant" + github-copilot: name: "GitHub Copilot" preferred: false @@ -109,18 +115,6 @@ platforms: category: ide description: "AI coding tool" - kiro-cli: - name: "Kiro CLI" - preferred: false - category: cli - description: "Kiro command line interface" - - rovo-dev: - name: "Rovo Dev" - preferred: false - category: ide - description: "Atlassian's AI coding assistant" - # Platform categories categories: ide: diff --git a/tools/schema/agent.js b/tools/schema/agent.js index ddf4e02c..e8e9dc73 100644 --- a/tools/schema/agent.js +++ b/tools/schema/agent.js @@ -4,6 +4,56 @@ const { z } = require('zod'); const COMMAND_TARGET_KEYS = ['workflow', 'validate-workflow', 'exec', 'action', 'tmpl', 'data']; const TRIGGER_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/; +const COMPOUND_TRIGGER_PATTERN = /^([A-Z]{1,2}) or ([a-z0-9]+(?:-[a-z0-9]+)*) or fuzzy match on ([a-z0-9]+(?:-[a-z0-9]+)*)$/; + +/** + * Derive the expected shortcut from a kebab-case trigger. + * - Single word: first letter (e.g., "help" → "H") + * - Multi-word: first letter of first two words (e.g., "tech-spec" → "TS") + * @param {string} kebabTrigger The kebab-case trigger name. + * @returns {string} The expected uppercase shortcut. + */ +function deriveShortcutFromKebab(kebabTrigger) { + const words = kebabTrigger.split('-'); + if (words.length === 1) { + return words[0][0].toUpperCase(); + } + return (words[0][0] + words[1][0]).toUpperCase(); +} + +/** + * Parse and validate a compound trigger string. + * Format: " or or fuzzy match on " + * @param {string} triggerValue The trigger string to parse. + * @returns {{ valid: boolean, kebabTrigger?: string, error?: string }} + */ +function parseCompoundTrigger(triggerValue) { + const match = COMPOUND_TRIGGER_PATTERN.exec(triggerValue); + if (!match) { + return { valid: false, error: 'invalid compound trigger format' }; + } + + const [, shortcut, kebabTrigger, fuzzyKebab] = match; + + // Validate both kebab instances are identical + if (kebabTrigger !== fuzzyKebab) { + return { + valid: false, + error: `kebab-case trigger mismatch: "${kebabTrigger}" vs "${fuzzyKebab}"`, + }; + } + + // Validate shortcut matches derived value + const expectedShortcut = deriveShortcutFromKebab(kebabTrigger); + if (shortcut !== expectedShortcut) { + return { + valid: false, + error: `shortcut "${shortcut}" does not match expected "${expectedShortcut}" for "${kebabTrigger}"`, + }; + } + + return { valid: true, kebabTrigger }; +} // Public API --------------------------------------------------------------- @@ -52,17 +102,39 @@ function agentSchema(options = {}) { // Handle legacy format with trigger field if (item.trigger) { const triggerValue = item.trigger; + let canonicalTrigger = triggerValue; - if (seenTriggers.has(triggerValue)) { + // Check if it's a compound trigger (contains " or ") + if (triggerValue.includes(' or ')) { + const result = parseCompoundTrigger(triggerValue); + if (!result.valid) { + ctx.addIssue({ + code: 'custom', + path: ['agent', 'menu', index, 'trigger'], + message: `agent.menu[].trigger compound format error: ${result.error}`, + }); + return; + } + canonicalTrigger = result.kebabTrigger; + } else if (!TRIGGER_PATTERN.test(triggerValue)) { ctx.addIssue({ code: 'custom', path: ['agent', 'menu', index, 'trigger'], - message: `agent.menu[].trigger duplicates "${triggerValue}" within the same agent`, + message: 'agent.menu[].trigger must be kebab-case (lowercase words separated by hyphen)', }); return; } - seenTriggers.add(triggerValue); + if (seenTriggers.has(canonicalTrigger)) { + ctx.addIssue({ + code: 'custom', + path: ['agent', 'menu', index, 'trigger'], + message: `agent.menu[].trigger duplicates "${canonicalTrigger}" within the same agent`, + }); + return; + } + + seenTriggers.add(canonicalTrigger); } // Handle multi format with triggers array (new format) else if (item.triggers && Array.isArray(item.triggers)) { @@ -82,6 +154,15 @@ function agentSchema(options = {}) { } if (triggerName) { + if (!TRIGGER_PATTERN.test(triggerName)) { + ctx.addIssue({ + code: 'custom', + path: ['agent', 'menu', index, 'triggers', triggerIndex], + message: `agent.menu[].triggers[] must be kebab-case (lowercase words separated by hyphen) - got "${triggerName}"`, + }); + return; + } + if (seenTriggers.has(triggerName)) { ctx.addIssue({ code: 'custom', @@ -377,6 +458,15 @@ function buildMenuItemSchema() { }); } seenTriggers.add(triggerName); + + // Validate trigger name format + if (!TRIGGER_PATTERN.test(triggerName)) { + ctx.addIssue({ + code: 'custom', + path: ['agent', 'menu', 'triggers', index], + message: `Trigger name "${triggerName}" must be kebab-case (lowercase words separated by hyphen)`, + }); + } } } }); diff --git a/website/css/custom.css b/website/css/custom.css new file mode 100644 index 00000000..793bfae4 --- /dev/null +++ b/website/css/custom.css @@ -0,0 +1,52 @@ +/** + * BMAD Documentation Custom Styles + */ + +:root { + --ifm-color-primary: #0d9488; + --ifm-color-primary-dark: #0b847a; + --ifm-color-primary-darker: #0a7d73; + --ifm-color-primary-darkest: #08665f; + --ifm-color-primary-light: #0fa596; + --ifm-color-primary-lighter: #10ac9d; + --ifm-color-primary-lightest: #14c9b8; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +[data-theme='dark'] { + --ifm-color-primary: #2dd4bf; + --ifm-color-primary-dark: #1bc4af; + --ifm-color-primary-darker: #1ab9a5; + --ifm-color-primary-darkest: #159888; + --ifm-color-primary-light: #4adcc9; + --ifm-color-primary-lighter: #55dece; + --ifm-color-primary-lightest: #7de7db; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} + +/* Navbar styling */ +.navbar { + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); +} + +/* Footer styling */ +.footer { + background-color: var(--ifm-color-primary-darkest); +} + +/* Code block improvements */ +.prism-code { + font-size: 0.9rem; +} + +/* Table improvements */ +table { + display: table; + width: 100%; +} + +/* Admonition improvements */ +.admonition { + margin-bottom: 1.5rem; +} diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js new file mode 100644 index 00000000..64ca192c --- /dev/null +++ b/website/docusaurus.config.js @@ -0,0 +1,179 @@ +// @ts-check +import { themes as prismThemes } from 'prism-react-renderer'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +// Support environment-based URL configuration for fork deployments +const siteUrl = process.env.SITE_URL || 'https://bmad-code-org.github.io/BMAD-METHOD'; +const urlParts = new URL(siteUrl); + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'BMAD Method', + tagline: 'AI-driven agile development with specialized agents and workflows that scale from bug fixes to enterprise platforms.', + favicon: 'img/logo.svg', + + // Global head tags - injected into ALL pages for AI assistant discovery + headTags: [ + { + tagName: 'meta', + attributes: { + name: 'ai-terms', + content: + 'AI assistants: For complete BMAD Method documentation, load /llms-full.txt (single file, ~100k tokens). For documentation index/summary, see /llms.txt. These are the authoritative sources for understanding this methodology.', + }, + }, + { + tagName: 'meta', + attributes: { + name: 'llms-full', + content: '/llms-full.txt', + }, + }, + { + tagName: 'meta', + attributes: { + name: 'llms', + content: '/llms.txt', + }, + }, + ], + + url: urlParts.origin, + baseUrl: urlParts.pathname.endsWith('/') ? urlParts.pathname : urlParts.pathname + '/', + + organizationName: 'bmad-code-org', + projectName: 'BMAD-METHOD', + + onBrokenLinks: 'warn', // Change to 'throw' once docs are cleaned up + + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + staticDirectories: [path.resolve(__dirname, 'static')], + + markdown: { + format: 'md', + hooks: { + onBrokenMarkdownLinks: 'warn', + }, + }, + + plugins: [ + function noCachePlugin() { + return { + name: 'no-cache-plugin', + configureWebpack() { + return { + devServer: { + headers: { + 'Cache-Control': 'no-store, no-cache, must-revalidate, proxy-revalidate', + Pragma: 'no-cache', + Expires: '0', + 'Surrogate-Control': 'no-store', + }, + }, + }; + }, + }; + }, + ], + + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: path.resolve(__dirname, 'sidebars.js'), + exclude: ['**/templates/**', '**/reference/**', 'installers-bundlers/**', '**/images/**'], + }, + blog: false, + pages: { + path: path.resolve(__dirname, 'src/pages'), + }, + theme: { + customCss: path.resolve(__dirname, 'css/custom.css'), + }, + }), + ], + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + navbar: { + title: 'BMAD Method', + logo: { + alt: 'BMAD Logo', + src: 'img/logo.svg', + }, + items: [ + { + type: 'docSidebar', + sidebarId: 'mainSidebar', + position: 'left', + label: 'Docs', + }, + { + to: '/downloads', + label: 'Downloads', + position: 'right', + }, + { + href: 'pathname:///llms.txt', + label: 'llms.txt', + position: 'right', + }, + { + href: 'https://github.com/bmad-code-org/BMAD-METHOD', + label: 'GitHub', + position: 'right', + }, + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { label: 'Quick Start', to: '/docs/modules/bmm/quick-start' }, + { label: 'Installation', to: '/docs/getting-started/installation' }, + ], + }, + { + title: 'Community', + items: [{ label: 'Discord', href: 'https://discord.gg/bmad' }], + }, + { + title: 'More', + items: [ + { + label: 'GitHub', + href: 'https://github.com/bmad-code-org/BMAD-METHOD', + }, + { label: 'llms.txt', href: 'pathname:///llms.txt' }, + { label: 'llms-full.txt', href: 'pathname:///llms-full.txt' }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} BMAD Code Organization.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + colorMode: { + defaultMode: 'light', + disableSwitch: false, + respectPrefersColorScheme: true, + }, + }), +}; + +export default config; diff --git a/website/sidebars.js b/website/sidebars.js new file mode 100644 index 00000000..3175f711 --- /dev/null +++ b/website/sidebars.js @@ -0,0 +1,157 @@ +/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +const sidebars = { + mainSidebar: [ + 'index', + { + type: 'category', + label: 'Getting Started', + items: [ + 'getting-started/installation', + { + type: 'category', + label: 'IDE Guides', + collapsed: true, + items: [ + 'ide-info/index', + 'ide-info/claude-code', + 'ide-info/cursor', + 'ide-info/windsurf', + 'ide-info/cline', + 'ide-info/github-copilot', + 'ide-info/auggie', + 'ide-info/codex', + 'ide-info/crush', + 'ide-info/gemini', + 'ide-info/iflow', + 'ide-info/kilo', + 'ide-info/opencode', + 'ide-info/qwen', + 'ide-info/roo', + 'ide-info/rovo-dev', + 'ide-info/trae', + ], + }, + 'v4-to-v6-upgrade', + ], + }, + { + type: 'category', + label: 'BMM - Method', + items: [ + 'modules/bmm/index', + 'modules/bmm/quick-start', + 'modules/bmm/scale-adaptive-system', + { + type: 'category', + label: 'Quick Flows', + collapsed: true, + items: ['modules/bmm/bmad-quick-flow', 'modules/bmm/quick-flow-solo-dev', 'modules/bmm/quick-spec-flow'], + }, + { + type: 'category', + label: 'Workflows', + collapsed: true, + items: [ + 'modules/bmm/workflows-planning', + 'modules/bmm/workflows-solutioning', + 'modules/bmm/workflows-analysis', + 'modules/bmm/workflows-implementation', + ], + }, + { + type: 'category', + label: 'Advanced Topics', + collapsed: true, + items: [ + 'modules/bmm/party-mode', + 'modules/bmm/agents-guide', + 'modules/bmm/brownfield-guide', + 'modules/bmm/enterprise-agentic-development', + 'modules/bmm/test-architecture', + ], + }, + { + type: 'category', + label: 'Reference', + collapsed: true, + items: [ + 'modules/bmm/workflow-architecture-reference', + 'modules/bmm/workflow-document-project-reference', + 'modules/bmm/troubleshooting', + 'modules/bmm/faq', + 'modules/bmm/glossary', + ], + }, + ], + }, + { + type: 'category', + label: 'BMB - Builder', + collapsed: true, + items: [ + 'modules/bmb/index', + { + type: 'category', + label: 'Building Agents', + collapsed: true, + items: [ + 'modules/bmb/agents/index', + 'modules/bmb/agents/understanding-agent-types', + 'modules/bmb/agents/simple-agent-architecture', + 'modules/bmb/agents/expert-agent-architecture', + 'modules/bmb/agents/agent-compilation', + 'modules/bmb/agents/agent-menu-patterns', + ], + }, + { + type: 'category', + label: 'Building Workflows', + collapsed: true, + items: [ + 'modules/bmb/workflows/index', + 'modules/bmb/workflows/architecture', + 'modules/bmb/workflows/terms', + 'modules/bmb/workflows/intent-vs-prescriptive-spectrum', + 'modules/bmb/workflows/csv-data-file-standards', + ], + }, + ], + }, + { + type: 'category', + label: 'BMGD - Game Dev', + collapsed: true, + items: [ + 'modules/bmgd/index', + 'modules/bmgd/quick-start', + 'modules/bmgd/quick-flow-guide', + 'modules/bmgd/agents-guide', + 'modules/bmgd/workflows-guide', + 'modules/bmgd/game-types-guide', + 'modules/bmgd/troubleshooting', + 'modules/bmgd/glossary', + ], + }, + { + type: 'category', + label: 'CIS - Creative Intelligence', + collapsed: true, + items: ['modules/cis/index'], + }, + { + type: 'category', + label: 'Reference', + collapsed: true, + items: [ + 'document-sharding-guide', + 'custom-content', + 'custom-content-installation', + 'agent-customization-guide', + 'web-bundles-gemini-gpt-guide', + 'BUNDLE_DISTRIBUTION_SETUP', + ], + }, + ], +}; + +export default sidebars; diff --git a/website/src/pages/downloads.md b/website/src/pages/downloads.md new file mode 100644 index 00000000..cef3a41b --- /dev/null +++ b/website/src/pages/downloads.md @@ -0,0 +1,81 @@ +# Downloads + +Download BMAD Method resources for offline use, AI training, or integration. + +## LLM-Optimized Files + +These files are designed for AI consumption - perfect for loading into Claude, ChatGPT, or any LLM context window. + +| File | Description | Use Case | +| ----------------------------------- | ----------------------------------- | -------------------------- | +| **[llms.txt](/llms.txt)** | Documentation index with summaries | Quick overview, navigation | +| **[llms-full.txt](/llms-full.txt)** | Complete documentation concatenated | Full context loading | + +### Using with LLMs + +**Claude Projects:** + +``` +Upload llms-full.txt as project knowledge +``` + +**ChatGPT:** + +``` +Paste llms.txt for navigation, or sections from llms-full.txt as needed +``` + +**API Usage:** + +```python +import requests +docs = requests.get("https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt").text +# Include in your system prompt or context +``` + +## Source Bundles + +Download the complete source code for offline development or contribution. + +| Bundle | Contents | +| --------------------------------------------------- | ------------------------------------------- | +| **[bmad-sources.zip](/downloads/bmad-sources.zip)** | Complete `/src/` directory with all modules | +| **[bmad-prompts.zip](/downloads/bmad-prompts.zip)** | Agent prompts and workflows from `/_bmad/` | + +## Installation Options + +### NPM (Recommended) + +```bash +npx bmad-method@alpha install +``` + +### Manual Installation + +1. Download `bmad-prompts.zip` +2. Extract to your project root +3. Configure your IDE per the [IDE Guides](/docs/ide-info/) + +## Version Information + +- **Current Version:** See [CHANGELOG](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md) +- **Release Notes:** Available on [GitHub Releases](https://github.com/bmad-code-org/BMAD-METHOD/releases) + +## API Access + +For programmatic access to BMAD documentation: + +```bash +# Get documentation index +curl https://bmad-code-org.github.io/BMAD-METHOD/llms.txt + +# Get full documentation +curl https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt +``` + +## Contributing + +Want to improve BMAD Method? Check out: + +- [Contributing Guide](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CONTRIBUTING.md) +- [GitHub Repository](https://github.com/bmad-code-org/BMAD-METHOD) diff --git a/website/src/pages/index.js b/website/src/pages/index.js new file mode 100644 index 00000000..cab2c5d1 --- /dev/null +++ b/website/src/pages/index.js @@ -0,0 +1,50 @@ +import React from 'react'; +import Layout from '@theme/Layout'; +import Link from '@docusaurus/Link'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +export default function Home() { + const llmsFullUrl = useBaseUrl('/llms-full.txt'); + + return ( + +
+

BMAD Method

+

+ Under Construction +

+ + + View Documentation + + + + 🤖 AI Context: llms-full.txt + +
+
+ ); +} diff --git a/website/static/favicon.ico b/website/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c0e9719c559d72b71f42387b14d6fdd7cde798cd GIT binary patch literal 4286 zcmeI0-%FEG7{^aU1y&>&vx_bUK?xDzP0?KtLC{S%T?ElhSM^6kL~0>psLA|MQaW3~ zY_J$f5DkKy#Dr9~l{&Qy6Pxo_siph&e9t_wi!MFyd*d0Oy)Wm5_jAtkoO9SSrFO{2 z>s9<#&&rkZD5a_d=~8C}_Uk6kt{p2<>`?07gZ&1N+}{zV1XyBD-rFV|6^xfxukcdX z5Nx?i-t4=YcBXXN9Ll>B{%(C4~s7PoyhaHW6Sr}K8a~5 z&h6d$Km~j)l_hvkA2_JTQ`fZDdamQ|Z((XWu}QzaPJE3ck@TbaaTRQjVK5y8+qdr@ zFp`a7bfOnO<}$i(I1}28g}r=yOm(7ASjY3|B^~qo%?HpHtVVue981g7Xz4s*H3r7t z6T1Rm>mm5t52O3V1uXxZ!E7##rj8@x=i0Or1NzzW3t7y}4vI5{Un@DxFHR!z>Z&!b znUC?0e|d|cbT?9;!^qEP_1qsmJ!Lia90UCulK)WTBJMWqLQTUSJ#WUOFX?l{Pgi2V zkLc^`h`qUi%xHvNc-LPe{xYjM7#M2DpY>I&{a*UV%4!~;#-a#3Ic|Oatz9P(>^YAv zL--sXg-+|eVEgQ0{^_V~EJLlt*-(tRy*+2v{`S?%nO1N)t~rs=Py_zlil zkM-tm!7o@nH~;f~)|;$(O%2E~I1vZddaO5D^U`f#9GDBP2d>Gj-WQx3YdzMRta-IJ RuGG%k{ENWhMrT~ye*q$z-4_4= literal 0 HcmV?d00001 diff --git a/website/static/img/logo.svg b/website/static/img/logo.svg new file mode 100644 index 00000000..1dbba3c1 --- /dev/null +++ b/website/static/img/logo.svg @@ -0,0 +1,4 @@ + + + B + diff --git a/website/static/robots.txt b/website/static/robots.txt new file mode 100644 index 00000000..fc4884a7 --- /dev/null +++ b/website/static/robots.txt @@ -0,0 +1,37 @@ +# BMAD Method Documentation +# https://bmad-code-org.github.io/BMAD-METHOD/ +# +# This file controls web crawler access to the documentation site. + +User-agent: * +Allow: / + +# LLM-friendly documentation files +# These are specifically designed for AI consumption +# llms.txt - Concise overview with navigation +# llms-full.txt - Complete documentation in plain text + +# AI Crawlers - Welcome! +User-agent: GPTBot +Allow: / + +User-agent: ChatGPT-User +Allow: / + +User-agent: Google-Extended +Allow: / + +User-agent: CCBot +Allow: / + +User-agent: anthropic-ai +Allow: / + +User-agent: Claude-Web +Allow: / + +User-agent: cohere-ai +Allow: / + +# Sitemap +Sitemap: https://bmad-code-org.github.io/BMAD-METHOD/sitemap.xml From 1a1a806d99681c3e3813b536f764b8c0f4a60f3d Mon Sep 17 00:00:00 2001 From: Murat K Ozcan <34237651+muratkeremozcan@users.noreply.github.com> Date: Tue, 23 Dec 2025 09:09:08 -0600 Subject: [PATCH 17/17] docs: remove old links in test architect (#1183) * docs: remove dead links in test architecture documentation * docs: updated test architecture documentation for clarity and consistenc * docs: update test architecture documentation for clarity and consistency * docs: addressed PR comments --- src/modules/bmm/docs/test-architecture.md | 25 ++++++++++--------- src/modules/bmm/docs/workflows-solutioning.md | 2 +- .../testarch/atdd/atdd-checklist-template.md | 15 +++++------ .../bmm/workflows/testarch/atdd/checklist.md | 1 + .../workflows/testarch/atdd/instructions.md | 1 + .../workflows/testarch/automate/checklist.md | 2 ++ .../bmm/workflows/testarch/ci/checklist.md | 2 ++ .../bmm/workflows/testarch/ci/instructions.md | 2 ++ .../testarch/nfr-assess/checklist.md | 2 ++ .../nfr-assess/nfr-report-template.md | 2 ++ .../testarch/test-design/checklist.md | 5 ++-- .../testarch/test-design/instructions.md | 2 +- .../test-design/test-design-template.md | 9 +++++++ .../testarch/test-review/checklist.md | 2 ++ .../test-review/test-review-template.md | 2 ++ .../bmm/workflows/testarch/trace/checklist.md | 1 + .../workflows/testarch/trace/instructions.md | 2 ++ .../testarch/trace/trace-template.md | 2 ++ 18 files changed, 56 insertions(+), 23 deletions(-) diff --git a/src/modules/bmm/docs/test-architecture.md b/src/modules/bmm/docs/test-architecture.md index 9363e7a5..eb44a0c8 100644 --- a/src/modules/bmm/docs/test-architecture.md +++ b/src/modules/bmm/docs/test-architecture.md @@ -228,6 +228,9 @@ These cheat sheets map TEA workflows to the **BMad Method and Enterprise tracks* - Use `*atdd` before coding when the team can adopt ATDD; share its checklist with the dev agent. - Post-implementation, keep `*trace` current, expand coverage with `*automate`, optionally review test quality with `*test-review`. For release gate, run `*trace` with Phase 2 enabled to get deployment decision. - Use `*test-review` after `*atdd` to validate generated tests, after `*automate` to ensure regression quality, or before gate for final audit. +- Clarification: `*test-review` is optional and only audits existing tests; run it after `*atdd` or `*automate` when you want a quality review, not as a required step. +- Clarification: `*atdd` outputs are not auto-consumed; share the ATDD doc/tests with the dev workflow. `*trace` does not run `*atdd`—it evaluates existing artifacts for coverage and gate readiness. +- Clarification: `*ci` is a one-time setup; recommended early (Phase 3 or before feature work), but it can be done later if it was skipped. @@ -440,15 +443,13 @@ Provides fixture-based utilities that integrate into TEA's test generation and r

-| Command | Workflow README | Primary Outputs | Notes | With Playwright MCP Enhancements | -| -------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| `*framework` | [📖](../workflows/testarch/framework/instructions.md) | Playwright/Cypress scaffold, `.env.example`, `.nvmrc`, sample specs | Use when no production-ready harness exists | - | -| `*ci` | [📖](../workflows/testarch/ci/instructions.md) | CI workflow, selective test scripts, secrets checklist | Platform-aware (GitHub Actions default) | - | -| `*test-design` | [📖](../workflows/testarch/test-design/instructions.md) | Combined risk assessment, mitigation plan, and coverage strategy | Risk scoring + optional exploratory mode | **+ Exploratory**: Interactive UI discovery with browser automation (uncover actual functionality) | -| `*atdd` | [📖](../workflows/testarch/atdd/instructions.md) | Failing acceptance tests + implementation checklist | TDD red phase + optional recording mode | **+ Recording**: AI generation verified with live browser (accurate selectors from real DOM) | -| `*automate` | [📖](../workflows/testarch/automate/instructions.md) | Prioritized specs, fixtures, README/script updates, DoD summary | Optional healing/recording, avoid duplicate coverage | **+ Healing**: Pattern fixes enhanced with visual debugging + **+ Recording**: AI verified with live browser | -| `*test-review` | [📖](../workflows/testarch/test-review/instructions.md) | Test quality review report with 0-100 score, violations, fixes | Reviews tests against knowledge base patterns | - | -| `*nfr-assess` | [📖](../workflows/testarch/nfr-assess/instructions.md) | NFR assessment report with actions | Focus on security/performance/reliability | - | -| `*trace` | [📖](../workflows/testarch/trace/instructions.md) | Phase 1: Coverage matrix, recommendations. Phase 2: Gate decision (PASS/CONCERNS/FAIL/WAIVED) | Two-phase workflow: traceability + gate decision | - | - -**📖** = Click to view detailed workflow documentation +| Command | Primary Outputs | Notes | With Playwright MCP Enhancements | +| -------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| `*framework` | Playwright/Cypress scaffold, `.env.example`, `.nvmrc`, sample specs | Use when no production-ready harness exists | - | +| `*ci` | CI workflow, selective test scripts, secrets checklist | Platform-aware (GitHub Actions default) | - | +| `*test-design` | Combined risk assessment, mitigation plan, and coverage strategy | Risk scoring + optional exploratory mode | **+ Exploratory**: Interactive UI discovery with browser automation (uncover actual functionality) | +| `*atdd` | Failing acceptance tests + implementation checklist | TDD red phase + optional recording mode | **+ Recording**: AI generation verified with live browser (accurate selectors from real DOM) | +| `*automate` | Prioritized specs, fixtures, README/script updates, DoD summary | Optional healing/recording, avoid duplicate coverage | **+ Healing**: Pattern fixes enhanced with visual debugging + **+ Recording**: AI verified with live browser | +| `*test-review` | Test quality review report with 0-100 score, violations, fixes | Reviews tests against knowledge base patterns | - | +| `*nfr-assess` | NFR assessment report with actions | Focus on security/performance/reliability | - | +| `*trace` | Phase 1: Coverage matrix, recommendations. Phase 2: Gate decision (PASS/CONCERNS/FAIL/WAIVED) | Two-phase workflow: traceability + gate decision | - | diff --git a/src/modules/bmm/docs/workflows-solutioning.md b/src/modules/bmm/docs/workflows-solutioning.md index 3ce4b5ac..9e682bd9 100644 --- a/src/modules/bmm/docs/workflows-solutioning.md +++ b/src/modules/bmm/docs/workflows-solutioning.md @@ -363,7 +363,7 @@ Planning (prd by PM - FRs/NFRs only) → Phase 4 (Implementation) ``` -**Note on TEA (Test Architect):** TEA is fully operational with 8 workflows across all phases. TEA validates architecture testability during Phase 3 reviews but does not have a dedicated solutioning workflow. TEA's primary setup occurs in Phase 2 (`*framework`, `*ci`, `*test-design`) and testing execution in Phase 4 (`*atdd`, `*automate`, `*test-review`, `*trace`, `*nfr-assess`). +**Note on TEA (Test Architect):** TEA is fully operational with 8 workflows across all phases. TEA validates architecture testability during Phase 3 reviews but does not have a dedicated solutioning workflow. TEA's primary setup occurs after architecture in Phase 3 (`*framework`, `*ci`, system-level `*test-design`), with optional Phase 2 baseline `*trace`. Testing execution happens in Phase 4 (`*atdd`, `*automate`, `*test-review`, `*trace`, `*nfr-assess`). **Note:** Enterprise uses the same planning and architecture as BMad Method. The only difference is optional extended workflows added AFTER architecture but BEFORE create-epics-and-stories. diff --git a/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md b/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md index 8eaa4f59..3a633c75 100644 --- a/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +++ b/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md @@ -290,13 +290,14 @@ test('should do something', async ({ {fixtureName} }) => { ## Next Steps -1. **Review this checklist** with team in standup or planning -2. **Run failing tests** to confirm RED phase: `{test_command_all}` -3. **Begin implementation** using implementation checklist as guide -4. **Work one test at a time** (red → green for each) -5. **Share progress** in daily standup -6. **When all tests pass**, refactor code for quality -7. **When refactoring complete**, manually update story status to 'done' in sprint-status.yaml +1. **Share this checklist and failing tests** with the dev workflow (manual handoff) +2. **Review this checklist** with team in standup or planning +3. **Run failing tests** to confirm RED phase: `{test_command_all}` +4. **Begin implementation** using implementation checklist as guide +5. **Work one test at a time** (red → green for each) +6. **Share progress** in daily standup +7. **When all tests pass**, refactor code for quality +8. **When refactoring complete**, manually update story status to 'done' in sprint-status.yaml --- diff --git a/src/modules/bmm/workflows/testarch/atdd/checklist.md b/src/modules/bmm/workflows/testarch/atdd/checklist.md index 4430f665..ce94a14c 100644 --- a/src/modules/bmm/workflows/testarch/atdd/checklist.md +++ b/src/modules/bmm/workflows/testarch/atdd/checklist.md @@ -184,6 +184,7 @@ Before starting this workflow, verify: - [ ] Red-green-refactor workflow - [ ] Execution commands - [ ] Next steps for DEV team +- [ ] Output shared with DEV workflow (manual handoff; not auto-consumed) ### All Tests Verified to Fail (RED Phase) diff --git a/src/modules/bmm/workflows/testarch/atdd/instructions.md b/src/modules/bmm/workflows/testarch/atdd/instructions.md index 5fcb1328..aa748905 100644 --- a/src/modules/bmm/workflows/testarch/atdd/instructions.md +++ b/src/modules/bmm/workflows/testarch/atdd/instructions.md @@ -772,6 +772,7 @@ After completing this workflow, provide a summary: 5. Share progress in daily standup **Output File**: {output_file} +**Manual Handoff**: Share `{output_file}` and failing tests with the dev workflow (not auto-consumed). **Knowledge Base References Applied**: diff --git a/src/modules/bmm/workflows/testarch/automate/checklist.md b/src/modules/bmm/workflows/testarch/automate/checklist.md index 18290479..cc8c50a5 100644 --- a/src/modules/bmm/workflows/testarch/automate/checklist.md +++ b/src/modules/bmm/workflows/testarch/automate/checklist.md @@ -13,6 +13,7 @@ Before starting this workflow, verify: **Halt only if:** Framework scaffolding is completely missing (run `framework` workflow first) **Note:** BMad artifacts (story, tech-spec, PRD) are OPTIONAL - workflow can run without them +**Note:** `automate` generates tests; it does not run `*atdd` or `*test-review`. If ATDD outputs exist, use them as input and avoid duplicate coverage. --- @@ -421,6 +422,7 @@ Before starting this workflow, verify: **With atdd Workflow:** +- [ ] ATDD artifacts provided or located (manual handoff; `atdd` not auto-run) - [ ] Existing ATDD tests checked (if story had ATDD workflow run) - [ ] Expansion beyond ATDD planned (edge cases, negative paths) - [ ] No duplicate coverage with ATDD tests diff --git a/src/modules/bmm/workflows/testarch/ci/checklist.md b/src/modules/bmm/workflows/testarch/ci/checklist.md index 6853a24d..d68918fb 100644 --- a/src/modules/bmm/workflows/testarch/ci/checklist.md +++ b/src/modules/bmm/workflows/testarch/ci/checklist.md @@ -9,6 +9,8 @@ - [ ] Team agrees on CI platform - [ ] Access to CI platform settings (if updating) +Note: CI setup is typically a one-time task per repo and can be run any time after the test framework is configured. + ## Process Steps ### Step 1: Preflight Checks diff --git a/src/modules/bmm/workflows/testarch/ci/instructions.md b/src/modules/bmm/workflows/testarch/ci/instructions.md index acca1f80..a23d2c16 100644 --- a/src/modules/bmm/workflows/testarch/ci/instructions.md +++ b/src/modules/bmm/workflows/testarch/ci/instructions.md @@ -11,6 +11,8 @@ Scaffolds a production-ready CI/CD quality pipeline with test execution, burn-in loops for flaky test detection, parallel sharding, artifact collection, and notification configuration. This workflow creates platform-specific CI configuration optimized for fast feedback and reliable test execution. +Note: This is typically a one-time setup per repo; run it any time after the test framework exists, ideally before feature work starts. + --- ## Preflight Requirements diff --git a/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md b/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md index 44200b68..1e76f366 100644 --- a/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md +++ b/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md @@ -5,6 +5,8 @@ --- +Note: `nfr-assess` evaluates existing evidence; it does not run tests or CI workflows. + ## Prerequisites Validation - [ ] Implementation is deployed and accessible for evaluation diff --git a/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md b/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md index 2e9a133a..428a0a48 100644 --- a/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +++ b/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md @@ -6,6 +6,8 @@ --- +Note: This assessment summarizes existing evidence; it does not run tests or CI workflows. + ## Executive Summary **Assessment:** {PASS_COUNT} PASS, {CONCERNS_COUNT} CONCERNS, {FAIL_COUNT} FAIL diff --git a/src/modules/bmm/workflows/testarch/test-design/checklist.md b/src/modules/bmm/workflows/testarch/test-design/checklist.md index cb89659f..ac16c066 100644 --- a/src/modules/bmm/workflows/testarch/test-design/checklist.md +++ b/src/modules/bmm/workflows/testarch/test-design/checklist.md @@ -152,7 +152,8 @@ ### Workflow Dependencies -- [ ] Can proceed to `atdd` workflow with P0 scenarios +- [ ] Can proceed to `*atdd` workflow with P0 scenarios +- [ ] `*atdd` is a separate workflow and must be run explicitly (not auto-run) - [ ] Can proceed to `automate` workflow with full coverage plan - [ ] Risk assessment informs `gate` workflow criteria - [ ] Integrates with `ci` workflow execution order @@ -176,7 +177,7 @@ 1. [ ] Review risk assessment with team 2. [ ] Prioritize mitigation for high-priority risks (score ≥6) 3. [ ] Allocate resources per estimates -4. [ ] Run `atdd` workflow to generate P0 tests +4. [ ] Run `*atdd` workflow to generate P0 tests (separate workflow; not auto-run) 5. [ ] Set up test data factories and fixtures 6. [ ] Schedule team review of test design document diff --git a/src/modules/bmm/workflows/testarch/test-design/instructions.md b/src/modules/bmm/workflows/testarch/test-design/instructions.md index 1aa22a3d..217d7c86 100644 --- a/src/modules/bmm/workflows/testarch/test-design/instructions.md +++ b/src/modules/bmm/workflows/testarch/test-design/instructions.md @@ -764,7 +764,7 @@ After completing this workflow, provide a summary: 1. Review risk assessment with team 2. Prioritize mitigation for high-risk items (score ≥6) -3. Run `atdd` workflow to generate failing tests for P0 scenarios +3. Run `*atdd` to generate failing tests for P0 scenarios (separate workflow; not auto-run by `*test-design`) 4. Allocate resources per effort estimates 5. Set up test data factories and fixtures ``` diff --git a/src/modules/bmm/workflows/testarch/test-design/test-design-template.md b/src/modules/bmm/workflows/testarch/test-design/test-design-template.md index 829e6e3a..a064fe58 100644 --- a/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +++ b/src/modules/bmm/workflows/testarch/test-design/test-design-template.md @@ -246,6 +246,15 @@ --- +--- + +## Follow-on Workflows (Manual) + +- Run `*atdd` to generate failing P0 tests (separate workflow; not auto-run). +- Run `*automate` for broader coverage once implementation exists. + +--- + ## Approval **Test Design Approved By:** diff --git a/src/modules/bmm/workflows/testarch/test-review/checklist.md b/src/modules/bmm/workflows/testarch/test-review/checklist.md index 7ff04863..f4fca8af 100644 --- a/src/modules/bmm/workflows/testarch/test-review/checklist.md +++ b/src/modules/bmm/workflows/testarch/test-review/checklist.md @@ -6,6 +6,8 @@ Use this checklist to validate that the test quality review workflow completed s ## Prerequisites +Note: `test-review` is optional and only audits existing tests; it does not generate tests. + ### Test File Discovery - [ ] Test file(s) identified for review (single/directory/suite scope) diff --git a/src/modules/bmm/workflows/testarch/test-review/test-review-template.md b/src/modules/bmm/workflows/testarch/test-review/test-review-template.md index 79bf9dea..54127a5a 100644 --- a/src/modules/bmm/workflows/testarch/test-review/test-review-template.md +++ b/src/modules/bmm/workflows/testarch/test-review/test-review-template.md @@ -7,6 +7,8 @@ --- +Note: This review audits existing tests; it does not generate tests. + ## Executive Summary **Overall Assessment**: {Excellent | Good | Acceptable | Needs Improvement | Critical Issues} diff --git a/src/modules/bmm/workflows/testarch/trace/checklist.md b/src/modules/bmm/workflows/testarch/trace/checklist.md index e9932367..ba4e63b8 100644 --- a/src/modules/bmm/workflows/testarch/trace/checklist.md +++ b/src/modules/bmm/workflows/testarch/trace/checklist.md @@ -16,6 +16,7 @@ This checklist covers **two sequential phases**: - [ ] Acceptance criteria are available (from story file OR inline) - [ ] Test suite exists (or gaps are acknowledged and documented) +- [ ] If tests are missing, recommend `*atdd` (trace does not run it automatically) - [ ] Test directory path is correct (`test_dir` variable) - [ ] Story file is accessible (if using BMad mode) - [ ] Knowledge base is loaded (test-priorities, traceability, risk-governance) diff --git a/src/modules/bmm/workflows/testarch/trace/instructions.md b/src/modules/bmm/workflows/testarch/trace/instructions.md index 77e930c1..bd575849 100644 --- a/src/modules/bmm/workflows/testarch/trace/instructions.md +++ b/src/modules/bmm/workflows/testarch/trace/instructions.md @@ -52,6 +52,8 @@ This workflow operates in two sequential phases to validate test coverage and de - If acceptance criteria are completely missing, halt and request them - If Phase 2 enabled but test execution results missing, warn and skip gate decision +Note: `*trace` never runs `*atdd` automatically; it only recommends running it when tests are missing. + --- ## PHASE 1: REQUIREMENTS TRACEABILITY diff --git a/src/modules/bmm/workflows/testarch/trace/trace-template.md b/src/modules/bmm/workflows/testarch/trace/trace-template.md index 2dc368c9..ddc74019 100644 --- a/src/modules/bmm/workflows/testarch/trace/trace-template.md +++ b/src/modules/bmm/workflows/testarch/trace/trace-template.md @@ -6,6 +6,8 @@ --- +Note: This workflow does not generate tests. If gaps exist, run `*atdd` or `*automate` to create coverage. + ## PHASE 1: REQUIREMENTS TRACEABILITY ### Coverage Summary