Description
CustomModuleManager.parseSource() in tools/installer/modules/custom-module-manager.js does not handle Azure DevOps Git URLs. The HTTPS regex captures only the first two path segments as owner/repo, discarding the /_git/ portion. This causes cloneUrl to point to the project root (not a Git repo), and the clone fails with "repository not found."
Steps to reproduce
- Run npx bmad-method install
- If existing installation, choose "Modify BMAD Installation"
- Select "Yes" to install from a custom source
- Enter an Azure DevOps URL: https://dev.azure.com/myorg/MyProject/_git/my-module
- Observe the clone failure
Expected behavior
The installer should recognize Azure DevOps _git URLs and construct the correct clone URL: https://dev.azure.com/myorg/MyProject/_git/my-module
Actual behavior
The HTTPS regex (/^https?:\/\/([^/]+)\/([^/]+)\/([^/.]+?)(?:\.git)?(\/.*)?$/) captures only host/myorg/MyProject, discards /_git/my-module into the remainder group, then reconstructs cloneUrl as https://dev.azure.com/myorg/MyProject — which is not a Git repository.
Screenshots
No response
Which module is this for?
BMad Method (BMM) - Core Framework
BMad Version
6.3.0
Which AI IDE are you using?
Copilot CLI / GitHub Copilot
Operating System
Windows
Relevant log output
◇ Would you like to install from a custom source (Git URL or local path)?
│ Yes
◇ Git URL or local path:
│ https://dev.azure.com/myOrg/myProject/_git/my-module
▲ Failed to resolve source
│
■ Failed to clone https://dev.azure.com/myOrg/myProject: Command failed: git clone --depth 1 "https://dev.azure.com/myOrg/myProject" "C:\Users\Justin.Loveless\.bmad\cache\custom-modules\dev.azure.com\myOrg/myProject"
│ Cloning into 'C:\Users\user\.bmad\cache\custom-modules\dev.azure.com\myOrg/myProject'...
│ fatal: repository 'https://dev.azure.com/myOrg/myProject/' not found
Confirm
Description
CustomModuleManager.parseSource()intools/installer/modules/custom-module-manager.jsdoes not handle Azure DevOps Git URLs. The HTTPS regex captures only the first two path segments as owner/repo, discarding the /_git/ portion. This causescloneUrlto point to the project root (not a Git repo), and the clone fails with "repository not found."Steps to reproduce
Expected behavior
The installer should recognize Azure DevOps _git URLs and construct the correct clone URL: https://dev.azure.com/myorg/MyProject/_git/my-module
Actual behavior
The HTTPS regex
(/^https?:\/\/([^/]+)\/([^/]+)\/([^/.]+?)(?:\.git)?(\/.*)?$/)captures onlyhost/myorg/MyProject, discards/_git/my-moduleinto the remainder group, then reconstructs cloneUrl ashttps://dev.azure.com/myorg/MyProject— which is not a Git repository.Screenshots
No response
Which module is this for?
BMad Method (BMM) - Core Framework
BMad Version
6.3.0
Which AI IDE are you using?
Copilot CLI / GitHub Copilot
Operating System
Windows
Relevant log output
Confirm