agent-skills-cli 1.0.9 → 1.1.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.
Files changed (94) hide show
  1. package/README.md +110 -14
  2. package/dist/__tests__/git-auth.test.d.ts +11 -0
  3. package/dist/__tests__/git-auth.test.d.ts.map +1 -0
  4. package/dist/__tests__/git-auth.test.js +160 -0
  5. package/dist/__tests__/git-auth.test.js.map +1 -0
  6. package/dist/__tests__/skill-lock.test.d.ts +8 -0
  7. package/dist/__tests__/skill-lock.test.d.ts.map +1 -0
  8. package/dist/__tests__/skill-lock.test.js +104 -0
  9. package/dist/__tests__/skill-lock.test.js.map +1 -0
  10. package/dist/__tests__/skillsrc.test.d.ts +11 -0
  11. package/dist/__tests__/skillsrc.test.d.ts.map +1 -0
  12. package/dist/__tests__/skillsrc.test.js +185 -0
  13. package/dist/__tests__/skillsrc.test.js.map +1 -0
  14. package/dist/__tests__/source-parser.test.d.ts +16 -0
  15. package/dist/__tests__/source-parser.test.d.ts.map +1 -0
  16. package/dist/__tests__/source-parser.test.js +231 -0
  17. package/dist/__tests__/source-parser.test.js.map +1 -0
  18. package/dist/adapters/adapter.d.ts +51 -0
  19. package/dist/adapters/adapter.d.ts.map +1 -0
  20. package/dist/adapters/adapter.js +51 -0
  21. package/dist/adapters/adapter.js.map +1 -0
  22. package/dist/adapters/claude.d.ts +16 -0
  23. package/dist/adapters/claude.d.ts.map +1 -0
  24. package/dist/adapters/claude.js +30 -0
  25. package/dist/adapters/claude.js.map +1 -0
  26. package/dist/adapters/copilot.d.ts +16 -0
  27. package/dist/adapters/copilot.d.ts.map +1 -0
  28. package/dist/adapters/copilot.js +32 -0
  29. package/dist/adapters/copilot.js.map +1 -0
  30. package/dist/adapters/cursor.d.ts +17 -0
  31. package/dist/adapters/cursor.d.ts.map +1 -0
  32. package/dist/adapters/cursor.js +34 -0
  33. package/dist/adapters/cursor.js.map +1 -0
  34. package/dist/adapters/index.d.ts +11 -0
  35. package/dist/adapters/index.d.ts.map +1 -0
  36. package/dist/adapters/index.js +10 -0
  37. package/dist/adapters/index.js.map +1 -0
  38. package/dist/adapters/universal.d.ts +12 -0
  39. package/dist/adapters/universal.d.ts.map +1 -0
  40. package/dist/adapters/universal.js +16 -0
  41. package/dist/adapters/universal.js.map +1 -0
  42. package/dist/cli/agents.d.ts +11 -0
  43. package/dist/cli/agents.d.ts.map +1 -1
  44. package/dist/cli/agents.js +47 -0
  45. package/dist/cli/agents.js.map +1 -1
  46. package/dist/cli/commands/convert.d.ts.map +1 -1
  47. package/dist/cli/commands/convert.js +16 -65
  48. package/dist/cli/commands/convert.js.map +1 -1
  49. package/dist/cli/commands/export.d.ts.map +1 -1
  50. package/dist/cli/commands/export.js +15 -7
  51. package/dist/cli/commands/export.js.map +1 -1
  52. package/dist/cli/commands/install.d.ts +8 -0
  53. package/dist/cli/commands/install.d.ts.map +1 -1
  54. package/dist/cli/commands/install.js +203 -90
  55. package/dist/cli/commands/install.js.map +1 -1
  56. package/dist/cli/commands/score.d.ts +10 -0
  57. package/dist/cli/commands/score.d.ts.map +1 -0
  58. package/dist/cli/commands/score.js +91 -0
  59. package/dist/cli/commands/score.js.map +1 -0
  60. package/dist/cli/commands/show.d.ts.map +1 -1
  61. package/dist/cli/commands/show.js +8 -0
  62. package/dist/cli/commands/show.js.map +1 -1
  63. package/dist/cli/commands/submit-repo.d.ts +11 -0
  64. package/dist/cli/commands/submit-repo.d.ts.map +1 -0
  65. package/dist/cli/commands/submit-repo.js +133 -0
  66. package/dist/cli/commands/submit-repo.js.map +1 -0
  67. package/dist/cli/commands/submit.d.ts.map +1 -1
  68. package/dist/cli/commands/submit.js +10 -0
  69. package/dist/cli/commands/submit.js.map +1 -1
  70. package/dist/cli/index.js +4 -0
  71. package/dist/cli/index.js.map +1 -1
  72. package/dist/core/git-auth.d.ts +74 -0
  73. package/dist/core/git-auth.d.ts.map +1 -0
  74. package/dist/core/git-auth.js +299 -0
  75. package/dist/core/git-auth.js.map +1 -0
  76. package/dist/core/index.d.ts +6 -0
  77. package/dist/core/index.d.ts.map +1 -1
  78. package/dist/core/index.js +7 -1
  79. package/dist/core/index.js.map +1 -1
  80. package/dist/core/quality.d.ts +48 -0
  81. package/dist/core/quality.d.ts.map +1 -0
  82. package/dist/core/quality.js +241 -0
  83. package/dist/core/quality.js.map +1 -0
  84. package/dist/core/skill-lock.d.ts +1 -1
  85. package/dist/core/skill-lock.d.ts.map +1 -1
  86. package/dist/core/skillsrc.d.ts +65 -0
  87. package/dist/core/skillsrc.d.ts.map +1 -0
  88. package/dist/core/skillsrc.js +161 -0
  89. package/dist/core/skillsrc.js.map +1 -0
  90. package/dist/core/source-parser.d.ts +9 -1
  91. package/dist/core/source-parser.d.ts.map +1 -1
  92. package/dist/core/source-parser.js +85 -6
  93. package/dist/core/source-parser.js.map +1 -1
  94. package/package.json +9 -3
