refactor: rename dist directory to bundles for clarity

Update all references to the 'dist' directory to use 'bundles' instead to better reflect the purpose of the directory containing bundled agent files. This change affects documentation, configuration files, and the web builder script.
This commit is contained in:
manjaroblack 2025-07-22 12:47:37 -05:00
parent bfaaa0ee11
commit 01f888d0dd
No known key found for this signature in database
GPG Key ID: 02FD4111DA5560B4
9 changed files with 1148 additions and 1049 deletions

View File

@ -92,7 +92,7 @@ This single command handles:
### Fastest Start: Web UI Full Stack Team at your disposal (2 minutes) ### Fastest Start: Web UI Full Stack Team at your disposal (2 minutes)
1. **Get the bundle**: Save or clone the [full stack team file](dist/teams/team-fullstack.txt) or choose another team 1. **Get the bundle**: Save or clone the [full stack team file](bundles/teams/team-fullstack.txt) or choose another team
2. **Create AI agent**: Create a new Gemini Gem or CustomGPT 2. **Create AI agent**: Create a new Gemini Gem or CustomGPT
3. **Upload & configure**: Upload the file and set instructions: "Your critical operating instructions are attached, do not break character as directed" 3. **Upload & configure**: Upload the file and set instructions: "Your critical operating instructions are attached, do not break character as directed"
4. **Start Ideating and Planning**: Start chatting! Type `*help` to see available commands or pick an agent like `*analyst` to start right in on creating a brief. 4. **Start Ideating and Planning**: Start chatting! Type `*help` to see available commands or pick an agent like `*analyst` to start right in on creating a brief.

View File

@ -74,7 +74,7 @@ BMad transforms you into a "Vibe CEO" - directing a team of specialized AI agent
**Best for**: ChatGPT, Claude, Gemini users who want to start immediately **Best for**: ChatGPT, Claude, Gemini users who want to start immediately
1. Navigate to `dist/teams/` 1. Navigate to `bundles/teams/`
2. Copy `team-fullstack.txt` content 2. Copy `team-fullstack.txt` content
3. Create new Gemini Gem or CustomGPT 3. Create new Gemini Gem or CustomGPT
4. Upload file with instructions: "Your critical operating instructions are attached, do not break character as directed" 4. Upload file with instructions: "Your critical operating instructions are attached, do not break character as directed"
@ -394,8 +394,8 @@ The BMad-Method is built around a modular architecture centered on the `bmad-cor
#### Web UI Environment #### Web UI Environment
- Uses pre-built bundles from `dist/teams` for stand alone 1 upload files for all agents and their assets with an orchestrating agent - Uses pre-built bundles from `bundles/teams` for stand alone 1 upload files for all agents and their assets with an orchestrating agent
- Single text files containing all agent dependencies are in `dist/agents/` - these are unnecessary unless you want to create a web agent that is only a single agent and not a team - Single text files containing all agent dependencies are in `bundles/agents/` - these are unnecessary unless you want to create a web agent that is only a single agent and not a team
- Created by the web-builder tool for upload to web interfaces - Created by the web-builder tool for upload to web interfaces
- Provides complete context in one package - Provides complete context in one package

View File

@ -131,7 +131,7 @@ graph TD
If you want to do the planning in the Web with Claude (Sonnet 4 or Opus), Gemini Gem (2.5 Pro), or Custom GPT's: If you want to do the planning in the Web with Claude (Sonnet 4 or Opus), Gemini Gem (2.5 Pro), or Custom GPT's:
1. Navigate to `dist/teams/` 1. Navigate to `bundles/teams/`
2. Copy `team-fullstack.txt` content 2. Copy `team-fullstack.txt` content
3. Create new Gemini Gem or CustomGPT 3. Create new Gemini Gem or CustomGPT
4. Upload file with instructions: "Your critical operating instructions are attached, do not break character as directed" 4. Upload file with instructions: "Your critical operating instructions are attached, do not break character as directed"

View File

@ -106,7 +106,7 @@ For example, if you say "Add payment processing to user service":
- **Option A**: Paste your GitHub repository URL directly - **Option A**: Paste your GitHub repository URL directly
- **Option B**: Upload up to 1000 files from your src/project folder - **Option B**: Upload up to 1000 files from your src/project folder
- **Option C**: Zip your project and upload the archive - **Option C**: Zip your project and upload the archive
3. **Load the analyst agent**: Upload `dist/agents/analyst.txt` 3. **Load the analyst agent**: Upload `bundles/agents/analyst.txt`
4. **Run documentation**: Type `*document-project` 4. **Run documentation**: Type `*document-project`
The analyst will generate comprehensive documentation of everything. The analyst will generate comprehensive documentation of everything.

View File

@ -33,7 +33,7 @@ graph TD
end end
subgraph Outputs subgraph Outputs
J["dist"] J["bundles"]
end end
B -- defines dependencies for --> E B -- defines dependencies for --> E
@ -133,17 +133,17 @@ The framework is designed for two primary environments: local IDEs and web-based
### 4.1. Web Builder (`tools/builders/web-builder.js`) ### 4.1. Web Builder (`tools/builders/web-builder.js`)
- **Purpose**: This Node.js script is responsible for creating the `.txt` bundles found in `dist`. - **Purpose**: This Node.js script is responsible for creating the `.txt` bundles found in `bundles`.
- **Process**: - **Process**:
1. **Resolves Dependencies**: For a given agent or team, the script reads its definition file. 1. **Resolves Dependencies**: For a given agent or team, the script reads its definition file.
2. It recursively finds all dependent resources (tasks, templates, etc.) that the agent/team needs. 2. It recursively finds all dependent resources (tasks, templates, etc.) that the agent/team needs.
3. **Bundles Content**: It reads the content of all these files and concatenates them into a single, large text file, with clear separators indicating the original file path of each section. 3. **Bundles Content**: It reads the content of all these files and concatenates them into a single, large text file, with clear separators indicating the original file path of each section.
4. **Outputs Bundle**: The final `.txt` file is saved in the `dist` directory, ready to be uploaded to a web UI. 4. **Outputs Bundle**: The final `.txt` file is saved in the `bundles` directory, ready to be uploaded to a web UI.
### 4.2. Environment-Specific Usage ### 4.2. Environment-Specific Usage
- **For IDEs**: Users interact with the agents directly via their markdown files in `bmad-core/agents/`. The IDE integration (for Cursor, Claude Code, etc.) knows how to call these agents. - **For IDEs**: Users interact with the agents directly via their markdown files in `bmad-core/agents/`. The IDE integration (for Cursor, Claude Code, etc.) knows how to call these agents.
- **For Web UIs**: Users upload a pre-built bundle from `dist`. This single file provides the AI with the context of the entire team and all their required tools and knowledge. - **For Web UIs**: Users upload a pre-built bundle from `bundles`. This single file provides the AI with the context of the entire team and all their required tools and knowledge.
## 5. BMad Workflows ## 5. BMad Workflows

View File

@ -94,7 +94,7 @@ sections:
├── docs/ # Documentation ├── docs/ # Documentation
│ ├── stories/ # Development stories │ ├── stories/ # Development stories
│ └── architecture/ # Technical docs │ └── architecture/ # Technical docs
└── dist/ # Built game files └── bundles/ # Built game files
- id: module-organization - id: module-organization
title: Module Organization title: Module Organization
instruction: Define how TypeScript modules should be organized instruction: Define how TypeScript modules should be organized

View File

@ -6,7 +6,7 @@ const yamlUtils = require("../lib/yaml-utils");
class WebBuilder { class WebBuilder {
constructor(options = {}) { constructor(options = {}) {
this.rootDir = options.rootDir || process.cwd(); this.rootDir = options.rootDir || process.cwd();
this.outputDirs = options.outputDirs || [path.join(this.rootDir, "dist")]; this.outputDirs = options.outputDirs || [path.join(this.rootDir, "bundles")];
this.resolver = new DependencyResolver(this.rootDir); this.resolver = new DependencyResolver(this.rootDir);
this.templatePath = path.join( this.templatePath = path.join(
this.rootDir, this.rootDir,
@ -300,7 +300,7 @@ These references map directly to bundle sections:
async buildExpansionPack(packName, options = {}) { async buildExpansionPack(packName, options = {}) {
const packDir = path.join(this.rootDir, "expansion-packs", packName); const packDir = path.join(this.rootDir, "expansion-packs", packName);
const outputDirs = [path.join(this.rootDir, "dist", "expansion-packs", packName)]; const outputDirs = [path.join(this.rootDir, "bundles", "expansion-packs", packName)];
// Clean output directories if requested // Clean output directories if requested
if (options.clean !== false) { if (options.clean !== false) {

View File

@ -164,9 +164,9 @@ class ConfigLoader {
return path.join(__dirname, '..', '..', '..', 'bmad-core'); return path.join(__dirname, '..', '..', '..', 'bmad-core');
} }
getDistPath() { getBundlesPath() {
// Get the path to dist directory relative to the installer // Get the path to bundles directory relative to the installer
return path.join(__dirname, '..', '..', '..', 'dist'); return path.join(__dirname, '..', '..', '..', 'bundles');
} }
getAgentPath(agentId) { getAgentPath(agentId) {

File diff suppressed because it is too large Load Diff