fix: update src/core and src/bmm path references to match renamed directories#2053
Conversation
…ectories The v6.2.0 release renamed src/core to src/core-skills and src/bmm to src/bmm-skills, but the installer CLI code still referenced the old directory names, causing ENOENT crashes during installation. Updated all path references across 7 files in tools/cli/ including path.join() calls, string comparisons, regex patterns, and comments. Fixes bmad-code-org#2052 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the installer CLI’s internal source-directory references to match the v6.2.0 repo rename from src/core/src/bmm to src/core-skills/src/bmm-skills, preventing ENOENT failures during installs.
Changes:
- Updated source root detection and module path resolution to use
core-skills/bmm-skills. - Updated installer/module-manager logic to locate built-in modules under the renamed directories.
- Updated workflow/path normalization and module inference logic to reflect the new directory names.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/cli/lib/yaml-xml-builder.js | Maps src/*-skills paths back to logical module ids (core/bmm) when inferring module from file path. |
| tools/cli/lib/project-root.js | Uses src/core-skills as the project-root marker and updates built-in module path mapping. |
| tools/cli/installers/lib/modules/manager.js | Points built-in bmm module discovery at src/bmm-skills and updates core special-casing to src/core-skills. |
| tools/cli/installers/lib/ide/shared/workflow-command-generator.js | Updates workflow path transform rules to recognize src/*-skills locations. |
| tools/cli/installers/lib/core/manifest.js | Loads core config from src/core-skills/config.yaml. |
| tools/cli/installers/lib/core/installer.js | Updates core source scanning/lookup to src/core-skills. |
| tools/cli/installers/lib/core/dependency-resolver.js | Updates dependency resolution’s source-structure handling to src/*-skills. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Check if file is in source directory structure | ||
| if (file.includes('/src/core/') || file.includes('/src/bmm/')) { | ||
| if (file.includes('/src/core-skills/') || file.includes('/src/bmm-skills/')) { | ||
| if (module === 'core') { | ||
| moduleBase = path.join(bmadDir, 'src', 'core'); | ||
| moduleBase = path.join(bmadDir, 'src', 'core-skills'); | ||
| } else if (module === 'bmm') { | ||
| moduleBase = path.join(bmadDir, 'src', 'bmm'); | ||
| moduleBase = path.join(bmadDir, 'src', 'bmm-skills'); | ||
| } | ||
| } else { | ||
| moduleBase = module === 'core' ? path.join(bmadDir, 'core') : path.join(bmadDir, 'modules', module); |
| if (workflowPath.includes('/src/bmm-skills/')) { | ||
| const match = workflowPath.match(/\/src\/bmm-skills\/(.+)/); | ||
| if (match) { | ||
| transformed = `{project-root}/${this.bmadFolderName}/bmm/${match[1]}`; | ||
| } | ||
| } else if (workflowPath.includes('/src/core/')) { | ||
| const match = workflowPath.match(/\/src\/core\/(.+)/); | ||
| } else if (workflowPath.includes('/src/core-skills/')) { | ||
| const match = workflowPath.match(/\/src\/core-skills\/(.+)/); | ||
| if (match) { | ||
| transformed = `{project-root}/${this.bmadFolderName}/core/${match[1]}`; | ||
| } |
| @@ -251,7 +251,8 @@ class ModuleManager { | |||
| } | |||
|
|
|||
| // Mark as custom if it's using custom.yaml OR if it's outside src/bmm or src/core | |||
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughUpdates directory path references across CLI installer and project configuration modules from Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip You can validate your CodeRabbit configuration file in your editor.If your editor has YAML language server, you can enable auto-completion and validation by adding |
|
Thanks @Sallvainian |
What
Update all installer CLI path references from
src/core/src/bmmtosrc/core-skills/src/bmm-skillsto match the v6.2.0 directory rename.Why
The v6.2.0 release renamed these directories but the installer code wasn't updated, causing ENOENT crashes during installation.
Fixes #2052
How
tools/cli/path.join()calls, string comparisons, regex patterns, and commentsTesting
npm run validate:refs— 0 broken referencesnpm run test— all 232 tests pass, lint clean, format cleangrepfor old patterns returns 0 matches