Skip to content

feat(cli): add headless/non-interactive installation mode#2

Open
AlexSuprun wants to merge 1 commit intomainfrom
feature/headless-installer
Open

feat(cli): add headless/non-interactive installation mode#2
AlexSuprun wants to merge 1 commit intomainfrom
feature/headless-installer

Conversation

@AlexSuprun
Copy link
Owner

Summary

  • Add headless/non-interactive installation mode for CI/CD pipelines and script-based automation
  • Introduce HeadlessConfigBuilder class for parsing CLI options and config files
  • Support both JSON and YAML configuration file formats

New CLI Flags

Flag Short Description Default
--headless -H Non-interactive mode false
--config <path> Config file path (JSON/YAML) none
--directory <path> Installation directory cwd
--modules <list> -m Comma-separated modules bmm
--ides <list> -i Comma-separated IDEs claude-code
--skip-ides Skip IDE configuration false
--user-name <name> Agent communication name system user
--language <lang> Communication language English
--doc-language <lang> Document output language English
--output-folder <path> Output folder _bmad-output
--action <type> install/update/quick-update install
--force -f Force overwrite existing false
--yes -y Accept defaults (implies headless) false

Usage Examples

# Quick install with defaults
npx bmad-method install --headless

# Install with specific modules and IDEs
npx bmad-method install --headless -m bmm,bmb -i claude-code,cursor

# Install from config file
npx bmad-method install --config bmad-config.yaml

Test plan

  • All 40 headless installation tests pass
  • Existing test suite passes (npm test)
  • Lint and format checks pass
  • Manual testing of headless installation in clean directory
  • Manual testing of config file loading (YAML and JSON)

Add support for script-based and CI/CD installations via new CLI flags
and config file support:

- Add HeadlessConfigBuilder class for parsing CLI options and config files
- Support JSON and YAML config file formats via --config flag
- Add CLI flags: --headless, --yes, --modules, --ides, --skip-ides,
  --user-name, --language, --doc-language, --output-folder, --action, --force
- Validate modules, IDEs, paths, and action types before installation
- Include comprehensive test suite with 40 test cases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant