reskill 1.0.0 → 1.0.4

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 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkjBpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,SA6DvB,CAAC;AAEL,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAijBpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,SA6DvB,CAAC;AAEL,eAAe,cAAc,CAAC"}
package/dist/cli/index.js CHANGED
@@ -519,8 +519,9 @@ function installer_isPathSafe(basePath, targetPath) {
519
519
  const normalizedTarget = __WEBPACK_EXTERNAL_MODULE_node_path__.normalize(__WEBPACK_EXTERNAL_MODULE_node_path__.resolve(targetPath));
520
520
  return normalizedTarget.startsWith(normalizedBase + __WEBPACK_EXTERNAL_MODULE_node_path__.sep) || normalizedTarget === normalizedBase;
521
521
  }
522
- function installer_getCanonicalSkillsDir(isGlobal, cwd) {
522
+ function installer_getCanonicalSkillsDir(isGlobal, cwd, installDir) {
523
523
  const baseDir = isGlobal ? (0, __WEBPACK_EXTERNAL_MODULE_node_os__.homedir)() : cwd || process.cwd();
524
+ if (installDir && !isGlobal) return __WEBPACK_EXTERNAL_MODULE_node_path__.join(baseDir, installDir);
524
525
  return __WEBPACK_EXTERNAL_MODULE_node_path__.join(baseDir, installer_AGENTS_DIR, installer_SKILLS_SUBDIR);
525
526
  }
526
527
  function installer_ensureDir(dirPath) {
@@ -581,13 +582,15 @@ async function installer_createSymlink(target, linkPath) {
581
582
  class Installer {
582
583
  cwd;
583
584
  isGlobal;
585
+ installDir;
584
586
  constructor(options = {}){
585
587
  this.cwd = options.cwd || process.cwd();
586
588
  this.isGlobal = options.global || false;
589
+ this.installDir = options.installDir;
587
590
  }
588
591
  getCanonicalPath(skillName) {
589
592
  const sanitized = installer_sanitizeName(skillName);
590
- const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd);
593
+ const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd, this.installDir);
591
594
  return __WEBPACK_EXTERNAL_MODULE_node_path__.join(canonicalBase, sanitized);
592
595
  }
593
596
  getAgentSkillPath(skillName, agentType) {
@@ -600,7 +603,7 @@ class Installer {
600
603
  const agent = getAgentConfig(agentType);
601
604
  const installMode = options.mode || 'symlink';
602
605
  const sanitized = installer_sanitizeName(skillName);
603
- const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd);
606
+ const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd, this.installDir);
604
607
  const canonicalDir = __WEBPACK_EXTERNAL_MODULE_node_path__.join(canonicalBase, sanitized);
605
608
  const agentBase = this.isGlobal ? agent.globalSkillsDir : __WEBPACK_EXTERNAL_MODULE_node_path__.join(this.cwd, agent.skillsDir);
606
609
  const agentDir = __WEBPACK_EXTERNAL_MODULE_node_path__.join(agentBase, sanitized);
@@ -1288,8 +1291,11 @@ class SkillManager {
1288
1291
  getSkillPath(name) {
1289
1292
  const canonicalPath = __WEBPACK_EXTERNAL_MODULE_node_path__.join(this.getCanonicalSkillsDir(), name);
1290
1293
  if (exists(canonicalPath)) return canonicalPath;
1291
- const legacyPath = __WEBPACK_EXTERNAL_MODULE_node_path__.join(this.getInstallDir(), name);
1292
- if (exists(legacyPath)) return legacyPath;
1294
+ const installDir = this.getInstallDir();
1295
+ const installPath = __WEBPACK_EXTERNAL_MODULE_node_path__.join(installDir, name);
1296
+ if (exists(installPath)) return installPath;
1297
+ const defaults = this.config.getDefaults();
1298
+ if ('.skills' !== defaults.installDir && !this.isGlobal) return installPath;
1293
1299
  return canonicalPath;
1294
1300
  }
1295
1301
  async install(ref, options = {}) {
@@ -1534,9 +1540,11 @@ class SkillManager {
1534
1540
  const skillJson = readJson(skillJsonPath);
1535
1541
  if (skillJson.version) semanticVersion = skillJson.version;
1536
1542
  } catch {}
1543
+ const defaults = this.config.getDefaults();
1537
1544
  const installer = new Installer({
1538
1545
  cwd: this.projectRoot,
1539
- global: this.isGlobal
1546
+ global: this.isGlobal,
1547
+ installDir: defaults.installDir
1540
1548
  });
1541
1549
  const results = await installer.installToAgents(sourcePath, skillName, targetAgents, {
1542
1550
  mode: mode
@@ -1592,9 +1600,11 @@ class SkillManager {
1592
1600
  return Object.keys(agents);
1593
1601
  }
1594
1602
  uninstallFromAgents(name, targetAgents) {
1603
+ const defaults = this.config.getDefaults();
1595
1604
  const installer = new Installer({
1596
1605
  cwd: this.projectRoot,
1597
- global: this.isGlobal
1606
+ global: this.isGlobal,
1607
+ installDir: defaults.installDir
1598
1608
  });
1599
1609
  const results = installer.uninstallFromAgents(name, targetAgents);
1600
1610
  if (!this.isGlobal) this.lockManager.remove(name);
@@ -2574,12 +2584,9 @@ async function promptAgentSelection(availableAgents, initialValues, showHint = f
2574
2584
  return selected;
2575
2585
  }
2576
2586
  async function resolveInstallScope(ctx) {
2577
- const { options, hasSkillsJson, skipConfirm } = ctx;
2587
+ const { options, isReinstallAll, skipConfirm } = ctx;
2578
2588
  if (void 0 !== options.global) return options.global;
2579
- if (hasSkillsJson) {
2580
- __WEBPACK_EXTERNAL_MODULE__clack_prompts__.log.info(`Found ${__WEBPACK_EXTERNAL_MODULE_chalk__["default"].cyan('skills.json')}, installing to project`);
2581
- return false;
2582
- }
2589
+ if (isReinstallAll) return false;
2583
2590
  if (skipConfirm) return false;
2584
2591
  const scope = await __WEBPACK_EXTERNAL_MODULE__clack_prompts__.select({
2585
2592
  message: 'Installation scope',
@@ -39,6 +39,8 @@ export interface InstallerOptions {
39
39
  cwd?: string;
40
40
  /** Installation mode */
41
41
  mode?: InstallMode;
42
+ /** Custom installation directory (relative to cwd), overrides default .agents/skills */
43
+ installDir?: string;
42
44
  }
43
45
  /**
44
46
  * Default files to exclude when copying skills
@@ -55,9 +57,11 @@ export declare const EXCLUDE_PREFIX = "_";
55
57
  export declare class Installer {
56
58
  private cwd;
57
59
  private isGlobal;
60
+ private installDir?;
58
61
  constructor(options?: {
59
62
  cwd?: string;
60
63
  global?: boolean;
64
+ installDir?: string;
61
65
  });
62
66
  /**
63
67
  * Get canonical installation path
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAKD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAoD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AA+IlC;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO;IAK5D;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM3C;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAOlE;;;;;;;OAOG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,aAAa,CAAC;IAwFzB;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,EAAE,EACzB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAWzC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAK7D;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAWpE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;IAgB1F;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;CAapD;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAoD,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAyJlC;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAMjF;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM3C;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAOlE;;;;;;;OAOG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,aAAa,CAAC;IAwFzB;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,EAAE,EACzB,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAA;KAAO,GACnC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAWzC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAK7D;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO;IAWpE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;IAgB1F;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;CAapD;AAED,eAAe,SAAS,CAAC"}
@@ -53,7 +53,7 @@ export declare class SkillManager {
53
53
  /**
54
54
  * Get skill installation path
55
55
  *
56
- * Checks canonical location first, then falls back to legacy location.
56
+ * Checks canonical location first, then falls back to configured installDir.
57
57
  */
58
58
  getSkillPath(name: string): string;
59
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skill-manager.d.ts","sourceRoot":"","sources":["../../src/core/skill-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-manager.d.ts","sourceRoot":"","sources":["../../src/core/skill-manager.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -470,8 +470,9 @@ function installer_isPathSafe(basePath, targetPath) {
470
470
  const normalizedTarget = __WEBPACK_EXTERNAL_MODULE_node_path__.normalize(__WEBPACK_EXTERNAL_MODULE_node_path__.resolve(targetPath));
471
471
  return normalizedTarget.startsWith(normalizedBase + __WEBPACK_EXTERNAL_MODULE_node_path__.sep) || normalizedTarget === normalizedBase;
472
472
  }
473
- function installer_getCanonicalSkillsDir(isGlobal, cwd) {
473
+ function installer_getCanonicalSkillsDir(isGlobal, cwd, installDir) {
474
474
  const baseDir = isGlobal ? (0, __WEBPACK_EXTERNAL_MODULE_node_os__.homedir)() : cwd || process.cwd();
475
+ if (installDir && !isGlobal) return __WEBPACK_EXTERNAL_MODULE_node_path__.join(baseDir, installDir);
475
476
  return __WEBPACK_EXTERNAL_MODULE_node_path__.join(baseDir, installer_AGENTS_DIR, installer_SKILLS_SUBDIR);
476
477
  }
477
478
  function installer_ensureDir(dirPath) {
@@ -532,13 +533,15 @@ async function installer_createSymlink(target, linkPath) {
532
533
  class Installer {
533
534
  cwd;
534
535
  isGlobal;
536
+ installDir;
535
537
  constructor(options = {}){
536
538
  this.cwd = options.cwd || process.cwd();
537
539
  this.isGlobal = options.global || false;
540
+ this.installDir = options.installDir;
538
541
  }
539
542
  getCanonicalPath(skillName) {
540
543
  const sanitized = installer_sanitizeName(skillName);
541
- const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd);
544
+ const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd, this.installDir);
542
545
  return __WEBPACK_EXTERNAL_MODULE_node_path__.join(canonicalBase, sanitized);
543
546
  }
544
547
  getAgentSkillPath(skillName, agentType) {
@@ -551,7 +554,7 @@ class Installer {
551
554
  const agent = getAgentConfig(agentType);
552
555
  const installMode = options.mode || 'symlink';
553
556
  const sanitized = installer_sanitizeName(skillName);
554
- const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd);
557
+ const canonicalBase = installer_getCanonicalSkillsDir(this.isGlobal, this.cwd, this.installDir);
555
558
  const canonicalDir = __WEBPACK_EXTERNAL_MODULE_node_path__.join(canonicalBase, sanitized);
556
559
  const agentBase = this.isGlobal ? agent.globalSkillsDir : __WEBPACK_EXTERNAL_MODULE_node_path__.join(this.cwd, agent.skillsDir);
557
560
  const agentDir = __WEBPACK_EXTERNAL_MODULE_node_path__.join(agentBase, sanitized);
@@ -1280,8 +1283,11 @@ class SkillManager {
1280
1283
  getSkillPath(name) {
1281
1284
  const canonicalPath = __WEBPACK_EXTERNAL_MODULE_node_path__.join(this.getCanonicalSkillsDir(), name);
1282
1285
  if (exists(canonicalPath)) return canonicalPath;
1283
- const legacyPath = __WEBPACK_EXTERNAL_MODULE_node_path__.join(this.getInstallDir(), name);
1284
- if (exists(legacyPath)) return legacyPath;
1286
+ const installDir = this.getInstallDir();
1287
+ const installPath = __WEBPACK_EXTERNAL_MODULE_node_path__.join(installDir, name);
1288
+ if (exists(installPath)) return installPath;
1289
+ const defaults = this.config.getDefaults();
1290
+ if ('.skills' !== defaults.installDir && !this.isGlobal) return installPath;
1285
1291
  return canonicalPath;
1286
1292
  }
1287
1293
  async install(ref, options = {}) {
@@ -1526,9 +1532,11 @@ class SkillManager {
1526
1532
  const skillJson = readJson(skillJsonPath);
1527
1533
  if (skillJson.version) semanticVersion = skillJson.version;
1528
1534
  } catch {}
1535
+ const defaults = this.config.getDefaults();
1529
1536
  const installer = new Installer({
1530
1537
  cwd: this.projectRoot,
1531
- global: this.isGlobal
1538
+ global: this.isGlobal,
1539
+ installDir: defaults.installDir
1532
1540
  });
1533
1541
  const results = await installer.installToAgents(sourcePath, skillName, targetAgents, {
1534
1542
  mode: mode
@@ -1584,9 +1592,11 @@ class SkillManager {
1584
1592
  return Object.keys(agents);
1585
1593
  }
1586
1594
  uninstallFromAgents(name, targetAgents) {
1595
+ const defaults = this.config.getDefaults();
1587
1596
  const installer = new Installer({
1588
1597
  cwd: this.projectRoot,
1589
- global: this.isGlobal
1598
+ global: this.isGlobal,
1599
+ installDir: defaults.installDir
1590
1600
  });
1591
1601
  const results = installer.uninstallFromAgents(name, targetAgents);
1592
1602
  if (!this.isGlobal) this.lockManager.remove(name);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reskill",
3
- "version": "1.0.0",
3
+ "version": "1.0.4",
4
4
  "description": "AI Skills Package Manager - Git-based skills management for AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,11 +39,11 @@
39
39
  "license": "MIT",
40
40
  "repository": {
41
41
  "type": "git",
42
- "url": "https://github.com/kanyun-ai-infra/reskill.git"
42
+ "url": "https://github.com/kanyun-inc/reskill.git"
43
43
  },
44
- "homepage": "https://github.com/kanyun-ai-infra/reskill#readme",
44
+ "homepage": "https://github.com/kanyun-inc/reskill#readme",
45
45
  "bugs": {
46
- "url": "https://github.com/kanyun-ai-infra/reskill/issues"
46
+ "url": "https://github.com/kanyun-inc/reskill/issues"
47
47
  },
48
48
  "dependencies": {
49
49
  "@clack/prompts": "^0.9.1",