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/README.md b/README.md
index cca9b121..7b091d9e 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ 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
+- [**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**](./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.
@@ -142,13 +142,12 @@ 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
@@ -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..0e7fffae 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/README)** - Full BMad Method reference
diff --git a/docs/custom-content-installation.md b/docs/custom-content-installation.md
index 5dd6d369..57df22d4 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
+If you download either of the folders within the [Sample Custom Modules](./sample-custom-modules/README.md) folder
## Content Types Overview
diff --git a/docs/document-sharding-guide.md b/docs/document-sharding-guide.md
index 7f3048e3..dec3c89a 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](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/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..5c4d7313 100644
--- a/docs/ide-info/rovo-dev.md
+++ b/docs/ide-info/rovo-dev.md
@@ -350,7 +350,6 @@ For example:
- [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
@@ -384,5 +383,4 @@ Subagent output: Detailed architecture proposal with implementation plan
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)
+- **BMAD-METHOD**: See [BMAD-METHOD README](./project-readme)
diff --git a/docs/index.md b/docs/index.md
index e3b3e8be..6a12773e 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](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/index.md#-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,15 @@ 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](./project-readme)** - 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](./changelog)** - Version history and breaking changes
+- **[Claude Code Setup](./ide-info/claude-code.md)** - Claude Code IDE integration and CLAUDE.md guidelines
### 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 +39,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](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/index.md#-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/README.md)** - Module overview and workflows
+- **[CIS Module README](./modules/cis/)** - Module overview and workflows
---
@@ -105,7 +104,6 @@ Instructions for loading agents and running workflows in your development enviro
- [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
---
@@ -113,40 +111,40 @@ Instructions for loading agents and running workflows in your development enviro
### 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](./project-readme) - 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](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/index.md#-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](./project-readme) - 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. [BMM Workflows Guide](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/index.md#-workflow-guides) - Game 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](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/index.md#-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](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/index.md#-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. [BMM Workflows Guide](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmm/docs/index.md#-workflow-guides) - 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/docs/sample-custom-modules/README.md b/docs/sample-custom-modules/README.md
index 874c7c71..23bcee8a 100644
--- a/docs/sample-custom-modules/README.md
+++ b/docs/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/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md b/docs/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md
index 75c925f6..71498d59 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,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/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 511f7fae..91ff487a 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,9 @@
"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",
+ "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,md,yaml}\"",
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,md,yaml}\"",
@@ -75,7 +78,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",
@@ -84,7 +87,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",
@@ -97,6 +103,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/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:
-
- 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:
-
- 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:
-
- 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)
-
-
-
-
-
-
- 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:
-
- 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
-
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/index.md b/src/modules/bmb/docs/agents/index.md
index ac476161..a1dd92e3 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/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..e68a3c56 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**
diff --git a/src/modules/bmb/docs/README.md b/src/modules/bmb/docs/index.md
similarity index 91%
rename from src/modules/bmb/docs/README.md
rename to src/modules/bmb/docs/index.md
index 1632afaf..fe280bd2 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`
### 📋 Workflows
@@ -133,12 +135,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/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 98%
rename from src/modules/bmgd/docs/README.md
rename to src/modules/bmgd/docs/index.md
index d5f89c31..b93ec648 100644
--- a/src/modules/bmgd/docs/README.md
+++ b/src/modules/bmgd/docs/index.md
@@ -163,7 +163,7 @@ BMGD Documentation
### Related Documentation
-- **[BMM Documentation](../../bmm/docs/README.md)** - Core BMad Method documentation
+- **[BMM Documentation](../../bmm/docs/index.md)** - Core BMad Method documentation
- **[IDE Setup Guides](../../../../docs/ide-info/)** - Configure your development environment
---
diff --git a/src/modules/bmm/README.md b/src/modules/bmm/README.md
index 2859b929..52e69288 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:**
@@ -49,7 +49,7 @@ bmm/
**Phase 4:** Implementation (iterative) - 10 workflows
**Testing:** Quality assurance (parallel) - 9 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 6cd13ed8..a3e8af8e 100644
--- a/src/modules/bmm/agents/dev.agent.yaml
+++ b/src/modules/bmm/agents/dev.agent.yaml
@@ -35,18 +35,10 @@ 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: 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)"
+ description: "Execute Dev Story workflow (full BMM path with sprint-status)"
- - trigger: CR or code-review or fuzzy match on code review
+ - trigger: 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: 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"
+ description: "Perform a thorough clean context code review (Highly Recommended, use fresh context and different LLM)"
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 23a6a813..a04d6b33 100644
--- a/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml
+++ b/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml
@@ -18,10 +18,14 @@ 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: create-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)"
+ description: Architect a technical spec with implementation-ready stories (Required first step)
- - trigger: QD or quick-dev or fuzzy match on quick dev
+ - trigger: 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)"
+ 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
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
index f9d9365d..16594189 100644
--- a/src/modules/bmm/docs/faq.md
+++ b/src/modules/bmm/docs/faq.md
@@ -512,7 +512,7 @@ Trust your expertise - BMM supports your decisions.
**A:**
-1. Search [Complete Documentation](./README.md) for related topics
+1. Search [Complete Documentation](./index.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)
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 93e1774b..b223c55d 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/README.md b/src/modules/cis/README.md
new file mode 100644
index 00000000..da733f35
--- /dev/null
+++ b/src/modules/cis/README.md
@@ -0,0 +1,24 @@
+# CIS - Creative Intelligence Suite
+
+AI-powered creative facilitation transforming strategic thinking through expert coaching across five specialized domains.
+
+## Overview
+
+CIS provides structured creative methodologies through distinctive agent personas who act as master facilitators, drawing out insights through strategic questioning rather than generating solutions directly.
+
+**5 Specialized Agents** | **5 Interactive Workflows** | **150+ Creative Techniques**
+
+## Documentation
+
+For complete documentation, quick start guides, and configuration options:
+
+**[→ CIS Documentation](./docs/index.md)**
+
+## Quick Links
+
+- [Agents](./agents/README.md) - Meet the 5 creative facilitators
+- [Workflows](./workflows/README.md) - Brainstorming, Design Thinking, Problem Solving, Innovation, Storytelling
+
+---
+
+Part of [BMad Method](https://github.com/bmadcode/bmad-method) v6.0
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/readme.md b/src/modules/cis/docs/index.md
similarity index 91%
rename from src/modules/cis/readme.md
rename to src/modules/cis/docs/index.md
index 51dc4bff..5cdedd77 100644
--- a/src/modules/cis/readme.md
+++ b/src/modules/cis/docs/index.md
@@ -17,7 +17,7 @@ CIS provides structured creative methodologies through distinctive agent persona
## Specialized Agents
-[View detailed agent descriptions →](./agents/README.md)
+[View detailed agent descriptions →](../agents/README.md)
- **Carson** - Brainstorming Specialist (energetic facilitator)
- **Maya** - Design Thinking Maestro (jazz-like improviser)
@@ -27,7 +27,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 +144,9 @@ 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
+- **[Workflow Guide](../workflows/README.md)** - Detailed workflow instructions
+- **[Agent Personas](../agents/README.md)** - Full agent descriptions
+- **[BMM Integration](../bmm/index.md)** - Development workflow connection
---
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/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/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..bac4cf97
--- /dev/null
+++ b/tools/build-docs.js
@@ -0,0 +1,614 @@
+/**
+ * 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'];
+
+const ROOT_DOCS = [
+ { src: 'README.md', dest: 'project-readme.md', title: 'Project README' },
+ { src: 'CHANGELOG.md', dest: 'changelog.md', title: 'Changelog' },
+];
+
+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}
+ 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 → ./modules/{mod}/ (redirect to module index)
+ const readmeMatch = url.match(/^\.\.?\/src\/modules\/([^/]+)\/README\.md$/i);
+ if (readmeMatch) return `](./modules/${readmeMatch[1]}/)`;
+
+ // 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} (docs folder contents are at root in build)
+ const rootDocsMatch = url.match(/^\.\/docs\/(.+)\.md$/);
+ if (rootDocsMatch) return `](./${rootDocsMatch[1]})`;
+
+ // Root docs that become HTML pages
+ if (url === '../README.md') return '](./project-readme)';
+ if (url === '../CHANGELOG.md') return '](./changelog)';
+
+ // Root files → GitHub (CONTRIBUTING, LICENSE, CODE_OF_CONDUCT, etc.)
+ if (url === '../CONTRIBUTING.md' || url === 'CONTRIBUTING.md') {
+ return `](${REPO_URL}/blob/main/CONTRIBUTING.md)`;
+ }
+ 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]})`;
+
+ 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/commands/build.js b/tools/cli/commands/build.js
index 50c12b83..467fcd65 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/agent/yaml-xml-builder');
+const { YamlXmlBuilder } = require('../lib/yaml-xml-builder');
const { getProjectRoot } = require('../lib/project-root');
const builder = new YamlXmlBuilder();
diff --git a/tools/cli/installers/lib/core/config-collector.js b/tools/cli/installers/lib/core/config-collector.js
index a4af595f..5898ace5 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';
+
+ 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