@zr-ovo/devforge 0.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 (77) hide show
  1. package/dist/ai/analyze.d.ts +25 -0
  2. package/dist/ai/analyze.d.ts.map +1 -0
  3. package/dist/ai/analyze.js +198 -0
  4. package/dist/ai/analyze.js.map +1 -0
  5. package/dist/commands/config.d.ts +6 -0
  6. package/dist/commands/config.d.ts.map +1 -0
  7. package/dist/commands/config.js +246 -0
  8. package/dist/commands/config.js.map +1 -0
  9. package/dist/commands/create.d.ts +2 -0
  10. package/dist/commands/create.d.ts.map +1 -0
  11. package/dist/commands/create.js +397 -0
  12. package/dist/commands/create.js.map +1 -0
  13. package/dist/commands/install.d.ts +2 -0
  14. package/dist/commands/install.d.ts.map +1 -0
  15. package/dist/commands/install.js +127 -0
  16. package/dist/commands/install.js.map +1 -0
  17. package/dist/commands/search.d.ts +2 -0
  18. package/dist/commands/search.d.ts.map +1 -0
  19. package/dist/commands/search.js +137 -0
  20. package/dist/commands/search.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +87 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/ui/badge.d.ts +15 -0
  26. package/dist/ui/badge.d.ts.map +1 -0
  27. package/dist/ui/badge.js +35 -0
  28. package/dist/ui/badge.js.map +1 -0
  29. package/dist/ui/box.d.ts +33 -0
  30. package/dist/ui/box.d.ts.map +1 -0
  31. package/dist/ui/box.js +76 -0
  32. package/dist/ui/box.js.map +1 -0
  33. package/dist/ui/card.d.ts +39 -0
  34. package/dist/ui/card.d.ts.map +1 -0
  35. package/dist/ui/card.js +81 -0
  36. package/dist/ui/card.js.map +1 -0
  37. package/dist/ui/divider.d.ts +32 -0
  38. package/dist/ui/divider.d.ts.map +1 -0
  39. package/dist/ui/divider.js +53 -0
  40. package/dist/ui/divider.js.map +1 -0
  41. package/dist/ui/format.d.ts +28 -0
  42. package/dist/ui/format.d.ts.map +1 -0
  43. package/dist/ui/format.js +93 -0
  44. package/dist/ui/format.js.map +1 -0
  45. package/dist/ui/index.d.ts +11 -0
  46. package/dist/ui/index.d.ts.map +1 -0
  47. package/dist/ui/index.js +27 -0
  48. package/dist/ui/index.js.map +1 -0
  49. package/dist/ui/progress.d.ts +47 -0
  50. package/dist/ui/progress.d.ts.map +1 -0
  51. package/dist/ui/progress.js +114 -0
  52. package/dist/ui/progress.js.map +1 -0
  53. package/dist/ui/screen.d.ts +37 -0
  54. package/dist/ui/screen.d.ts.map +1 -0
  55. package/dist/ui/screen.js +79 -0
  56. package/dist/ui/screen.js.map +1 -0
  57. package/dist/ui/spinner.d.ts +22 -0
  58. package/dist/ui/spinner.d.ts.map +1 -0
  59. package/dist/ui/spinner.js +78 -0
  60. package/dist/ui/spinner.js.map +1 -0
  61. package/dist/ui/status.d.ts +10 -0
  62. package/dist/ui/status.d.ts.map +1 -0
  63. package/dist/ui/status.js +40 -0
  64. package/dist/ui/status.js.map +1 -0
  65. package/dist/ui/theme.d.ts +33 -0
  66. package/dist/ui/theme.d.ts.map +1 -0
  67. package/dist/ui/theme.js +89 -0
  68. package/dist/ui/theme.js.map +1 -0
  69. package/dist/utils/art.d.ts +2 -0
  70. package/dist/utils/art.d.ts.map +1 -0
  71. package/dist/utils/art.js +27 -0
  72. package/dist/utils/art.js.map +1 -0
  73. package/dist/utils/installer.d.ts +35 -0
  74. package/dist/utils/installer.d.ts.map +1 -0
  75. package/dist/utils/installer.js +125 -0
  76. package/dist/utils/installer.js.map +1 -0
  77. package/package.json +31 -0
@@ -0,0 +1,397 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createCommand = createCommand;
37
+ const p = __importStar(require("@clack/prompts"));
38
+ const fs_1 = require("fs");
39
+ const path_1 = require("path");
40
+ const devforge_skillsmp_1 = require("devforge-skillsmp");
41
+ const devforge_shared_1 = require("devforge-shared");
42
+ const analyze_1 = require("../ai/analyze");
43
+ const installer_1 = require("../utils/installer");
44
+ const art_1 = require("../utils/art");
45
+ const ui_1 = require("../ui");
46
+ const theme_1 = require("../ui/theme");
47
+ const format_1 = require("../ui/format");
48
+ async function createCommand(projectName, isInit = false) {
49
+ const isTTY = !!process.stdin.isTTY;
50
+ const startTime = Date.now();
51
+ // ── Phase 0: Welcome ──
52
+ if (isTTY) {
53
+ (0, art_1.printLogo)();
54
+ console.log(` ${theme_1.BOLD}DevForge${theme_1.RESET} ${theme_1.DIM}— AI Native Workspace Orchestrator${theme_1.RESET}`);
55
+ console.log(` ${theme_1.DIM}Describe your project. AI builds your dev environment.${theme_1.RESET}`);
56
+ console.log((0, ui_1.renderDivider)({ color: theme_1.TEXT_MUTED }));
57
+ console.log();
58
+ }
59
+ // ── Phase 1: Project Name ──
60
+ if (!projectName) {
61
+ if (!isTTY) {
62
+ console.error('Usage: devforge create <project-name>');
63
+ return;
64
+ }
65
+ projectName = (await p.text({
66
+ message: '项目名称',
67
+ placeholder: isInit ? '.' : 'my-awesome-project',
68
+ validate: (v) => (v.length < 1 ? '请输入项目名称' : undefined),
69
+ }));
70
+ if (p.isCancel(projectName)) {
71
+ p.cancel('已取消');
72
+ return;
73
+ }
74
+ }
75
+ // ── Phase 2: Project Description ──
76
+ let projectDesc;
77
+ if (!isTTY) {
78
+ projectDesc = projectName;
79
+ }
80
+ else {
81
+ console.log();
82
+ console.log((0, ui_1.renderSection)('项目信息', { color: theme_1.TEXT_MUTED }));
83
+ console.log(` ${(0, ui_1.iconBullet)()} ${theme_1.TEXT_SECONDARY}项目:${theme_1.RESET} ${theme_1.BOLD}${isInit ? '当前目录' : projectName}${theme_1.RESET}`);
84
+ console.log();
85
+ projectDesc = (await p.text({
86
+ message: '项目描述',
87
+ placeholder: '例如:用 TypeScript 开发一个 MCP 服务器用于笔记管理',
88
+ validate: (v) => (v.length < 4 ? '请详细描述项目' : undefined),
89
+ }));
90
+ if (p.isCancel(projectDesc)) {
91
+ p.cancel('已取消');
92
+ return;
93
+ }
94
+ }
95
+ // ── Phase 3: Create Directory ──
96
+ const targetDir = isInit ? process.cwd() : (0, path_1.resolve)(process.cwd(), projectName);
97
+ if (!isInit)
98
+ (0, fs_1.mkdirSync)(targetDir, { recursive: true });
99
+ // ── Phase 4: AI Analysis ──
100
+ if (isTTY) {
101
+ console.log();
102
+ console.log((0, ui_1.renderSection)('AI 分析', { color: theme_1.PRIMARY }));
103
+ }
104
+ const aiSpinner = new ui_1.Spinner('AI 正在分析项目...', { color: theme_1.PRIMARY });
105
+ aiSpinner.start();
106
+ let analysis;
107
+ try {
108
+ analysis = await (0, analyze_1.analyzeProject)(projectDesc, projectName);
109
+ aiSpinner.succeed('AI 分析完成');
110
+ if (analysis.reasoning) {
111
+ const line = analysis.reasoning.split('\n')[0];
112
+ console.log(` ${(0, ui_1.iconInfo)()} ${theme_1.TEXT_SECONDARY}${line}${theme_1.RESET}`);
113
+ }
114
+ }
115
+ catch {
116
+ analysis = {
117
+ projectName: projectName ?? '',
118
+ searchQueries: [projectDesc.split(' ').slice(0, 2).join(' ')],
119
+ reasoning: '',
120
+ };
121
+ aiSpinner.fail('AI 分析失败,使用默认搜索');
122
+ }
123
+ // ── Phase 5: Search Marketplace ──
124
+ const client = new devforge_skillsmp_1.SkillsMPClient(devforge_shared_1.config.skillsmp.apiKey, devforge_shared_1.config.skillsmp.dailyLimit);
125
+ const allSkills = [];
126
+ const seenIds = new Set();
127
+ for (const q of analysis.searchQueries) {
128
+ aiSpinner.start(`搜索 "${q}"...`);
129
+ try {
130
+ const result = await client.search({ q, limit: 30, sortBy: 'stars' });
131
+ for (const skill of result.skills) {
132
+ if (!seenIds.has(skill.id)) {
133
+ seenIds.add(skill.id);
134
+ allSkills.push({
135
+ id: skill.id, name: skill.name, author: skill.author,
136
+ description: skill.description, githubUrl: skill.githubUrl,
137
+ stars: skill.stars, isRecommended: true,
138
+ });
139
+ }
140
+ }
141
+ }
142
+ catch { /* skip failed queries */ }
143
+ }
144
+ let candidates = allSkills.sort((a, b) => b.stars - a.stars).slice(0, 30);
145
+ if (candidates.length < 5) {
146
+ aiSpinner.start('扩展搜索结果...');
147
+ const fallbacks = ['cli', 'typescript', 'nodejs', 'developer-tools', 'code-generator', 'testing'];
148
+ for (const q of fallbacks) {
149
+ if (candidates.length >= 15)
150
+ break;
151
+ try {
152
+ const result = await client.search({ q, limit: 15, sortBy: 'stars' });
153
+ for (const skill of result.skills) {
154
+ if (!seenIds.has(skill.id)) {
155
+ seenIds.add(skill.id);
156
+ candidates.push({
157
+ id: skill.id, name: skill.name, author: skill.author,
158
+ description: skill.description, githubUrl: skill.githubUrl,
159
+ stars: skill.stars, isRecommended: false,
160
+ });
161
+ }
162
+ }
163
+ }
164
+ catch { }
165
+ }
166
+ candidates = candidates.sort((a, b) => b.stars - a.stars).slice(0, 30);
167
+ }
168
+ aiSpinner.succeed(`共找到 ${theme_1.BOLD}${candidates.length}${theme_1.RESET} 个相关 Skill`);
169
+ // ── Phase 6: AI Selection ──
170
+ let selectedSkills = [];
171
+ if (candidates.length > 0) {
172
+ aiSpinner.start('AI 正在精选推荐...');
173
+ try {
174
+ selectedSkills = await (0, analyze_1.selectTopSkills)(projectDesc, candidates.map((s) => ({ id: s.id, name: s.name, description: s.description, stars: s.stars, author: s.author })));
175
+ }
176
+ catch {
177
+ selectedSkills = candidates.slice(0, 5).map((s) => ({
178
+ id: s.id, chineseIntro: '', reason: '热门推荐', category: '工具', priority: 3,
179
+ }));
180
+ }
181
+ const aiSet = new Set(selectedSkills.map((s) => s.id));
182
+ const catMap = new Map(selectedSkills.map((s) => [s.id, s.category]));
183
+ const reasonMap = new Map(selectedSkills.map((s) => [s.id, s.reason]));
184
+ const introMap = new Map(selectedSkills.map((s) => [s.id, s.chineseIntro]));
185
+ for (const sk of candidates) {
186
+ sk.isAISelected = aiSet.has(sk.id);
187
+ sk.aiCategory = catMap.get(sk.id);
188
+ sk.aiReason = reasonMap.get(sk.id);
189
+ sk.chineseIntro = introMap.get(sk.id);
190
+ }
191
+ aiSpinner.succeed('AI 精选完成');
192
+ }
193
+ else {
194
+ aiSpinner.stop(`${theme_1.WARNING}⚠${theme_1.RESET} 未找到相关 Skill`);
195
+ console.log(` ${(0, ui_1.iconInfo)()} 稍后可通过 ${theme_1.BOLD}devforge search${theme_1.RESET} 搜索并安装 Skill`);
196
+ return;
197
+ }
198
+ // ── Phase 7: Display Recommendations ──
199
+ if (isTTY) {
200
+ console.log();
201
+ console.log((0, ui_1.renderSection)('AI 精选推荐', { color: theme_1.PRIMARY }));
202
+ const aiPicked = candidates.filter((s) => s.isAISelected);
203
+ const others = candidates.filter((s) => !s.isAISelected);
204
+ if (aiPicked.length > 0) {
205
+ const cards = aiPicked.map((sk) => ({
206
+ icon: (0, ui_1.iconStar)(),
207
+ name: sk.name,
208
+ subtitle: `by ${sk.author}`,
209
+ badges: [
210
+ { text: 'AI推荐', color: theme_1.PRIMARY_BRIGHT },
211
+ { text: sk.aiCategory || '工具', color: theme_1.SECONDARY },
212
+ ],
213
+ metadata: (0, format_1.formatStars)(sk.stars),
214
+ description: sk.description,
215
+ aiReasoning: sk.aiReason,
216
+ accent: theme_1.PRIMARY,
217
+ }));
218
+ console.log((0, ui_1.renderCardList)(cards, { width: 72 }).join('\n'));
219
+ }
220
+ if (others.length > 0) {
221
+ console.log();
222
+ console.log((0, ui_1.renderSubSection)('其他候选'));
223
+ for (const sk of others.slice(0, 5)) {
224
+ console.log(` ${(0, ui_1.iconSubBullet)()} ${theme_1.BOLD}${sk.name}${theme_1.RESET} ${theme_1.DIM}· ${sk.author} ${(0, format_1.formatStars)(sk.stars)}${theme_1.RESET}`);
225
+ console.log(` ${theme_1.DIM}${(0, format_1.truncate)(sk.description, 50)}${theme_1.RESET}`);
226
+ }
227
+ if (others.length > 5) {
228
+ console.log(` ${theme_1.DIM}... 还有 ${others.length - 5} 个${theme_1.RESET}`);
229
+ }
230
+ }
231
+ console.log();
232
+ }
233
+ // ── Phase 8: Interactive Selection ──
234
+ const selected = await selectSkillsInteractive(client, candidates, selectedSkills.map((s) => s.id));
235
+ if (selected.length === 0) {
236
+ console.log(` ${(0, ui_1.iconInfo)()} 未选择任何 Skill`);
237
+ return;
238
+ }
239
+ // ── Phase 9: Install with Phase Tracker ──
240
+ const phaseTracker = isTTY ? new ui_1.PhaseTracker(72) : null;
241
+ if (isTTY) {
242
+ console.log();
243
+ console.log((0, ui_1.renderSection)('搭建工作区', { color: theme_1.SUCCESS }));
244
+ phaseTracker.setPhases([
245
+ { name: '准备安装', status: 'pending' },
246
+ { name: '下载 Skill', status: 'pending' },
247
+ { name: '完成配置', status: 'pending' },
248
+ ]);
249
+ phaseTracker.updatePhase(0, 'active');
250
+ phaseTracker.begin();
251
+ }
252
+ // Phase 0 → complete, Phase 1 → active
253
+ phaseTracker?.updatePhase(0, 'completed');
254
+ phaseTracker?.updatePhase(1, 'active');
255
+ // Add subtasks for each skill
256
+ for (let i = 0; i < selected.length; i++) {
257
+ phaseTracker?.addSubTask(1, { name: selected[i].name, status: 'pending' });
258
+ }
259
+ // Install with per-skill progress callback
260
+ const result = await (0, installer_1.installSkills)(selected.map((s) => ({ id: s.id, name: s.name, githubUrl: s.githubUrl })), targetDir, isTTY
261
+ ? (phase, item, status, detail) => {
262
+ if (phase === 'downloading') {
263
+ const idx = selected.findIndex((s) => s.name === item);
264
+ if (idx >= 0) {
265
+ if (status === 'downloading')
266
+ phaseTracker.updateSubTask(1, idx, 'active', '下载中...');
267
+ else if (status === 'completed')
268
+ phaseTracker.updateSubTask(1, idx, 'completed', detail);
269
+ else if (status === 'skipped')
270
+ phaseTracker.updateSubTask(1, idx, 'failed', '已存在');
271
+ else if (status === 'failed')
272
+ phaseTracker.updateSubTask(1, idx, 'failed', detail);
273
+ }
274
+ }
275
+ }
276
+ : undefined);
277
+ // Finalize phases
278
+ if (isTTY) {
279
+ phaseTracker.updatePhase(1, result.failed > 0 && result.success === 0 ? 'failed' : 'completed');
280
+ phaseTracker.updatePhase(2, result.success > 0 ? 'completed' : 'failed');
281
+ phaseTracker.complete();
282
+ }
283
+ // ── Phase 10: Summary ──
284
+ const totalTime = ((Date.now() - startTime) / 1000).toFixed(1);
285
+ console.log();
286
+ console.log((0, ui_1.renderSection)('工作区构建完成', { color: theme_1.SUCCESS }));
287
+ const summaryLines = [
288
+ ` 项目名称: ${theme_1.BOLD}${analysis.projectName}${theme_1.RESET}`,
289
+ ` 已安装: ${theme_1.SUCCESS}${result.success}${theme_1.RESET} 个 Skill`,
290
+ ` 耗时: ${totalTime}s`,
291
+ ];
292
+ if (result.skipped > 0) {
293
+ summaryLines.push(` 跳过: ${theme_1.WARNING}${result.skipped}${theme_1.RESET} 个`);
294
+ }
295
+ if (result.failed > 0) {
296
+ summaryLines.push(` 失败: ${theme_1.ERROR}${result.failed}${theme_1.RESET} 个`);
297
+ }
298
+ console.log((0, ui_1.renderTitledBox)('📋 项目概览', summaryLines, { width: 72 }));
299
+ // List installed skills
300
+ if (result.results.length > 0) {
301
+ console.log((0, ui_1.renderSubSection)('已安装 Skill'));
302
+ for (const r of result.results) {
303
+ const icon = r.status === 'success' ? (0, ui_1.iconSuccess)() : r.status === 'skipped' ? (0, ui_1.iconPending)() : (0, ui_1.iconError)();
304
+ const dur = r.status === 'success' ? ` ${theme_1.DIM}(${(r.duration / 1000).toFixed(1)}s)${theme_1.RESET}` : '';
305
+ console.log(` ${icon} ${theme_1.BOLD}${r.id}${theme_1.RESET}${dur}`);
306
+ }
307
+ }
308
+ // Next steps
309
+ console.log();
310
+ if (!isInit) {
311
+ console.log(` ${(0, ui_1.iconBullet)()} cd ${targetDir}`);
312
+ }
313
+ console.log(` ${(0, ui_1.iconBullet)()} 在 Claude Code 中打开项目即可使用已安装的 Skill`);
314
+ console.log(` ${(0, ui_1.iconBullet)()} 运行 ${theme_1.BOLD}devforge install${theme_1.RESET} 添加更多 Skill`);
315
+ console.log();
316
+ }
317
+ // ── Interactive Skill Selection ──
318
+ async function selectSkillsInteractive(client, candidates, aiSelectedIds) {
319
+ if (!process.stdin.isTTY) {
320
+ const picked = candidates.filter((s) => aiSelectedIds.includes(s.id));
321
+ return picked.length > 0 ? picked : candidates.slice(0, 5);
322
+ }
323
+ const allItems = [...candidates];
324
+ while (true) {
325
+ console.log();
326
+ console.log((0, ui_1.renderSection)('选择 Skill', { color: theme_1.TEXT_MUTED }));
327
+ // AI recommended preview
328
+ const aiPicked = allItems.filter((s) => s.isAISelected);
329
+ console.log(` ${(0, ui_1.iconStar)()} ${theme_1.TEXT_SECONDARY}AI 推荐 (${aiPicked.length})${theme_1.RESET}`);
330
+ for (const s of aiPicked) {
331
+ const intro = s.chineseIntro || (0, format_1.truncate)(s.description, 50);
332
+ console.log(` ${(0, ui_1.iconBullet)()} ${theme_1.BOLD}${s.name}${theme_1.RESET} ${theme_1.DIM}· ${s.author} ${(0, format_1.formatStars)(s.stars)}${theme_1.RESET}`);
333
+ if (intro)
334
+ console.log(` ${theme_1.DIM}${intro}${theme_1.RESET}`);
335
+ }
336
+ const others = allItems.filter((s) => !s.isAISelected);
337
+ if (others.length > 0) {
338
+ console.log(` ${theme_1.DIM}其他 (${others.length})${theme_1.RESET}`);
339
+ for (const s of others.slice(0, 3)) {
340
+ console.log(` ${theme_1.DIM}${s.name} · ${s.author} ${(0, format_1.formatStars)(s.stars)}${theme_1.RESET}`);
341
+ }
342
+ }
343
+ const action = (await p.select({
344
+ message: '选择操作:',
345
+ options: [
346
+ { value: 'select', label: '选择要安装的 Skill' },
347
+ { value: 'search', label: '搜索更多 Skill' },
348
+ { value: 'done', label: '确认并安装' },
349
+ { value: 'skip', label: '跳过安装' },
350
+ ],
351
+ }));
352
+ if (p.isCancel(action) || action === 'skip')
353
+ return [];
354
+ if (action === 'search') {
355
+ const query = (await p.text({
356
+ message: '搜索关键词:',
357
+ placeholder: 'mcp, database, testing...',
358
+ }));
359
+ if (p.isCancel(query))
360
+ continue;
361
+ const s = new ui_1.Spinner('搜索中...');
362
+ s.start();
363
+ try {
364
+ const result = await client.search({ q: query, limit: 20, sortBy: 'stars' });
365
+ s.succeed(`找到 ${result.skills.length} 个`);
366
+ for (const skill of result.skills) {
367
+ if (!allItems.some((x) => x.id === skill.id)) {
368
+ allItems.push({
369
+ id: skill.id, name: skill.name, author: skill.author,
370
+ description: skill.description, githubUrl: skill.githubUrl,
371
+ stars: skill.stars, isRecommended: false,
372
+ });
373
+ }
374
+ }
375
+ }
376
+ catch {
377
+ s.fail('搜索失败');
378
+ }
379
+ }
380
+ if (action === 'select' || action === 'done') {
381
+ const selected = (await p.multiselect({
382
+ message: '选择要安装的 Skill:',
383
+ options: allItems.map((s) => ({
384
+ value: s.id,
385
+ label: `${s.name} ${theme_1.DIM}· ${s.author} ${(0, format_1.formatStars)(s.stars)}${theme_1.RESET}`,
386
+ hint: s.chineseIntro || (0, format_1.truncate)(s.description, 30),
387
+ })),
388
+ required: false,
389
+ initialValues: allItems.filter((s) => s.isAISelected).map((s) => s.id),
390
+ }));
391
+ if (p.isCancel(selected))
392
+ continue;
393
+ return allItems.filter((s) => selected.includes(s.id));
394
+ }
395
+ }
396
+ }
397
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function installCommand(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAcA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FlE"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.installCommand = installCommand;
37
+ const p = __importStar(require("@clack/prompts"));
38
+ const devforge_skillsmp_1 = require("devforge-skillsmp");
39
+ const devforge_shared_1 = require("devforge-shared");
40
+ const installer_1 = require("../utils/installer");
41
+ const ui_1 = require("../ui");
42
+ const theme_1 = require("../ui/theme");
43
+ async function installCommand(args) {
44
+ let skillIds = args;
45
+ if (skillIds.length === 0) {
46
+ const input = (await p.text({
47
+ message: '输入要安装的 Skill ID(逗号分隔):',
48
+ placeholder: 'skill-id-1, skill-id-2',
49
+ }));
50
+ if (p.isCancel(input))
51
+ return;
52
+ skillIds = input.split(',').map((s) => s.trim()).filter(Boolean);
53
+ }
54
+ if (skillIds.length === 0) {
55
+ p.log.error('未指定 Skill ID');
56
+ return;
57
+ }
58
+ // Resolve skill details
59
+ const spinner = new ui_1.Spinner('查询 Skill 信息...');
60
+ spinner.start();
61
+ const client = new devforge_skillsmp_1.SkillsMPClient(devforge_shared_1.config.skillsmp.apiKey, devforge_shared_1.config.skillsmp.dailyLimit);
62
+ const skills = [];
63
+ for (const id of skillIds) {
64
+ try {
65
+ const result = await client.search({ q: id, limit: 5 });
66
+ const match = result.skills.find((s) => s.id === id);
67
+ if (match) {
68
+ skills.push({ id: match.id, name: match.name, githubUrl: match.githubUrl });
69
+ }
70
+ }
71
+ catch { /* skip failed lookups */ }
72
+ }
73
+ if (skills.length === 0) {
74
+ spinner.fail('未找到指定 Skill');
75
+ console.log(` ${(0, ui_1.iconInfo)()} 请确认 Skill ID 是否正确,或使用 devforge search 搜索`);
76
+ return;
77
+ }
78
+ spinner.succeed(`找到 ${skills.length} 个 Skill`);
79
+ // Install with phase tracker
80
+ console.log();
81
+ console.log((0, ui_1.renderSection)('安装 Skill', { color: theme_1.SUCCESS }));
82
+ const pt = new ui_1.PhaseTracker(72);
83
+ pt.setPhases([
84
+ { name: '下载 Skill', status: 'active' },
85
+ { name: '完成配置', status: 'pending' },
86
+ ]);
87
+ pt.begin();
88
+ for (let i = 0; i < skills.length; i++) {
89
+ pt.addSubTask(0, { name: skills[i].name, status: 'pending' });
90
+ }
91
+ const result = await (0, installer_1.installSkills)(skills, undefined, (phase, item, status, detail) => {
92
+ if (phase === 'downloading') {
93
+ const idx = skills.findIndex((s) => s.name === item);
94
+ if (idx >= 0) {
95
+ if (status === 'downloading')
96
+ pt.updateSubTask(0, idx, 'active', '下载中...');
97
+ else if (status === 'completed')
98
+ pt.updateSubTask(0, idx, 'completed', detail);
99
+ else if (status === 'skipped')
100
+ pt.updateSubTask(0, idx, 'failed', '已存在');
101
+ else if (status === 'failed')
102
+ pt.updateSubTask(0, idx, 'failed', detail);
103
+ }
104
+ }
105
+ });
106
+ pt.updatePhase(0, result.failed > 0 && result.success === 0 ? 'failed' : 'completed');
107
+ pt.updatePhase(1, result.success > 0 ? 'completed' : 'failed');
108
+ pt.complete();
109
+ // Summary
110
+ console.log();
111
+ if (result.success > 0) {
112
+ console.log(` ${(0, ui_1.iconSuccess)()} ${theme_1.BOLD}成功安装 ${result.success} 个 Skill${theme_1.RESET}`);
113
+ for (const s of skills) {
114
+ console.log(` ${(0, ui_1.iconBullet)()} ${theme_1.DIM}.claude/skills/${s.name}/SKILL.md${theme_1.RESET}`);
115
+ }
116
+ }
117
+ else {
118
+ console.log(` ${(0, ui_1.iconError)()} 安装失败`);
119
+ }
120
+ if (result.failed > 0) {
121
+ console.log(` ${theme_1.WARNING}⚠${theme_1.RESET} ${theme_1.DIM}${result.failed} 个安装失败${theme_1.RESET}`);
122
+ for (const err of result.errors)
123
+ console.log(` ${theme_1.DIM}${err}${theme_1.RESET}`);
124
+ }
125
+ console.log();
126
+ }
127
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function searchCommand(query?: string): Promise<void>;
2
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAgBA,wBAAsB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGjE"}