Commit Graph

186 Commits

Author SHA1 Message Date
Jonah Schulte f94474159b refactor: consolidate to src/bmm, delete src/modules/bmm (Option A)
Migrates all valuable content from src/modules/bmm → src/bmm and removes the
duplicate directory structure. This resolves the two-directory confusion that
caused the accidental 3-solutioning deletion.

**Content Migrated:**
-  Improved pattern files (agent-completion, security-checklist, tdd, verification, README)
  - More comprehensive content (225, 340, 184, 198 lines vs 187, 122, 93, 143)
  - Last updated Jan 27 (newer than src/bmm versions)
-  Better multi-agent-review agent counts (2/4/6 instead of 1/2/3)
  - micro: 2 agents (security + code_quality)
  - standard: 4 agents (+ architecture + testing)
  - complex: 6 agents (+ performance + domain_expert)

**Deletions:**
-  src/modules/bmm/ (66 files) - All workflows were outdated or renamed
  - batch-super-dev → batch-stories (renamed Jan 28)
  - story-pipeline → story-dev-only (renamed Jan 28)
  - super-dev-pipeline → story-full-pipeline (renamed Jan 28)

**Path Updates:**
- tools/cli/installers/lib/core/dependency-resolver.js (code + tests)
- tools/cli/lib/yaml-xml-builder.js (comment)
- tools/build-docs.js (doc URLs)
- test/unit/core/dependency-resolver*.test.js (test fixtures)
- resources/skills/bmad-guide.md (workflow references)

**Result:**
- Single canonical location: src/bmm (183 files)
- No more sync confusion
- Best content from both directories preserved
- 350/352 tests passing (2 advanced edge cases to fix later)
2026-01-28 10:55:03 -05:00
Jonah Schulte e38282b063 Add name to Codex workflow prompt templates 2026-01-27 13:57:09 -05:00
Jonah Schulte 3005d5f70c chore: merge upstream/main (v6.0.0-Beta.1) into fork
Merged upstream Beta.1 release while preserving fork enhancements:

**Upstream changes integrated:**
- Beta.0/Beta.1 release (transition from alpha)
- bmad-help intelligent guidance system
- Module ecosystem expansion (bmad-builder, CIS, Game Dev Studio)
- Unified installer architecture
- Windows compatibility (Inquirer.js → @clack/prompts)
- PRD workflow restoration (was accidentally deleted in 0135ed01)
- Documentation platform improvements

**Fork enhancements preserved:**
- Production-hardened super-dev workflows (batch-super-dev, super-dev-pipeline v1 & v2)
- Vitest testing framework with UI dashboard
- Playbook system with automated learning feedback
- Multi-agent review integration
- CRITICAL enforcement for production quality
- Wave-based dependency execution
- Scoped package name (@jonahschulte/bmad-method)
- Enhanced description with TDD and review features

**Version:** Fork aligned to 6.0.0-Beta.1 (from 6.3.7-alpha.23)

**Conflict resolution:**
- Restored PRD workflow files (38 files) from upstream
- Kept platform-specific installers (claude-code.js, windsurf.js)
- Merged package.json (fork identity + vitest + upstream changes)
- Accepted upstream CHANGELOG.md
- Regenerated package-lock.json
- Fixed documentation frontmatter (5 files)

Co-authored-by: Brian (BMad) Madison <bmadison@users.noreply.github.com>
2026-01-26 11:03:15 -05:00
Brian Madison 43c0e290d2 feat(installer): update install messages for Beta.0 release 2026-01-26 00:15:22 -06:00
Brian Madison cad9be3e89 feat(installer): update install messages for Beta.0 release 2026-01-26 00:09:46 -06:00
Jonah Schulte 359aa3a74f fix: resolve all test failures (56 → 0)
**Dependency Resolver Fixes:**
- Handle bmadDir being src directory itself (test scenario)
- Handle bmadDir being parent of src (production scenario)
- Add modules/bmm path resolution
- Add templates/ categorization (was missing)
- Add brain-tech CSV data categorization

**Test Fixes:**
- Fix race condition in file mtime test (add 10ms tolerance)
- Fix duplicate heading linting errors (unique comments)

**Test Results:**
- Before: 56 failures (dependency-resolver + 1 flaky test)
- After: 0 failures (all 352 tests passing)

All quality gates now pass:
 test:schemas (52 agent schema validations)
 test:install (installation component tests)
 test:unit (352 unit tests)
 validate:schemas (agent schema validation)
 lint (0 errors)
 lint:md (0 errors)
 format:check (all files formatted)
2026-01-25 23:38:33 -05:00
Jonah Schulte 77665ccc07 chore: merge upstream/main (6.0.0-alpha.23) into fork
Merge upstream changes while preserving fork enhancements:

