refactor(config): replace hardcoded .bmad paths with {bmad_folder} placeholder

Remove hardcoded .bmad folder references throughout documentation and source files, replacing them with the configurable {bmad_folder} placeholder. This change enables users to customize the BMAD installation folder name via configuration, improving flexibility and reducing coupling to a specific directory structure.

Changes include:
- Update all documentation to reference {bmad_folder} instead of .bmad
- Remove legacy configuration files from .bmad and .claude directories
- Update workflow.xml and CLI documentation with new placeholder syntax
This commit is contained in:
Brian Madison
2025-11-12 20:22:47 -06:00
parent 48cf5c8056
commit 1868477238
154 changed files with 124 additions and 16290 deletions

View File

@@ -4,19 +4,37 @@ The BMad CLI handles installation and web bundling for the BMAD-METHOD framework
## Table of Contents
- [Overview](#overview)
- [Commands](#commands)
- [Installation System](#installation-system)
- [Installation Flow](#installation-flow)
- [IDE Support](#ide-support)
- [Custom Module Configuration](#custom-module-configuration)
- [Platform Specifics](#platform-specifics)
- [Manifest System](#manifest-system)
- [Advanced Features](#advanced-features)
- [Bundling System](#bundling-system)
- [Agent Compilation](#agent-compilation)
- [Architecture](#architecture)
- [Key Differences: Installation vs Bundling](#key-differences-installation-vs-bundling)
- [BMad CLI Tool](#bmad-cli-tool)
- [Table of Contents](#table-of-contents)
- [Overview](#overview)
- [Commands](#commands)
- [Installation](#installation)
- [Bundling](#bundling)
- [Utilities](#utilities)
- [Installation System](#installation-system)
- [Installation Flow](#installation-flow)
- [IDE Support](#ide-support)
- [Custom Module Configuration](#custom-module-configuration)
- [Platform Specifics](#platform-specifics)
- [Manifest System](#manifest-system)
- [Advanced Features](#advanced-features)
- [Bundling System](#bundling-system)
- [Bundling Flow](#bundling-flow)
- [Agent Compilation](#agent-compilation)
- [Compilation Engine](#compilation-engine)
- [Fragment System](#fragment-system)
- [Input: Agent YAML](#input-agent-yaml)
- [Output: IDE (Markdown with XML)](#output-ide-markdown-with-xml)
- [Architecture](#architecture)
- [Directory Structure](#directory-structure)
- [Fragment Library](#fragment-library)
- [Key Differences: Installation vs Bundling](#key-differences-installation-vs-bundling)
- [Development Workflows](#development-workflows)
- [Testing Compilation](#testing-compilation)
- [Adding New Menu Handlers](#adding-new-menu-handlers)
- [Regenerating Manifests](#regenerating-manifests)
- [Related Documentation](#related-documentation)
- [Support](#support)
---
@@ -87,7 +105,7 @@ The installer is a multi-stage system that handles agent compilation, IDE integr
- Resolve module dependencies (4-pass system)
3. Install Core + Modules
- Copy files to {target}/bmad/
- Copy files to {target}/{bmad_folder}/
- Compile agents: YAML → Markdown/XML (forWebBundle: false)
- Merge customize.yaml files if they exist
- Inject activation blocks based on agent capabilities
@@ -113,7 +131,7 @@ The installer is a multi-stage system that handles agent compilation, IDE integr
```
{target}/
├── bmad/
├── {bmad_folder}/
│ ├── core/ # Always installed
│ ├── {module}/ # Selected modules
│ │ ├── agents/ # Compiled .md files
@@ -220,7 +238,7 @@ Platform specifics are **IDE+module combination hooks** that execute custom logi
### Manifest System
The installer generates **5 manifest files** in `{target}/bmad/_cfg/`:
The installer generates **5 manifest files** in `{target}/{bmad_folder}/_cfg/`:
**1. Installation Manifest** (`manifest.yaml`)
@@ -409,7 +427,7 @@ agent:
identity: 'You are an experienced PM...'
menu:
- trigger: '*create-brief'
workflow: '{project-root}/bmad/bmm/workflows/.../workflow.yaml'
workflow: '{project-root}/{bmad_folder}/bmm/workflows/.../workflow.yaml'
```
### Output: IDE (Markdown with XML)
@@ -422,7 +440,7 @@ agent:
```xml
<agent id="..." name="PM">
<activation critical="MANDATORY">
<step n="2">Load {project-root}/bmad/bmm/config.yaml at runtime</step>
<step n="2">Load {project-root}/{bmad_folder}/bmm/config.yaml at runtime</step>
...
</activation>
<persona>...</persona>
@@ -514,20 +532,20 @@ src/utility/models/fragments/
## Key Differences: Installation vs Bundling
| Aspect | Installation (IDE) | Bundling (Web) |
| ----------------------- | ----------------------------- | --------------------------------- |
| **Trigger** | `npm run install:bmad` | `npm run bundle` |
| **Entry Point** | `commands/install.js` | `bundlers/bundle-web.js` |
| **Compiler Flag** | `forWebBundle: false` | `forWebBundle: true` |
| **Output Format** | Markdown `.md` | Standalone XML `.xml` |
| **Output Location** | `{target}/bmad/` + IDE dirs | `web-bundles/` |
| **Customization** | Merges `customize.yaml` | Base agents only |
| **Dependencies** | Referenced by path | Bundled inline (CDATA) |
| **Activation Fragment** | `activation-steps.xml` | `web-bundle-activation-steps.xml` |
| **Filesystem Access** | Required | Not needed |
| **Build Metadata** | Included (hash) | Excluded |
| **Path Format** | `{project-root}` placeholders | Stripped, wrapped as `<file>` |
| **Use Case** | Local IDE development | Web deployment |
| Aspect | Installation (IDE) | Bundling (Web) |
| ----------------------- | ------------------------------------ | --------------------------------- |
| **Trigger** | `npm run install:bmad` | `npm run bundle` |
| **Entry Point** | `commands/install.js` | `bundlers/bundle-web.js` |
| **Compiler Flag** | `forWebBundle: false` | `forWebBundle: true` |
| **Output Format** | Markdown `.md` | Standalone XML `.xml` |
| **Output Location** | `{target}/{bmad_folder}/` + IDE dirs | `web-bundles/` |
| **Customization** | Merges `customize.yaml` | Base agents only |
| **Dependencies** | Referenced by path | Bundled inline (CDATA) |
| **Activation Fragment** | `activation-steps.xml` | `web-bundle-activation-steps.xml` |
| **Filesystem Access** | Required | Not needed |
| **Build Metadata** | Included (hash) | Excluded |
| **Path Format** | `{project-root}` placeholders | Stripped, wrapped as `<file>` |
| **Use Case** | Local IDE development | Web deployment |
**Activation Differences**: