devforgeai 1.0.9 → 1.0.10
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 +1 -1
- package/src/cli/commands/install.js +21 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devforgeai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "DevForgeAI is a spec-driven development framework designed to enable AI-assisted software development with zero technical debt through automated validation, architectural constraints enforcement, and test-driven development workflows.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const fsp = fs.promises;
|
|
2
4
|
const { OutputFormatter } = require('../wizard/output-formatter');
|
|
3
5
|
const { ProgressService } = require('../wizard/progress-service');
|
|
4
6
|
const { SignalHandler } = require('../wizard/signal-handler');
|
|
@@ -176,13 +178,28 @@ async function action(directory, opts) {
|
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
180
|
|
|
179
|
-
// Python CLI pip install
|
|
181
|
+
// Python CLI pip install (uses venv to avoid PEP 668 externally-managed errors)
|
|
180
182
|
if (selectedComponents.includes('python-cli')) {
|
|
181
183
|
progress.updateSpinnerText('Installing Python CLI...');
|
|
182
184
|
try {
|
|
183
185
|
const { execSync } = require('child_process');
|
|
184
186
|
const scriptsDir = path.join(installDir, '.claude', 'scripts');
|
|
185
|
-
|
|
187
|
+
const venvDir = path.join(installDir, '.venv');
|
|
188
|
+
|
|
189
|
+
// Create venv if it doesn't exist
|
|
190
|
+
try {
|
|
191
|
+
await fsp.access(path.join(venvDir, 'bin', 'pip'));
|
|
192
|
+
} catch {
|
|
193
|
+
execSync(`python3 -m venv "${venvDir}"`, { stdio: 'pipe', cwd: installDir });
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// Install into venv
|
|
197
|
+
const venvPip = path.join(venvDir, 'bin', 'pip');
|
|
198
|
+
execSync(`"${venvPip}" install -e "${scriptsDir}"`, { stdio: 'pipe', cwd: installDir });
|
|
199
|
+
|
|
200
|
+
if (!opts.quiet) {
|
|
201
|
+
formatter.info('Python CLI installed in .venv/ — activate with: source .venv/bin/activate');
|
|
202
|
+
}
|
|
186
203
|
} catch (e) {
|
|
187
204
|
formatter.warning(`Python CLI install failed: ${e.message}`);
|
|
188
205
|
}
|
|
@@ -225,9 +242,9 @@ async function action(directory, opts) {
|
|
|
225
242
|
console.log(` Dirs: ${stats.directoriesCreated}`);
|
|
226
243
|
console.log('');
|
|
227
244
|
formatter.info('Next steps:');
|
|
228
|
-
console.log(' 1.
|
|
245
|
+
console.log(' 1. Run /create-context to generate your project context files');
|
|
229
246
|
console.log(' 2. Run /brainstorm to start your first project');
|
|
230
|
-
console.log(' 3. See
|
|
247
|
+
console.log(' 3. See docs/ for guides and documentation');
|
|
231
248
|
console.log('');
|
|
232
249
|
}
|
|
233
250
|
} catch (error) {
|