40 lines
1.5 KiB
Plaintext
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) => {
|