BMAD-METHOD/tools/installer/core
Dov Benyomin Sohacheski fbb48ed711
fix: remove empty skill-group dirs left in _bmad after install (#2461)
* fix: remove empty skill-group dirs left in _bmad after install

Skill cleanup removed each skill's own directory but never pruned the
now-empty grouping folders above it (e.g. _bmad/bmm/1-analysis), leaving
empty dirs behind after every install. Walk up from each removed skill
dir and drop empty parents, stopping at the bmad root.

* fix: harden empty-parent pruning boundary and cleanup

Use a path-boundary check instead of a string prefix so sibling dirs
(e.g. _bmad2) can't match the bmad root, and make the walk best-effort
so a dir that vanishes or fills in mid-walk never aborts the install.
Move the test fixture cleanup into finally so failures don't leak temp
dirs.

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2026-06-11 08:29:02 -05:00
..
config.js feat(installer): add --set and --list-options for non-interactive config (#2354) 2026-04-28 20:15:57 -05:00
existing-install.js fix(installer): replace fs-extra with native node:fs to prevent file loss 2026-04-13 00:44:28 -05:00
install-paths.js refactor(skills): remove bmad-skill-manifest yaml; introduce central config.toml (#2285) 2026-04-19 23:11:44 -05:00
installer.js fix: remove empty skill-group dirs left in _bmad after install (#2461) 2026-06-11 08:29:02 -05:00
legacy-warnings.js feat(installer): expand to 42 platforms with shared target_dir coordination (#2313) 2026-04-25 21:14:00 -05:00
manifest-generator.js fix(installer): support local custom-source modules in resolveInstalledModuleYaml and TOML key (#2316) 2026-04-26 12:55:56 -05:00
manifest.js v6.7.0: bundle module registry, retire marketplace, refresh display names (#2388) 2026-05-17 17:47:25 -05:00