@learnrudi/cli 1.9.8 → 1.9.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "generated": "2026-01-09T15:24:13.250Z",
3
+ "generated": "2026-01-09T17:11:22.872Z",
4
4
  "packages": {
5
5
  "runtimes": [
6
6
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@learnrudi/cli",
3
- "version": "1.9.8",
3
+ "version": "1.9.10",
4
4
  "description": "RUDI CLI - Install and manage MCP stacks, runtimes, and AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -21,15 +21,15 @@
21
21
  "test": "node --test src/__tests__/"
22
22
  },
23
23
  "dependencies": {
24
- "@learnrudi/core": "^1.0.0",
25
- "@learnrudi/db": "^1.0.0",
26
- "@learnrudi/env": "^1.0.0",
27
- "@learnrudi/manifest": "^1.0.0",
28
- "@learnrudi/mcp": "^1.0.0",
29
- "@learnrudi/registry-client": "^1.0.0",
30
- "@learnrudi/runner": "^1.0.0",
31
- "@learnrudi/secrets": "^1.0.0",
32
- "@learnrudi/utils": "^1.0.0",
24
+ "@learnrudi/core": "workspace:*",
25
+ "@learnrudi/db": "workspace:*",
26
+ "@learnrudi/env": "workspace:*",
27
+ "@learnrudi/manifest": "workspace:*",
28
+ "@learnrudi/mcp": "workspace:*",
29
+ "@learnrudi/registry-client": "workspace:*",
30
+ "@learnrudi/runner": "workspace:*",
31
+ "@learnrudi/secrets": "workspace:*",
32
+ "@learnrudi/utils": "workspace:*",
33
33
  "better-sqlite3": "^12.5.0"
34
34
  },
35
35
  "devDependencies": {
@@ -340,7 +340,7 @@ function createShims() {
340
340
  const shimDefs = [];
341
341
 
342
342
  // ---------------------------------------------------------------------------
343
- // GENERATE SHIMS FROM MANIFEST
343
+ // GENERATE SHIMS FROM MANIFEST (only for installed packages)
344
344
  // ---------------------------------------------------------------------------
345
345
 
346
346
  const allPackages = [
@@ -351,22 +351,32 @@ function createShims() {
351
351
 
352
352
  for (const pkg of allPackages) {
353
353
  const installPath = path.join(RUDI_HOME, pkg.basePath, pkg.installDir);
354
- const notInstalledMsg = `${pkg.name} is not installed. Run: rudi install ${pkg.kind}:${pkg.id}`;
354
+
355
+ // Only create shims for packages that are actually installed
356
+ // Check if the install directory exists
357
+ if (!fs.existsSync(installPath)) {
358
+ continue;
359
+ }
355
360
 
356
361
  for (const cmd of pkg.commands) {
357
362
  const binPath = path.join(installPath, cmd.bin);
358
363
 
364
+ // Only create shim if the target binary exists
365
+ if (!fs.existsSync(binPath)) {
366
+ continue;
367
+ }
368
+
359
369
  if (cmd.args && cmd.args.length > 0) {
360
370
  // Command with prepended args (like pip -> python3 -m pip)
361
371
  shimDefs.push({
362
372
  name: cmd.name,
363
- script: buildArgsShim(binPath, cmd.args, notInstalledMsg),
373
+ script: buildArgsShim(binPath, cmd.args, `${pkg.name} binary not found`),
364
374
  });
365
375
  } else {
366
376
  // Simple exec shim
367
377
  shimDefs.push({
368
378
  name: cmd.name,
369
- script: buildExecShim(binPath, notInstalledMsg),
379
+ script: buildExecShim(binPath, `${pkg.name} binary not found`),
370
380
  });
371
381
  }
372
382
  }