bmad-method 6.9.1-next.7 → 6.9.1-next.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method",
4
- "version": "6.9.1-next.7",
4
+ "version": "6.9.1-next.8",
5
5
  "description": "Breakthrough Method of Agile AI-driven Development",
6
6
  "keywords": [
7
7
  "agile",
@@ -11,6 +11,18 @@ function quoteCustomRef(ref) {
11
11
  return `"${ref}"`;
12
12
  }
13
13
 
14
+ function isLocalSourcePath(input) {
15
+ return (
16
+ input.startsWith('/') ||
17
+ input.startsWith('./') ||
18
+ input.startsWith('../') ||
19
+ input.startsWith('.\\') ||
20
+ input.startsWith('..\\') ||
21
+ input.startsWith('~') ||
22
+ path.win32.isAbsolute(input)
23
+ );
24
+ }
25
+
14
26
  /**
15
27
  * Manages custom modules installed from user-provided sources.
16
28
  * Supports any Git host (GitHub, GitLab, Bitbucket, self-hosted) and local file paths.
@@ -83,13 +95,7 @@ class CustomModuleManager {
83
95
  // Avoid consuming the @ in `git@host:owner/repo` — `before` wouldn't end with a path separator
84
96
  // in that case. Require that the @ comes after the host/path, not inside the auth segment.
85
97
  // Rule: the @ is a version suffix only if `before` looks like a complete URL or local path.
86
- const beforeLooksLikeRepo =
87
- before.startsWith('/') ||
88
- before.startsWith('./') ||
89
- before.startsWith('../') ||
90
- before.startsWith('~') ||
91
- /^https?:\/\//i.test(before) ||
92
- /^git@[^:]+:.+/.test(before);
98
+ const beforeLooksLikeRepo = isLocalSourcePath(before) || /^https?:\/\//i.test(before) || /^git@[^:]+:.+/.test(before);
93
99
  if (beforeLooksLikeRepo) {
94
100
  versionSuffix = candidate;
95
101
  trimmed = before;
@@ -97,8 +103,8 @@ class CustomModuleManager {
97
103
  }
98
104
  }
99
105
 
100
- // Local path detection: starts with /, ./, ../, or ~
101
- if (trimmed.startsWith('/') || trimmed.startsWith('./') || trimmed.startsWith('../') || trimmed.startsWith('~')) {
106
+ // Local path detection: POSIX, Windows, relative, or home-relative.
107
+ if (isLocalSourcePath(trimmed)) {
102
108
  if (versionSuffix) {
103
109
  return {
104
110
  type: 'local',