improve all install prompts

This commit is contained in:
Brian Madison
2026-01-18 17:27:50 -06:00
parent a96ea2f19a
commit 83641eee9d
4 changed files with 23 additions and 34 deletions

View File

@@ -1,16 +1,16 @@
code: core code: core
name: "BMad Core Module" name: "BMad Core Module"
header: "BMad Core Configuration" header: "BMad Core Configuration"
subheader: "Configure the core settings for your BMad installation.\nThese settings will be used across all modules and agents." subheader: "Configure the core settings for your BMad installation.\nThese settings will be used across all modules and agents."
user_name: user_name:
prompt: "What shall the agents call you (TIP: Use a team name if using with a group)?" prompt: "What should agents call you? (Use your name or a team name)"
default: "BMad" default: "BMad"
result: "{value}" result: "{value}"
communication_language: communication_language:
prompt: "Preferred chat language/style? (English, Mandarin, English Pirate, etc...)" prompt: "What language should agents use when chatting with you?"
default: "English" default: "English"
result: "{value}" result: "{value}"
@@ -20,6 +20,6 @@ document_output_language:
result: "{value}" result: "{value}"
output_folder: output_folder:
prompt: "Where should default output files be saved unless specified in other modules?" prompt: "Where should output files be saved?"
default: "_bmad-output" default: "_bmad-output"
result: "{project-root}/{value}" result: "{project-root}/{value}"

View File

@@ -10,6 +10,6 @@ default_selected: false # This module will not be selected by default for new in
## output_folder ## output_folder
bmb_creations_output_folder: bmb_creations_output_folder:
prompt: "Where should BoMB generated agents, workflows and modules SOURCE be saved?" prompt: "Where should your custom agents, workflows, and modules be saved?"
default: "{output_folder}/bmb-creations" default: "{output_folder}/bmb-creations"
result: "{project-root}/{value}" result: "{project-root}/{value}"

View File

@@ -10,7 +10,7 @@ default_selected: true # This module will be selected by default for new install
## output_folder ## output_folder
project_name: project_name:
prompt: "What is the title of your project you will be working on?" prompt: "What is your project called?"
default: "{directory_name}" default: "{directory_name}"
result: "{value}" result: "{value}"
@@ -22,34 +22,23 @@ user_skill_level:
result: "{value}" result: "{value}"
single-select: single-select:
- value: "beginner" - value: "beginner"
label: "Beginner - New to development, explain concepts clearly" label: "Beginner - Explain things clearly"
- value: "intermediate" - value: "intermediate"
label: "Intermediate - Familiar with development, balance explanation with efficiency" label: "Intermediate - Balance detail with speed"
- value: "expert" - value: "expert"
label: "Expert - Deep technical knowledge, be direct and technical" label: "Expert - Be direct and technical"
planning_artifacts: # Phase 1-3 artifacts planning_artifacts: # Phase 1-3 artifacts
prompt: "Where should project planning artifacts be stored?\n - Such as: (Brain Storming, Briefs, PRDs, UX Designs, Architectures, Detailed Epics Plan)" prompt: "Where should planning artifacts be stored? (Brainstorming, Briefs, PRDs, UX Designs, Architecture, Epics)"
default: "{output_folder}/planning-artifacts" default: "{output_folder}/planning-artifacts"
result: "{project-root}/{value}" result: "{project-root}/{value}"
implementation_artifacts: # Phase 4 artifacts and quick-dev 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)" prompt: "Where should implementation artifacts be stored? (Sprint status, stories, reviews, retrospectives, Quick Flow output)"
default: "{output_folder}/implementation-artifacts" default: "{output_folder}/implementation-artifacts"
result: "{project-root}/{value}" result: "{project-root}/{value}"
project_knowledge: # Artifacts from research, document-project output, other long lived accurate knowledge 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)?" prompt: "Where should long-term project knowledge be stored? (docs, research, references)"
default: "docs" default: "docs"
result: "{project-root}/{value}" result: "{project-root}/{value}"
tea_use_mcp_enhancements:
prompt: "Test Architect Playwright MCP capabilities (healing, exploratory, verification) are optionally available.\nYou will have to setup your MCPs yourself; refer to https://docs.bmad-method.org/explanation/features/tea-overview for configuration examples.\nWould you like to enable MCP enhancements in Test Architect?"
default: false
result: "{value}"
tea_use_playwright_utils:
prompt:
- "Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?\nYou must install packages yourself, or use test architect's *framework command."
default: false
result: "{value}"

