BMAD-METHOD/tools/cli
arnoe cd88291fa7 fix(opencode): use native agents/ and commands/ layout instead of skills/
OpenCode does not have a native 'skills' concept. It uses .opencode/agents/
for agent persona definitions and .opencode/commands/ for slash commands.
The installer was incorrectly placing everything into .opencode/skills/ as
SKILL.md directories, which duplicated content from _bmad/ and prevented
workflows from appearing as native opencode commands.

Switch opencode to a multi-target layout:
- .opencode/agents/ — flat agent launcher files (opencode-agent template)
- .opencode/commands/ — flat workflow/task/tool command files

This matches the output that older installations (e.g. v6.0.4) produced and
aligns with how opencode actually discovers and surfaces agents and commands.

Also update detect() and findAncestorConflict() in the config-driven handler
to support multi-target platforms, so detection and ancestor conflict checks
work correctly for all target directories.
2026-03-18 10:37:12 -07:00
..
commands feat(cli): add uninstall command with selective component removal (#1650) 2026-02-15 08:13:03 -06:00
installers fix(opencode): use native agents/ and commands/ layout instead of skills/ 2026-03-18 10:37:12 -07:00
lib refactor(skills): convert brainstorming to native skill (#1924) 2026-03-12 16:49:35 -06:00
README.md modify post install notes example 2026-02-14 21:25:58 -06:00
bmad-cli.js fix(cli): use semantic versioning for update check (#1671) 2026-02-16 09:39:03 -06:00
external-official-modules.yaml prototype preview of new version of product brief skill (#1959) 2026-03-15 00:05:53 -05:00

README.md

BMad CLI Tool

Installing external repo BMad official modules

For external official modules to be discoverable during install, ensure an entry for the external repo is added to external-official-modules.yaml.

For community modules - this will be handled in a different way. This file is only for registration of modules under the bmad-code-org.

Post-Install Notes

Modules can display setup guidance to users after configuration is collected during npx bmad-method install. Notes are defined in the module's own module.yaml — no changes to the installer are needed.

Simple Format

Always displayed after the module is configured:

post-install-notes: |
  Thank you for choosing the XYZ Cool Module
  For Support about this Module call 555-1212  

Conditional Format

Display different messages based on a config question's answer:

post-install-notes:
  config_key_name:
    value1: |
      Instructions for value1...      
    value2: |
      Instructions for value2...      

Values without an entry (e.g., none) display nothing. Multiple config keys can each have their own conditional notes.

Example: TEA Module

The TEA module uses the conditional format keyed on tea_browser_automation:

post-install-notes:
  tea_browser_automation:
    cli: |
      Playwright CLI Setup:
        npm install -g @playwright/cli@latest
        playwright-cli install --skills      
    mcp: |
      Playwright MCP Setup (two servers):
        1. playwright    — npx @playwright/mcp@latest
        2. playwright-test — npx playwright run-test-mcp-server      
    auto: |
      Playwright CLI Setup:
        ...
      Playwright MCP Setup (two servers):
        ...      

When a user selects auto, they see both CLI and MCP instructions. When they select none, nothing is shown.