Compare commits
12 Commits
97fe89ae32
...
c9bdb02109
| Author | SHA1 | Date |
|---|---|---|
|
|
c9bdb02109 | |
|
|
6caca55e43 | |
|
|
9ebc4ce9c0 | |
|
|
5ffef8dc35 | |
|
|
43c0e290d2 | |
|
|
cad9be3e89 | |
|
|
82d211b7ca | |
|
|
8719d828d0 | |
|
|
3abcefe1fb | |
|
|
9168e00167 | |
|
|
d0c9cd7b0b | |
|
|
c352e03d18 |
|
|
@ -1,330 +0,0 @@
|
|||
name: Publish Latest Bundles
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch: {}
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
bundle-and-publish:
|
||||
if: ${{ false }} # Temporarily disabled while web bundles are paused.
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout BMAD-METHOD
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Generate bundles
|
||||
run: npm run bundle
|
||||
|
||||
- name: Create bundle distribution structure
|
||||
run: |
|
||||
mkdir -p dist/bundles
|
||||
|
||||
# Copy web bundles (XML files from npm run bundle output)
|
||||
cp -r web-bundles/* dist/bundles/ 2>/dev/null || true
|
||||
|
||||
# Verify bundles were copied (fail if completely empty)
|
||||
if [ ! "$(ls -A dist/bundles)" ]; then
|
||||
echo "❌ ERROR: No bundles found in dist/bundles/"
|
||||
echo "This likely means 'npm run bundle' failed or bundles weren't generated"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Count bundles per module
|
||||
for module in bmm bmb cis bmgd; do
|
||||
if [ -d "dist/bundles/$module/agents" ]; then
|
||||
COUNT=$(find dist/bundles/$module/agents -name '*.xml' 2>/dev/null | wc -l)
|
||||
echo "✅ $module: $COUNT agent bundles"
|
||||
fi
|
||||
done
|
||||
|
||||
# Generate index.html for each agents directory (fixes directory browsing)
|
||||
for module in bmm bmb cis bmgd; do
|
||||
if [ -d "dist/bundles/$module/agents" ]; then
|
||||
cat > "dist/bundles/$module/agents/index.html" << 'DIREOF'
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>MODULE_NAME Agents</title>
|
||||
<style>
|
||||
body { font-family: system-ui; max-width: 800px; margin: 50px auto; padding: 20px; }
|
||||
li { margin: 10px 0; }
|
||||
a { color: #0066cc; text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>MODULE_NAME Agents</h1>
|
||||
<ul>
|
||||
AGENT_LINKS
|
||||
</ul>
|
||||
<p><a href="../../">← Back to all modules</a></p>
|
||||
</body>
|
||||
</html>
|
||||
DIREOF
|
||||
|
||||
# Replace MODULE_NAME
|
||||
sed -i "s/MODULE_NAME/${module^^}/g" "dist/bundles/$module/agents/index.html"
|
||||
|
||||
# Generate agent links
|
||||
LINKS=""
|
||||
for file in dist/bundles/$module/agents/*.xml; do
|
||||
if [ -f "$file" ]; then
|
||||
name=$(basename "$file" .xml)
|
||||
LINKS="$LINKS <li><a href=\"./$name.xml\">$name</a></li>\n"
|
||||
fi
|
||||
done
|
||||
sed -i "s|AGENT_LINKS|$LINKS|" "dist/bundles/$module/agents/index.html"
|
||||
fi
|
||||
done
|
||||
|
||||
# Create zip archives per module
|
||||
mkdir -p dist/bundles/downloads
|
||||
for module in bmm bmb cis bmgd; do
|
||||
if [ -d "dist/bundles/$module" ]; then
|
||||
(cd dist/bundles && zip -r downloads/$module-agents.zip $module/)
|
||||
echo "✅ Created $module-agents.zip"
|
||||
fi
|
||||
done
|
||||
|
||||
# Generate index.html dynamically based on actual bundles
|
||||
TIMESTAMP=$(date -u +"%Y-%m-%d %H:%M UTC")
|
||||
COMMIT_SHA=$(git rev-parse --short HEAD)
|
||||
|
||||
# Function to generate agent links for a module
|
||||
generate_agent_links() {
|
||||
local module=$1
|
||||
local agent_dir="dist/bundles/$module/agents"
|
||||
|
||||
if [ ! -d "$agent_dir" ]; then
|
||||
echo ""
|
||||
return
|
||||
fi
|
||||
|
||||
local links=""
|
||||
local count=0
|
||||
|
||||
# Find all XML files and generate links
|
||||
for xml_file in "$agent_dir"/*.xml; do
|
||||
if [ -f "$xml_file" ]; then
|
||||
local agent_name=$(basename "$xml_file" .xml)
|
||||
# Convert filename to display name (pm -> PM, tech-writer -> Tech Writer)
|
||||
local display_name=$(echo "$agent_name" | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++) {if(length($i)==2) $i=toupper($i); else $i=toupper(substr($i,1,1)) tolower(substr($i,2));}}1')
|
||||
|
||||
if [ $count -gt 0 ]; then
|
||||
links="$links | "
|
||||
fi
|
||||
links="$links<a href=\"./$module/agents/$agent_name.xml\">$display_name</a>"
|
||||
count=$((count + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
echo "$links"
|
||||
}
|
||||
|
||||
# Generate agent links for each module
|
||||
BMM_LINKS=$(generate_agent_links "bmm")
|
||||
CIS_LINKS=$(generate_agent_links "cis")
|
||||
BMGD_LINKS=$(generate_agent_links "bmgd")
|
||||
|
||||
# Count agents for bulk downloads
|
||||
BMM_COUNT=$(find dist/bundles/bmm/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ')
|
||||
CIS_COUNT=$(find dist/bundles/cis/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ')
|
||||
BMGD_COUNT=$(find dist/bundles/bmgd/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ')
|
||||
|
||||
# Create index.html
|
||||
cat > dist/bundles/index.html << EOF
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>BMAD Bundles - Latest</title>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; max-width: 800px; margin: 50px auto; padding: 20px; }
|
||||
h1 { color: #333; }
|
||||
.platform { margin: 30px 0; padding: 20px; background: #f5f5f5; border-radius: 8px; }
|
||||
.module { margin: 15px 0; }
|
||||
a { color: #0066cc; text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
code { background: #e0e0e0; padding: 2px 6px; border-radius: 3px; }
|
||||
.warning { background: #fff3cd; padding: 15px; border-left: 4px solid #ffc107; margin: 20px 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>BMAD Web Bundles - Latest (Main Branch)</h1>
|
||||
|
||||
<div class="warning">
|
||||
<strong>⚠️ Latest Build (Unstable)</strong><br>
|
||||
These bundles are built from the latest main branch commit. For stable releases, visit
|
||||
<a href="https://github.com/bmad-code-org/BMAD-METHOD/releases/latest">GitHub Releases</a>.
|
||||
</div>
|
||||
|
||||
<p><strong>Last Updated:</strong> <code>$TIMESTAMP</code></p>
|
||||
<p><strong>Commit:</strong> <code>$COMMIT_SHA</code></p>
|
||||
|
||||
<h2>Available Modules</h2>
|
||||
|
||||
EOF
|
||||
|
||||
# Add BMM section if agents exist
|
||||
if [ -n "$BMM_LINKS" ]; then
|
||||
cat >> dist/bundles/index.html << EOF
|
||||
<div class="platform">
|
||||
<h3>BMM (BMad Method)</h3>
|
||||
<div class="module">
|
||||
$BMM_LINKS<br>
|
||||
📁 <a href="./bmm/agents/">Browse All</a> | 📦 <a href="./downloads/bmm-agents.zip">Download Zip</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Add CIS section if agents exist
|
||||
if [ -n "$CIS_LINKS" ]; then
|
||||
cat >> dist/bundles/index.html << EOF
|
||||
<div class="platform">
|
||||
<h3>CIS (Creative Intelligence Suite)</h3>
|
||||
<div class="module">
|
||||
$CIS_LINKS<br>
|
||||
📁 <a href="./cis/agents/">Browse Agents</a> | 📦 <a href="./downloads/cis-agents.zip">Download Zip</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Add BMGD section if agents exist
|
||||
if [ -n "$BMGD_LINKS" ]; then
|
||||
cat >> dist/bundles/index.html << EOF
|
||||
<div class="platform">
|
||||
<h3>BMGD (Game Development)</h3>
|
||||
<div class="module">
|
||||
$BMGD_LINKS<br>
|
||||
📁 <a href="./bmgd/agents/">Browse Agents</a> | 📦 <a href="./downloads/bmgd-agents.zip">Download Zip</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Add bulk downloads section
|
||||
cat >> dist/bundles/index.html << EOF
|
||||
<h2>Bulk Downloads</h2>
|
||||
<p>Download all agents for a module as a zip archive:</p>
|
||||
<ul>
|
||||
EOF
|
||||
|
||||
[ "$BMM_COUNT" -gt 0 ] && echo " <li><a href=\"./downloads/bmm-agents.zip\">📦 BMM Agents (all $BMM_COUNT)</a></li>" >> dist/bundles/index.html
|
||||
[ "$CIS_COUNT" -gt 0 ] && echo " <li><a href=\"./downloads/cis-agents.zip\">📦 CIS Agents (all $CIS_COUNT)</a></li>" >> dist/bundles/index.html
|
||||
[ "$BMGD_COUNT" -gt 0 ] && echo " <li><a href=\"./downloads/bmgd-agents.zip\">📦 BMGD Agents (all $BMGD_COUNT)</a></li>" >> dist/bundles/index.html
|
||||
|
||||
# Close HTML
|
||||
cat >> dist/bundles/index.html << 'EOF'
|
||||
</ul>
|
||||
|
||||
<h2>Usage</h2>
|
||||
<p>Copy the raw XML URL and paste into your AI platform's custom instructions or project knowledge.</p>
|
||||
<p>Example: <code>https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/bmm/agents/pm.xml</code></p>
|
||||
|
||||
<h2>Installation (Recommended)</h2>
|
||||
<p>For full IDE integration with slash commands, use the installer:</p>
|
||||
<pre>npx bmad-method@alpha install</pre>
|
||||
|
||||
<footer style="margin-top: 50px; padding-top: 20px; border-top: 1px solid #ccc; color: #666;">
|
||||
<p>Built from <a href="https://github.com/bmad-code-org/BMAD-METHOD">BMAD-METHOD</a> repository.</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
- name: Checkout bmad-bundles repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: bmad-code-org/bmad-bundles
|
||||
path: bmad-bundles
|
||||
token: ${{ secrets.BUNDLES_PAT }}
|
||||
|
||||
- name: Update bundles
|
||||
run: |
|
||||
# Clear old bundles
|
||||
rm -rf bmad-bundles/*
|
||||
|
||||
# Copy new bundles
|
||||
cp -r dist/bundles/* bmad-bundles/
|
||||
|
||||
# Create .nojekyll for GitHub Pages
|
||||
touch bmad-bundles/.nojekyll
|
||||
|
||||
# Create README
|
||||
cat > bmad-bundles/README.md << 'EOF'
|
||||
# BMAD Web Bundles (Latest)
|
||||
|
||||
**⚠️ Unstable Build**: These bundles are auto-generated from the latest `main` branch.
|
||||
|
||||
For stable releases, visit [GitHub Releases](https://github.com/bmad-code-org/BMAD-METHOD/releases/latest).
|
||||
|
||||
## Usage
|
||||
|
||||
Copy raw markdown URLs for use in AI platforms:
|
||||
|
||||
- Claude Code: `https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/claude-code/sub-agents/{agent}.md`
|
||||
- ChatGPT: `https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/chatgpt/sub-agents/{agent}.md`
|
||||
- Gemini: `https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/gemini/sub-agents/{agent}.md`
|
||||
|
||||
## Browse
|
||||
|
||||
Visit [https://bmad-code-org.github.io/bmad-bundles/](https://bmad-code-org.github.io/bmad-bundles/) to browse bundles.
|
||||
|
||||
## Installation (Recommended)
|
||||
|
||||
For full IDE integration:
|
||||
```bash
|
||||
npx bmad-method@alpha install
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Auto-updated by [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) on every main branch merge.
|
||||
EOF
|
||||
|
||||
- name: Commit and push to bmad-bundles
|
||||
run: |
|
||||
cd bmad-bundles
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
|
||||
git add .
|
||||
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes to bundles, skipping commit"
|
||||
else
|
||||
COMMIT_SHA=$(cd .. && git rev-parse --short HEAD)
|
||||
git commit -m "Update bundles from BMAD-METHOD@${COMMIT_SHA}"
|
||||
git push
|
||||
echo "✅ Bundles published to GitHub Pages"
|
||||
fi
|
||||
|
||||
- name: Summary
|
||||
run: |
|
||||
echo "## 🎉 Bundles Published!" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "**Latest bundles** available at:" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- 🌐 Browse: https://bmad-code-org.github.io/bmad-bundles/" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- 📦 Raw files: https://github.com/bmad-code-org/bmad-bundles" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "**Commit**: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
|
||||
|
|
@ -6,11 +6,11 @@ on:
|
|||
version_bump:
|
||||
description: Version bump type
|
||||
required: true
|
||||
default: alpha
|
||||
default: beta
|
||||
type: choice
|
||||
options:
|
||||
- alpha
|
||||
- beta
|
||||
- alpha
|
||||
- patch
|
||||
- minor
|
||||
- major
|
||||
|
|
@ -158,9 +158,12 @@ jobs:
|
|||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
run: |
|
||||
VERSION="${{ steps.version.outputs.new_version }}"
|
||||
if [[ "$VERSION" == *"alpha"* ]] || [[ "$VERSION" == *"beta"* ]]; then
|
||||
echo "Publishing prerelease version with --tag alpha"
|
||||
if [[ "$VERSION" == *"alpha"* ]]; then
|
||||
echo "Publishing alpha prerelease version with --tag alpha"
|
||||
npm publish --tag alpha
|
||||
elif [[ "$VERSION" == *"beta"* ]]; then
|
||||
echo "Publishing beta prerelease version with --tag latest"
|
||||
npm publish --tag latest
|
||||
else
|
||||
echo "Publishing stable version with --tag latest"
|
||||
npm publish --tag latest
|
||||
|
|
|
|||
87
CHANGELOG.md
87
CHANGELOG.md
|
|
@ -1,5 +1,92 @@
|
|||
# Changelog
|
||||
|
||||
## [6.0.0-Beta.0]
|
||||
|
||||
**Release: January 2026 - Alpha to Beta Transition**
|
||||
|
||||
### 🎉 Beta Release
|
||||
|
||||
- **Transition from Alpha to Beta**: BMad Method is now in Beta! This marks a significant milestone in the framework's development
|
||||
- **NPM Default Tag**: Beta versions are now published with the `latest` tag, making `npx bmad-method` serve the beta version by default
|
||||
|
||||
### 🌟 Key Highlights
|
||||
|
||||
1. **bmad-help**: Revolutionary AI-powered guidance system replaces the alpha workflow-init and workflow tracking — introduces full AI intelligence to guide users through workflows, commands, and project context
|
||||
2. **Module Ecosystem Expansion**: bmad-builder, CIS (Creative Intelligence Suite), and Game Dev Studio moved to separate repositories for focused development
|
||||
3. **Installer Consolidation**: Unified installer architecture with standardized command naming (`bmad-dash-case.md` or `bmad-*-agent-*.md`)
|
||||
4. **Windows Compatibility**: Complete migration from Inquirer.js to @clack/prompts for reliable cross-platform support
|
||||
|
||||
### 🚀 Major Features
|
||||
|
||||
**bmad-help - Intelligent Guidance System:**
|
||||
|
||||
- **Replaces**: workflow-init and legacy workflow tracking
|
||||
- **AI-Powered**: Full context awareness of installed modules, workflows, agents, and commands
|
||||
- **Dynamic Discovery**: Automatically catalogs all available workflows from installed modules
|
||||
- **Intelligent Routing**: Guides users to the right workflow or agent based on their goal
|
||||
- **IDE Integration**: Generates proper IDE command files for all discovered workflows
|
||||
|
||||
**Module Restructuring:**
|
||||
|
||||
| Module | Status | New Location |
|
||||
| ------------------------------------- | ------------------------------------------------- | ------------------------------------------------------- |
|
||||
| **bmad-builder** | Near beta, with docs and walkthroughs coming soon | `bmad-code-org/bmad-builder` |
|
||||
| **CIS** (Creative Intelligence Suite) | Published as npm package | `bmad-code-org/bmad-module-creative-intelligence-suite` |
|
||||
| **Game Dev Studio** | Published as npm package | `bmad-code-org/bmad-module-game-dev-studio` |
|
||||
|
||||
### 🔧 Installer & CLI Improvements
|
||||
|
||||
**UnifiedInstaller Architecture:**
|
||||
|
||||
- All IDE installers now use a common `UnifiedInstaller` class
|
||||
- Standardized command naming conventions:
|
||||
- Workflows: `bmad-module-workflow-name.md`
|
||||
- Agents: `bmad-module-agent-name.md`
|
||||
- Tasks: `bmad-task-name.md`
|
||||
- Tools: `bmad-tool-name.md`
|
||||
- External module installation from npm with progress indicators
|
||||
- Module removal on unselect with confirmation
|
||||
|
||||
**Windows Compatibility Fix:**
|
||||
|
||||
- Replaced Inquirer.js with @clack/prompts to fix arrow key navigation issues on Windows
|
||||
- All 91 installer workflows migrated to new prompt system
|
||||
|
||||
### 📚 Documentation Updates
|
||||
|
||||
**Significant docsite improvements:**
|
||||
|
||||
- Interactive workflow guide page (`/workflow-guide`) with track selector
|
||||
- TEA documentation restructured using Diátaxis framework (25 docs)
|
||||
- Style guide optimized for LLM readers (367 lines, down from 767)
|
||||
- Glossary rewritten using table format (123 lines, down from 373)
|
||||
- README overhaul with numbered command flows and prominent `/bmad-help` callout
|
||||
- New workflow map diagram with interactive HTML
|
||||
- New editorial review tasks for document quality
|
||||
- E2E testing methodology for Game Dev Studio
|
||||
|
||||
More documentation updates coming soon.
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
- Fixed TodoMVC URL references to include `/dist/` path
|
||||
- Fixed glob pattern normalization for Windows compatibility
|
||||
- Fixed YAML indentation in kilo.js customInstructions field
|
||||
- Fixed stale path references in check-implementation-readiness workflow
|
||||
- Fixed sprint-status.yaml sync in correct-course workflow
|
||||
- Fixed web bundler entry point reference
|
||||
- Fixed mergeModuleHelpCatalogs ordering after generateManifests
|
||||
|
||||
### 📊 Statistics
|
||||
|
||||
- **91 commits** since alpha.23
|
||||
- **969 files changed** (+23,716 / -91,509 lines)
|
||||
- **Net reduction of ~67,793 lines** through cleanup and consolidation
|
||||
- **3 major modules** moved to separate repositories
|
||||
- **Complete installer refactor** for standardization
|
||||
|
||||
---
|
||||
|
||||
## [6.0.0-alpha.23]
|
||||
|
||||
**Release: January 11, 2026**
|
||||
|
|
|
|||
32
README.md
32
README.md
|
|
@ -11,31 +11,38 @@
|
|||
|
||||
## Why BMad?
|
||||
|
||||
Traditional AI tools do the thinking for you, producing average results. BMad agents act as expert collaborators who guide you through structured workflows to bring out your best thinking.
|
||||
Traditional AI tools do the thinking for you, producing average results. BMad agents and facilitated workflow act as expert collaborators who guide you through a structured process to bring out your best thinking in partnership with the AI.
|
||||
|
||||
- **Scale-Adaptive**: Automatically adjusts planning depth based on project complexity (Level 0-4)
|
||||
- **AI Intelligent Help**: Brand new for beta - AI assisted help will guide you from the beginning to the end - just ask for `/bmad-help` after you have installed BMad to your project
|
||||
- **Scale-Domain-Adaptive**: Automatically adjusts planning depth and needs based on project complexity, domain and type - a SaaS Mobile Dating App has different planning needs from a diagnostic medical system, BMad adapts and helps you along the way
|
||||
- **Structured Workflows**: Grounded in agile best practices across analysis, planning, architecture, and implementation
|
||||
- **Specialized Agents**: 12+ domain experts (PM, Architect, Developer, UX, Scrum Master, and more)
|
||||
- **Party Mode**: Bring multiple agent personas into one session to plan, troubleshoot, or discuss your project collaboratively
|
||||
- **Complete Lifecycle**: From brainstorming to deployment, with just-in-time documentation
|
||||
- **Party Mode**: Bring multiple agent personas into one session to plan, troubleshoot, or discuss your project collaboratively, multiple perspectives with maximum fun
|
||||
- **Complete Lifecycle**: From brainstorming to deployment, BMad is there with you every step of the way
|
||||
|
||||
## Quick Start
|
||||
|
||||
**Prerequisites**: [Node.js](https://nodejs.org) v20+
|
||||
|
||||
```bash
|
||||
npx bmad-method@alpha install
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
Follow the installer prompts, then open your AI IDE (Claude Code, Cursor, Windsurf, etc.) in the project folder.
|
||||
|
||||
> **Not sure what to do?** Run `/bmad-help` — it tells you exactly what's next and what's optional. You can also ask it questions like `/bmad-help How should I build a web app for XYZ?`
|
||||
> **Not sure what to do?** Run `/bmad-help` — it tells you exactly what's next and what's optional. You can also ask it questions like:
|
||||
|
||||
- `/bmad-help How should I build a web app for for my TShirt Business that can scale to millions?`
|
||||
- `/bmad-help I just finished the architecture, I am not sure what to do next`
|
||||
|
||||
And the amazing this is BMad Help evolves depending on what modules you install also!
|
||||
- `/bmad-help Im interested in really exploring creative ways to demo BMad at work, what do you recommend to help plan a great slide deck and compelling narrative?`, and if you have the Creative Intelligence Suite installed, it will offer you different or complimentary advice than if you just have BMad Method Module installed!
|
||||
|
||||
The workflows below show the fastest path to working code. You can also load agents directly for a more structured process, extensive planning, or to learn about agile development practices — the agents guide you with menus, explanations, and elicitation at each step.
|
||||
|
||||
### Simple Path (Quick Flow)
|
||||
|
||||
Bug fixes, small features, clear scope — 3 commands:
|
||||
Bug fixes, small features, clear scope — 3 commands - 1 Optional Agent:
|
||||
|
||||
1. `/quick-spec` — analyzes your codebase and produces a tech-spec with stories
|
||||
2. `/dev-story` — implements each story
|
||||
|
|
@ -56,7 +63,7 @@ Every step tells you what's next. Optional phases (brainstorming, research, UX d
|
|||
|
||||
## Modules
|
||||
|
||||
BMad Method extends with official modules for specialized domains. Modules are available during installation and can be added to your project at any time.
|
||||
BMad Method extends with official modules for specialized domains. Modules are available during installation and can be added to your project at any time. After the V6 beta period these will also be available as Plugins and Granular Skills.
|
||||
|
||||
| Module | GitHub | NPM | Purpose |
|
||||
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
||||
|
|
@ -65,6 +72,8 @@ BMad Method extends with official modules for specialized domains. Modules are a
|
|||
| **Game Dev Studio (BMGD)** | [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio) | [bmad-game-dev-studio](https://www.npmjs.com/package/bmad-game-dev-studio) | Game development workflows for Unity, Unreal, and Godot |
|
||||
| **Creative Intelligence Suite (CIS)** | [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite) | [bmad-creative-intelligence-suite](https://www.npmjs.com/package/bmad-creative-intelligence-suite) | Innovation, brainstorming, design thinking, and problem-solving |
|
||||
|
||||
* More modules are coming in the next 2 weeks from BMad Official, and a community marketplace for the installer also will be coming with the final V6 release!
|
||||
|
||||
## Documentation
|
||||
|
||||
**[Full Documentation](http://docs.bmad-method.org)** — Tutorials, how-to guides, concepts, and reference
|
||||
|
|
@ -79,7 +88,7 @@ BMad Method extends with official modules for specialized domains. Modules are a
|
|||
## Community
|
||||
|
||||
- [Discord](https://discord.gg/gk8jAdXWmj) — Get help, share ideas, collaborate
|
||||
- [YouTube](https://www.youtube.com/@BMadCode) — Tutorials, master class, and podcast (launching Feb 2025)
|
||||
- [Subscribe on YouTube](https://www.youtube.com/@BMadCode) — Tutorials, master class, and podcast (launching Feb 2025)
|
||||
- [GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) — Bug reports and feature requests
|
||||
- [Discussions](https://github.com/bmad-code-org/BMAD-METHOD/discussions) — Community conversations
|
||||
|
||||
|
|
@ -87,11 +96,10 @@ BMad Method extends with official modules for specialized domains. Modules are a
|
|||
|
||||
BMad is free for everyone — and always will be. If you'd like to support development:
|
||||
|
||||
- ⭐ [Star us on GitHub](https://github.com/bmad-code-org/BMAD-METHOD/) — Helps others discover BMad
|
||||
- 📺 [Subscribe on YouTube](https://www.youtube.com/@BMadCode) — Master class launching Feb 2026
|
||||
- ⭐ Please click the star project icon at near the top right of this page
|
||||
- ☕ [Buy Me a Coffee](https://buymeacoffee.com/bmad) — Fuel the development
|
||||
- 🏢 Corporate sponsorship — DM on Discord
|
||||
- 🎤 Speaking & Media — Available for conferences, podcasts, interviews (Discord)
|
||||
- 🎤 Speaking & Media — Available for conferences, podcasts, interviews (BM on Discord)
|
||||
|
||||
## Contributing
|
||||
|
||||
|
|
|
|||
|
|
@ -6,17 +6,17 @@ This project adheres to the [Google Developer Documentation Style Guide](https:/
|
|||
|
||||
## Project-Specific Rules
|
||||
|
||||
| Rule | Specification |
|
||||
|------|---------------|
|
||||
| No horizontal rules (`---`) | Fragments reading flow |
|
||||
| No `####` headers | Use bold text or admonitions instead |
|
||||
| No "Related" or "Next:" sections | Sidebar handles navigation |
|
||||
| No deeply nested lists | Break into sections instead |
|
||||
| No code blocks for non-code | Use admonitions for dialogue examples |
|
||||
| No bold paragraphs for callouts | Use admonitions instead |
|
||||
| 1-2 admonitions per section max | Tutorials allow 3-4 per major section |
|
||||
| Table cells / list items | 1-2 sentences max |
|
||||
| Header budget | 8-12 `##` per doc; 2-3 `###` per section |
|
||||
| Rule | Specification |
|
||||
| -------------------------------- | ---------------------------------------- |
|
||||
| No horizontal rules (`---`) | Fragments reading flow |
|
||||
| No `####` headers | Use bold text or admonitions instead |
|
||||
| No "Related" or "Next:" sections | Sidebar handles navigation |
|
||||
| No deeply nested lists | Break into sections instead |
|
||||
| No code blocks for non-code | Use admonitions for dialogue examples |
|
||||
| No bold paragraphs for callouts | Use admonitions instead |
|
||||
| 1-2 admonitions per section max | Tutorials allow 3-4 per major section |
|
||||
| Table cells / list items | 1-2 sentences max |
|
||||
| Header budget | 8-12 `##` per doc; 2-3 `###` per section |
|
||||
|
||||
## Admonitions (Starlight Syntax)
|
||||
|
||||
|
|
@ -40,31 +40,31 @@ Critical warnings only — data loss, security issues
|
|||
|
||||
### Standard Uses
|
||||
|
||||
| Admonition | Use For |
|
||||
|------------|---------|
|
||||
| `:::note[Prerequisites]` | Dependencies before starting |
|
||||
| `:::tip[Quick Path]` | TL;DR summary at document top |
|
||||
| `:::caution[Important]` | Critical caveats |
|
||||
| `:::note[Example]` | Command/response examples |
|
||||
| Admonition | Use For |
|
||||
| ------------------------ | ----------------------------- |
|
||||
| `:::note[Prerequisites]` | Dependencies before starting |
|
||||
| `:::tip[Quick Path]` | TL;DR summary at document top |
|
||||
| `:::caution[Important]` | Critical caveats |
|
||||
| `:::note[Example]` | Command/response examples |
|
||||
|
||||
## Standard Table Formats
|
||||
|
||||
**Phases:**
|
||||
|
||||
```md
|
||||
| Phase | Name | What Happens |
|
||||
|-------|------|--------------|
|
||||
| 1 | Analysis | Brainstorm, research *(optional)* |
|
||||
| 2 | Planning | Requirements — PRD or tech-spec *(required)* |
|
||||
| Phase | Name | What Happens |
|
||||
| ----- | -------- | -------------------------------------------- |
|
||||
| 1 | Analysis | Brainstorm, research *(optional)* |
|
||||
| 2 | Planning | Requirements — PRD or tech-spec *(required)* |
|
||||
```
|
||||
|
||||
**Commands:**
|
||||
|
||||
```md
|
||||
| Command | Agent | Purpose |
|
||||
|---------|-------|---------|
|
||||
| `*workflow-init` | Analyst | Initialize a new project |
|
||||
| `*prd` | PM | Create Product Requirements Document |
|
||||
| Command | Agent | Purpose |
|
||||
| ------------ | ------- | ------------------------------------ |
|
||||
| `brainstorm` | Analyst | Brainstorm a new project |
|
||||
| `prd` | PM | Create Product Requirements Document |
|
||||
```
|
||||
|
||||
## Folder Structure Blocks
|
||||
|
|
@ -141,13 +141,13 @@ your-project/
|
|||
|
||||
### Types
|
||||
|
||||
| Type | Example |
|
||||
|------|---------|
|
||||
| **Index/Landing** | `core-concepts/index.md` |
|
||||
| **Concept** | `what-are-agents.md` |
|
||||
| **Feature** | `quick-flow.md` |
|
||||
| **Philosophy** | `why-solutioning-matters.md` |
|
||||
| **FAQ** | `brownfield-faq.md` |
|
||||
| Type | Example |
|
||||
| ----------------- | ---------------------------- |
|
||||
| **Index/Landing** | `core-concepts/index.md` |
|
||||
| **Concept** | `what-are-agents.md` |
|
||||
| **Feature** | `quick-flow.md` |
|
||||
| **Philosophy** | `why-solutioning-matters.md` |
|
||||
| **FAQ** | `brownfield-faq.md` |
|
||||
|
||||
### General Template
|
||||
|
||||
|
|
@ -217,14 +217,14 @@ your-project/
|
|||
|
||||
### Types
|
||||
|
||||
| Type | Example |
|
||||
|------|---------|
|
||||
| **Index/Landing** | `workflows/index.md` |
|
||||
| **Catalog** | `agents/index.md` |
|
||||
| **Deep-Dive** | `document-project.md` |
|
||||
| **Configuration** | `core-tasks.md` |
|
||||
| **Glossary** | `glossary/index.md` |
|
||||
| **Comprehensive** | `bmgd-workflows.md` |
|
||||
| Type | Example |
|
||||
| ----------------- | --------------------- |
|
||||
| **Index/Landing** | `workflows/index.md` |
|
||||
| **Catalog** | `agents/index.md` |
|
||||
| **Deep-Dive** | `document-project.md` |
|
||||
| **Configuration** | `core-tasks.md` |
|
||||
| **Glossary** | `glossary/index.md` |
|
||||
| **Comprehensive** | `bmgd-workflows.md` |
|
||||
|
||||
### Reference Index Pages
|
||||
|
||||
|
|
@ -303,19 +303,19 @@ Starlight generates right-side "On this page" navigation from headers:
|
|||
```md
|
||||
## Category Name
|
||||
|
||||
| Term | Definition |
|
||||
|------|------------|
|
||||
| **Agent** | Specialized AI persona with specific expertise that guides users through workflows. |
|
||||
| Term | Definition |
|
||||
| ------------ | ---------------------------------------------------------------------------------------- |
|
||||
| **Agent** | Specialized AI persona with specific expertise that guides users through workflows. |
|
||||
| **Workflow** | Multi-step guided process that orchestrates AI agent activities to produce deliverables. |
|
||||
```
|
||||
|
||||
### Definition Rules
|
||||
|
||||
| Do | Don't |
|
||||
|----|-------|
|
||||
| Do | Don't |
|
||||
| ----------------------------- | ------------------------------------------- |
|
||||
| Start with what it IS or DOES | Start with "This is..." or "A [term] is..." |
|
||||
| Keep to 1-2 sentences | Write multi-paragraph explanations |
|
||||
| Bold term name in cell | Use plain text for terms |
|
||||
| Keep to 1-2 sentences | Write multi-paragraph explanations |
|
||||
| Bold term name in cell | Use plain text for terms |
|
||||
|
||||
### Context Markers
|
||||
|
||||
|
|
|
|||
|
|
@ -8,19 +8,19 @@ Download BMad Method resources for offline use, AI training, or integration.
|
|||
|
||||
Download these from the `downloads/` folder on the documentation site.
|
||||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| `bmad-sources.zip` | Complete BMad source files |
|
||||
| File | Description |
|
||||
| ------------------ | ------------------------------- |
|
||||
| `bmad-sources.zip` | Complete BMad source files |
|
||||
| `bmad-prompts.zip` | Agent and workflow prompts only |
|
||||
|
||||
## LLM-Optimized Files
|
||||
|
||||
These files are designed for AI consumption - perfect for loading into Claude, ChatGPT, or any LLM context window. See [API Access](#api-access) below for URLs.
|
||||
|
||||
| File | Description | Use Case |
|
||||
|------|-------------|----------|
|
||||
| `llms.txt` | Documentation index with summaries | Quick overview, navigation |
|
||||
| `llms-full.txt` | Complete documentation concatenated | Full context loading |
|
||||
| File | Description | Use Case |
|
||||
| --------------- | ----------------------------------- | -------------------------- |
|
||||
| `llms.txt` | Documentation index with summaries | Quick overview, navigation |
|
||||
| `llms-full.txt` | Complete documentation concatenated | Full context loading |
|
||||
|
||||
### Using with LLMs
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ docs = requests.get("https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt")
|
|||
## Installation Options
|
||||
|
||||
```bash
|
||||
npx bmad-method@alpha install
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
[More details](/docs/how-to/install-bmad.md)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ Quick answers to common questions about brownfield (existing codebase) developme
|
|||
- [Do I have to run document-project for brownfield?](#do-i-have-to-run-document-project-for-brownfield)
|
||||
- [What if I forget to run document-project?](#what-if-i-forget-to-run-document-project)
|
||||
- [Can I use Quick Spec Flow for brownfield projects?](#can-i-use-quick-spec-flow-for-brownfield-projects)
|
||||
- [How does workflow-init handle old planning docs?](#how-does-workflow-init-handle-old-planning-docs)
|
||||
- [What if my existing code doesn't follow best practices?](#what-if-my-existing-code-doesnt-follow-best-practices)
|
||||
|
||||
### What is brownfield vs greenfield?
|
||||
|
|
@ -44,17 +43,6 @@ Yes! Quick Spec Flow works great for brownfield. It will:
|
|||
|
||||
Perfect for bug fixes and small features in existing codebases.
|
||||
|
||||
### How does workflow-init handle old planning docs?
|
||||
|
||||
workflow-init asks about YOUR current work first, then uses old artifacts as context:
|
||||
|
||||
1. Shows what it found (old PRD, epics, etc.)
|
||||
2. Asks: "Is this work in progress, previous effort, or proposed work?"
|
||||
3. If previous effort: Asks you to describe your NEW work
|
||||
4. Determines level based on YOUR work, not old artifacts
|
||||
|
||||
This prevents old Level 3 PRDs from forcing Level 3 workflow for a new Level 0 bug fix.
|
||||
|
||||
### What if my existing code doesn't follow best practices?
|
||||
|
||||
Quick Spec Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide:
|
||||
|
|
|
|||
|
|
@ -36,9 +36,11 @@ Your `docs/` folder should contain succinct, well-organized documentation that a
|
|||
|
||||
For complex projects, consider using the `document-project` workflow. It offers runtime variants that will scan your entire project and document its actual current state.
|
||||
|
||||
## Step 3: Initialize for Brownfield Work
|
||||
## Step 3: Get Help
|
||||
|
||||
Run `workflow-init`. It should recognize you are in an existing project. If not, explicitly clarify that this is brownfield development for a new feature.
|
||||
Get help to know what to do next based on your unique needs
|
||||
|
||||
Run `bmad-help` to get guidance when you are not sure what to do next.
|
||||
|
||||
### Choosing Your Approach
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ Use the `npx bmad-method install` command to set up BMad in your project with yo
|
|||
### 1. Run the Installer
|
||||
|
||||
```bash
|
||||
npx bmad-method@alpha install
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
### 2. Choose Installation Location
|
||||
|
|
@ -68,13 +68,6 @@ your-project/
|
|||
|
||||
Run the `help` workflow (`/bmad-help` on most platforms) to verify everything works and see what to do next.
|
||||
|
||||
## Living on the Edge
|
||||
|
||||
**Latest pre-release (alpha/beta):**
|
||||
```bash
|
||||
npx bmad-method@alpha install
|
||||
```
|
||||
|
||||
**Latest from main branch:**
|
||||
```bash
|
||||
npx github:bmad-code-org/BMAD-METHOD install
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -11,7 +11,9 @@ If at anytime you are unsure what to do, the `/bmad-help` command will help you
|
|||
|
||||
Final important note: Every workflow below can be run directly with your tool of choice via slash command or by loading an agent first and using the entry from the agents menu.
|
||||
|
||||

|
||||
<iframe src="/workflow-map-diagram.html" width="100%" height="100%" frameborder="0" style="border-radius: 8px; border: 1px solid #334155; min-height: 900px;"></iframe>
|
||||
|
||||
*[Interactive diagram - hover over outputs to see artifact flows]*
|
||||
|
||||
## Phase 1: Analysis (Optional)
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Build software faster using AI-powered workflows with specialized agents that gu
|
|||
:::
|
||||
|
||||
:::tip[Quick Path]
|
||||
**Install** → `npx bmad-method@alpha install`
|
||||
**Install** → `npx bmad-method install`
|
||||
**Plan** → PM creates PRD, Architect creates architecture
|
||||
**Build** → SM manages sprints, DEV implements stories
|
||||
**Fresh chats** for each workflow to avoid context issues.
|
||||
|
|
@ -56,7 +56,7 @@ Story counts are guidance, not definitions. Choose your track based on planning
|
|||
Open a terminal in your project directory and run:
|
||||
|
||||
```bash
|
||||
npx bmad-method@alpha install
|
||||
npx bmad-method install
|
||||
```
|
||||
|
||||
When prompted to select modules, choose **BMad Method**.
|
||||
|
|
@ -130,11 +130,11 @@ Load the **SM agent** and run `sprint-planning`. This creates `sprint-status.yam
|
|||
|
||||
For each story, repeat this cycle with fresh chats:
|
||||
|
||||
| Step | Agent | Workflow | Purpose |
|
||||
| ---- | ----- | -------------- | ------------------------------------- |
|
||||
| 1 | SM | `create-story` | Create story file from epic |
|
||||
| 2 | DEV | `dev-story` | Implement the story |
|
||||
| 3 | DEV | `code-review` | Quality validation *(recommended)* |
|
||||
| Step | Agent | Workflow | Purpose |
|
||||
| ---- | ----- | -------------- | ---------------------------------- |
|
||||
| 1 | SM | `create-story` | Create story file from epic |
|
||||
| 2 | DEV | `dev-story` | Implement the story |
|
||||
| 3 | DEV | `code-review` | Quality validation *(recommended)* |
|
||||
|
||||
After completing all stories in an epic, load the **SM agent** and run `retrospective`.
|
||||
|
||||
|
|
@ -162,17 +162,17 @@ your-project/
|
|||
|
||||
## Quick Reference
|
||||
|
||||
| Workflow | Agent | Purpose |
|
||||
| ---------------------------------- | --------- | ------------------------------------ |
|
||||
| `help` | Any | Get guidance on what to do next |
|
||||
| `prd` | PM | Create Product Requirements Document |
|
||||
| `create-architecture` | Architect | Create architecture document |
|
||||
| `create-epics-and-stories` | PM | Break down PRD into epics |
|
||||
| `check-implementation-readiness` | Architect | Validate planning cohesion |
|
||||
| `sprint-planning` | SM | Initialize sprint tracking |
|
||||
| `create-story` | SM | Create a story file |
|
||||
| `dev-story` | DEV | Implement a story |
|
||||
| `code-review` | DEV | Review implemented code |
|
||||
| Workflow | Agent | Purpose |
|
||||
| -------------------------------- | --------- | ------------------------------------ |
|
||||
| `help` | Any | Get guidance on what to do next |
|
||||
| `prd` | PM | Create Product Requirements Document |
|
||||
| `create-architecture` | Architect | Create architecture document |
|
||||
| `create-epics-and-stories` | PM | Break down PRD into epics |
|
||||
| `check-implementation-readiness` | Architect | Validate planning cohesion |
|
||||
| `sprint-planning` | SM | Initialize sprint tracking |
|
||||
| `create-story` | SM | Create a story file |
|
||||
| `dev-story` | DEV | Implement a story |
|
||||
| `code-review` | DEV | Review implemented code |
|
||||
|
||||
## Common Questions
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "bmad-method",
|
||||
"version": "6.0.0-alpha.23",
|
||||
"version": "6.0.0-Beta.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "bmad-method",
|
||||
"version": "6.0.0-alpha.23",
|
||||
"version": "6.0.0-Beta.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@clack/prompts": "^0.11.0",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"$schema": "https://json.schemastore.org/package.json",
|
||||
"name": "bmad-method",
|
||||
"version": "6.0.0-alpha.23",
|
||||
"version": "6.0.0-Beta.1",
|
||||
"description": "Breakthrough Method of Agile AI-driven Development",
|
||||
"keywords": [
|
||||
"agile",
|
||||
|
|
|
|||
|
|
@ -1,59 +0,0 @@
|
|||
# BMM Project Scale Levels - Source of Truth
|
||||
# Reference: /_bmad/bmm/README.md lines 77-85
|
||||
|
||||
levels:
|
||||
0:
|
||||
name: "Level 0"
|
||||
title: "Single Atomic Change"
|
||||
stories: "1 story"
|
||||
description: "Bug fix, tiny feature, one small change"
|
||||
documentation: "Minimal - tech spec only"
|
||||
architecture: false
|
||||
|
||||
1:
|
||||
name: "Level 1"
|
||||
title: "Small Feature"
|
||||
stories: "1-10 stories"
|
||||
description: "Small coherent feature, minimal documentation"
|
||||
documentation: "Tech spec"
|
||||
architecture: false
|
||||
|
||||
2:
|
||||
name: "Level 2"
|
||||
title: "Medium Project"
|
||||
stories: "5-15 stories"
|
||||
description: "Multiple features, focused PRD"
|
||||
documentation: "PRD + optional tech spec"
|
||||
architecture: false
|
||||
|
||||
3:
|
||||
name: "Level 3"
|
||||
title: "Complex System"
|
||||
stories: "12-40 stories"
|
||||
description: "Subsystems, integrations, full architecture"
|
||||
documentation: "PRD + architecture + JIT tech specs"
|
||||
architecture: true
|
||||
|
||||
4:
|
||||
name: "Level 4"
|
||||
title: "Enterprise Scale"
|
||||
stories: "40+ stories"
|
||||
description: "Multiple products, enterprise architecture"
|
||||
documentation: "PRD + architecture + JIT tech specs"
|
||||
architecture: true
|
||||
|
||||
# Quick detection hints for workflow-init
|
||||
detection_hints:
|
||||
keywords:
|
||||
level_0: ["fix", "bug", "typo", "small change", "quick update", "patch"]
|
||||
level_1: ["simple", "basic", "small feature", "add", "minor"]
|
||||
level_2: ["dashboard", "several features", "admin panel", "medium"]
|
||||
level_3: ["platform", "integration", "complex", "system", "architecture"]
|
||||
level_4: ["enterprise", "multi-tenant", "multiple products", "ecosystem", "scale"]
|
||||
|
||||
story_counts:
|
||||
level_0: [1, 1]
|
||||
level_1: [1, 10]
|
||||
level_2: [5, 15]
|
||||
level_3: [12, 40]
|
||||
level_4: [40, 999]
|
||||
|
|
@ -23,7 +23,7 @@ agent:
|
|||
- trigger: list-tasks
|
||||
description: Two word trigger
|
||||
action: list_tasks
|
||||
- trigger: workflow-init-process
|
||||
- trigger: three-word-process
|
||||
description: Three word trigger
|
||||
action: init_workflow
|
||||
- trigger: test123
|
||||
|
|
|
|||
|
|
@ -6,24 +6,24 @@
|
|||
startMessage: |
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
⭐ IMPORTANT: Version Alpha.23 Changes
|
||||
🎉 BETA IS HERE! Welcome to BMad Method V6 Beta!
|
||||
|
||||
If your current version is older than Alpha.21, you'll need a fresh install:
|
||||
- Remove .bmad folder and reinstall
|
||||
- Only needed during final push to beta (ETA January 18th)
|
||||
We've officially graduated from Alpha! This milestone represents:
|
||||
- 50+ workflows covering the full development lifecycle
|
||||
- Stability - we will still be adding and evolving and optimizing,
|
||||
but anticipate no massive breaking changes
|
||||
- Groundwork in place for customization and community modules
|
||||
|
||||
📚 New Docs Site: http://docs.bmad-method.org/
|
||||
- Tons of guides and articles coming soon!
|
||||
- High quality tutorials, guided walkthrough, and articles coming soon!
|
||||
- Everything is free. No paywalls. No gated content.
|
||||
- Knowledge should be shared, not sold.
|
||||
|
||||
📺 YouTube Master Class & Podcast launching February 1st!
|
||||
|
||||
💡 Love BMad? Please star us on GitHub & subscribe on YouTube!
|
||||
- GitHub: https://github.com/bmad-code-org/BMAD-METHOD/
|
||||
- YouTube: https://www.youtube.com/@BMadCode
|
||||
|
||||
Latest updates: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md
|
||||
Latest updates: https://github.com/bmad-code-org/BMAD-METHOD/CHANGELOG.md
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
|
|
@ -31,13 +31,14 @@ startMessage: |
|
|||
endMessage: |
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
✨ BMAD IS READY! Beta is just days away! Thank you for your support!
|
||||
✨ BMAD V6 BETA IS INSTALLED! Thank you for being part of this journey!
|
||||
|
||||
🌟 BMad is 100% free and open source.
|
||||
- No gated Discord. No paywalls.
|
||||
- We believe in empowering everyone, not just those who can pay.
|
||||
|
||||
🙏 SUPPORT BMAD DEVELOPMENT:
|
||||
- During the Beta, please give us feedback and raise issues on GitHub!
|
||||
- Donate: https://buymeacoffee.com/bmad
|
||||
- Corporate Sponsorship available - DM on Discord
|
||||
|
||||
|
|
@ -48,7 +49,7 @@ endMessage: |
|
|||
|
||||
📚 RESOURCES:
|
||||
- Docs: http://docs.bmad-method.org/ (bookmark it!)
|
||||
- Changelog: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md
|
||||
- Changelog: https://github.com/bmad-code-org/BMAD-METHOD/CHANGELOG.md
|
||||
|
||||
⭐⭐⭐ HELP US GROW:
|
||||
- Star us on GitHub: https://github.com/bmad-code-org/BMAD-METHOD/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,361 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>BMad Method Workflow Map</title>
|
||||
<style>
|
||||
:root {
|
||||
--analysis: #0ea5e9;
|
||||
--planning: #22c55e;
|
||||
--solutioning: #eab308;
|
||||
--implementation: #ef4444;
|
||||
--quickflow: #64748b;
|
||||
--bg: #0f172a;
|
||||
--card: #1e293b;
|
||||
--text: #f8fafc;
|
||||
--text-muted: #94a3b8;
|
||||
--border: #334155;
|
||||
--success: #10b981;
|
||||
--arrow: #f59e0b;
|
||||
}
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
background: var(--bg);
|
||||
color: var(--text);
|
||||
line-height: 1.4;
|
||||
padding: 12px;
|
||||
}
|
||||
.header { text-align: center; margin-bottom: 16px; }
|
||||
.header-badge {
|
||||
display: inline-flex; align-items: center; gap: 6px;
|
||||
background: linear-gradient(135deg, var(--analysis), var(--planning));
|
||||
padding: 4px 12px; border-radius: 20px;
|
||||
font-size: 0.75rem; font-weight: 600; margin-bottom: 8px;
|
||||
}
|
||||
h1 { font-size: 1.5rem; font-weight: 700; }
|
||||
.subtitle { color: var(--text-muted); font-size: 0.8rem; }
|
||||
|
||||
.flow-legend {
|
||||
background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.3);
|
||||
border-radius: 8px; padding: 8px 12px; margin-bottom: 16px; text-align: center;
|
||||
font-size: 0.7rem; color: var(--arrow);
|
||||
}
|
||||
|
||||
.flow-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 8px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.phase {
|
||||
background: var(--card);
|
||||
border-radius: 10px;
|
||||
border: 1px solid var(--border);
|
||||
border-top: 3px solid;
|
||||
}
|
||||
.phase.analysis { border-top-color: var(--analysis); }
|
||||
.phase.planning { border-top-color: var(--planning); }
|
||||
.phase.solutioning { border-top-color: var(--solutioning); }
|
||||
.phase.implementation { border-top-color: var(--implementation); }
|
||||
|
||||
.phase-header { padding: 10px 12px 8px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; }
|
||||
.phase-num { width: 22px; height: 22px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; }
|
||||
.analysis .phase-num { background: var(--analysis); }
|
||||
.planning .phase-num { background: var(--planning); }
|
||||
.solutioning .phase-num { background: var(--solutioning); color: #000; }
|
||||
.implementation .phase-num { background: var(--implementation); }
|
||||
.phase-title { font-size: 0.95rem; font-weight: 700; }
|
||||
.phase-opt { font-size: 0.6rem; padding: 2px 6px; border-radius: 4px; background: rgba(14, 165, 233, 0.2); color: #7dd3fc; }
|
||||
|
||||
.workflows { padding: 8px 10px; }
|
||||
|
||||
.workflow {
|
||||
background: rgba(255,255,255,0.03); border-radius: 6px;
|
||||
padding: 8px; margin-bottom: 6px;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
.workflow-header {
|
||||
display: flex; justify-content: space-between; align-items: center;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.workflow-name {
|
||||
font-family: monospace; color: var(--success);
|
||||
background: rgba(16, 185, 129, 0.1); padding: 2px 6px;
|
||||
border-radius: 3px; font-size: 0.65rem;
|
||||
}
|
||||
.workflow-meta { display: flex; justify-content: space-between; align-items: center; }
|
||||
.agent { display: flex; align-items: center; gap: 4px; }
|
||||
.agent-icon { width: 14px; height: 14px; border-radius: 3px; display: flex; align-items: center; justify-content: center; font-size: 0.55rem; font-weight: 700; }
|
||||
.agent-icon.mary { background: linear-gradient(135deg, #f472b6, #ec4899); }
|
||||
.agent-icon.john { background: linear-gradient(135deg, #60a5fa, #3b82f6); }
|
||||
.agent-icon.sally { background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #000; }
|
||||
.agent-icon.winston { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
|
||||
.agent-icon.bob { background: linear-gradient(135deg, #34d399, #10b981); color: #000; }
|
||||
.agent-icon.amelia { background: linear-gradient(135deg, #fb7185, #ef4444); }
|
||||
.agent-icon.barry { background: linear-gradient(135deg, #94a3b8, #64748b); }
|
||||
.agent-name { font-size: 0.65rem; }
|
||||
.output { color: var(--success); font-family: monospace; font-size: 0.6rem; }
|
||||
.badge { font-size: 0.55rem; padding: 1px 4px; border-radius: 3px; }
|
||||
.badge.opt { background: rgba(251,191,36,0.15); color: #fbbf24; }
|
||||
.badge.iffy { background: rgba(168,85,247,0.15); color: #a855f7; }
|
||||
.badge.adhoc { background: rgba(59,130,246,0.15); color: #3b82f6; }
|
||||
|
||||
.arrow { display: flex; align-items: center; justify-content: center; color: var(--arrow); font-size: 0.9rem; margin: 6px 0; }
|
||||
|
||||
.decision { background: linear-gradient(135deg, #a855f7, #9333ea); padding: 4px 8px; border-radius: 4px; text-align: center; font-size: 0.65rem; font-weight: 600; margin: 6px 0; }
|
||||
|
||||
.quickflow {
|
||||
background: rgba(100, 116, 139, 0.2); border: 2px dashed var(--quickflow);
|
||||
border-radius: 10px; padding: 12px; margin-bottom: 16px;
|
||||
}
|
||||
.quickflow-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
|
||||
.quickflow-header h2 { font-size: 0.95rem; }
|
||||
.quickflow-header span { font-size: 0.7rem; color: var(--text-muted); }
|
||||
.quickflow-body { display: flex; align-items: center; gap: 12px; }
|
||||
.quickflow-item { flex: 1; background: rgba(255,255,255,0.03); border-radius: 8px; padding: 10px; }
|
||||
.quickflow-item code { font-family: monospace; color: var(--success); background: rgba(16, 185, 129, 0.1); padding: 2px 6px; border-radius: 3px; font-size: 0.7rem; }
|
||||
|
||||
.context { background: rgba(14, 165, 233, 0.08); border-radius: 10px; padding: 12px; font-size: 0.75rem; }
|
||||
.context-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-weight: 600; }
|
||||
.context-items { display: flex; flex-wrap: wrap; gap: 6px; }
|
||||
.context-items code { font-family: monospace; color: var(--success); background: rgba(16, 185, 129, 0.1); padding: 2px 5px; border-radius: 3px; font-size: 0.65rem; }
|
||||
.context-items span { color: var(--text-muted); }
|
||||
|
||||
.legend { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; font-size: 0.7rem; margin-top: 12px; }
|
||||
.legend-item { display: flex; align-items: center; gap: 4px; }
|
||||
.legend-dot { width: 12px; height: 3px; border-radius: 2px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<div class="header-badge">⚡ Workflow Map V6</div>
|
||||
<h1>BMad Method</h1>
|
||||
<p class="subtitle">Context engineering for AI-powered development</p>
|
||||
</div>
|
||||
|
||||
<div class="flow-legend">→ arrows show artifact flow between workflows</div>
|
||||
|
||||
<div class="flow-grid">
|
||||
<!-- Phase 1: Analysis -->
|
||||
<div class="phase analysis">
|
||||
<div class="phase-header">
|
||||
<div class="phase-num">1</div>
|
||||
<div class="phase-title">Analysis</div>
|
||||
<span class="phase-opt">Optional</span>
|
||||
</div>
|
||||
<div class="workflows">
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">brainstorm</span>
|
||||
<span class="badge opt">opt</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon mary">M</div><span class="agent-name">Mary</span></div>
|
||||
<span class="output">brainstorming-report.md</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">research</span>
|
||||
<span class="badge opt">opt</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon mary">M</div><span class="agent-name">Mary</span></div>
|
||||
<span class="output">findings</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">create-product-brief</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon mary">M</div><span class="agent-name">Mary</span></div>
|
||||
<span class="output">product-brief.md →</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 2: Planning -->
|
||||
<div class="phase planning">
|
||||
<div class="phase-header">
|
||||
<div class="phase-num">2</div>
|
||||
<div class="phase-title">Planning</div>
|
||||
</div>
|
||||
<div class="workflows">
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">create-prd</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
|
||||
<span class="output">PRD.md →</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="decision">Has UI?</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">create-ux-design</span>
|
||||
<span class="badge iffy">if yes</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon sally">S</div><span class="agent-name">Sally</span></div>
|
||||
<span class="output">ux-spec.md →</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 3: Solutioning -->
|
||||
<div class="phase solutioning">
|
||||
<div class="phase-header">
|
||||
<div class="phase-num">3</div>
|
||||
<div class="phase-title">Solutioning</div>
|
||||
</div>
|
||||
<div class="workflows">
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">create-architecture</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon winston">W</div><span class="agent-name">Winston</span></div>
|
||||
<span class="output">architecture.md →</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">create-epics-and-stories</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
|
||||
<span class="output">epics.md →</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">check-implementation-readiness</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
|
||||
<span class="output">gate check</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="arrow">→</div>
|
||||
</div>
|
||||
|
||||
<!-- Phase 4: Implementation -->
|
||||
<div class="phase implementation">
|
||||
<div class="phase-header">
|
||||
<div class="phase-num">4</div>
|
||||
<div class="phase-title">Implementation</div>
|
||||
</div>
|
||||
<div class="workflows">
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">sprint-planning</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon bob">B</div><span class="agent-name">Bob</span></div>
|
||||
<span class="output">sprint-status.yaml →</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">create-story</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon bob">B</div><span class="agent-name">Bob</span></div>
|
||||
<span class="output">story-[slug].md →</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">dev-story</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon amelia">A</div><span class="agent-name">Amelia</span></div>
|
||||
<span class="output">code →</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">code-review</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon amelia">A</div><span class="agent-name">Amelia</span></div>
|
||||
<span class="output">approve</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">correct-course</span>
|
||||
<span class="badge adhoc">ad-hoc</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon john">J</div><span class="agent-name">John</span></div>
|
||||
<span class="output">updated plan</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="workflow">
|
||||
<div class="workflow-header">
|
||||
<span class="workflow-name">retrospective</span>
|
||||
<span class="badge adhoc">per epic</span>
|
||||
</div>
|
||||
<div class="workflow-meta">
|
||||
<div class="agent"><div class="agent-icon bob">B</div><span class="agent-name">Bob</span></div>
|
||||
<span class="output">lessons</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="quickflow">
|
||||
<div class="quickflow-header">
|
||||
<span>⚡</span>
|
||||
<div>
|
||||
<h2>Quick Flow (Parallel Track)</h2>
|
||||
<span>For small, well-understood changes — skip phases 1-3</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="quickflow-body">
|
||||
<div class="quickflow-item">
|
||||
<div class="agent"><div class="agent-icon barry">B</div><span class="agent-name">Barry</span></div>
|
||||
<code>quick-spec</code>
|
||||
<div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">→ tech-spec.md</div>
|
||||
</div>
|
||||
<span style="color: var(--arrow); font-size: 1.2rem;">→</span>
|
||||
<div class="quickflow-item">
|
||||
<div class="agent"><div class="agent-icon barry">B</div><span class="agent-name">Barry</span></div>
|
||||
<code>quick-dev</code>
|
||||
<div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px;">→ working code</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="context">
|
||||
<div class="context-header">📚 Context Flow</div>
|
||||
<p style="margin-bottom: 8px; color: var(--text-muted);">Each document becomes context for the next phase.</p>
|
||||
<div class="context-items">
|
||||
<span><code>create-story</code> <span>loads epics, PRD, architecture, UX</span></span>
|
||||
<span><code>dev-story</code> <span>loads story file</span></span>
|
||||
<span><code>code-review</code> <span>loads architecture, story</span></span>
|
||||
<span><code>quick-dev</code> <span>loads tech-spec</span></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="legend">
|
||||
<div class="legend-item"><div class="legend-dot" style="background: var(--analysis);"></div>Analysis</div>
|
||||
<div class="legend-item"><div class="legend-dot" style="background: var(--planning);"></div>Planning</div>
|
||||
<div class="legend-item"><div class="legend-dot" style="background: var(--solutioning);"></div>Solutioning</div>
|
||||
<div class="legend-item"><div class="legend-dot" style="background: var(--implementation);"></div>Implementation</div>
|
||||
<div class="legend-item"><div class="legend-dot" style="background: var(--quickflow);"></div>Quick Flow</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -39,6 +39,18 @@ export default function rehypeBasePaths(options = {}) {
|
|||
}
|
||||
}
|
||||
|
||||
// Process iframe tags with src attribute
|
||||
if (node.tagName === 'iframe' && node.properties?.src) {
|
||||
const src = node.properties.src;
|
||||
|
||||
if (typeof src === 'string' && src.startsWith('/') && !src.startsWith('//')) {
|
||||
// Don't transform if already has the base path
|
||||
if (normalizedBase !== '/' && !src.startsWith(normalizedBase)) {
|
||||
node.properties.src = normalizedBase + src.slice(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Process anchor tags with href attribute
|
||||
if (node.tagName === 'a' && node.properties?.href) {
|
||||
const href = node.properties.href;
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@
|
|||
--ai-banner-height: 2.75rem;
|
||||
--sl-nav-height: 6.25rem; /* Base nav height (~3.5rem) + banner height (2.75rem) */
|
||||
|
||||
/* Full-width content - override Starlight's default 45rem/67.5rem */
|
||||
--sl-content-width: 100%;
|
||||
|
||||
/* Primary accent colors - purple to match Docusaurus */
|
||||
--sl-color-accent-low: #e0e0ff;
|
||||
--sl-color-accent: #8C8CFF;
|
||||
|
|
@ -45,6 +48,9 @@
|
|||
COLOR PALETTE - Dark Mode (Primary Focus)
|
||||
============================================ */
|
||||
:root[data-theme='dark'] {
|
||||
/* Full-width content - override Starlight's default */
|
||||
--sl-content-width: 100%;
|
||||
|
||||
/* Primary accent colors - purple to match Docusaurus */
|
||||
--sl-color-accent-low: #2a2a5a;
|
||||
--sl-color-accent: #8C8CFF;
|
||||
|
|
@ -174,13 +180,22 @@
|
|||
}
|
||||
|
||||
/* ============================================
|
||||
LAYOUT - Fixed width at large viewport
|
||||
LAYOUT - Full width content
|
||||
============================================ */
|
||||
.content-panel {
|
||||
max-width: 1400px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
/* Full-width workflow diagram iframe */
|
||||
.sl-markdown-content > iframe:first-child {
|
||||
width: 100vw !important;
|
||||
margin-left: calc(50% - 50vw);
|
||||
border-radius: 0 !important;
|
||||
border-left: none !important;
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
/* Main content area */
|
||||
main {
|
||||
min-width: 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue