* feat(cli): add uninstall command with selective component removal Add `bmad uninstall` CLI command for clean removal of BMAD installations. Interactive mode with directory router and component multiselect; non-interactive `--yes` flag preserves user artifacts by default. Three-phase spinner UX, manifest-scoped IDE cleanup, GitHub Copilot marker stripping, recursive empty directory cleanup, and chalk-to-clack migration in copilot handler. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): address code review findings for uninstall command - Add path traversal guard in uninstallOutputFolder (resolve + startsWith) - Thread silent flag through to cleanupCopilotInstructions - Trim text input before path.resolve in directory prompt - DRY uninstall() by delegating to extracted helper methods - Validate projectDir existence before probing for BMAD - Use fs.rmdir instead of fs.remove in removeEmptyParents (race safety) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(cli): add destructive action warning and confirm before uninstall Move warning box after component selection and add a confirmation prompt defaulting to No, so users see the irreversibility warning right before the point of no return. Non-interactive --yes mode skips both. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Brian <bmadcode@gmail.com> |
||
|---|---|---|
| .. | ||
| shared | ||
| templates | ||
| _base-ide.js | ||
| _config-driven.js | ||
| codex.js | ||
| github-copilot.js | ||
| kilo.js | ||
| manager.js | ||
| platform-codes.js | ||
| platform-codes.yaml | ||