Compare commits

..

9 Commits

Author SHA1 Message Date
Nikolas Hor ae9f91ca0f
Merge 6848e3ae54 into 521f1e15ca 2026-03-13 01:31:41 -03:00
Brian Madison 521f1e15ca chore(release): v6.1.0 [skip ci]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:02:58 -05:00
Brian Madison 2e88b846f7 fix(publish): use GitHub App token to bypass branch protection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:53:54 -05:00
Brian Madison 88e576d10b docs: draft changelog for v6.1.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:20:52 -05:00
Brian Madison 9cd6e3826d WDS enabled in installer 2026-03-12 21:46:50 -05:00
Brian Madison e073aee30b update gitignore 2026-03-12 19:35:50 -05:00
Alex Verkhovsky 8f1cb7fb70 chore(brainstorming): drop redundant workflow frontmatter 2026-03-12 17:43:24 -06:00
Alex Verkhovsky a48fd4aae8
refactor(skills): convert brainstorming to native skill (#1924)
* refactor(skills): convert brainstorming to native skill

* fix(installer): skip workflow metadata for native skills

* revert: restore workflow metadata handling

* refactor(skills): remove duplicate party-mode workflow metadata

* fix(agents): invoke native skills via skill refs
2026-03-12 16:49:35 -06:00
Alex Verkhovsky 75ec4aa504 ci(publish): restrict workflow to upstream repo only
Prevent publish job from running on forks by gating on
github.repository == 'bmad-code-org/BMAD-METHOD'.
2026-03-12 11:00:52 -06:00
26 changed files with 76 additions and 29 deletions

View File

@ -37,14 +37,22 @@ permissions:
jobs:
publish:
if: github.event_name != 'workflow_dispatch' || github.ref == 'refs/heads/main'
if: github.repository == 'bmad-code-org/BMAD-METHOD' && (github.event_name != 'workflow_dispatch' || github.ref == 'refs/heads/main')
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App token
id: app-token
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.RELEASE_APP_ID }}
private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
- name: Setup Node
uses: actions/setup-node@v4

4
.gitignore vendored
View File

