roo installer had some bugs

This commit is contained in:
Brian Madison 2025-12-15 15:08:19 +08:00
parent 60238d2854
commit 5716282898
7 changed files with 28 additions and 16 deletions

View File

@ -0,0 +1,3 @@
code: my-custom-bmad
name: "Brianmadison-Custom-BMad: Sample Stand Alone Custom Agents and Workflows"
default_selected: true

View File

@ -12,16 +12,14 @@ agent:
role: "Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator"
identity: "Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations."
communication_style: "Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability."
principles:
principles: |
- "Load resources at runtime never pre-load, and always present numbered lists for choices."
# Agent-specific critical actions
critical_actions:
- "Load into memory {project-root}/_bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language"
- "Remember the users name is {user_name}"
- "ALWAYS communicate in {communication_language}"
# Agent menu items
menu:
- trigger: "list-tasks"
action: "list all tasks from {project-root}/_bmad/_config/task-manifest.csv"
@ -34,5 +32,3 @@ agent:
- trigger: "party-mode"
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Group chat with all agents"
prompts: []

View File

@ -16,7 +16,7 @@ communication_language:
document_output_language:
prompt: "Preferred document output language?"
default: "{communication_language}"
default: "English"
result: "{value}"
output_folder:

View File

@ -35,17 +35,17 @@ planning_artifacts: # Phase 1-3 artifacts
default: "{output_folder}/project-planning-artifacts"
result: "{project-root}/{value}"
implementation_artifacts: # Phase 4 artifacts
prompt: "Where should implementation artifacts be stored?\n - Such as: (sprint status, individual story files and reviews, retrospectives, Quick Flow output)"
implementation_artifacts: # Phase 4 artifacts and quick-dev flow output
prompt: "Where should implementation artifacts be stored?\n(sprint status, individual story files and reviews, retrospectives, Quick Flow output)"
default: "{output_folder}/implementation-artifacts"
result: "{project-root}/{value}"
project_knowledge: # Artifacts from research, document-project output, other long lived accurate kn
prompt: "Where should non-ephemeral project knowledge be stored (docs, research, references)?"
project_knowledge: # Artifacts from research, document-project output, other long lived accurate knowledge
prompt: "Where should non-ephemeral project knowledge be searched for and stored\n(docs, research, references)?"
default: "docs"
result: "{project-root}/{value}"
# tea_use_mcp_enhancements:
# prompt: "Enable Test Architect Playwright MCP capabilities (healing, exploratory, verification)?\nYou have to setup your MCPs yourself; refer to test-architecture.md for hints."
# prompt: "Test Architect Playwright MCP capabilities (healing, exploratory, verification) are optionally available.\nYou will have to setup your MCPs yourself; refer to test-architecture.md for hints.\nWould you like to enable MCP enhancements in Test Architect?"
# default: false
# result: "{value}"

View File

@ -563,6 +563,9 @@ class ConfigCollector {
// Get friendly module name from config or use uppercase module name
const moduleDisplayName = moduleConfig.header || `${moduleName.toUpperCase()} Module`;
// Add blank line for better readability
console.log();
// Display the module name in color first
console.log(chalk.cyan('?') + ' ' + chalk.magenta(moduleDisplayName));

View File

@ -34,7 +34,7 @@ class BaseIdeSetup {
* @returns {string} The activation header text
*/
async getAgentCommandHeader() {
const headerPath = path.join(getSourcePath(), 'src', 'utility', 'agent-components', 'agent-command-header.md');
const headerPath = getSourcePath('utility', 'agent-components', 'agent-command-header.md');
return await fs.readFile(headerPath, 'utf8');
}

View File

@ -45,12 +45,22 @@ class RooSetup extends BaseIdeSetup {
continue;
}
// Read the actual agent file from _bmad for metadata extraction (installed agents are .md files)
const agentPath = path.join(bmadDir, artifact.module, 'agents', `${artifact.name}.md`);
const content = await this.readFile(agentPath);
// artifact.sourcePath contains the full path to the agent file
if (!artifact.sourcePath) {
console.error(`Error: Missing sourcePath for artifact ${artifact.name} from module ${artifact.module}`);
console.error(`Artifact object:`, artifact);
throw new Error(`Missing sourcePath for agent: ${artifact.name}`);
}
const content = await this.readFile(artifact.sourcePath);
// Create command file that references the actual _bmad agent
await this.createCommandFile({ module: artifact.module, name: artifact.name, path: agentPath }, content, commandPath, projectDir);
await this.createCommandFile(
{ module: artifact.module, name: artifact.name, path: artifact.sourcePath },
content,
commandPath,
projectDir,
);
addedCount++;
console.log(chalk.green(` ✓ Added command: ${commandName}`));