@@ -0,0 +1,161 @@
1
+ /**
2
+ * .skillsrc Configuration File Module
3
+ *
4
+ * Supports project-level and user-level configuration for skill sources,
5
+ * registries, and installation defaults.
6
+ *
7
+ * Search order:
8
+ * 1. cwd/.skillsrc (YAML/JSON)
9
+ * 2. cwd/.skillsrc.json
10
+ * 3. ~/.skillsrc
11
+ * 4. ~/.skillsrc.json
12
+ */
13
+ import { readFile } from 'fs/promises';
14
+ import { existsSync } from 'fs';
15
+ import { join } from 'path';
16
+ import { homedir } from 'os';
17
+ // ─── Config File Loading ─────────────────────────────────────────────
18
+ /**
19
+ * Try to parse a file as JSON or simple YAML-like key-value format
20
+ */
21
+ async function parseConfigFile(filePath) {
22
+ try {
23
+ const content = await readFile(filePath, 'utf-8');
24
+ const trimmed = content.trim();
25
+ // Try JSON first
26
+ if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
27
+ return JSON.parse(trimmed);
28
+ }
29
+ // Try JSON (sometimes files don't start with { if they have comments)
30
+ try {
31
+ return JSON.parse(trimmed);
32
+ }
33
+ catch {
34
+ // Not JSON — try simple YAML-like format
35
+ }
36
+ // Simple YAML-like parsing (handles common cases)
37
+ return parseSimpleYaml(trimmed);
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * Parse a simple YAML-like format for .skillsrc files
45
+ * Handles nested objects and arrays with basic indentation
46
+ */
47
+ function parseSimpleYaml(content) {
48
+ try {
49
+ const result = {};
50
+ const lines = content.split('\n').filter(l => l.trim() && !l.trim().startsWith('#'));
51
+ let currentSection = null;
52
+ let currentSource = null;
53
+ for (const line of lines) {
54
+ const trimmed = line.trim();
55
+ const indent = line.length - line.trimStart().length;
56
+ // Top-level section
57
+ if (indent === 0 && trimmed.endsWith(':')) {
58
+ currentSection = trimmed.slice(0, -1);
59
+ if (currentSection === 'sources') {
60
+ result.sources = result.sources || [];
61
+ }
62
+ else if (currentSection === 'defaults') {
63
+ result.defaults = result.defaults || {};
64
+ }
65
+ currentSource = null;
66
+ continue;
67
+ }
68
+ // Array item (- prefix)
69
+ if (trimmed.startsWith('- ') && currentSection === 'sources') {
70
+ if (currentSource && Object.keys(currentSource).length > 0) {
71
+ result.sources.push(currentSource);
72
+ }
73
+ currentSource = {};
74
+ const kv = trimmed.slice(2).trim();
75
+ if (kv.includes(':')) {
76
+ const [key, ...rest] = kv.split(':');
77
+ const value = rest.join(':').trim();
78
+ currentSource[key.trim()] = value;
79
+ }
80
+ continue;
81
+ }
82
+ // Key-value pair within current context
83
+ if (trimmed.includes(':') && !trimmed.startsWith('#')) {
84
+ const [key, ...rest] = trimmed.split(':');
85
+ const value = rest.join(':').trim();
86
+ if (currentSource && indent >= 4) {
87
+ currentSource[key.trim()] = value === 'true' ? true : value === 'false' ? false : value;
88
+ }
89
+ else if (currentSection === 'defaults' && result.defaults) {
90
+ const k = key.trim();
91
+ if (k === 'global') {
92
+ result.defaults.global = value === 'true';
93
+ }
94
+ else if (k === 'agents') {
95
+ result.defaults.agents = value.split(',').map(a => a.trim()).filter(Boolean);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ // Push last source
101
+ if (currentSource && Object.keys(currentSource).length > 0) {
102
+ result.sources = result.sources || [];
103
+ result.sources.push(currentSource);
104
+ }
105
+ return Object.keys(result).length > 0 ? result : null;
106
+ }
107
+ catch {
108
+ return null;
109
+ }
110
+ }
111
+ // ─── Main API ────────────────────────────────────────────────────────
112
+ /**
113
+ * Load .skillsrc configuration from project or user directory
114
+ *
115
+ * Searches in order:
116
+ * 1. cwd/.skillsrc
117
+ * 2. cwd/.skillsrc.json
118
+ * 3. ~/.skillsrc
119
+ * 4. ~/.skillsrc.json
120
+ *
121
+ * Returns the first valid config found, or null if none exist.
122
+ */
123
+ export async function loadSkillsRC(cwd) {
124
+ const searchDirs = [
125
+ cwd || process.cwd(),
126
+ homedir(),
127
+ ];
128
+ const fileNames = ['.skillsrc', '.skillsrc.json'];
129
+ for (const dir of searchDirs) {
130
+ for (const fileName of fileNames) {
131
+ const filePath = join(dir, fileName);
132
+ if (existsSync(filePath)) {
133
+ const config = await parseConfigFile(filePath);
134
+ if (config)
135
+ return config;
136
+ }
137
+ }
138
+ }
139
+ return null;
140
+ }
141
+ /**
142
+ * Get all configured sources from .skillsrc, optionally filtered by type
143
+ */
144
+ export function getSourcesByType(config, type) {
145
+ return (config.sources || []).filter(s => s.type === type);
146
+ }
147
+ /**
148
+ * Get the npm registry URL for a given scope from .skillsrc
149
+ */
150
+ export function getRegistryForScope(config, scope) {
151
+ const source = (config.sources || []).find(s => s.type === 'npm' && s.scope === scope);
152
+ return source?.registry;
153
+ }
154
+ /**
155
+ * Get the auth env var for a given source URL
156
+ */
157
+ export function getAuthEnvVar(config, url) {
158
+ const source = (config.sources || []).find(s => s.url && url.includes(s.url));
159
+ return source?.envVar;
160
+ }
161
+ //# sourceMappingURL=skillsrc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillsrc.js","sourceRoot":"","sources":["../../src/core/skillsrc.ts"],"names":[],"mappings":"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"}
@@ -7,15 +7,23 @@
7
7
  * - GitHub URLs: https://github.com/owner/repo
8
8
  * - GitHub shorthand: owner/repo
9
9
  * - GitLab URLs: https://gitlab.com/owner/repo
10
+ * - Bitbucket URLs: https://bitbucket.org/owner/repo
11
+ * - SSH URLs: git@host:owner/repo.git
12
+ * - npm packages: npm:@scope/package
13
+ * - Custom/self-hosted Git: https://git.company.com/team/repo
10
14
  * - Direct SKILL.md URLs
11
15
  * - Generic git URLs
12
16
  */
13
17
  export interface ParsedSource {
14
- type: 'local' | 'github' | 'gitlab' | 'git' | 'direct-url' | 'well-known';
18
+ type: 'local' | 'github' | 'gitlab' | 'bitbucket' | 'npm' | 'private-git' | 'direct-url' | 'well-known';
15
19
  url: string;
16
20
  localPath?: string;
17
21
  ref?: string;
18
22
  subpath?: string;
23
+ /** npm registry URL (for npm sources) */
24
+ registry?: string;
25
+ /** SSH host (for SSH URLs) */
26
+ sshHost?: string;
19
27
  }
20
28
  /**
21
29
  * Parse a source string into a structured format
@@ -1 +1 @@
1
- {"version":3,"file":"source-parser.d.ts","sourceRoot":"","sources":["../../src/core/source-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AA2CD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAiHvD;AAwCD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAYhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAUvE"}
1
+ {"version":3,"file":"source-parser.d.ts","sourceRoot":"","sources":["../../src/core/source-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;IACxG,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AA2CD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAiLvD;AAkDD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAkBhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAYvE"}
@@ -7,6 +7,10 @@
7
7
  * - GitHub URLs: https://github.com/owner/repo
8
8
  * - GitHub shorthand: owner/repo
9
9
  * - GitLab URLs: https://gitlab.com/owner/repo
10
+ * - Bitbucket URLs: https://bitbucket.org/owner/repo
11
+ * - SSH URLs: git@host:owner/repo.git
12
+ * - npm packages: npm:@scope/package
13
+ * - Custom/self-hosted Git: https://git.company.com/team/repo
10
14
  * - Direct SKILL.md URLs
11
15
  * - Generic git URLs
12
16
  */
@@ -49,6 +53,26 @@ function isDirectSkillUrl(input) {
49
53
  * Parse a source string into a structured format
50
54
  */
51
55
  export function parseSource(input) {
56
+ // npm package: npm:@scope/package or npm:package-name
57
+ const npmMatch = input.match(/^npm:(.+)$/);
58
+ if (npmMatch) {
59
+ return {
60
+ type: 'npm',
61
+ url: npmMatch[1],
62
+ };
63
+ }
64
+ // SSH URL: git@hostname:owner/repo.git
65
+ const sshMatch = input.match(/^git@([^:]+):(.+?)(?:\.git)?$/);
66
+ if (sshMatch) {
67
+ const [, host, path] = sshMatch;
68
+ const parts = path.split('/');
69
+ return {
70
+ type: 'private-git',
71
+ url: input,
72
+ sshHost: host,
73
+ subpath: parts.length > 2 ? parts.slice(2).join('/') : undefined,
74
+ };
75
+ }
52
76
  // Local path: absolute, relative, or current directory
53
77
  if (isLocalPath(input)) {
54
78
  const resolvedPath = resolve(input);
@@ -127,6 +151,37 @@ export function parseSource(input) {
127
151
  url: `https://gitlab.com/${owner}/${cleanRepo}.git`,
128
152
  };
129
153
  }
154
+ // Bitbucket URL with path: https://bitbucket.org/owner/repo/src/branch/path
155
+ const bitbucketSrcMatch = input.match(/bitbucket\.org\/([^/]+)\/([^/]+)\/src\/([^/]+)\/(.+)/);
156
+ if (bitbucketSrcMatch) {
157
+ const [, owner, repo, ref, subpath] = bitbucketSrcMatch;
158
+ return {
159
+ type: 'bitbucket',
160
+ url: `https://bitbucket.org/${owner}/${repo}.git`,
161
+ ref,
162
+ subpath,
163
+ };
164
+ }
165
+ // Bitbucket URL with branch: https://bitbucket.org/owner/repo/src/branch
166
+ const bitbucketBranchMatch = input.match(/bitbucket\.org\/([^/]+)\/([^/]+)\/src\/([^/]+)$/);
167
+ if (bitbucketBranchMatch) {
168
+ const [, owner, repo, ref] = bitbucketBranchMatch;
169
+ return {
170
+ type: 'bitbucket',
171
+ url: `https://bitbucket.org/${owner}/${repo}.git`,
172
+ ref,
173
+ };
174
+ }
175
+ // Bitbucket URL: https://bitbucket.org/owner/repo
176
+ const bitbucketRepoMatch = input.match(/bitbucket\.org\/([^/]+)\/([^/]+)/);
177
+ if (bitbucketRepoMatch) {
178
+ const [, owner, repo] = bitbucketRepoMatch;
179
+ const cleanRepo = repo.replace(/\.git$/, '');
180
+ return {
181
+ type: 'bitbucket',
182
+ url: `https://bitbucket.org/${owner}/${cleanRepo}.git`,
183
+ };
184
+ }
130
185
  // GitHub shorthand: owner/repo or owner/repo/path/to/skill
131
186
  const shorthandMatch = input.match(/^([^/]+)\/([^/]+)(?:\/(.+))?$/);
132
187
  if (shorthandMatch && !input.includes(':') && !input.startsWith('.') && !input.startsWith('/')) {
@@ -137,16 +192,23 @@ export function parseSource(input) {
137
192
  subpath,
138
193
  };
139
194
  }
140
- // Well-known skills: arbitrary HTTP(S) URLs that aren't GitHub/GitLab
195
+ // Well-known skills: arbitrary HTTP(S) URLs that aren't GitHub/GitLab/Bitbucket
141
196
  if (isWellKnownUrl(input)) {
142
197
  return {
143
198
  type: 'well-known',
144
199
  url: input,
145
200
  };
146
201
  }
147
- // Fallback: treat as direct git URL
202
+ // Custom/self-hosted Git HTTPS URL (not a known host)
203
+ if (input.startsWith('http://') || input.startsWith('https://')) {
204
+ return {
205
+ type: 'private-git',
206
+ url: input,
207
+ };
208
+ }
209
+ // Fallback: treat as generic git URL
148
210
  return {
149
- type: 'git',
211
+ type: 'private-git',
150
212
  url: input,
151
213
  };
152
214
  }
@@ -163,6 +225,7 @@ function isWellKnownUrl(input) {
163
225
  const excludedHosts = [
164
226
  'github.com',
165
227
  'gitlab.com',
228
+ 'bitbucket.org',
166
229
  'huggingface.co',
167
230
  'raw.githubusercontent.com',
168
231
  ];
@@ -177,7 +240,16 @@ function isWellKnownUrl(input) {
177
240
  if (input.endsWith('.git')) {
178
241
  return false;
179
242
  }
180
- return true;
243
+ // Only match if the URL explicitly has a well-known or skills path
244
+ // This prevents arbitrary HTTPS URLs from being classified as well-known
245
+ // instead of private-git
246
+ const wellKnownPatterns = [
247
+ '/.well-known/skills',
248
+ '/.well-known/agent-skills',
249
+ '/skills.json',
250
+ '/skill-registry',
251
+ ];
252
+ return wellKnownPatterns.some(pattern => parsed.pathname.includes(pattern));
181
253
  }
182
254
  catch {
183
255
  return false;
@@ -191,10 +263,15 @@ export function getOwnerRepo(parsed) {
191
263
  return null;
192
264
  }
193
265
  // Extract from git URL: https://github.com/owner/repo.git or similar
194
- const match = parsed.url.match(/(?:github|gitlab)\.com\/([^/]+)\/([^/]+?)(?:\.git)?$/);
266
+ const match = parsed.url.match(/(?:github|gitlab|bitbucket)\.(?:com|org)\/([^/]+)\/([^/]+?)(?:\.git)?$/);
195
267
  if (match) {
196
268
  return `${match[1]}/${match[2]}`;
197
269
  }
270
+ // Extract from SSH URL: git@host:owner/repo.git
271
+ const sshOwnerRepo = parsed.url.match(/^git@[^:]+:([^/]+)\/([^/]+?)(?:\.git)?$/);
272
+ if (sshOwnerRepo) {
273
+ return `${sshOwnerRepo[1]}/${sshOwnerRepo[2]}`;
274
+ }
198
275
  return null;
199
276
  }
200
277
  /**
@@ -205,9 +282,11 @@ export function getSourceTypeDisplay(type) {
205
282
  case 'local': return 'Local';
206
283
  case 'github': return 'GitHub';
207
284
  case 'gitlab': return 'GitLab';
285
+ case 'bitbucket': return 'Bitbucket';
286
+ case 'npm': return 'npm';
287
+ case 'private-git': return 'Private Git';
208
288
  case 'direct-url': return 'Direct URL';
209
289
  case 'well-known': return 'Well-Known';
210
- case 'git': return 'Git';
211
290
  default: return 'Unknown';
212
291
  }
213
292
  }
@@ -1 +1 @@
1
- {"version":3,"file":"source-parser.js","sourceRoot":"","sources":["../../src/core/source-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-parser.js","sourceRoot":"","sources":["../../src/core/source-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-skills-cli",
3
- "version": "1.0.9",
4
- "description": "Universal CLI for Agent Skills - works with 42 AI agents including Cursor, Claude Code, GitHub Copilot, Windsurf, Cline, Zed, and more",
3
+ "version": "1.1.1",
4
+ "description": "Universal CLI for Agent Skills - works with 42 AI agents including Cursor, Claude Code, GitHub Copilot, Windsurf, Cline, Zed, and more. Supports private Git repos, npm packages, and enterprise configurations.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -26,7 +26,13 @@
26
26
  "github-copilot",
27
27
  "openai-codex",
28
28
  "skills",
29
- "marketplace"
29
+ "marketplace",
30
+ "private-git",
31
+ "npm-packages",
32
+ "bitbucket",
33
+ "ssh",
34
+ "enterprise",
35
+ "skillsrc"
30
36
  ],
31
37
  "author": "Karanjot786",
32
38
  "license": "MIT",