Standalone instruction file that patches existing BMAD installations
to use explicit {interaction_style} session variable lookup with
open-mode default fallback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update module.yaml default to "open" and reorder options
- Change fallback in all 40 RULE directives from "default to structured
mode" to "default to open mode"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Apply explicit {interaction_style} variable reference to handler-action,
handler-exec, handler-workflow, agent-command-header, and workflow.xml
- Remove old duplicate RULE lines left over from merge conflict resolution
in 10 template files (default-task/tool, rovodev, opencode-workflow*,
gemini-agent/task/tool/workflow/workflow-yaml)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merges feature/platform-specific-structured-interaction which adds:
- Per-IDE template variants (claude, opencode, gemini, kiro, etc.)
- Explicit {interaction_style} session variable lookup in all RULE directives
- Fallback default to structured mode when variable is undetermined
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change all 34 RULE directives from bare "When interaction_style is"
to explicit "Check your stored {interaction_style} session variable
from activation step 2" with a fallback default to structured mode.
Addresses cynical review finding that LLMs struggle with implicit
natural-language conditionals and need explicit variable lookup
instructions plus failure mode handling.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Standardize all 27 template RULE lines to use "EVERY question"
phrasing. The free-form escape clause prevents over-restriction
while EVERY strengthens the default structured behavior.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Create claude-specific template set (agent, task, tool, workflow,
workflow-yaml) that explicitly references the `AskUserQuestion` tool,
matching how gemini/kiro/opencode each have their own templates with
IDE-specific tool names.
- Change Claude Code template_type from "default" to "claude" in
platform-codes.yaml
- Replace symlinks with real template files
- Create new claude-task.md and claude-tool.md
- default-* templates remain as generic fallbacks for cursor, auggie,
and other IDEs using numbered-list wording
- Fix default-tool.md RULE placement (move before execution instructions)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace emphatic "EVERY...MUST...Do NOT...No exceptions" phrasing with
clearer natural language that includes an explicit free-form override.
Research shows single clear sentences with conditional logic outperform
stacked absolute directives for LLM compliance.
New wording: "questions to the user MUST use structured options with a
numbered list unless the workflow or user explicitly requests free-form
input."
Also extracts RULE from step 4 in gemini-task.toml to standalone.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace Claude-specific AskUserQuestion in default-* templates with generic
numbered-list wording since these are universal fallbacks for all IDEs
- Fix hardcoded _bmad paths to use {{bmadFolderName}} in antigravity, rovodev,
trae, windsurf-workflow, and default-agent templates
- Extract RULE from numbered steps to standalone directive in gemini and
opencode workflow/tool templates
- Standardize RULE wording: add "Do NOT ask open-ended inline questions" to
all templates missing it for consistency
- Move RULE before execution instructions in default-task and rovodev templates
- Add {document_output_language} to activation-steps session variables
- Add interaction_style confirmation to gemini-agent preflight checklist
- Document all config settings including interaction_style in install guide
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Isolated test branch with just IDE template rules and module.yaml config.
No core agent-component or workflow.xml changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a new `interaction_style` config option (structured/open) to core
module.yaml so users can choose how agents ask questions. When set to
"structured" (default), agents present numbered option lists and wait
for selection. When "open", agents ask questions naturally.
Changes:
- src/core/module.yaml: new interaction_style config with single-select
- activation-rules.txt: conditional rule based on {interaction_style}
- activation-steps.txt: include {interaction_style} in stored variables
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(opencode): use mode: all in agent template, remove name frontmatter, fix directory names
- Replace name: '{{name}}' with mode: all in opencode-agent.md
mode: all enables both Tab-key agent switching in the TUI and @subagent
invocation via the Task tool (mode: primary blocked subagent use)
- Remove name: '{{name}}' from opencode-task/tool/workflow/workflow-yaml templates
OpenCode derives command name from filename, not from a name frontmatter field;
the bare {{name}} value was overriding the bmad- prefixed filename causing
name collisions with built-in OpenCode commands (fixes#1762)
- Fix deprecated singular directory names in platform-codes.yaml:
.opencode/agent -> .opencode/agents, .opencode/command -> .opencode/commands
- Add legacy_targets migration: cleanup() now removes stale bmad-* files from
old singular directories on reinstall so existing users don't get duplicates
- Fix removeEmptyParents to continue walking up to parent when starting dir is
already absent instead of breaking early
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(opencode): address code review findings for cleanup and schema docs
- Add project boundary guard to removeEmptyParents() using path.resolve
and startsWith check to prevent traversal outside projectDir (Augment)
- Fix JSDoc: "Recursively remove" -> "Walk up ancestor directories"
- Add user-visible migration log message when processing legacy_targets
- Document legacy_targets field in Installer Config Schema comment block
in platform-codes.yaml (CodeRabbit + Augment)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(opencode): improve removeEmptyParents error handling and loop clarity
- Distinguish recoverable errors (ENOTEMPTY, ENOENT) from fatal errors in
removeEmptyParents() catch block — skip level and continue upward on
TOCTOU races or concurrent removal, break only on fatal errors (EACCES)
- Add comment clarifying loop invariant for missing-path continue branch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
* fix(installer): remove double-escaping of quotes in CSV manifest pipeline
cleanForCSV() pre-escaped " to "" before storing in memory, then
escapeCsv() escaped again at CSV write time. After csv-parse round-trip
(which only un-escapes once), descriptions retained doubled quotes
instead of originals, corrupting generated output files.
Fix: remove the redundant quote escaping from cleanForCSV() since
escapeCsv() already handles CSV quoting correctly at write time.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(installer): use single quotes for description in Gemini workflow templates
Replace triple-quoted """{{description}}""" with single-quoted '{{description}}'
to avoid TOML escaping issues in Gemini workflow templates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This change removes the disable-model-invocation flag from all IDE installer
templates. By allowing model invocation, bmad help can now properly invoke
suggested workflows as direct skill calls, improving the user experience by
enabling automatic workflow execution when desired.
Remove hallucinated mode: primary from opencode-agent template - OpenCode
defaults to mode: all and mode: primary does not enable Tab-switching as
the original PR #1556 claimed. Restore the name frontmatter field across
all OpenCode templates to match the standard pattern used by other IDEs.
* fix: support CRLF line endings and add task/tool templates for all IDEs
* fix: preserve file extensions in IDE task/tool paths and update BMAD branding
* fix: double extension issue in wrapper filename generation
* fix: correct path handling and variable reference in task/tool command generator
* fix: change default BMAD folder name from 'bmad' to '_bmad' across all IDE components
* refactor: centralize BMAD_FOLDER_NAME constant in path-utils
* fix: Replace the rest of BMAD_FOLDER magic values
* fix: add safety checks for setBmadFolderName method calls in IdeManager
* fix: convert absolute paths to relative in task-tool-command-generator
* fix: support .xml task files in bmad-artifacts task discovery
* fix: skip internal tasks in manifest generation and IDE command discovery
* fix: skip empty artifact_types targets and remove unused vscode_settings target
* fix: skip internal tools in manifest generation and improve Windows path handling in command generator
* fix: use csv-parse library for proper CSV handling in manifest generation
* refactor: extract CSV text cleaning to reusable method in manifest generator
* fix: normalize path separators to forward slashes in agent file copying for cross-platform compatibility
---------
Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
Prevents Claude from auto-invoking BMad skills without explicit user
request. Adds disable-model-invocation: true frontmatter to all
command templates and inline generators for Claude Code and Codex.
Co-authored-by: Brian <bmadcode@gmail.com>
* fix(ide): add support for Gemini CLI TOML format
* fix(ide): Added normalization for config.extension, added .yml to the extension array
---------
Co-authored-by: Brian <bmadcode@gmail.com>
* docs: radical reduction of documentation scope for v6 beta
Archive and basement unreviewed content to ship a focused, minimal doc set.
Changes:
- Archive stale how-to workflow guides (will rewrite for v6)
- Archive outdated explanation and reference content
- Move unreviewed content to basement for later review
- Reorganize TEA docs into dedicated /tea/ section
- Add workflow-map visual reference page
- Simplify getting-started tutorial and sidebar navigation
- Add explanation pages: brainstorming, adversarial-review, party-mode,
quick-flow, advanced-elicitation
- Fix base URL handling for subdirectory deployments (GitHub Pages forks)
The goal is a minimal, accurate doc set for beta rather than
comprehensive but potentially misleading content.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* refactor: restructure BMM and agents documentation by consolidating and flattening index files.
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Installation path is now fully configurable, allowing users to specify custom installation directories during setup
- Default installation location changed to .bmad (hidden directory) for cleaner project root organization
Web Bundle Improvements:
- All web bundles (single agent and team) now include party mode support for multi-agent collaboration!
- Advanced elicitation capabilities integrated into standalone agents
- All bundles enhanced with party mode agent manifests
- Added default-party.csv files to bmm, bmgd, and cis module teams
- The default party file is what will be used with single agent bundles. teams can customize for different party configurations before web bundling through a setting in the team yaml file
- New web bundle outputs for all agents (analyst, architect, dev, pm, sm, tea, tech-writer, ux-designer, game-*, creative-squad)
Phase 4 Workflow Updates (In Progress):
- Initiated shift to separate phase 4 implementation artifacts from documentation
- Phase 4 implementation artifacts (stories, code review, sprint plan, context files) will move to dedicated location outside docs folder
- Installer questions and configuration added for artifact path selection
- Updated workflow.yaml files for code-review, sprint-planning, story-context, epic-tech-context, and retrospective workflows to support this, but still might require some udpates
Additional Changes:
- New agent and action command header models for standardization
- Enhanced web-bundle-activation-steps fragment
- Updated web-bundler.js to support new structure
- VS Code settings updated for new .bmad directory
- Party mode instructions and workflow enhanced for better orchestration
IDE Installer Updates:
- Show version number of installer in cli
- improved Installer UX
- Gemini TOML Improved to have clear loading instructions with @ commands
- All tools agent launcher mds improved to use a central file template critical indication isntead of hardcoding in 2 different locations.