BMAD-METHOD/tools/cli/installers/lib/ide
Davor Racić fd09349683 feat(cli): complete @clack/prompts migration
Full migration of BMAD CLI installer from legacy terminal libraries
(chalk, ora, boxen, figlet, wrap-ansi, cli-table3, readline) to unified
@clack/prompts v1.0.0 visual system.

Foundation (prompts.js + cli-utils.js):
  - Extended prompts.js wrapper with box, spinner, progress, taskLog,
    path, autocomplete, selectKey, stream, color re-export
  - Refactored cli-utils.js: displayLogo uses box(), sections use note(),
    steps use log.step(), removed boxen/figlet/wrap-ansi/cli-table3

UI orchestration (ui.js):
  - Replaced ~100 console.log+chalk calls with log.*, note(), box()
  - Replaced ora spinner with @clack spinner
  - Module selection: autocompleteMultiselect with locked core module,
    bulleted post-selection display, maxItems for no-scroll

Spinner migration (installer.js):
  - Replaced 40+ ora spinner calls with @clack spinner
  - All spinner.stop() calls include meaningful messages
  - Failure paths use spinner.error() (red cross) instead of stop()

Readline migration (agent/installer.js + config-collector.js):
  - Migrated readline prompts to @clack text/confirm/select
  - Fixed chalk.dim bug (chalk was never imported)
  - Removed chalk from config-collector.js

IDE handlers + modules (7 files):
  - Replaced chalk+ora across all IDE handlers and module manager
  - Fixed options.installer undefined bug in manager.js update()

Cleanup:
  - Removed ora, boxen, figlet, wrap-ansi, cli-table3 from dependencies
  - chalk stays (used outside tools/cli/ scope)
  - Replaced hand-drawn Unicode update box in bmad-cli.js with box()
  - Added process.stdin.setMaxListeners(25) for sequential prompts

Spinner wrapper adds isSpinning state tracking (not native to @clack).
Removed dead groupMultiselect and sortKey sort calls.

Ref: tech-spec-installer-clack-migration-ui-enhancement.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 20:27:14 +01:00
..
shared feat(cli): complete @clack/prompts migration 2026-02-07 20:27:14 +01:00
templates refactor: consolidate OpenCode templates and add support for tasks, tools, and workflows (#1556) 2026-02-06 07:28:09 -06:00
_base-ide.js feat(cli): complete @clack/prompts migration 2026-02-07 20:27:14 +01:00
_config-driven.js feat(cli): complete @clack/prompts migration 2026-02-07 20:27:14 +01:00
codex.js feat(cli): complete @clack/prompts migration 2026-02-07 20:27:14 +01:00
kilo.js feat(cli): complete @clack/prompts migration 2026-02-07 20:27:14 +01:00
kiro-cli.js feat(cli): complete @clack/prompts migration 2026-02-07 20:27:14 +01:00
manager.js feat(cli): complete @clack/prompts migration 2026-02-07 20:27:14 +01:00
platform-codes.js installer fix 2026-01-26 16:06:00 -06:00
platform-codes.yaml fix: route OpenCode agents to correct .opencode/agent/ directory (#1549) 2026-02-05 18:55:41 -06:00