2025-09-28 23:17:07 -05:00
|
|
|
const path = require('node:path');
|
|
|
|
|
const fs = require('fs-extra');
|
|
|
|
|
const csv = require('csv-parse/sync');
|
|
|
|
|
const chalk = require('chalk');
|
|
|
|
|
|
|
|
|
|
/**
|
Major Enhancements:
- 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.
2025-11-09 17:39:05 -06:00
|
|
|
* Generates command files for each workflow in the manifest
|
2025-09-28 23:17:07 -05:00
|
|
|
*/
|
|
|
|
|
class WorkflowCommandGenerator {
|
Major Enhancements:
- 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.
2025-11-09 17:39:05 -06:00
|
|
|
constructor(bmadFolderName = 'bmad') {
|
|
|
|
|
this.templatePath = path.join(__dirname, '../templates/workflow-command-template.md');
|
|
|
|
|
this.bmadFolderName = bmadFolderName;
|
2025-09-28 23:17:07 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Generate workflow commands from the manifest CSV
|
|
|
|
|
* @param {string} projectDir - Project directory
|
|
|
|
|
* @param {string} bmadDir - BMAD installation directory
|
|
|
|
|
*/
|
|
|
|
|
async generateWorkflowCommands(projectDir, bmadDir) {
|
2025-10-05 15:52:48 -07:00
|
|
|
const workflows = await this.loadWorkflowManifest(bmadDir);
|
2025-09-28 23:17:07 -05:00
|
|
|
|
2025-10-05 15:52:48 -07:00
|
|
|
if (!workflows) {
|
2025-09-28 23:17:07 -05:00
|
|
|
console.log(chalk.yellow('Workflow manifest not found. Skipping command generation.'));
|
|
|
|
|
return { generated: 0 };
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-03 21:35:44 -06:00
|
|
|
// ALL workflows now generate commands - no standalone filtering
|
|
|
|
|
const allWorkflows = workflows;
|
2025-10-26 19:38:38 -05:00
|
|
|
|
2025-09-28 23:17:07 -05:00
|
|
|
// Base commands directory
|
|
|
|
|
const baseCommandsDir = path.join(projectDir, '.claude', 'commands', 'bmad');
|
|
|
|
|
|
|
|
|
|
let generatedCount = 0;
|
|
|
|
|
|
2025-12-03 21:35:44 -06:00
|
|
|
// Generate a command file for each workflow, organized by module
|
|
|
|
|
for (const workflow of allWorkflows) {
|
2025-09-28 23:17:07 -05:00
|
|
|
const moduleWorkflowsDir = path.join(baseCommandsDir, workflow.module, 'workflows');
|
|
|
|
|
await fs.ensureDir(moduleWorkflowsDir);
|
|
|
|
|
|
|
|
|
|
const commandContent = await this.generateCommandContent(workflow, bmadDir);
|
|
|
|
|
const commandPath = path.join(moduleWorkflowsDir, `${workflow.name}.md`);
|
|
|
|
|
|
|
|
|
|
await fs.writeFile(commandPath, commandContent);
|
|
|
|
|
generatedCount++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Also create a workflow launcher README in each module
|
2025-12-03 21:35:44 -06:00
|
|
|
const groupedWorkflows = this.groupWorkflowsByModule(allWorkflows);
|
2025-10-05 15:52:48 -07:00
|
|
|
await this.createModuleWorkflowLaunchers(baseCommandsDir, groupedWorkflows);
|
2025-09-28 23:17:07 -05:00
|
|
|
|
|
|
|
|
return { generated: generatedCount };
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-05 15:52:48 -07:00
|
|
|
async collectWorkflowArtifacts(bmadDir) {
|
|
|
|
|
const workflows = await this.loadWorkflowManifest(bmadDir);
|
|
|
|
|
|
|
|
|
|
if (!workflows) {
|
|
|
|
|
return { artifacts: [], counts: { commands: 0, launchers: 0 } };
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-03 21:35:44 -06:00
|
|
|
// ALL workflows now generate commands - no standalone filtering
|
|
|
|
|
const allWorkflows = workflows;
|
2025-10-26 19:38:38 -05:00
|
|
|
|
2025-10-05 15:52:48 -07:00
|
|
|
const artifacts = [];
|
|
|
|
|
|
2025-12-03 21:35:44 -06:00
|
|
|
for (const workflow of allWorkflows) {
|
2025-10-05 15:52:48 -07:00
|
|
|
const commandContent = await this.generateCommandContent(workflow, bmadDir);
|
|
|
|
|
artifacts.push({
|
|
|
|
|
type: 'workflow-command',
|
|
|
|
|
module: workflow.module,
|
|
|
|
|
relativePath: path.join(workflow.module, 'workflows', `${workflow.name}.md`),
|
|
|
|
|
content: commandContent,
|
|
|
|
|
sourcePath: workflow.path,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-03 21:35:44 -06:00
|
|
|
const groupedWorkflows = this.groupWorkflowsByModule(allWorkflows);
|
2025-10-05 15:52:48 -07:00
|
|
|
for (const [module, launcherContent] of Object.entries(this.buildModuleWorkflowLaunchers(groupedWorkflows))) {
|
|
|
|
|
artifacts.push({
|
|
|
|
|
type: 'workflow-launcher',
|
|
|
|
|
module,
|
|
|
|
|
relativePath: path.join(module, 'workflows', 'README.md'),
|
|
|
|
|
content: launcherContent,
|
|
|
|
|
sourcePath: null,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
artifacts,
|
|
|
|
|
counts: {
|
2025-12-03 21:35:44 -06:00
|
|
|
commands: allWorkflows.length,
|
2025-10-05 15:52:48 -07:00
|
|
|
launchers: Object.keys(groupedWorkflows).length,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-28 23:17:07 -05:00
|
|
|
/**
|
|
|
|
|
* Generate command content for a workflow
|
|
|
|
|
*/
|
|
|
|
|
async generateCommandContent(workflow, bmadDir) {
|
2025-12-03 21:35:44 -06:00
|
|
|
// Determine template based on workflow file type
|
|
|
|
|
const isMarkdownWorkflow = workflow.path.endsWith('workflow.md');
|
|
|
|
|
const templateName = isMarkdownWorkflow ? 'workflow-commander.md' : 'workflow-command-template.md';
|
|
|
|
|
const templatePath = path.join(path.dirname(this.templatePath), templateName);
|
|
|
|
|
|
|
|
|
|
// Load the appropriate template
|
|
|
|
|
const template = await fs.readFile(templatePath, 'utf8');
|
2025-09-28 23:17:07 -05:00
|
|
|
|
|
|
|
|
// Convert source path to installed path
|
|
|
|
|
// From: /Users/.../src/modules/bmm/workflows/.../workflow.yaml
|
2025-12-13 16:22:34 +08:00
|
|
|
// To: {project-root}/_bmad/bmm/workflows/.../workflow.yaml
|
2025-09-28 23:17:07 -05:00
|
|
|
let workflowPath = workflow.path;
|
|
|
|
|
|
|
|
|
|
// Extract the relative path from source
|
|
|
|
|
if (workflowPath.includes('/src/modules/')) {
|
|
|
|
|
const match = workflowPath.match(/\/src\/modules\/(.+)/);
|
|
|
|
|
if (match) {
|
Major Enhancements:
- 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.
2025-11-09 17:39:05 -06:00
|
|
|
workflowPath = `${this.bmadFolderName}/${match[1]}`;
|
2025-09-28 23:17:07 -05:00
|
|
|
}
|
|
|
|
|
} else if (workflowPath.includes('/src/core/')) {
|
|
|
|
|
const match = workflowPath.match(/\/src\/core\/(.+)/);
|
|
|
|
|
if (match) {
|
Major Enhancements:
- 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.
2025-11-09 17:39:05 -06:00
|
|
|
workflowPath = `${this.bmadFolderName}/core/${match[1]}`;
|
2025-09-28 23:17:07 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Replace template variables
|
|
|
|
|
return template
|
|
|
|
|
.replaceAll('{{name}}', workflow.name)
|
|
|
|
|
.replaceAll('{{module}}', workflow.module)
|
|
|
|
|
.replaceAll('{{description}}', workflow.description)
|
|
|
|
|
.replaceAll('{{workflow_path}}', workflowPath)
|
2025-12-13 16:22:34 +08:00
|
|
|
.replaceAll('_bmad', this.bmadFolderName)
|
|
|
|
|
.replaceAll('_bmad', '_bmad');
|
2025-09-28 23:17:07 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Create workflow launcher files for each module
|
|
|
|
|
*/
|
2025-10-05 15:52:48 -07:00
|
|
|
async createModuleWorkflowLaunchers(baseCommandsDir, workflowsByModule) {
|
|
|
|
|
for (const [module, moduleWorkflows] of Object.entries(workflowsByModule)) {
|
|
|
|
|
const content = this.buildLauncherContent(module, moduleWorkflows);
|
|
|
|
|
const moduleWorkflowsDir = path.join(baseCommandsDir, module, 'workflows');
|
|
|
|
|
await fs.ensureDir(moduleWorkflowsDir);
|
|
|
|
|
const launcherPath = path.join(moduleWorkflowsDir, 'README.md');
|
|
|
|
|
await fs.writeFile(launcherPath, content);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
groupWorkflowsByModule(workflows) {
|
2025-09-28 23:17:07 -05:00
|
|
|
const workflowsByModule = {};
|
2025-10-05 15:52:48 -07:00
|
|
|
|
2025-09-28 23:17:07 -05:00
|
|
|
for (const workflow of workflows) {
|
|
|
|
|
if (!workflowsByModule[workflow.module]) {
|
|
|
|
|
workflowsByModule[workflow.module] = [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workflowsByModule[workflow.module].push({
|
|
|
|
|
...workflow,
|
2025-10-05 15:52:48 -07:00
|
|
|
displayPath: this.transformWorkflowPath(workflow.path),
|
2025-09-28 23:17:07 -05:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-05 15:52:48 -07:00
|
|
|
return workflowsByModule;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
buildModuleWorkflowLaunchers(groupedWorkflows) {
|
|
|
|
|
const launchers = {};
|
|
|
|
|
|
|
|
|
|
for (const [module, moduleWorkflows] of Object.entries(groupedWorkflows)) {
|
|
|
|
|
launchers[module] = this.buildLauncherContent(module, moduleWorkflows);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return launchers;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
buildLauncherContent(module, moduleWorkflows) {
|
|
|
|
|
let content = `# ${module.toUpperCase()} Workflows
|
2025-09-28 23:17:07 -05:00
|
|
|
|
|
|
|
|
## Available Workflows in ${module}
|
|
|
|
|
|
|
|
|
|
`;
|
|
|
|
|
|
2025-10-05 15:52:48 -07:00
|
|
|
for (const workflow of moduleWorkflows) {
|
|
|
|
|
content += `**${workflow.name}**\n`;
|
|
|
|
|
content += `- Path: \`${workflow.displayPath}\`\n`;
|
|
|
|
|
content += `- ${workflow.description}\n\n`;
|
|
|
|
|
}
|
2025-09-28 23:17:07 -05:00
|
|
|
|
2025-10-05 15:52:48 -07:00
|
|
|
content += `
|
2025-09-28 23:17:07 -05:00
|
|
|
## Execution
|
|
|
|
|
|
|
|
|
|
When running any workflow:
|
Major Enhancements:
- 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.
2025-11-09 17:39:05 -06:00
|
|
|
1. LOAD {project-root}/${this.bmadFolderName}/core/tasks/workflow.xml
|
2025-09-28 23:17:07 -05:00
|
|
|
2. Pass the workflow path as 'workflow-config' parameter
|
2025-10-03 21:46:53 -05:00
|
|
|
3. Follow workflow.xml instructions EXACTLY
|
2025-09-28 23:17:07 -05:00
|
|
|
4. Save outputs after EACH section
|
|
|
|
|
|
|
|
|
|
## Modes
|
|
|
|
|
- Normal: Full interaction
|
|
|
|
|
- #yolo: Skip optional steps
|
|
|
|
|
`;
|
|
|
|
|
|
2025-10-05 15:52:48 -07:00
|
|
|
return content;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
transformWorkflowPath(workflowPath) {
|
|
|
|
|
let transformed = workflowPath;
|
|
|
|
|
|
|
|
|
|
if (workflowPath.includes('/src/modules/')) {
|
|
|
|
|
const match = workflowPath.match(/\/src\/modules\/(.+)/);
|
|
|
|
|
if (match) {
|
Major Enhancements:
- 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.
2025-11-09 17:39:05 -06:00
|
|
|
transformed = `{project-root}/${this.bmadFolderName}/${match[1]}`;
|
2025-10-05 15:52:48 -07:00
|
|
|
}
|
|
|
|
|
} else if (workflowPath.includes('/src/core/')) {
|
|
|
|
|
const match = workflowPath.match(/\/src\/core\/(.+)/);
|
|
|
|
|
if (match) {
|
Major Enhancements:
- 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.
2025-11-09 17:39:05 -06:00
|
|
|
transformed = `{project-root}/${this.bmadFolderName}/core/${match[1]}`;
|
2025-10-05 15:52:48 -07:00
|
|
|
}
|
2025-09-28 23:17:07 -05:00
|
|
|
}
|
2025-10-05 15:52:48 -07:00
|
|
|
|
|
|
|
|
return transformed;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async loadWorkflowManifest(bmadDir) {
|
2025-12-13 19:41:09 +08:00
|
|
|
const manifestPath = path.join(bmadDir, '_config', 'workflow-manifest.csv');
|
2025-10-05 15:52:48 -07:00
|
|
|
|
|
|
|
|
if (!(await fs.pathExists(manifestPath))) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const csvContent = await fs.readFile(manifestPath, 'utf8');
|
|
|
|
|
return csv.parse(csvContent, {
|
|
|
|
|
columns: true,
|
|
|
|
|
skip_empty_lines: true,
|
|
|
|
|
});
|
2025-09-28 23:17:07 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
module.exports = { WorkflowCommandGenerator };
|