@ -20,6 +20,10 @@ build/*.txt
# Environment variables
.env
# Python
__pycache__/
.pytest_cache/
# System files
.DS_Store
Thumbs.db

View File

@ -1,5 +1,42 @@
# Changelog
## [6.1.0] - 2026-03-12
### Highlights
* Whiteport Design Studio (WDS) module enabled in the installer
* Support @next installation channel (`npx bmad-method@next install`) — get the latest tip of main instead of waiting for the next stable published version
* Everything now installs as a skill — all workflows, agents, and tasks converted to markdown with SKILL.md entrypoints (not yet optimized skills, but unified format)
* An experimental preview of the new Quick Dev is available, which will become the main Phase 4 development tool
* Edge Case Hunter added as a parallel code review layer in Phase 4, improving code quality by exhaustively tracing branching paths and boundary conditions (#1791)
* Documentation now available in Chinese (zh-CN) with complete translation (#1822, #1795)
### 💥 Breaking Changes
* Convert entire BMAD method to skills-based architecture with unified skill manifests (#1834)
* Convert all core workflows from YAML+instructions to single workflow.md format
* Migrate all remaining platforms to native Agent Skills format (#1841)
* Remove legacy YAML/XML workflow engine plumbing (#1864)
### 🎁 Features
* Add Pi coding agent as supported platform (#1854)
* Add unified skill scanner decoupled from legacy collectors (#1859)
* Add continuous delivery workflows for npm publishing with trusted OIDC publishing (#1872)
### ♻️ Refactoring
* Update terminology from "commands" to "skills" across all documentation (#1850)
### 🐛 Bug Fixes
* Fix code review removing mandatory minimum issue count that caused infinite review loops (#1913)
* Fix silent loss of brainstorming ideas in PRD by adding reconciliation step (#1914)
* Reduce npm tarball from 533 to 348 files (91% size reduction, 6.2 MB → 555 KB) via .npmignore (#1900)
* Fix party-mode skill conversion review findings (#1919)
---
## [6.0.4]
### 🎁 Features

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "bmad-method",
"version": "6.0.4",
"version": "6.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "bmad-method",
"version": "6.0.4",
"version": "6.1.0",
"license": "MIT",
"dependencies": {
"@clack/core": "^1.0.0",

View File

@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "bmad-method",
"version": "6.0.4",
"version": "6.1.0",
"description": "Breakthrough Method of Agile AI-driven Development",
"keywords": [
"agile",

View File

@ -18,7 +18,7 @@ agent:
menu:
- trigger: BP or fuzzy match on brainstorm-project
exec: "{project-root}/_bmad/core/workflows/brainstorming/workflow.md"
exec: "skill:bmad-brainstorming"
data: "{project-root}/_bmad/bmm/data/project-context-template.md"
description: "[BP] Brainstorm Project: Expert Guided Facilitation through a single or multiple techniques with a final report"

View File

@ -10,7 +10,7 @@ bmm,anytime,Update Standards,US,,_bmad/bmm/agents/tech-writer/tech-writer.agent.
bmm,anytime,Mermaid Generate,MG,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,,"Create a Mermaid diagram based on user description. Will suggest diagram types if not specified.",planning_artifacts,"mermaid diagram",
bmm,anytime,Validate Document,VD,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,,"Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority.",planning_artifacts,"validation report",
bmm,anytime,Explain Concept,EC,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,,"Create clear technical explanations with examples and diagrams for complex concepts. Breaks down into digestible sections using task-oriented approach.",project_knowledge,"explanation",
bmm,1-analysis,Brainstorm Project,BP,10,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,data=_bmad/bmm/data/project-context-template.md,"Expert Guided Facilitation through a single or multiple techniques",planning_artifacts,"brainstorming session",
bmm,1-analysis,Brainstorm Project,BP,10,skill:bmad-brainstorming,bmad-brainstorming,false,analyst,data=_bmad/bmm/data/project-context-template.md,"Expert Guided Facilitation through a single or multiple techniques",planning_artifacts,"brainstorming session",
bmm,1-analysis,Market Research,MR,20,_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md,bmad-bmm-market-research,false,analyst,Create Mode,"Market analysis competitive landscape customer needs and trends","planning_artifacts|project-knowledge","research documents",
bmm,1-analysis,Domain Research,DR,21,_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md,bmad-bmm-domain-research,false,analyst,Create Mode,"Industry domain deep dive subject matter expertise and terminology","planning_artifacts|project_knowledge","research documents",
bmm,1-analysis,Technical Research,TR,22,_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md,bmad-bmm-technical-research,false,analyst,Create Mode,"Technical feasibility architecture options and implementation approaches","planning_artifacts|project_knowledge","research documents",

1 module phase name code sequence workflow-file command required agent options description output-location outputs
10 bmm anytime Mermaid Generate MG _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer Create a Mermaid diagram based on user description. Will suggest diagram types if not specified. planning_artifacts mermaid diagram
11 bmm anytime Validate Document VD _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority. planning_artifacts validation report
12 bmm anytime Explain Concept EC _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer Create clear technical explanations with examples and diagrams for complex concepts. Breaks down into digestible sections using task-oriented approach. project_knowledge explanation
13 bmm 1-analysis Brainstorm Project BP 10 _bmad/core/workflows/brainstorming/workflow.md skill:bmad-brainstorming bmad-brainstorming false analyst data=_bmad/bmm/data/project-context-template.md Expert Guided Facilitation through a single or multiple techniques planning_artifacts brainstorming session
14 bmm 1-analysis Market Research MR 20 _bmad/bmm/workflows/1-analysis/research/workflow-market-research.md bmad-bmm-market-research false analyst Create Mode Market analysis competitive landscape customer needs and trends planning_artifacts|project-knowledge research documents
15 bmm 1-analysis Domain Research DR 21 _bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md bmad-bmm-domain-research false analyst Create Mode Industry domain deep dive subject matter expertise and terminology planning_artifacts|project_knowledge research documents
16 bmm 1-analysis Technical Research TR 22 _bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md bmad-bmm-technical-research false analyst Create Mode Technical feasibility architecture options and implementation approaches planning_artifacts|project_knowledge research documents

View File

@ -1,5 +1,5 @@
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs
core,anytime,Brainstorming,BSP,,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,,"Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas.",{output_folder}/brainstorming/brainstorming-session-{{date}}.md,,
core,anytime,Brainstorming,BSP,,skill:bmad-brainstorming,bmad-brainstorming,false,analyst,,"Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas.",{output_folder}/brainstorming/brainstorming-session-{{date}}.md,,
core,anytime,Party Mode,PM,,skill:bmad-party-mode,bmad-party-mode,false,party-mode facilitator,,"Orchestrate multi-agent discussions. Use when you need multiple agent perspectives or want agents to collaborate.",,
core,anytime,bmad-help,BH,,skill:bmad-help,bmad-help,false,,,"Get unstuck by showing what workflow steps come next or answering BMad Method questions.",,
core,anytime,Index Docs,ID,,skill:bmad-index-docs,bmad-index-docs,false,,,"Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.",,

Can't render this file because it has a wrong number of fields in line 2.

View File

@ -0,0 +1,6 @@
---
name: bmad-brainstorming
description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says help me brainstorm or help me ideate.'
---
Follow the instructions in [workflow.md](workflow.md).

View File

@ -0,0 +1 @@
type: skill

View File

@ -1,6 +1,4 @@
---
name: brainstorming
description: 'Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says help me brainstorm or help me ideate.'
context_file: '' # Optional context file path for project-specific guidance
---
@ -42,9 +40,8 @@ Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
### Paths
- `installed_path` = `{project-root}/_bmad/core/workflows/brainstorming`
- `template_path` = `{installed_path}/template.md`
- `brain_techniques_path` = `{installed_path}/brain-methods.csv`
- `template_path` = `./template.md`
- `brain_techniques_path` = `./brain-methods.csv`
- `brainstorming_session_output_file` = `{output_folder}/brainstorming/brainstorming-session-{{date}}-{{time}}.md` (evaluated once at workflow start)
All steps MUST reference `{brainstorming_session_output_file}` instead of the full path pattern.

View File

@ -1,6 +1,4 @@
---
name: bmad-party-mode
description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations. Use when user requests party mode.'
---
# Party Mode Workflow

View File

@ -1,3 +0,0 @@
canonicalId: bmad-brainstorming
type: workflow
description: "Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods"

View File

@ -42,12 +42,12 @@ modules:
type: bmad-org
npmPackage: bmad-method-test-architecture-enterprise
# whiteport-design-system:
# url: https://github.com/bmad-code-org/bmad-method-wds-expansion
# module-definition: src/module.yaml
# code: wds
# name: "Whiteport UX Design System"
# description: "UX design framework with Figma integration"
# defaultSelected: false
# type: community
# npmPackage: bmad-method-wds-expansion
whiteport-design-studio:
url: https://github.com/bmad-code-org/bmad-method-wds-expansion
module-definition: src/module.yaml
code: wds
name: "Whiteport Design Studio (For UX Professionals)"
description: "Whiteport Design Studio (For UX Professionals)"
defaultSelected: false
type: community
npmPackage: bmad-method-wds-expansion

View File

@ -349,7 +349,6 @@ class BaseIdeSetup {
} else if (entry.isFile() && entry.name === 'workflow.md') {
// Read workflow.md frontmatter to get name and standalone property
try {
const yaml = require('yaml');
const content = await fs.readFile(fullPath, 'utf8');
const frontmatterMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
if (!frontmatterMatch) continue;

View File

@ -157,7 +157,7 @@ function buildMenuXml(menuItems) {
}
}
xml += ` <item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md">[PM] Start Party Mode</item>\n`;
xml += ` <item cmd="PM or fuzzy match on party-mode" exec="skill:bmad-party-mode">[PM] Start Party Mode</item>\n`;
xml += ` <item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>\n`;
xml += ' </menu>\n';