moved bmad-core to dot folder so when adding to project it is clear its not part of the project it is added to
This commit is contained in:
41
tools/bmad-npx-wrapper.js
Executable file
41
tools/bmad-npx-wrapper.js
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* BMAD Method CLI - Direct execution wrapper for npx
|
||||
* This file ensures proper execution when run via npx from GitHub
|
||||
*/
|
||||
|
||||
const { execSync } = require('child_process');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
// Check if we're running in an npx temporary directory
|
||||
const isNpxExecution = __dirname.includes('_npx') || __dirname.includes('.npm');
|
||||
|
||||
// If running via npx, we need to handle things differently
|
||||
if (isNpxExecution) {
|
||||
// The actual bmad.js is in installer/bin/ (relative to tools directory)
|
||||
const bmadScriptPath = path.join(__dirname, 'installer', 'bin', 'bmad.js');
|
||||
|
||||
// Verify the file exists
|
||||
if (!fs.existsSync(bmadScriptPath)) {
|
||||
console.error('Error: Could not find bmad.js at', bmadScriptPath);
|
||||
console.error('Current directory:', __dirname);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Execute with proper working directory
|
||||
try {
|
||||
execSync(`node "${bmadScriptPath}" ${process.argv.slice(2).join(' ')}`, {
|
||||
stdio: 'inherit',
|
||||
cwd: path.dirname(__dirname)
|
||||
});
|
||||
} catch (error) {
|
||||
// execSync will throw if the command exits with non-zero
|
||||
// But the stdio is inherited, so the error is already displayed
|
||||
process.exit(error.status || 1);
|
||||
}
|
||||
} else {
|
||||
// Local execution - just require the installer directly
|
||||
require('./installer/bin/bmad.js');
|
||||
}
|
||||
Reference in New Issue
Block a user