@vibe-agent-toolkit/cli 0.1.23 → 0.1.25-rc.1
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/dist/bin/vat +9 -8
- package/dist/bin/vat.js +9 -8
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +2 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/import.js +3 -3
- package/dist/commands/agent/import.js.map +1 -1
- package/dist/commands/agent/install.js +5 -5
- package/dist/commands/agent/install.js.map +1 -1
- package/dist/commands/agent/installed.js +2 -2
- package/dist/commands/agent/installed.js.map +1 -1
- package/dist/commands/agent/uninstall.d.ts.map +1 -1
- package/dist/commands/agent/uninstall.js +2 -2
- package/dist/commands/agent/uninstall.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +6 -6
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.d.ts +17 -5
- package/dist/commands/claude/marketplace/changelog-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.js +37 -8
- package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +2 -3
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +2 -2
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.d.ts +0 -1
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +20 -15
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +13 -12
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +9 -9
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/skills.js +15 -15
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/plugin/build.js +14 -14
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/helpers.js +5 -6
- package/dist/commands/claude/plugin/helpers.js.map +1 -1
- package/dist/commands/claude/plugin/install.d.ts.map +1 -1
- package/dist/commands/claude/plugin/install.js +52 -50
- package/dist/commands/claude/plugin/install.js.map +1 -1
- package/dist/commands/claude/plugin/uninstall.js +3 -2
- package/dist/commands/claude/plugin/uninstall.js.map +1 -1
- package/dist/commands/doctor.js +10 -11
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +11 -10
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +2 -2
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +6 -5
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +2 -2
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +5 -4
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/shared.d.ts.map +1 -1
- package/dist/commands/skills/shared.js +2 -2
- package/dist/commands/skills/shared.js.map +1 -1
- package/dist/utils/agent-discovery.js +4 -4
- package/dist/utils/agent-discovery.js.map +1 -1
- package/dist/utils/agent-runner.d.ts.map +1 -1
- package/dist/utils/agent-runner.js +2 -1
- package/dist/utils/agent-runner.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +5 -4
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +4 -3
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/project-root.d.ts.map +1 -1
- package/dist/utils/project-root.js +4 -3
- package/dist/utils/project-root.js.map +1 -1
- package/dist/utils/scope-locations.d.ts.map +1 -1
- package/dist/utils/scope-locations.js +3 -3
- package/dist/utils/scope-locations.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +5 -4
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +5 -2
- package/dist/version.js.map +1 -1
- package/package.json +11 -11
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { existsSync, lstatSync, readdirSync, readFileSync } from 'node:fs';
|
|
16
16
|
import { cp, mkdir, mkdtemp, rm, symlink } from 'node:fs/promises';
|
|
17
|
-
import { basename
|
|
17
|
+
import { basename } from 'node:path';
|
|
18
18
|
import { getClaudeUserPaths, installPlugin, uninstallPlugin } from '@vibe-agent-toolkit/claude-marketplace';
|
|
19
|
-
import { normalizedTmpdir, safeExecSync, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
19
|
+
import { normalizedTmpdir, safeExecSync, toForwardSlash, safePath } from '@vibe-agent-toolkit/utils';
|
|
20
20
|
import AdmZip from 'adm-zip';
|
|
21
21
|
import { Command } from 'commander';
|
|
22
22
|
import * as tar from 'tar';
|
|
@@ -24,7 +24,7 @@ import { handleCommandError } from '../../../utils/command-error.js';
|
|
|
24
24
|
import { createLogger } from '../../../utils/logger.js';
|
|
25
25
|
import { detectSource, downloadNpmPackage, isGlobalNpmInstall, readPackageJsonVatMetadata, writeYamlHeader, } from './helpers.js';
|
|
26
26
|
/** Relative path within a VAT npm package to its pre-built plugin structure. */
|
|
27
|
-
const PLUGIN_MARKETPLACES_SUBPATH = join('dist', '.claude', 'plugins', 'marketplaces');
|
|
27
|
+
const PLUGIN_MARKETPLACES_SUBPATH = safePath.join('dist', '.claude', 'plugins', 'marketplaces');
|
|
28
28
|
const PACKAGE_JSON = 'package.json';
|
|
29
29
|
/**
|
|
30
30
|
* List immediate subdirectory names inside a directory.
|
|
@@ -64,7 +64,7 @@ async function registerPlugin(mpName, pluginName, pluginDir, version, packageNam
|
|
|
64
64
|
*/
|
|
65
65
|
async function installPluginTreeAndExit(rootDir, marketplacesDir, sourceLabel, sourceType, startTime, logger, dryRun) {
|
|
66
66
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- rootDir from controlled source
|
|
67
|
-
const pkgRaw = readFileSync(join(rootDir, PACKAGE_JSON), 'utf-8');
|
|
67
|
+
const pkgRaw = readFileSync(safePath.join(rootDir, PACKAGE_JSON), 'utf-8');
|
|
68
68
|
const packageJson = JSON.parse(pkgRaw);
|
|
69
69
|
const installedSkills = await copyPluginTree(marketplacesDir, packageJson, logger, dryRun);
|
|
70
70
|
const duration = Date.now() - startTime;
|
|
@@ -201,13 +201,13 @@ async function handleNpmInstall(source, options, logger, startTime) {
|
|
|
201
201
|
const packageName = source.startsWith('npm:') ? source.slice(4) : source;
|
|
202
202
|
logger.info(`📥 Installing skill from npm: ${packageName}`);
|
|
203
203
|
// Create temp directory
|
|
204
|
-
const tempDir = await mkdtemp(join(normalizedTmpdir(), 'vat-install-npm-'));
|
|
204
|
+
const tempDir = await mkdtemp(safePath.join(normalizedTmpdir(), 'vat-install-npm-'));
|
|
205
205
|
try {
|
|
206
206
|
// Download and extract npm package
|
|
207
207
|
logger.info(' Downloading package...');
|
|
208
208
|
const extractedPath = downloadNpmPackage(packageName, tempDir);
|
|
209
209
|
// If the package ships a pre-built plugin tree, install via dumb copy.
|
|
210
|
-
const marketplacesDir = join(extractedPath, PLUGIN_MARKETPLACES_SUBPATH);
|
|
210
|
+
const marketplacesDir = safePath.join(extractedPath, PLUGIN_MARKETPLACES_SUBPATH);
|
|
211
211
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path from controlled extractedPath + constant subpath
|
|
212
212
|
const hasPlugin = !options.userInstallWithoutPlugin && existsSync(marketplacesDir);
|
|
213
213
|
if (hasPlugin) {
|
|
@@ -229,13 +229,13 @@ async function handleNpmInstall(source, options, logger, startTime) {
|
|
|
229
229
|
}
|
|
230
230
|
const skillsDir = options.skillsDir ?? getClaudeUserPaths().skillsDir;
|
|
231
231
|
for (const skillName of skillNames) {
|
|
232
|
-
const skillPath = join(extractedPath, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
232
|
+
const skillPath = safePath.join(extractedPath, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
233
233
|
await installSkillFromPath(skillPath, skillName, options, logger);
|
|
234
234
|
}
|
|
235
235
|
const duration = Date.now() - startTime;
|
|
236
236
|
outputInstallSuccess(skillNames.map(name => ({
|
|
237
237
|
name,
|
|
238
|
-
installPath: join(skillsDir, name),
|
|
238
|
+
installPath: safePath.join(skillsDir, name),
|
|
239
239
|
})), `npm:${packageName}`, 'npm', duration, logger, options.dryRun);
|
|
240
240
|
process.exit(0);
|
|
241
241
|
}
|
|
@@ -247,17 +247,17 @@ async function handleNpmInstall(source, options, logger, startTime) {
|
|
|
247
247
|
* Handle local directory installation
|
|
248
248
|
*/
|
|
249
249
|
async function handleLocalInstall(source, options, logger, startTime) {
|
|
250
|
-
const sourcePath = resolve(source);
|
|
250
|
+
const sourcePath = safePath.resolve(source);
|
|
251
251
|
logger.info(`📥 Installing skill from directory: ${sourcePath}`);
|
|
252
252
|
const skillsDir = options.skillsDir ?? getClaudeUserPaths().skillsDir;
|
|
253
253
|
// Check for pre-built plugin tree first
|
|
254
|
-
const marketplacesDir = join(sourcePath, PLUGIN_MARKETPLACES_SUBPATH);
|
|
254
|
+
const marketplacesDir = safePath.join(sourcePath, PLUGIN_MARKETPLACES_SUBPATH);
|
|
255
255
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- User-provided CLI argument
|
|
256
256
|
if (!options.userInstallWithoutPlugin && existsSync(marketplacesDir)) {
|
|
257
257
|
await installPluginTreeAndExit(sourcePath, marketplacesDir, `local:${sourcePath}`, 'local', startTime, logger, options.dryRun);
|
|
258
258
|
}
|
|
259
259
|
// Check if directory contains package.json with vat.skills
|
|
260
|
-
const packageJsonPath = join(sourcePath, 'package.json');
|
|
260
|
+
const packageJsonPath = safePath.join(sourcePath, 'package.json');
|
|
261
261
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- User-provided CLI argument
|
|
262
262
|
const hasPackageJson = existsSync(packageJsonPath);
|
|
263
263
|
let installed;
|
|
@@ -269,16 +269,16 @@ async function handleLocalInstall(source, options, logger, startTime) {
|
|
|
269
269
|
`Available: ${skills.join(', ')}`);
|
|
270
270
|
}
|
|
271
271
|
for (const skillName of skillNames) {
|
|
272
|
-
const skillPath = join(sourcePath, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
272
|
+
const skillPath = safePath.join(sourcePath, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
273
273
|
await installSkillFromPath(skillPath, skillName, options, logger);
|
|
274
274
|
}
|
|
275
|
-
installed = skillNames.map(name => ({ name, installPath: join(skillsDir, name) }));
|
|
275
|
+
installed = skillNames.map(name => ({ name, installPath: safePath.join(skillsDir, name) }));
|
|
276
276
|
}
|
|
277
277
|
else {
|
|
278
278
|
// Plain directory - use directory name
|
|
279
279
|
const skillName = options.name ?? basename(sourcePath);
|
|
280
280
|
await installSkillFromPath(sourcePath, skillName, options, logger);
|
|
281
|
-
installed = [{ name: skillName, installPath: join(skillsDir, skillName) }];
|
|
281
|
+
installed = [{ name: skillName, installPath: safePath.join(skillsDir, skillName) }];
|
|
282
282
|
}
|
|
283
283
|
const duration = Date.now() - startTime;
|
|
284
284
|
outputInstallSuccess(installed, `local:${sourcePath}`, 'local', duration, logger, options.dryRun);
|
|
@@ -288,7 +288,7 @@ async function handleLocalInstall(source, options, logger, startTime) {
|
|
|
288
288
|
* Handle ZIP file installation
|
|
289
289
|
*/
|
|
290
290
|
async function handleZipInstall(source, options, logger, startTime) {
|
|
291
|
-
const sourcePath = resolve(source);
|
|
291
|
+
const sourcePath = safePath.resolve(source);
|
|
292
292
|
logger.info(`📥 Installing skill from ZIP: ${sourcePath}`);
|
|
293
293
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- User-provided CLI argument
|
|
294
294
|
if (!existsSync(sourcePath)) {
|
|
@@ -312,22 +312,22 @@ async function handleZipInstall(source, options, logger, startTime) {
|
|
|
312
312
|
* Extracts to a temp directory then delegates to the local install path.
|
|
313
313
|
*/
|
|
314
314
|
async function handleTgzInstall(source, options, logger, startTime) {
|
|
315
|
-
const sourcePath = resolve(source);
|
|
315
|
+
const sourcePath = safePath.resolve(source);
|
|
316
316
|
logger.info(`📥 Installing skill from tarball: ${sourcePath}`);
|
|
317
317
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- User-provided CLI argument
|
|
318
318
|
if (!existsSync(sourcePath)) {
|
|
319
319
|
throw new Error(`Tarball not found: ${sourcePath}`);
|
|
320
320
|
}
|
|
321
|
-
const tempDir = await mkdtemp(join(normalizedTmpdir(), 'vat-install-tgz-'));
|
|
321
|
+
const tempDir = await mkdtemp(safePath.join(normalizedTmpdir(), 'vat-install-tgz-'));
|
|
322
322
|
try {
|
|
323
323
|
logger.info(' Extracting tarball...');
|
|
324
324
|
await tar.extract({ file: sourcePath, cwd: tempDir });
|
|
325
325
|
// npm pack tarballs extract under package/ subdirectory
|
|
326
|
-
const packageDir = join(tempDir, 'package');
|
|
326
|
+
const packageDir = safePath.join(tempDir, 'package');
|
|
327
327
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- tempDir is controlled
|
|
328
328
|
const extractedDir = existsSync(packageDir) ? packageDir : tempDir;
|
|
329
329
|
// Delegate to local install logic
|
|
330
|
-
const marketplacesDir = join(extractedDir, PLUGIN_MARKETPLACES_SUBPATH);
|
|
330
|
+
const marketplacesDir = safePath.join(extractedDir, PLUGIN_MARKETPLACES_SUBPATH);
|
|
331
331
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- tempDir is controlled
|
|
332
332
|
if (!options.userInstallWithoutPlugin && existsSync(marketplacesDir)) {
|
|
333
333
|
await installPluginTreeAndExit(extractedDir, marketplacesDir, sourcePath, 'tgz', startTime, logger, options.dryRun);
|
|
@@ -337,11 +337,11 @@ async function handleTgzInstall(source, options, logger, startTime) {
|
|
|
337
337
|
const skillsDir = options.skillsDir ?? getClaudeUserPaths().skillsDir;
|
|
338
338
|
const skillNames = options.name ? skills.filter(s => s === options.name) : skills;
|
|
339
339
|
for (const skillName of skillNames) {
|
|
340
|
-
const skillPath = join(extractedDir, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
340
|
+
const skillPath = safePath.join(extractedDir, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
341
341
|
await installSkillFromPath(skillPath, skillName, options, logger);
|
|
342
342
|
}
|
|
343
343
|
const duration = Date.now() - startTime;
|
|
344
|
-
outputInstallSuccess(skillNames.map(name => ({ name, installPath: join(skillsDir, name) })), sourcePath, 'tgz', duration, logger, options.dryRun);
|
|
344
|
+
outputInstallSuccess(skillNames.map(name => ({ name, installPath: safePath.join(skillsDir, name) })), sourcePath, 'tgz', duration, logger, options.dryRun);
|
|
345
345
|
process.exit(0);
|
|
346
346
|
}
|
|
347
347
|
finally {
|
|
@@ -376,8 +376,8 @@ async function prepareDevSymlinkDest(destPath, skillFsName, options) {
|
|
|
376
376
|
* Returns install info, or null when the skill is not built (skips with a warning).
|
|
377
377
|
*/
|
|
378
378
|
async function symlinkDevSkill(skillFsName, destSkillsDir, cwd, pluginName, options, logger) {
|
|
379
|
-
const srcSkillPath = resolve(cwd, 'dist', 'skills', skillFsName);
|
|
380
|
-
const destSkillPath = join(destSkillsDir, skillFsName);
|
|
379
|
+
const srcSkillPath = safePath.resolve(cwd, 'dist', 'skills', skillFsName);
|
|
380
|
+
const destSkillPath = safePath.join(destSkillsDir, skillFsName);
|
|
381
381
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- controlled path
|
|
382
382
|
if (!existsSync(srcSkillPath)) {
|
|
383
383
|
logger.info(` Warning: skill not built at ${srcSkillPath} — skipping symlink`);
|
|
@@ -388,7 +388,7 @@ async function symlinkDevSkill(skillFsName, destSkillsDir, cwd, pluginName, opti
|
|
|
388
388
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- controlled path
|
|
389
389
|
await symlink(srcSkillPath, destSkillPath, 'dir');
|
|
390
390
|
}
|
|
391
|
-
logger.info(` Symlinked: ${relative(cwd, destSkillPath)} → ${srcSkillPath}`);
|
|
391
|
+
logger.info(` Symlinked: ${safePath.relative(cwd, destSkillPath)} → ${srcSkillPath}`);
|
|
392
392
|
return {
|
|
393
393
|
name: `${pluginName}:${skillFsName}`,
|
|
394
394
|
installPath: destSkillPath,
|
|
@@ -400,12 +400,12 @@ async function symlinkDevSkill(skillFsName, destSkillsDir, cwd, pluginName, opti
|
|
|
400
400
|
*/
|
|
401
401
|
async function symlinkPluginSkills(srcPluginDir, destPluginDir, pluginName, cwd, options, logger) {
|
|
402
402
|
const installed = [];
|
|
403
|
-
const srcSkillsDir = join(srcPluginDir, 'skills');
|
|
403
|
+
const srcSkillsDir = safePath.join(srcPluginDir, 'skills');
|
|
404
404
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- controlled path
|
|
405
405
|
if (!existsSync(srcSkillsDir)) {
|
|
406
406
|
return installed;
|
|
407
407
|
}
|
|
408
|
-
const destSkillsDir = join(destPluginDir, 'skills');
|
|
408
|
+
const destSkillsDir = safePath.join(destPluginDir, 'skills');
|
|
409
409
|
if (!options.dryRun) {
|
|
410
410
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- controlled path
|
|
411
411
|
await mkdir(destSkillsDir, { recursive: true });
|
|
@@ -433,8 +433,8 @@ async function devInstallPlugin(ctx, cwd, options, logger) {
|
|
|
433
433
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- controlled path
|
|
434
434
|
for (const entry of readdirSync(srcPluginDir, { withFileTypes: true })) {
|
|
435
435
|
if (entry.name !== 'skills' && !options.dryRun) {
|
|
436
|
-
const srcEntry = join(srcPluginDir, entry.name);
|
|
437
|
-
const destEntry = join(destPluginDir, entry.name);
|
|
436
|
+
const srcEntry = safePath.join(srcPluginDir, entry.name);
|
|
437
|
+
const destEntry = safePath.join(destPluginDir, entry.name);
|
|
438
438
|
await cp(srcEntry, destEntry, { recursive: true, force: true });
|
|
439
439
|
}
|
|
440
440
|
}
|
|
@@ -450,7 +450,7 @@ async function devInstallPlugin(ctx, cwd, options, logger) {
|
|
|
450
450
|
*/
|
|
451
451
|
async function devInstallMarketplace(mpName, srcMpDir, packageInfo, cwd, options, logger) {
|
|
452
452
|
const paths = getClaudeUserPaths();
|
|
453
|
-
const destMpDir = join(paths.marketplacesDir, mpName);
|
|
453
|
+
const destMpDir = safePath.join(paths.marketplacesDir, mpName);
|
|
454
454
|
const installed = [];
|
|
455
455
|
if (!options.dryRun) {
|
|
456
456
|
await rm(destMpDir, { recursive: true, force: true });
|
|
@@ -462,18 +462,18 @@ async function devInstallMarketplace(mpName, srcMpDir, packageInfo, cwd, options
|
|
|
462
462
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- controlled path
|
|
463
463
|
for (const entry of readdirSync(srcMpDir, { withFileTypes: true })) {
|
|
464
464
|
if (entry.name !== 'plugins' && !options.dryRun) {
|
|
465
|
-
const srcEntry = join(srcMpDir, entry.name);
|
|
466
|
-
const destEntry = join(destMpDir, entry.name);
|
|
465
|
+
const srcEntry = safePath.join(srcMpDir, entry.name);
|
|
466
|
+
const destEntry = safePath.join(destMpDir, entry.name);
|
|
467
467
|
await cp(srcEntry, destEntry, { recursive: true, force: true });
|
|
468
468
|
}
|
|
469
469
|
}
|
|
470
|
-
const pluginsDir = join(srcMpDir, 'plugins');
|
|
470
|
+
const pluginsDir = safePath.join(srcMpDir, 'plugins');
|
|
471
471
|
for (const pluginName of listSubdirectories(pluginsDir)) {
|
|
472
472
|
const results = await devInstallPlugin({
|
|
473
473
|
mpName,
|
|
474
474
|
pluginName,
|
|
475
|
-
srcPluginDir: join(pluginsDir, pluginName),
|
|
476
|
-
destPluginDir: join(destMpDir, 'plugins', pluginName),
|
|
475
|
+
srcPluginDir: safePath.join(pluginsDir, pluginName),
|
|
476
|
+
destPluginDir: safePath.join(destMpDir, 'plugins', pluginName),
|
|
477
477
|
packageName: packageInfo.name,
|
|
478
478
|
version: packageInfo.version,
|
|
479
479
|
paths,
|
|
@@ -499,12 +499,12 @@ async function handleDevInstall(options, logger, startTime) {
|
|
|
499
499
|
'Use copy mode (omit --dev) or WSL for development.');
|
|
500
500
|
}
|
|
501
501
|
// --cwd only applies to --dev mode; other paths (npm postinstall, etc.) use process.cwd()
|
|
502
|
-
const cwd = options.cwd ? resolve(options.cwd) : process.cwd();
|
|
502
|
+
const cwd = options.cwd ? safePath.resolve(options.cwd) : process.cwd();
|
|
503
503
|
if (options.build) {
|
|
504
504
|
runBuild(cwd, logger);
|
|
505
505
|
}
|
|
506
506
|
// Check for pre-built plugin tree
|
|
507
|
-
const marketplacesDir = join(cwd, PLUGIN_MARKETPLACES_SUBPATH);
|
|
507
|
+
const marketplacesDir = safePath.join(cwd, PLUGIN_MARKETPLACES_SUBPATH);
|
|
508
508
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- cwd from CLI option or process.cwd()
|
|
509
509
|
if (!existsSync(marketplacesDir)) {
|
|
510
510
|
throw new Error(`Plugin tree not found at ${marketplacesDir}\n` +
|
|
@@ -512,7 +512,7 @@ async function handleDevInstall(options, logger, startTime) {
|
|
|
512
512
|
}
|
|
513
513
|
// Read package.json for package name/version
|
|
514
514
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- cwd from CLI option or process.cwd()
|
|
515
|
-
const pkgRaw = readFileSync(join(cwd, PACKAGE_JSON), 'utf-8');
|
|
515
|
+
const pkgRaw = readFileSync(safePath.join(cwd, PACKAGE_JSON), 'utf-8');
|
|
516
516
|
const packageJson = JSON.parse(pkgRaw);
|
|
517
517
|
logger.info(`📥 Dev-installing plugin tree from ${packageJson.name}`);
|
|
518
518
|
const packageInfo = { name: packageJson.name, version: packageJson.version ?? '0.0.0' };
|
|
@@ -524,7 +524,7 @@ async function handleDevInstall(options, logger, startTime) {
|
|
|
524
524
|
await executeReplaces(packageJson.vat.replaces, marketplaceNames, paths, options.dryRun ?? false, logger);
|
|
525
525
|
}
|
|
526
526
|
for (const mpName of listSubdirectories(marketplacesDir)) {
|
|
527
|
-
const srcMpDir = join(marketplacesDir, mpName);
|
|
527
|
+
const srcMpDir = safePath.join(marketplacesDir, mpName);
|
|
528
528
|
const results = await devInstallMarketplace(mpName, srcMpDir, packageInfo, cwd, options, logger);
|
|
529
529
|
installed.push(...results);
|
|
530
530
|
}
|
|
@@ -537,7 +537,7 @@ async function handleDevInstall(options, logger, startTime) {
|
|
|
537
537
|
*/
|
|
538
538
|
function runBuild(cwd, logger) {
|
|
539
539
|
logger.info('🔨 Building first (skills + plugin tree)...');
|
|
540
|
-
const binPath = resolve(join(import.meta.dirname, '../../../../bin/vat.js'));
|
|
540
|
+
const binPath = safePath.resolve(safePath.join(import.meta.dirname, '../../../../bin/vat.js'));
|
|
541
541
|
safeExecSync('node', [binPath, 'build'], {
|
|
542
542
|
cwd,
|
|
543
543
|
stdio: ['inherit', 'inherit', 'inherit'],
|
|
@@ -555,11 +555,13 @@ async function handleNpmPostinstall(options, logger, startTime) {
|
|
|
555
555
|
}
|
|
556
556
|
const cwd = process.cwd();
|
|
557
557
|
// Check for pre-built plugin tree (dist/.claude/plugins/marketplaces/)
|
|
558
|
-
const marketplacesDir = join(cwd, PLUGIN_MARKETPLACES_SUBPATH);
|
|
558
|
+
const marketplacesDir = safePath.join(cwd, PLUGIN_MARKETPLACES_SUBPATH);
|
|
559
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path constructed from validated cwd and constant subpath
|
|
559
560
|
const hasPluginTree = existsSync(marketplacesDir);
|
|
560
561
|
if (!options.userInstallWithoutPlugin) {
|
|
561
562
|
if (hasPluginTree) {
|
|
562
|
-
|
|
563
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path constructed from validated cwd and constant package.json name
|
|
564
|
+
const pkgRaw = readFileSync(safePath.join(cwd, PACKAGE_JSON), 'utf-8');
|
|
563
565
|
const packageJson = JSON.parse(pkgRaw);
|
|
564
566
|
logger.info(` Package: ${packageJson.name}@${packageJson.version ?? 'unknown'}`);
|
|
565
567
|
logger.info(` Plugin tree detected — copying to ~/.claude/plugins/`);
|
|
@@ -580,7 +582,7 @@ async function handleNpmPostinstall(options, logger, startTime) {
|
|
|
580
582
|
logger.info(` Package: ${packageJson.name}@${packageJson.version}`);
|
|
581
583
|
logger.info(` Skills found: ${skills.length}`);
|
|
582
584
|
for (const skillName of skills) {
|
|
583
|
-
const skillPath = join(cwd, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
585
|
+
const skillPath = safePath.join(cwd, 'dist', 'skills', skillNameToFsPath(skillName));
|
|
584
586
|
await installSkillFromPath(skillPath, skillName, options, logger);
|
|
585
587
|
}
|
|
586
588
|
const duration = Date.now() - startTime;
|
|
@@ -623,7 +625,7 @@ export async function executeReplaces(replaces, marketplaceNames, paths, dryRun,
|
|
|
623
625
|
await removeOldPlugins(replaces.plugins, marketplaceNames, paths, dryRun, logger);
|
|
624
626
|
// Remove legacy flat-skill installs from ~/.claude/skills/<name>
|
|
625
627
|
for (const skillName of replaces.flatSkills ?? []) {
|
|
626
|
-
const skillPath = join(paths.skillsDir, skillName);
|
|
628
|
+
const skillPath = safePath.join(paths.skillsDir, skillName);
|
|
627
629
|
let pathExists = false;
|
|
628
630
|
try {
|
|
629
631
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- derived from Claude user paths + skill name
|
|
@@ -660,8 +662,8 @@ async function copyPluginTree(marketplacesDir, packageJson, logger, dryRun) {
|
|
|
660
662
|
await executeReplaces(packageJson.vat.replaces, marketplaceNames, paths, dryRun ?? false, logger);
|
|
661
663
|
}
|
|
662
664
|
for (const mpName of marketplaceNames) {
|
|
663
|
-
const srcMpDir = join(marketplacesDir, mpName);
|
|
664
|
-
const destMpDir = join(paths.marketplacesDir, mpName);
|
|
665
|
+
const srcMpDir = safePath.join(marketplacesDir, mpName);
|
|
666
|
+
const destMpDir = safePath.join(paths.marketplacesDir, mpName);
|
|
665
667
|
// Replace the marketplace directory entirely so skills removed from the
|
|
666
668
|
// package do not persist in the user's Claude installation.
|
|
667
669
|
logger.info(` Copying marketplace: ${mpName} → ${destMpDir}`);
|
|
@@ -670,14 +672,14 @@ async function copyPluginTree(marketplacesDir, packageJson, logger, dryRun) {
|
|
|
670
672
|
await mkdir(destMpDir, { recursive: true });
|
|
671
673
|
await cp(srcMpDir, destMpDir, { recursive: true, force: true });
|
|
672
674
|
// Register each plugin and collect installed skill names
|
|
673
|
-
for (const pluginName of listSubdirectories(join(srcMpDir, 'plugins'))) {
|
|
674
|
-
const pluginDir = join(destMpDir, 'plugins', pluginName);
|
|
675
|
+
for (const pluginName of listSubdirectories(safePath.join(srcMpDir, 'plugins'))) {
|
|
676
|
+
const pluginDir = safePath.join(destMpDir, 'plugins', pluginName);
|
|
675
677
|
await registerPlugin(mpName, pluginName, pluginDir, version, packageJson.name, paths, logger);
|
|
676
|
-
const skillNames = listSubdirectories(join(srcMpDir, 'plugins', pluginName, 'skills'));
|
|
678
|
+
const skillNames = listSubdirectories(safePath.join(srcMpDir, 'plugins', pluginName, 'skills'));
|
|
677
679
|
for (const skillName of skillNames) {
|
|
678
680
|
installedSkills.push({
|
|
679
681
|
name: skillName,
|
|
680
|
-
installPath: join(destMpDir, 'plugins', pluginName, 'skills', skillName),
|
|
682
|
+
installPath: safePath.join(destMpDir, 'plugins', pluginName, 'skills', skillName),
|
|
681
683
|
});
|
|
682
684
|
}
|
|
683
685
|
}
|
|
@@ -689,7 +691,7 @@ async function copyPluginTree(marketplacesDir, packageJson, logger, dryRun) {
|
|
|
689
691
|
*/
|
|
690
692
|
async function prepareInstallation(skillName, options) {
|
|
691
693
|
const skillsDir = options.skillsDir ?? getClaudeUserPaths().skillsDir;
|
|
692
|
-
const installPath = join(skillsDir, skillName);
|
|
694
|
+
const installPath = safePath.join(skillsDir, skillName);
|
|
693
695
|
let exists = false;
|
|
694
696
|
try {
|
|
695
697
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Install path from config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// packages/cli/src/commands/claude/plugin/uninstall.ts
|
|
2
2
|
import { readFileSync } from 'node:fs';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
3
|
import { findPluginsByPackage, getClaudeUserPaths, uninstallPlugin } from '@vibe-agent-toolkit/claude-marketplace';
|
|
4
|
+
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { handleCommandError } from '../../../utils/command-error.js';
|
|
7
7
|
import { createLogger } from '../../../utils/logger.js';
|
|
@@ -94,7 +94,8 @@ async function pluginUninstallCommand(pluginKeyArg, options) {
|
|
|
94
94
|
function resolvePluginKeys(pluginKeyArg, options, logger) {
|
|
95
95
|
if (options.all) {
|
|
96
96
|
const cwd = process.cwd();
|
|
97
|
-
|
|
97
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path constructed from validated cwd and constant package.json name
|
|
98
|
+
const pkgRaw = readFileSync(safePath.join(cwd, 'package.json'), 'utf-8');
|
|
98
99
|
const pkg = JSON.parse(pkgRaw);
|
|
99
100
|
logger.info(`📦 Finding all plugins from ${pkg.name}...`);
|
|
100
101
|
return findPluginsByPackage(pkg.name, getClaudeUserPaths());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/uninstall.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/uninstall.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* - Version checks
|
|
8
8
|
*/
|
|
9
9
|
import { existsSync, readFileSync } from 'node:fs';
|
|
10
|
-
import {
|
|
11
|
-
import { getToolVersion } from '@vibe-agent-toolkit/utils';
|
|
10
|
+
import { getToolVersion, safePath } from '@vibe-agent-toolkit/utils';
|
|
12
11
|
import * as semver from 'semver';
|
|
13
12
|
import { findConfigPath, loadConfig } from '../utils/config-loader.js';
|
|
14
13
|
// Constants for check names and URLs
|
|
@@ -109,7 +108,7 @@ export function checkGitRepository() {
|
|
|
109
108
|
// Loop until we reach root (works on both Unix / and Windows C:\)
|
|
110
109
|
while (currentDir !== previousDir) {
|
|
111
110
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Dynamic path walking is required for git repo detection
|
|
112
|
-
if (existsSync(join(currentDir, '.git'))) {
|
|
111
|
+
if (existsSync(safePath.join(currentDir, '.git'))) {
|
|
113
112
|
return {
|
|
114
113
|
name: CHECK_NAME_GIT_REPOSITORY,
|
|
115
114
|
passed: true,
|
|
@@ -117,7 +116,7 @@ export function checkGitRepository() {
|
|
|
117
116
|
};
|
|
118
117
|
}
|
|
119
118
|
previousDir = currentDir;
|
|
120
|
-
currentDir = join(currentDir, '..');
|
|
119
|
+
currentDir = safePath.join(currentDir, '..');
|
|
121
120
|
}
|
|
122
121
|
return {
|
|
123
122
|
name: CHECK_NAME_GIT_REPOSITORY,
|
|
@@ -180,7 +179,7 @@ function checkSchemaFiles(collections, configDir) {
|
|
|
180
179
|
const schemaPath = collectionConfig.validation?.frontmatterSchema;
|
|
181
180
|
if (schemaPath) {
|
|
182
181
|
schemaFiles.push(schemaPath);
|
|
183
|
-
const absoluteSchemaPath = join(configDir, schemaPath);
|
|
182
|
+
const absoluteSchemaPath = safePath.join(configDir, schemaPath);
|
|
184
183
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- schemaPath is from validated config
|
|
185
184
|
if (!existsSync(absoluteSchemaPath)) {
|
|
186
185
|
missingSchemas.push(schemaPath);
|
|
@@ -205,7 +204,7 @@ export function checkConfigValid() {
|
|
|
205
204
|
}
|
|
206
205
|
try {
|
|
207
206
|
// loadConfig expects project root directory, not config file path
|
|
208
|
-
const configDir = join(configPath, '..');
|
|
207
|
+
const configDir = safePath.join(configPath, '..');
|
|
209
208
|
const config = loadConfig(configDir);
|
|
210
209
|
// Basic validation passed, now check collections and schema files
|
|
211
210
|
const collections = config?.resources?.collections;
|
|
@@ -341,14 +340,14 @@ function findProjectRoot() {
|
|
|
341
340
|
// Loop until we reach root (works on both Unix / and Windows C:\)
|
|
342
341
|
while (currentDir !== previousDir) {
|
|
343
342
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Dynamic path walking is required for project root detection
|
|
344
|
-
const hasConfig = existsSync(join(currentDir, 'vibe-agent-toolkit.config.yaml'));
|
|
343
|
+
const hasConfig = existsSync(safePath.join(currentDir, 'vibe-agent-toolkit.config.yaml'));
|
|
345
344
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Dynamic path walking is required for project root detection
|
|
346
|
-
const hasGit = existsSync(join(currentDir, '.git'));
|
|
345
|
+
const hasGit = existsSync(safePath.join(currentDir, '.git'));
|
|
347
346
|
if (hasConfig || hasGit) {
|
|
348
347
|
return currentDir;
|
|
349
348
|
}
|
|
350
349
|
previousDir = currentDir;
|
|
351
|
-
currentDir = join(currentDir, '..');
|
|
350
|
+
currentDir = safePath.join(currentDir, '..');
|
|
352
351
|
}
|
|
353
352
|
return null;
|
|
354
353
|
}
|
|
@@ -360,7 +359,7 @@ function isVatSourceTree() {
|
|
|
360
359
|
const projectRoot = findProjectRoot();
|
|
361
360
|
if (!projectRoot)
|
|
362
361
|
return false;
|
|
363
|
-
const cliPackagePath = join(projectRoot, 'packages/cli/package.json');
|
|
362
|
+
const cliPackagePath = safePath.join(projectRoot, 'packages/cli/package.json');
|
|
364
363
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Dynamic path for VAT source detection
|
|
365
364
|
if (!existsSync(cliPackagePath))
|
|
366
365
|
return false;
|
|
@@ -398,7 +397,7 @@ export function checkCliBuildSync() {
|
|
|
398
397
|
const runningPackage = JSON.parse(readFileSync(runningPackagePath, 'utf8'));
|
|
399
398
|
const runningVersion = runningPackage.version;
|
|
400
399
|
// Get source version
|
|
401
|
-
const sourcePackagePath = join(projectRoot, 'packages/cli/package.json');
|
|
400
|
+
const sourcePackagePath = safePath.join(projectRoot, 'packages/cli/package.json');
|
|
402
401
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Project root path construction
|
|
403
402
|
const sourcePackage = JSON.parse(readFileSync(sourcePackagePath, 'utf8'));
|
|
404
403
|
const sourceVersion = sourcePackage.version;
|