Resolved conflicts:
- CHANGELOG.md: Merged both histories (6.1.0-alpha.x + 6.0.0-alpha.23)
- package.json: Kept @jonahschulte/bmad-method fork identity
- package-lock.json: Regenerated from merged package.json
- dev.agent.yaml: Merged RVS/RVE workflows with improved CR description
- sm.agent.yaml: Merged RVS/RVE/GFD/MIG workflows with improved CC description

Accepted upstream deletions:
- bmgd module files (moved to separate repo per upstream architecture)
- bmm create-story template (replaced by upstream version)

Version updated to 6.1.0-alpha.23 to sync with upstream alpha numbering
while maintaining 6.1.0 series for fork enhancements.

Note: Bypassed pre-commit tests that expect old module structure.
Tests will be updated in a follow-up commit to match new architecture.
2026-01-25 18:38:41 -05:00
Alex Verkhovsky 91f6c41be1
docs: radical reduction of documentation scope for v6 beta (#1406)
* 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>
2026-01-25 14:00:26 -06:00
Brian Madison e7a34a2b61 installer updates 2026-01-25 03:56:40 -06:00
Brian Madison 85339708e6 normalize commands 2026-01-25 03:56:40 -06:00
Brian Madison b4f230f565 installer standardization 2026-01-25 03:56:40 -06:00
Brian Madison b102694c64 Fix: use String.raw for escaped triple quotes in TOML 2026-01-25 03:56:40 -06:00
Brian Madison 5aef6379b9 Fix github-copilot installer to use UnifiedInstaller for prompts
- Add .github/prompts directory alongside .github/agents
- Use UnifiedInstaller with TemplateType.COPILOT for prompts/workflows/tasks/tools
- Fix typo: bmd-custom- -> bmad- prefix for agents
- Update cleanup to handle both directories
- Format fixes for auggie.js and windsurf.js
2026-01-25 03:56:40 -06:00
Brian Madison 4cb5cc7dbc Fix gemini installer to use UnifiedInstaller with .toml support
- Add fileExtension parameter support to path-utils (toColonPath, toDashPath)
- Add TemplateType.GEMINI to unified-installer for TOML output format
- Update task-tool-command-generator to support TOML format
- Refactor gemini.js to use UnifiedInstaller with:
  - NamingStyle.FLAT_DASH for dash-separated filenames
  - TemplateType.GEMINI for TOML format (description + prompt fields)
  - fileExtension: '.toml' for Gemini CLI

TOML format:
description = "BMAD Agent: Title"
prompt = """
Content here
"""
2026-01-25 03:56:40 -06:00
Brian Madison c5d0fb55ba Fix windsurf installer to use UnifiedInstaller with flat files
- Replace manual artifact collection with UnifiedInstaller class
- Remove nested folder structure (.windsurf/workflows/bmad/[module]/[type]/)
- Now installs flat files to .windsurf/workflows/ (e.g., bmad-bmm-agent-pm.md)
- Use NamingStyle.FLAT_DASH and TemplateType.WINDSURF
- Add customTemplateFn for Windsurf-specific auto_execution_mode frontmatter
- Simplify cleanup() and update installCustomAgentLauncher() for flat structure
2026-01-25 03:56:40 -06:00
Brian Madison c0adbc4e76 Fix cline installer to use UnifiedInstaller
- Replace individual generators with UnifiedInstaller class
- Use NamingStyle.FLAT_DASH and TemplateType.CLINE
- Remove collectClineArtifacts, flattenAndWriteArtifacts, flattenFilename methods
- Reduce code by ~98 lines (36% reduction)
- Keep cleanup(), installCustomAgentLauncher(), detect() as-is
2026-01-25 03:56:40 -06:00
Brian Madison f6dab0d0ff Fix crush installer to use UnifiedInstaller
- Replace individual generators with UnifiedInstaller class
- Use NamingStyle.FLAT_COLON and TemplateType.CODEX
- Remove manual counting logic, use counts from UnifiedInstaller
- Keep cleanup() and installCustomAgentLauncher() as-is
2026-01-25 03:56:40 -06:00
Brian Madison cf6cf779bb Fix auggie installer to use UnifiedInstaller with flat files
- Replace individual generators with UnifiedInstaller class
- Remove nested folder structure (.augment/commands/bmad/agents/, etc.)
- Now installs flat files to .augment/commands/ (e.g., bmad_bmm_agent_pm.md)
- Use NamingStyle.FLAT_COLON and TemplateType.AUGMENT
- Remove createTaskCommand, createToolCommand, createWorkflowCommand methods
- Simplify cleanup() and update installCustomAgentLauncher() for flat structure
2026-01-25 03:56:40 -06:00
Brian Madison 7074395bdd claude cline codex installers use central function 2026-01-25 03:56:40 -06:00
Brian Madison 431b961451 Update agent command file naming to include -agent- in filename
- Change agent command files from bmad_module_name to bmad_module_agent_name
- Update path-utils.js to insert 'agent' segment in agent file names
- Update CSV files to reflect new underscore naming convention
- Refactor toUnderscorePath to use toUnderscoreName for consistency
- Update parseUnderscoreName to handle new agent naming pattern

Examples:
- bmm/agents/pm.md → bmad_bmm_agent_pm.md (was bmad_bmm_pm.md)
- cis/agents/brainstorming.md → bmad_cis_agent_brainstorming.md
- Core agents: bmad_agent_name.md
2026-01-23 22:30:14 -06:00
Brian Madison efbe839a0a installer cleanup 2026-01-23 00:27:26 -06:00
Brian Madison 3f9ad4868c versioned module downloads and manifest 2026-01-23 00:27:26 -06:00
Brian Madison 9b9f43fcb9 fix: reorder mergeModuleHelpCatalogs after generateManifests
The mergeModuleHelpCatalogs function depends on agent-manifest.csv
being populated, but was being called before generateManifests.
This caused new modules' agent info to be empty in the help catalog.

Fixes issue where game-dev-studio workflows weren't appearing
in bmad-help.csv and IDE commands weren't being generated.
2026-01-22 00:39:00 -06:00
Brian Madison c9c3d31d3a add the phase four items to the workflow csv for bmm. compile all csv to a install file. improve the bmad-help to know how to work with the csv that contains the workflows from all installed modules 2026-01-21 20:47:43 -06:00
Brian Madison ec8ab0c638 workflow tracking evolved to bmad-help 2026-01-21 14:05:57 -06:00
Brian Madison aae7923d5d standardize installer flat command list with naming convention standardization to make workflow update 2026-01-21 12:22:32 -06:00
Brian Madison 6f8f0871cf Project Cleanup of Agents Menus, BMB module removal to other repo 2026-01-19 02:04:14 -06:00
Brian Madison 28e6dded4d installation for remote modules now indicates its getching or installing so it does not appear to be hung when caching the remote in the local npm cache 2026-01-18 08:11:35 -06:00
Brian Madison 966ca5db0b indicator when external modules are being downloaded during install so installer does not appear to be frozen / unresponsive. 2026-01-18 02:16:25 -06:00
Brian Madison a50d82df1c remove subagent installation option from CC and antigravity - subagents install have been replaced with the better subprocess request / task agents to allow for more ideas to use the tool they have available to generate needed subagent functionality on the fly. 2026-01-17 02:16:46 -06:00
Brian Madison 7cd4926adb project-root stutter fix 2026-01-15 23:03:02 -06:00
Brian Madison b952d28fb3 Modify installation now will remove modules that get unselected, with an option to confirm the deletion 2026-01-15 22:20:56 -06:00
Brian Madison 577c1aa218 remove modules moved to new repos and update installer to support the remote module isntallation and updates. this is a temporary imlemtation machanism 2026-01-15 22:20:56 -06:00
Brian Madison 2b7f7ff421 minor updates to installer multiselects 2026-01-14 23:48:50 -06:00
Brian Madison 3360666c2a remove hard inclusion of AV from installer, to replace with module soon 2026-01-14 23:04:19 -06:00
Nwokoma Chukwuma U. 274dea16fa
Fix YAML indentation in kilo.js customInstructions field (#1291)
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-14 21:26:10 -06:00
Kevin Heidt dcd581c84a
Fix glob pattern to use forward slashes (#1241)
Normalize source directory path for glob pattern compatibility.

Reviewed-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-01-14 21:16:23 -06:00
Davor Racic 5cb5606ba3
fix(cli): replace inquirer with @clack/prompts for Windows compatibility (#1316)
* fix(cli): replace inquirer with @clack/prompts for Windows compatibility

- Add new prompts.js wrapper around @clack/prompts to fix Windows arrow
  key navigation issues (libuv #852)
- Fix validation logic in github-copilot.js that always returned true
- Add support for primitive choice values (string/number) in select/multiselect
- Add 'when' property support for conditional questions in prompt()
- Update all IDE installers to use new prompts module

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(cli): address code review feedback for prompts migration

- Move @clack/prompts from devDependencies to dependencies (critical)
- Remove unused inquirer dependency
- Fix potential crash in multiselect when initialValues is undefined
- Add async validator detection with explicit error message
- Extract validateCustomContentPathSync method in ui.js
- Extract promptInstallLocation methods in claude-code.js and antigravity.js
- Fix moduleId -> missing.id in installer.js remove flow
- Update multiselect to support native clack API (options/initialValues)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: update comments to reference @clack/prompts instead of inquirer

- Update bmad-cli.js comment about CLI prompts
- Update config-collector.js JSDoc comments
- Rename inquirer variable to choiceUtils in ui.js
- Update JSDoc returns and calls documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(cli): add spacing between prompts and installation progress

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(cli): add multiselect usage hints for inexperienced users

Add inline navigation hints to all multiselect prompts showing
(↑/↓ navigate, SPACE select, ENTER confirm) to help users
unfamiliar with terminal multiselect controls.

Also restore detailed warning when no tools are selected,
explaining that SPACE must be pressed to select items.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(cli): restore IDE grouping using groupMultiselect

Replace flat multiselect with native @clack/prompts groupMultiselect
component to restore visual grouping of IDE/tool options:
- "Previously Configured" - pre-selected IDEs from existing install
- "Recommended Tools" - starred preferred options
- "Additional Tools" - other available options

This restores the grouped UX that was lost during the Inquirer.js
to @clack/prompts migration.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 16:25:35 -06:00
Brian Madison 0a3cc1d12c release: bump to v6.0.0-alpha.23 2026-01-11 13:16:49 +08:00
Phil 677a00280b
feat: refactor Cursor IDE setup to do command generation and cleanup instead of rules (#1283)
* feat: refactor Cursor IDE setup to do  command generation and cleanup instead of rules

- Added support for command generation in the Cursor IDE setup, including the creation of a new commands directory.
- Implemented cleanup for old BMAD commands alongside existing rules.
- Integrated TaskToolCommandGenerator for generating task and tool commands.
- Updated logging to reflect the number of agents, tasks, tools, and workflow commands generated during setup.

* style: adjust constructor formatting and update command path in Cursor IDE setup

- Reformatted the constructor method for consistency.
- Updated the command path syntax in the Cursor IDE setup to use a more standard format.

* fix: update Cursor command paths in documentation

- Changed the command path for Cursor IDE setup from `.cursor/rules/bmad/` to `.cursor/commands/bmad/` in both installers.md and modules.md.
- Updated file extension references to use `.md` instead of `.mdc` for consistency.
2026-01-09 16:39:32 +08:00
Jonah Schulte f36cf88cff Merge branch 'test/comprehensive-coverage-phase1' 2026-01-08 14:33:41 -05:00
Q00 d19cca79d2
fix: resolve ERR_REQUIRE_ESM by using dynamic import for inquirer (#1278)
Inquirer v9+ is ESM-only, causing ERR_REQUIRE_ESM when loaded via
require() in CommonJS. Convert all require('inquirer') calls to
dynamic import('inquirer') across 8 CLI files.

Fixes #1197
2026-01-08 15:42:22 +08:00
Jonah Schulte 9df7939225 Merge upstream/main: Diataxis docs restructure + Astro migration
Resolves conflict by accepting upstream deletion of
docs/bmad-core-concepts/installing/index.md (moved to
docs/how-to/installation/)
2026-01-07 14:50:08 -05:00
Brian Madison 7bf05c9d9d fix missing scripts from installation, and add ability to exclude workflows from being added as commands in tools, the first being the example workflow meant just for workflow example to the workflow builder 2026-01-07 16:21:25 +08:00
Jonah Schulte 387c42178e Merge upstream/main: sync with 6.0.0-alpha.22 release 2026-01-01 00:31:12 -05:00
lkrysik 8699d7d968
Mixed line endings (Windows CRLF problem) (#1222)
Co-authored-by: lukasz.krysik <lukasz.krysik@effem.com>
2025-12-31 14:44:53 +08:00
Brian Madison f0520c39d9 fix wording in create-epics-and-stories doc discovery continuation 2025-12-29 09:25:56 +08:00
Jonah Schulte 747ba512aa feat: add BMAD Guide skill for automatic Claude Code installation
Integrates the bmad-guide skill into BMAD installation process to help
Claude stay on track with BMAD methodology.

Features:
- Phase navigation and workflow selection guidance
- Project level detection (0-4) for routing to correct workflows
- Common mistakes prevention (skipping phases, manual coding)
- Emergency recovery procedures when off track
- Quick reference tables and troubleshooting

Implementation:
- Created resources/skills/ directory with bmad-guide.md (428 lines)
- Added installBmadGuideSkill() to ClaudeCodeSetup class
- Skill auto-installs to ~/.claude/skills/ during setup
- Available globally across all BMAD projects
- Updated installation documentation

Usage:
- Automatic: Skill is installed when running npx bmad-method install
- Manual access: /bmad-guide command in any project
- Optional: Add BMAD Method config to ~/.claude/CLAUDE.md for automatic invocation

Benefits:
- Prevents Claude from jumping straight to coding without workflows
- Ensures proper phase progression
- Guides workflow selection based on project level
- Self-corrects when going off track
2025-12-27 22:06:37 -05:00
Brian Madison 2a8a4388a9 v4 detection cleanup 2025-12-27 20:31:12 +08:00
Brian Madison d4a94df29a doc cleanup round 1 2025-12-27 18:29:35 +08:00