View File

@@ -119,7 +119,7 @@ class UI {
console.log(''); console.log('');
const proceed = await prompts.select({ const proceed = await prompts.select({
message: 'What would you like to do?', message: 'How would you like to proceed?',
choices: [ choices: [
{ {
name: 'Cancel and do a fresh install (recommended)', name: 'Cancel and do a fresh install (recommended)',
@@ -220,7 +220,7 @@ class UI {
choices.push({ name: 'Modify BMAD Installation', value: 'update' }); choices.push({ name: 'Modify BMAD Installation', value: 'update' });
actionType = await prompts.select({ actionType = await prompts.select({
message: 'What would you like to do?', message: 'How would you like to proceed?',
choices: choices, choices: choices,
default: choices[0].value, default: choices[0].value,
}); });
@@ -259,7 +259,7 @@ class UI {
// After module selection, ask about custom modules // After module selection, ask about custom modules
console.log(''); console.log('');
const changeCustomModules = await prompts.confirm({ const changeCustomModules = await prompts.confirm({
message: 'Modify custom module selection (add, update, or remove custom modules/agents/workflows)?', message: 'Modify custom modules, agents, or workflows?',
default: false, default: false,
}); });
@@ -314,7 +314,7 @@ class UI {
// Ask about custom content (local modules/agents/workflows) // Ask about custom content (local modules/agents/workflows)
const wantsCustomContent = await prompts.confirm({ const wantsCustomContent = await prompts.confirm({
message: 'Would you like to install a locally stored custom module (this includes custom agents and workflows also)?', message: 'Add custom modules, agents, or workflows from your computer?',
default: false, default: false,
}); });
@@ -932,7 +932,7 @@ class UI {
} else { } else {
// Ask for confirmation to create the directory // Ask for confirmation to create the directory
const create = await prompts.confirm({ const create = await prompts.confirm({
message: `The directory '${directory}' doesn't exist. Would you like to create it?`, message: `Create directory: ${directory}?`,
default: false, default: false,
}); });
@@ -1258,7 +1258,7 @@ class UI {
while (!isValid) { while (!isValid) {
// Use sync validation because @clack/prompts doesn't support async validate // Use sync validation because @clack/prompts doesn't support async validate
const inputPath = await prompts.text({ const inputPath = await prompts.text({
message: 'Enter the path to your custom content folder (or press Enter to cancel):', message: 'Path to custom module folder (press Enter to skip):',
validate: (input) => this.validateCustomContentPathSync(input), validate: (input) => this.validateCustomContentPathSync(input),
}); });
@@ -1293,7 +1293,7 @@ class UI {
// Ask if user wants to add these to the installation // Ask if user wants to add these to the installation
const shouldInstall = await prompts.confirm({ const shouldInstall = await prompts.confirm({
message: `Install ${customContentConfig.sources.length} custom module(s) now?`, message: `Install these ${customContentConfig.sources.length} custom modules?`,
default: true, default: true,
}); });
@@ -1375,7 +1375,7 @@ class UI {
} }
const customAction = await prompts.select({ const customAction = await prompts.select({
message: cachedCustomModules.length > 0 ? 'What would you like to do with custom modules?' : 'Would you like to add custom modules?', message: cachedCustomModules.length > 0 ? 'Manage custom modules?' : 'Add custom modules?',
choices: choices, choices: choices,
default: cachedCustomModules.length > 0 ? 'keep' : 'add', default: cachedCustomModules.length > 0 ? 'keep' : 'add',
}); });
@@ -1562,7 +1562,7 @@ class UI {
console.log(''); console.log('');
const proceed = await prompts.select({ const proceed = await prompts.select({
message: 'What would you like to do?', message: 'How would you like to proceed?',
choices: [ choices: [
{ {
name: 'Proceed with update anyway (may have issues)', name: 'Proceed with update anyway (may have issues)',