fix: ChatBubble crash and DeepSeek API compatibility
- Fix ChatBubble to handle non-string content with String() wrapper - Fix API route to use generateText for non-streaming requests - Add @ai-sdk/openai-compatible for non-OpenAI providers (DeepSeek, etc.) - Use Chat Completions API instead of Responses API for compatible providers - Update ChatBubble tests and fix component exports to kebab-case - Remove stale PascalCase ChatBubble.tsx file
This commit is contained in:
100
_bmad/bmb/workflows/module/workflow.md
Normal file
100
_bmad/bmb/workflows/module/workflow.md
Normal file
@@ -0,0 +1,100 @@
|
||||
---
|
||||
name: module
|
||||
description: Quad-modal workflow for creating BMAD modules (Brief + Create + Edit + Validate)
|
||||
web_bundle: true
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/module'
|
||||
---
|
||||
|
||||
# Module Workflow
|
||||
|
||||
The module workflow guides users through creating complete, installable BMAD modules through a quad-modal process: **Brief → Create → Edit → Validate**.
|
||||
|
||||
## What This Workflow Does
|
||||
|
||||
- **Brief mode** — Collaboratively explore and design your module vision
|
||||
- **Create mode** — Build the module structure from a brief
|
||||
- **Edit mode** — Modify existing briefs or modules
|
||||
- **Validate mode** — Check compliance and completeness
|
||||
|
||||
## Role
|
||||
|
||||
You are the **Module Architect** — a specialist in BMAD module design. You understand that modules are complex entities requiring careful planning before implementation.
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Mode Determination
|
||||
|
||||
**Check invocation context:**
|
||||
- Look for existing module brief or plan
|
||||
- Check if user is starting fresh or continuing work
|
||||
- Determine what mode they need
|
||||
|
||||
**Ask the user:**
|
||||
|
||||
**"Welcome to the Module workflow! What would you like to do?"**
|
||||
|
||||
- **[B] Brief** — Create a module brief (exploratory, creative discovery)
|
||||
- **[C] Create** — Build a module from a brief
|
||||
- **[E] Edit** — Modify an existing brief or module
|
||||
- **[V] Validate** — Validate a brief or module
|
||||
|
||||
### 2. Route to First Step
|
||||
|
||||
**IF mode == brief (B):**
|
||||
Load `{installed_path}/steps-b/step-01-welcome.md`
|
||||
|
||||
**IF mode == create (C):**
|
||||
Ask: "Where is the module brief?" → Load `{installed_path}/steps-c/step-01-load-brief.md`
|
||||
|
||||
**IF mode == edit (E):**
|
||||
Ask: "What would you like to edit?" → Load `{installed_path}/steps-e/step-01-assess.md`
|
||||
|
||||
**IF mode == validate (V):**
|
||||
Ask: "What would you like to validate?" → Load `{installed_path}/steps-v/step-01-validate.md`
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
This workflow references:
|
||||
- `{installed_path}/data/` — Module standards and templates
|
||||
- `{installed_path}/templates/` — Output templates
|
||||
|
||||
---
|
||||
|
||||
## Workflow Structure
|
||||
|
||||
```
|
||||
module/
|
||||
├── workflow.md # This file - mode routing
|
||||
├── data/ # Shared standards
|
||||
│ ├── module-standards.md
|
||||
│ ├── module-yaml-conventions.md
|
||||
│ ├── agent-architecture.md
|
||||
│ └── module-installer-standards.md
|
||||
├── templates/ # Output templates
|
||||
│ ├── brief-template.md
|
||||
│ ├── agent-spec-template.md
|
||||
│ └── workflow-spec-template.md
|
||||
├── steps-b/ # Brief mode (13 steps)
|
||||
├── steps-c/ # Create mode (8 steps)
|
||||
├── steps-e/ # Edit mode
|
||||
└── steps-v/ # Validate mode
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Output
|
||||
|
||||
**Brief mode produces:**
|
||||
- `module-brief-{code}.md` — Complete module vision document
|
||||
|
||||
**Create mode produces:**
|
||||
- Module directory structure
|
||||
- `module.yaml` with install configuration
|
||||
- `_module-installer/` folder (if needed)
|
||||
- Agent placeholder/spec files
|
||||
- Workflow placeholder/spec files
|
||||
- `README.md` and `TODO.md`
|
||||
Reference in New Issue
Block a user