agent-skills-cli 1.0.8 → 1.1.0

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 (178) hide show
  1. package/README.md +44 -19
  2. package/dist/adapters/adapter.d.ts +51 -0
  3. package/dist/adapters/adapter.d.ts.map +1 -0
  4. package/dist/adapters/adapter.js +51 -0
  5. package/dist/adapters/adapter.js.map +1 -0
  6. package/dist/adapters/claude.d.ts +16 -0
  7. package/dist/adapters/claude.d.ts.map +1 -0
  8. package/dist/adapters/claude.js +30 -0
  9. package/dist/adapters/claude.js.map +1 -0
  10. package/dist/adapters/copilot.d.ts +16 -0
  11. package/dist/adapters/copilot.d.ts.map +1 -0
  12. package/dist/adapters/copilot.js +32 -0
  13. package/dist/adapters/copilot.js.map +1 -0
  14. package/dist/adapters/cursor.d.ts +17 -0
  15. package/dist/adapters/cursor.d.ts.map +1 -0
  16. package/dist/adapters/cursor.js +34 -0
  17. package/dist/adapters/cursor.js.map +1 -0
  18. package/dist/adapters/index.d.ts +11 -0
  19. package/dist/adapters/index.d.ts.map +1 -0
  20. package/dist/adapters/index.js +10 -0
  21. package/dist/adapters/index.js.map +1 -0
  22. package/dist/adapters/universal.d.ts +12 -0
  23. package/dist/adapters/universal.d.ts.map +1 -0
  24. package/dist/adapters/universal.js +16 -0
  25. package/dist/adapters/universal.js.map +1 -0
  26. package/dist/cli/agents.d.ts +21 -0
  27. package/dist/cli/agents.d.ts.map +1 -0
  28. package/dist/cli/agents.js +317 -0
  29. package/dist/cli/agents.js.map +1 -0
  30. package/dist/cli/commands/audit.d.ts +11 -0
  31. package/dist/cli/commands/audit.d.ts.map +1 -0
  32. package/dist/cli/commands/audit.js +168 -0
  33. package/dist/cli/commands/audit.js.map +1 -0
  34. package/dist/cli/commands/blueprint.d.ts +11 -0
  35. package/dist/cli/commands/blueprint.d.ts.map +1 -0
  36. package/dist/cli/commands/blueprint.js +210 -0
  37. package/dist/cli/commands/blueprint.js.map +1 -0
  38. package/dist/cli/commands/bootstrap.d.ts +11 -0
  39. package/dist/cli/commands/bootstrap.d.ts.map +1 -0
  40. package/dist/cli/commands/bootstrap.js +267 -0
  41. package/dist/cli/commands/bootstrap.js.map +1 -0
  42. package/dist/cli/commands/capture.d.ts +11 -0
  43. package/dist/cli/commands/capture.d.ts.map +1 -0
  44. package/dist/cli/commands/capture.js +109 -0
  45. package/dist/cli/commands/capture.js.map +1 -0
  46. package/dist/cli/commands/ci.d.ts +11 -0
  47. package/dist/cli/commands/ci.d.ts.map +1 -0
  48. package/dist/cli/commands/ci.js +144 -0
  49. package/dist/cli/commands/ci.js.map +1 -0
  50. package/dist/cli/commands/collab.d.ts +11 -0
  51. package/dist/cli/commands/collab.d.ts.map +1 -0
  52. package/dist/cli/commands/collab.js +196 -0
  53. package/dist/cli/commands/collab.js.map +1 -0
  54. package/dist/cli/commands/convert.d.ts +11 -0
  55. package/dist/cli/commands/convert.d.ts.map +1 -0
  56. package/dist/cli/commands/convert.js +170 -0
  57. package/dist/cli/commands/convert.js.map +1 -0
  58. package/dist/cli/commands/craft.d.ts +18 -0
  59. package/dist/cli/commands/craft.d.ts.map +1 -0
  60. package/dist/cli/commands/craft.js +205 -0
  61. package/dist/cli/commands/craft.js.map +1 -0
  62. package/dist/cli/commands/export.d.ts +9 -0
  63. package/dist/cli/commands/export.d.ts.map +1 -0
  64. package/dist/cli/commands/export.js +111 -0
  65. package/dist/cli/commands/export.js.map +1 -0
  66. package/dist/cli/commands/forge.d.ts +11 -0
  67. package/dist/cli/commands/forge.d.ts.map +1 -0
  68. package/dist/cli/commands/forge.js +152 -0
  69. package/dist/cli/commands/forge.js.map +1 -0
  70. package/dist/cli/commands/grid.d.ts +11 -0
  71. package/dist/cli/commands/grid.d.ts.map +1 -0
  72. package/dist/cli/commands/grid.js +217 -0
  73. package/dist/cli/commands/grid.js.map +1 -0
  74. package/dist/cli/commands/insight.d.ts +7 -0
  75. package/dist/cli/commands/insight.d.ts.map +1 -0
  76. package/dist/cli/commands/insight.js +71 -0
  77. package/dist/cli/commands/insight.js.map +1 -0
  78. package/dist/cli/commands/install.d.ts +6 -0
  79. package/dist/cli/commands/install.d.ts.map +1 -0
  80. package/dist/cli/commands/install.js +359 -0
  81. package/dist/cli/commands/install.js.map +1 -0
  82. package/dist/cli/commands/interactive.d.ts +7 -0
  83. package/dist/cli/commands/interactive.d.ts.map +1 -0
  84. package/dist/cli/commands/interactive.js +535 -0
  85. package/dist/cli/commands/interactive.js.map +1 -0
  86. package/dist/cli/commands/list.d.ts +6 -0
  87. package/dist/cli/commands/list.d.ts.map +1 -0
  88. package/dist/cli/commands/list.js +77 -0
  89. package/dist/cli/commands/list.js.map +1 -0
  90. package/dist/cli/commands/lockspec.d.ts +11 -0
  91. package/dist/cli/commands/lockspec.d.ts.map +1 -0
  92. package/dist/cli/commands/lockspec.js +179 -0
  93. package/dist/cli/commands/lockspec.js.map +1 -0
  94. package/dist/cli/commands/marketplace.d.ts +7 -0
  95. package/dist/cli/commands/marketplace.d.ts.map +1 -0
  96. package/dist/cli/commands/marketplace.js +417 -0
  97. package/dist/cli/commands/marketplace.js.map +1 -0
  98. package/dist/cli/commands/method.d.ts +7 -0
  99. package/dist/cli/commands/method.d.ts.map +1 -0
  100. package/dist/cli/commands/method.js +140 -0
  101. package/dist/cli/commands/method.js.map +1 -0
  102. package/dist/cli/commands/mine.d.ts +11 -0
  103. package/dist/cli/commands/mine.d.ts.map +1 -0
  104. package/dist/cli/commands/mine.js +254 -0
  105. package/dist/cli/commands/mine.js.map +1 -0
  106. package/dist/cli/commands/recall.d.ts +11 -0
  107. package/dist/cli/commands/recall.d.ts.map +1 -0
  108. package/dist/cli/commands/recall.js +201 -0
  109. package/dist/cli/commands/recall.js.map +1 -0
  110. package/dist/cli/commands/rule.d.ts +11 -0
  111. package/dist/cli/commands/rule.d.ts.map +1 -0
  112. package/dist/cli/commands/rule.js +230 -0
  113. package/dist/cli/commands/rule.js.map +1 -0
  114. package/dist/cli/commands/score.d.ts +10 -0
  115. package/dist/cli/commands/score.d.ts.map +1 -0
  116. package/dist/cli/commands/score.js +91 -0
  117. package/dist/cli/commands/score.js.map +1 -0
  118. package/dist/cli/commands/search.d.ts +6 -0
  119. package/dist/cli/commands/search.d.ts.map +1 -0
  120. package/dist/cli/commands/search.js +173 -0
  121. package/dist/cli/commands/search.js.map +1 -0
  122. package/dist/cli/commands/show.d.ts +6 -0
  123. package/dist/cli/commands/show.d.ts.map +1 -0
  124. package/dist/cli/commands/show.js +158 -0
  125. package/dist/cli/commands/show.js.map +1 -0
  126. package/dist/cli/commands/submit-repo.d.ts +11 -0
  127. package/dist/cli/commands/submit-repo.d.ts.map +1 -0
  128. package/dist/cli/commands/submit-repo.js +133 -0
  129. package/dist/cli/commands/submit-repo.js.map +1 -0
  130. package/dist/cli/commands/submit.d.ts +15 -0
  131. package/dist/cli/commands/submit.d.ts.map +1 -0
  132. package/dist/cli/commands/submit.js +161 -0
  133. package/dist/cli/commands/submit.js.map +1 -0
  134. package/dist/cli/commands/suggest.d.ts +11 -0
  135. package/dist/cli/commands/suggest.d.ts.map +1 -0
  136. package/dist/cli/commands/suggest.js +164 -0
  137. package/dist/cli/commands/suggest.js.map +1 -0
  138. package/dist/cli/commands/track.d.ts +11 -0
  139. package/dist/cli/commands/track.d.ts.map +1 -0
  140. package/dist/cli/commands/track.js +199 -0
  141. package/dist/cli/commands/track.js.map +1 -0
  142. package/dist/cli/commands/trigger.d.ts +11 -0
  143. package/dist/cli/commands/trigger.d.ts.map +1 -0
  144. package/dist/cli/commands/trigger.js +157 -0
  145. package/dist/cli/commands/trigger.js.map +1 -0
  146. package/dist/cli/commands/utils-commands.d.ts +9 -0
  147. package/dist/cli/commands/utils-commands.d.ts.map +1 -0
  148. package/dist/cli/commands/utils-commands.js +389 -0
  149. package/dist/cli/commands/utils-commands.js.map +1 -0
  150. package/dist/cli/commands/validate.d.ts +6 -0
  151. package/dist/cli/commands/validate.d.ts.map +1 -0
  152. package/dist/cli/commands/validate.js +40 -0
  153. package/dist/cli/commands/validate.js.map +1 -0
  154. package/dist/cli/index.d.ts +3 -0
  155. package/dist/cli/index.d.ts.map +1 -1
  156. package/dist/cli/index.js +88 -2743
  157. package/dist/cli/index.js.map +1 -1
  158. package/dist/core/audit.d.ts +24 -0
  159. package/dist/core/audit.d.ts.map +1 -0
  160. package/dist/core/audit.js +195 -0
  161. package/dist/core/audit.js.map +1 -0
  162. package/dist/core/index.d.ts +8 -0
  163. package/dist/core/index.d.ts.map +1 -1
  164. package/dist/core/index.js +8 -0
  165. package/dist/core/index.js.map +1 -1
  166. package/dist/core/quality.d.ts +48 -0
  167. package/dist/core/quality.d.ts.map +1 -0
  168. package/dist/core/quality.js +241 -0
  169. package/dist/core/quality.js.map +1 -0
  170. package/dist/core/scanner-rules.d.ts +58 -0
  171. package/dist/core/scanner-rules.d.ts.map +1 -0
  172. package/dist/core/scanner-rules.js +335 -0
  173. package/dist/core/scanner-rules.js.map +1 -0
  174. package/dist/core/suggest.d.ts +51 -0
  175. package/dist/core/suggest.d.ts.map +1 -0
  176. package/dist/core/suggest.js +241 -0
  177. package/dist/core/suggest.js.map +1 -0
  178. package/package.json +1 -1
@@ -0,0 +1,317 @@
1
+ /**
2
+ * Shared agent configuration used across CLI commands.
3
+ */
4
+ import { homedir } from 'os';
5
+ const home = homedir();
6
+ export const AGENTS = {
7
+ 'cursor': {
8
+ name: 'cursor',
9
+ displayName: 'Cursor',
10
+ projectDir: '.cursor/skills',
11
+ globalDir: `${home}/.cursor/skills`,
12
+ },
13
+ 'claude': {
14
+ name: 'claude',
15
+ displayName: 'Claude Code',
16
+ projectDir: '.claude/skills',
17
+ globalDir: `${home}/.claude/skills`,
18
+ },
19
+ 'copilot': {
20
+ name: 'copilot',
21
+ displayName: 'GitHub Copilot',
22
+ projectDir: '.github/skills',
23
+ globalDir: `${home}/.github/skills`,
24
+ },
25
+ 'codex': {
26
+ name: 'codex',
27
+ displayName: 'Codex',
28
+ projectDir: '.codex/skills',
29
+ globalDir: `${home}/.codex/skills`,
30
+ },
31
+ 'antigravity': {
32
+ name: 'antigravity',
33
+ displayName: 'Antigravity',
34
+ projectDir: '.agent/skills',
35
+ globalDir: `${home}/.gemini/antigravity/skills`,
36
+ },
37
+ // New agents from add-skill
38
+ 'opencode': {
39
+ name: 'opencode',
40
+ displayName: 'OpenCode',
41
+ projectDir: '.opencode/skill',
42
+ globalDir: `${home}/.config/opencode/skill`,
43
+ },
44
+ 'amp': {
45
+ name: 'amp',
46
+ displayName: 'Amp',
47
+ projectDir: '.agents/skills',
48
+ globalDir: `${home}/.config/agents/skills`,
49
+ },
50
+ 'kilo': {
51
+ name: 'kilo',
52
+ displayName: 'Kilo Code',
53
+ projectDir: '.kilocode/skills',
54
+ globalDir: `${home}/.kilocode/skills`,
55
+ },
56
+ 'roo': {
57
+ name: 'roo',
58
+ displayName: 'Roo Code',
59
+ projectDir: '.roo/skills',
60
+ globalDir: `${home}/.roo/skills`,
61
+ },
62
+ 'goose': {
63
+ name: 'goose',
64
+ displayName: 'Goose',
65
+ projectDir: '.goose/skills',
66
+ globalDir: `${home}/.config/goose/skills`,
67
+ },
68
+ // New agents from vercel-labs/skills (19 additional)
69
+ 'cline': {
70
+ name: 'cline',
71
+ displayName: 'Cline',
72
+ projectDir: '.cline/skills',
73
+ globalDir: `${home}/.cline/skills`,
74
+ },
75
+ 'codebuddy': {
76
+ name: 'codebuddy',
77
+ displayName: 'CodeBuddy',
78
+ projectDir: '.codebuddy/skills',
79
+ globalDir: `${home}/.codebuddy/skills`,
80
+ },
81
+ 'command-code': {
82
+ name: 'command-code',
83
+ displayName: 'Command Code',
84
+ projectDir: '.commandcode/skills',
85
+ globalDir: `${home}/.commandcode/skills`,
86
+ },
87
+ 'continue': {
88
+ name: 'continue',
89
+ displayName: 'Continue',
90
+ projectDir: '.continue/skills',
91
+ globalDir: `${home}/.continue/skills`,
92
+ },
93
+ 'crush': {
94
+ name: 'crush',
95
+ displayName: 'Crush',
96
+ projectDir: '.crush/skills',
97
+ globalDir: `${home}/.config/crush/skills`,
98
+ },
99
+ 'clawdbot': {
100
+ name: 'clawdbot',
101
+ displayName: 'Clawdbot',
102
+ projectDir: 'skills',
103
+ globalDir: `${home}/.clawdbot/skills`,
104
+ },
105
+ 'droid': {
106
+ name: 'droid',
107
+ displayName: 'Droid',
108
+ projectDir: '.factory/skills',
109
+ globalDir: `${home}/.factory/skills`,
110
+ },
111
+ 'gemini-cli': {
112
+ name: 'gemini-cli',
113
+ displayName: 'Gemini CLI',
114
+ projectDir: '.gemini/skills',
115
+ globalDir: `${home}/.gemini/skills`,
116
+ },
117
+ 'kiro-cli': {
118
+ name: 'kiro-cli',
119
+ displayName: 'Kiro CLI',
120
+ projectDir: '.kiro/skills',
121
+ globalDir: `${home}/.kiro/skills`,
122
+ },
123
+ 'mcpjam': {
124
+ name: 'mcpjam',
125
+ displayName: 'MCPJam',
126
+ projectDir: '.mcpjam/skills',
127
+ globalDir: `${home}/.mcpjam/skills`,
128
+ },
129
+ 'mux': {
130
+ name: 'mux',
131
+ displayName: 'Mux',
132
+ projectDir: '.mux/skills',
133
+ globalDir: `${home}/.mux/skills`,
134
+ },
135
+ 'openhands': {
136
+ name: 'openhands',
137
+ displayName: 'OpenHands',
138
+ projectDir: '.openhands/skills',
139
+ globalDir: `${home}/.openhands/skills`,
140
+ },
141
+ 'pi': {
142
+ name: 'pi',
143
+ displayName: 'Pi',
144
+ projectDir: '.pi/skills',
145
+ globalDir: `${home}/.pi/agent/skills`,
146
+ },
147
+ 'qoder': {
148
+ name: 'qoder',
149
+ displayName: 'Qoder',
150
+ projectDir: '.qoder/skills',
151
+ globalDir: `${home}/.qoder/skills`,
152
+ },
153
+ 'qwen-code': {
154
+ name: 'qwen-code',
155
+ displayName: 'Qwen Code',
156
+ projectDir: '.qwen/skills',
157
+ globalDir: `${home}/.qwen/skills`,
158
+ },
159
+ 'trae': {
160
+ name: 'trae',
161
+ displayName: 'Trae',
162
+ projectDir: '.trae/skills',
163
+ globalDir: `${home}/.trae/skills`,
164
+ },
165
+ 'windsurf': {
166
+ name: 'windsurf',
167
+ displayName: 'Windsurf',
168
+ projectDir: '.windsurf/skills',
169
+ globalDir: `${home}/.codeium/windsurf/skills`,
170
+ },
171
+ 'zencoder': {
172
+ name: 'zencoder',
173
+ displayName: 'Zencoder',
174
+ projectDir: '.zencoder/skills',
175
+ globalDir: `${home}/.zencoder/skills`,
176
+ },
177
+ 'neovate': {
178
+ name: 'neovate',
179
+ displayName: 'Neovate',
180
+ projectDir: '.neovate/skills',
181
+ globalDir: `${home}/.neovate/skills`,
182
+ },
183
+ // Additional agents from Vercel Skills (13 more = 42 total)
184
+ 'ara': {
185
+ name: 'ara',
186
+ displayName: 'Ara',
187
+ projectDir: '.ara/skills',
188
+ globalDir: `${home}/.ara/skills`,
189
+ },
190
+ 'aide': {
191
+ name: 'aide',
192
+ displayName: 'Aide',
193
+ projectDir: '.aide/skills',
194
+ globalDir: `${home}/.aide/skills`,
195
+ },
196
+ 'alex': {
197
+ name: 'alex',
198
+ displayName: 'Alex',
199
+ projectDir: '.alex/skills',
200
+ globalDir: `${home}/.alex/skills`,
201
+ },
202
+ 'bb': {
203
+ name: 'bb',
204
+ displayName: 'BB',
205
+ projectDir: '.bb/skills',
206
+ globalDir: `${home}/.bb/skills`,
207
+ },
208
+ 'codestory': {
209
+ name: 'codestory',
210
+ displayName: 'CodeStory',
211
+ projectDir: '.codestory/skills',
212
+ globalDir: `${home}/.codestory/skills`,
213
+ },
214
+ 'helix-ai': {
215
+ name: 'helix-ai',
216
+ displayName: 'Helix AI',
217
+ projectDir: '.helix/skills',
218
+ globalDir: `${home}/.helix/skills`,
219
+ },
220
+ 'meekia': {
221
+ name: 'meekia',
222
+ displayName: 'Meekia',
223
+ projectDir: '.meekia/skills',
224
+ globalDir: `${home}/.meekia/skills`,
225
+ },
226
+ 'pear-ai': {
227
+ name: 'pear-ai',
228
+ displayName: 'Pear AI',
229
+ projectDir: '.pearai/skills',
230
+ globalDir: `${home}/.pearai/skills`,
231
+ },
232
+ 'adal': {
233
+ name: 'adal',
234
+ displayName: 'Adal',
235
+ projectDir: '.adal/skills',
236
+ globalDir: `${home}/.adal/skills`,
237
+ },
238
+ 'pochi': {
239
+ name: 'pochi',
240
+ displayName: 'Pochi',
241
+ projectDir: '.pochi/skills',
242
+ globalDir: `${home}/.pochi/skills`,
243
+ },
244
+ 'sourcegraph-cody': {
245
+ name: 'sourcegraph-cody',
246
+ displayName: 'Sourcegraph Cody',
247
+ projectDir: '.sourcegraph/skills',
248
+ globalDir: `${home}/.sourcegraph/skills`,
249
+ },
250
+ 'void-ai': {
251
+ name: 'void-ai',
252
+ displayName: 'Void AI',
253
+ projectDir: '.void/skills',
254
+ globalDir: `${home}/.void/skills`,
255
+ },
256
+ 'zed': {
257
+ name: 'zed',
258
+ displayName: 'Zed',
259
+ projectDir: '.zed/skills',
260
+ globalDir: `${home}/.zed/skills`,
261
+ },
262
+ };
263
+ /** Helper to get install path */
264
+ export function getInstallPath(agent, global) {
265
+ const config = AGENTS[agent];
266
+ if (!config)
267
+ return `.${agent}/skills`;
268
+ return global ? config.globalDir : config.projectDir;
269
+ }
270
+ import { CursorAdapter } from '../adapters/cursor.js';
271
+ import { ClaudeAdapter } from '../adapters/claude.js';
272
+ import { CopilotAdapter } from '../adapters/copilot.js';
273
+ import { UniversalAdapter } from '../adapters/universal.js';
274
+ /** Cache for adapters (lazy singleton per agent) */
275
+ const adapterCache = new Map();
276
+ /**
277
+ * Get an adapter for a given agent name.
278
+ * Returns specific adapters for cursor/claude/copilot,
279
+ * and a UniversalAdapter for everything else.
280
+ */
281
+ export function getAdapter(agentName) {
282
+ const cached = adapterCache.get(agentName);
283
+ if (cached)
284
+ return cached;
285
+ let adapter;
286
+ switch (agentName) {
287
+ case 'cursor':
288
+ adapter = new CursorAdapter();
289
+ break;
290
+ case 'claude':
291
+ adapter = new ClaudeAdapter();
292
+ break;
293
+ case 'copilot':
294
+ adapter = new CopilotAdapter();
295
+ break;
296
+ default: {
297
+ const config = AGENTS[agentName];
298
+ if (config) {
299
+ adapter = new UniversalAdapter(config.name, config.displayName, config.projectDir, config.globalDir);
300
+ }
301
+ else {
302
+ // Fallback for unknown agents
303
+ adapter = new UniversalAdapter(agentName, agentName, `.${agentName}/skills`, `${home}/.${agentName}/skills`);
304
+ }
305
+ break;
306
+ }
307
+ }
308
+ adapterCache.set(agentName, adapter);
309
+ return adapter;
310
+ }
311
+ /**
312
+ * Get all adapters for all known agents.
313
+ */
314
+ export function getAllAdapters() {
315
+ return Object.keys(AGENTS).map(name => getAdapter(name));
316
+ }
317
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Audit Command
3
+ * Security vulnerability scanning for AI agent skills
4
+ * (SkillKit calls this "scan" — we call it "audit")
5
+ */
6
+ import { Command } from 'commander';
7
+ /**
8
+ * Register the audit command with commander
9
+ */
10
+ export declare function registerAuditCommand(program: Command): void;
11
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsB3D"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Audit Command
3
+ * Security vulnerability scanning for AI agent skills
4
+ * (SkillKit calls this "scan" — we call it "audit")
5
+ */
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ import { resolve } from 'path';
9
+ import { runAudit, shouldFail, toSARIF, } from '../../core/audit.js';
10
+ /**
11
+ * Register the audit command with commander
12
+ */
13
+ export function registerAuditCommand(program) {
14
+ program
15
+ .command('audit <path>')
16
+ .alias('scan')
17
+ .description('Security audit — scan skills for vulnerabilities')
18
+ .option('-f, --format <format>', 'Output format: summary, json, table, sarif', 'summary')
19
+ .option('--fail-on <severity>', 'Exit code 1 if findings at this severity or above (critical, high, medium, low)')
20
+ .option('--skip-rules <rules>', 'Comma-separated rule IDs or categories to skip')
21
+ .action(async (path, options) => {
22
+ try {
23
+ const auditOptions = {
24
+ format: options.format || 'summary',
25
+ failOn: options.failOn,
26
+ skipRules: options.skipRules ? options.skipRules.split(',').map((s) => s.trim()) : [],
27
+ };
28
+ await auditCommand(path, auditOptions);
29
+ }
30
+ catch (err) {
31
+ console.error(chalk.red('Error:'), err.message);
32
+ process.exit(1);
33
+ }
34
+ });
35
+ }
36
+ /**
37
+ * Run the audit command
38
+ */
39
+ async function auditCommand(targetPath, options) {
40
+ const resolvedPath = resolve(targetPath);
41
+ const spinner = ora('Scanning for security vulnerabilities...').start();
42
+ const result = await runAudit(resolvedPath, options);
43
+ spinner.succeed(`Scanned ${result.filesScanned} file(s)`);
44
+ console.log('');
45
+ // Output based on format
46
+ switch (options.format) {
47
+ case 'json':
48
+ console.log(JSON.stringify(result, null, 2));
49
+ break;
50
+ case 'sarif':
51
+ console.log(JSON.stringify(toSARIF(result), null, 2));
52
+ break;
53
+ case 'table':
54
+ printTable(result);
55
+ break;
56
+ case 'summary':
57
+ default:
58
+ printSummary(result);
59
+ break;
60
+ }
61
+ // Exit with error if threshold exceeded
62
+ if (options.failOn && shouldFail(result, options.failOn)) {
63
+ console.log('');
64
+ console.log(chalk.red(`✖ Audit failed: findings at ${options.failOn} severity or above`));
65
+ process.exit(1);
66
+ }
67
+ }
68
+ /**
69
+ * Print summary format
70
+ */
71
+ function printSummary(result) {
72
+ if (result.findings.length === 0) {
73
+ console.log(chalk.green('đŸ›Ąī¸ No security issues found!'));
74
+ console.log('');
75
+ return;
76
+ }
77
+ console.log(chalk.bold('đŸ›Ąī¸ Security Audit Results'));
78
+ console.log('');
79
+ // Group by file
80
+ const byFile = new Map();
81
+ for (const finding of result.findings) {
82
+ const existing = byFile.get(finding.file) || [];
83
+ existing.push(finding);
84
+ byFile.set(finding.file, existing);
85
+ }
86
+ for (const [file, findings] of byFile) {
87
+ console.log(chalk.bold.underline(file));
88
+ console.log('');
89
+ for (const f of findings.sort((a, b) => severityRank(a.severity) - severityRank(b.severity))) {
90
+ const icon = severityIcon(f.severity);
91
+ const color = severityColor(f.severity);
92
+ const ruleId = chalk.dim(`[${f.ruleId}]`);
93
+ console.log(` ${icon} ${color(f.severity.toUpperCase().padEnd(8))} ${ruleId} ${f.title} ${chalk.dim(`(line ${f.line})`)}`);
94
+ console.log(` ${chalk.dim(truncate(f.lineContent, 80))}`);
95
+ console.log('');
96
+ }
97
+ }
98
+ // Print summary bar
99
+ const parts = [];
100
+ if (result.summary.critical > 0)
101
+ parts.push(chalk.red(`${result.summary.critical} critical`));
102
+ if (result.summary.high > 0)
103
+ parts.push(chalk.red(`${result.summary.high} high`));
104
+ if (result.summary.medium > 0)
105
+ parts.push(chalk.yellow(`${result.summary.medium} medium`));
106
+ if (result.summary.low > 0)
107
+ parts.push(chalk.dim(`${result.summary.low} low`));
108
+ if (result.summary.info > 0)
109
+ parts.push(chalk.dim(`${result.summary.info} info`));
110
+ console.log(chalk.bold(`Summary: ${parts.join(', ')} | ${result.summary.total} finding(s) across ${result.filesScanned} file(s)`));
111
+ console.log('');
112
+ }
113
+ /**
114
+ * Print table format
115
+ */
116
+ function printTable(result) {
117
+ if (result.findings.length === 0) {
118
+ console.log(chalk.green('No findings.'));
119
+ return;
120
+ }
121
+ // Header
122
+ console.log(chalk.bold('Severity'.padEnd(10)) +
123
+ chalk.bold('Rule'.padEnd(8)) +
124
+ chalk.bold('Category'.padEnd(22)) +
125
+ chalk.bold('File'.padEnd(30)) +
126
+ chalk.bold('Line'.padEnd(6)) +
127
+ chalk.bold('Title'));
128
+ console.log('─'.repeat(120));
129
+ for (const f of result.findings.sort((a, b) => severityRank(a.severity) - severityRank(b.severity))) {
130
+ const color = severityColor(f.severity);
131
+ console.log(color(f.severity.toUpperCase().padEnd(10)) +
132
+ chalk.dim(f.ruleId.padEnd(8)) +
133
+ f.category.padEnd(22) +
134
+ truncate(f.file, 28).padEnd(30) +
135
+ String(f.line).padEnd(6) +
136
+ f.title);
137
+ }
138
+ }
139
+ function severityRank(severity) {
140
+ const ranks = { critical: 0, high: 1, medium: 2, low: 3, info: 4 };
141
+ return ranks[severity];
142
+ }
143
+ function severityIcon(severity) {
144
+ const icons = {
145
+ critical: '🔴',
146
+ high: '🟠',
147
+ medium: '🟡',
148
+ low: 'đŸ”ĩ',
149
+ info: 'â„šī¸ ',
150
+ };
151
+ return icons[severity];
152
+ }
153
+ function severityColor(severity) {
154
+ const colors = {
155
+ critical: chalk.red.bold,
156
+ high: chalk.red,
157
+ medium: chalk.yellow,
158
+ low: chalk.blue,
159
+ info: chalk.dim,
160
+ };
161
+ return colors[severity];
162
+ }
163
+ function truncate(str, maxLen) {
164
+ if (str.length <= maxLen)
165
+ return str;
166
+ return str.slice(0, maxLen - 1) + 'â€Ļ';
167
+ }
168
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Blueprint Command
3
+ * Structured development plans with milestones and tasks
4
+ * (SkillKit calls this "plan" — we call it "blueprint")
5
+ */
6
+ import { Command } from 'commander';
7
+ /**
8
+ * Register the blueprint command
9
+ */
10
+ export declare function registerBlueprintCommand(program: Command): void;
11
+ //# sourceMappingURL=blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/blueprint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C/D"}