* 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> |
||
|---|---|---|
| .. | ||
| cli | ||
| docs | ||
| lib | ||
| maintainer | ||
| schema | ||
| bmad-npx-wrapper.js | ||
| build-docs.mjs | ||
| fix-doc-links.js | ||
| format-workflow-md.js | ||
| migrate-custom-module-paths.js | ||
| platform-codes.yaml | ||
| validate-agent-schema.js | ||
| validate-doc-links.js | ||
| validate-file-refs.js | ||
| validate-svg-changes.sh | ||