BMAD-METHOD/.patch/633/installer.js.633.diff.txt

40 lines
1.5 KiB
Plaintext

diff --git a/tools/installer/lib/installer.js b/tools/installer/lib/installer.js
index d04830d7..f988575b 100644
--- a/tools/installer/lib/installer.js
+++ b/tools/installer/lib/installer.js
@@ -1963,7 +1963,7 @@ class Installer {
async findInstallation() {
// Look for .bmad-core in current directory or parent directories
- let currentDir = process.cwd();
+ let currentDir = process.env.INIT_CWD || process.cwd();
while (currentDir !== path.dirname(currentDir)) {
const bmadDir = path.join(currentDir, '.bmad-core');
@@ -1977,10 +1977,13 @@ class Installer {
}
// Also check if we're inside a .bmad-core directory
- if (path.basename(process.cwd()) === '.bmad-core') {
- const manifestPath = path.join(process.cwd(), 'install-manifest.yaml');
+ if (path.basename(process.env.INIT_CWD || process.cwd()) === '.bmad-core') {
+ const manifestPath = path.join(
+ process.env.INIT_CWD || process.cwd(),
+ 'install-manifest.yaml',
+ );
if (await fileManager.pathExists(manifestPath)) {
- return path.dirname(process.cwd()); // Return parent directory
+ return path.dirname(process.env.INIT_CWD || process.cwd()); // Return parent directory
}
}
@@ -2001,7 +2004,7 @@ class Installer {
const child = spawn('node', [flattenerPath, ...arguments_], {
stdio: 'inherit',
- cwd: process.cwd(),
+ cwd: process.env.INIT_CWD || process.cwd(),
});
child.on('exit', (code) => {