@neyugn/agent-kits 0.1.0 → 0.2.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/README.md +23 -18
- package/README.vi.md +23 -18
- package/README.zh.md +23 -18
- package/dist/cli.js +100 -73
- package/package.json +6 -1
package/README.md
CHANGED
|
@@ -68,24 +68,29 @@ npx @neyugn/agent-kits
|
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
```
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
71
|
+
╭──────────────────────────────────────────────────────────────────────────╮
|
|
72
|
+
│ │
|
|
73
|
+
│ _ ____ _____ _ _ _____ _ __ ___ _____ ____ │
|
|
74
|
+
│ / \ / ___|| ____|| \ | ||_ _| | |/ /|_ _||_ _|/ ___| │
|
|
75
|
+
│ / _ \ | | _ | _| | \| | | | | ' / | | | | \___ \ │
|
|
76
|
+
│ / ___ \| |_| || |___ | |\ | | | | . \ | | | | ___) | │
|
|
77
|
+
│ /_/ \_\\____||_____||_| \_| |_| |_|\_\|___| |_| |____/ │
|
|
78
|
+
│ │
|
|
79
|
+
│ ⚡ The Universal AI Agent Toolkit ⚡ │
|
|
80
|
+
│ │
|
|
81
|
+
╰──────────────────────────────────────────────────────────────────────────╯
|
|
82
|
+
|
|
83
|
+
SETUP WIZARD
|
|
84
|
+
|
|
85
|
+
◆ 🤖 Which AI assistant are you using?
|
|
81
86
|
│ ○ Claude Code (.claude/)
|
|
82
87
|
│ ● Gemini CLI (.gemini/)
|
|
83
88
|
│ ○ Cursor (.cursor/)
|
|
84
89
|
│ ○ Custom...
|
|
85
90
|
|
|
86
|
-
◆ Where
|
|
87
|
-
│ ●
|
|
88
|
-
│ ○
|
|
91
|
+
◆ 📂 Where should we install?
|
|
92
|
+
│ ● Workspace (Project)
|
|
93
|
+
│ ○ Global (System)
|
|
89
94
|
```
|
|
90
95
|
|
|
91
96
|
### 🌍 Global vs Workspace Installation
|
|
@@ -131,11 +136,11 @@ If the installer detects an existing installation, you'll be prompted:
|
|
|
131
136
|
|
|
132
137
|
Works on **Windows**, **macOS**, and **Linux** with automatic path adaptation:
|
|
133
138
|
|
|
134
|
-
| Platform | Example Global Path
|
|
135
|
-
| -------- |
|
|
136
|
-
| Windows | `C:\Users\
|
|
137
|
-
| macOS | `/Users/
|
|
138
|
-
| Linux | `/home/
|
|
139
|
+
| Platform | Example Global Path |
|
|
140
|
+
| -------- | ---------------------------- |
|
|
141
|
+
| Windows | `C:\Users\username\.claude\` |
|
|
142
|
+
| macOS | `/Users/username/.claude/` |
|
|
143
|
+
| Linux | `/home/username/.claude/` |
|
|
139
144
|
|
|
140
145
|
<br/>
|
|
141
146
|
|
package/README.vi.md
CHANGED
|
@@ -60,24 +60,29 @@ npx @neyugn/agent-kits
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
```
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
63
|
+
╭──────────────────────────────────────────────────────────────────────────╮
|
|
64
|
+
│ │
|
|
65
|
+
│ _ ____ _____ _ _ _____ _ __ ___ _____ ____ │
|
|
66
|
+
│ / \ / ___|| ____|| \ | ||_ _| | |/ /|_ _||_ _|/ ___| │
|
|
67
|
+
│ / _ \ | | _ | _| | \| | | | | ' / | | | | \___ \ │
|
|
68
|
+
│ / ___ \| |_| || |___ | |\ | | | | . \ | | | | ___) | │
|
|
69
|
+
│ /_/ \_\\____||_____||_| \_| |_| |_|\_\|___| |_| |____/ │
|
|
70
|
+
│ │
|
|
71
|
+
│ ⚡ The Universal AI Agent Toolkit ⚡ │
|
|
72
|
+
│ │
|
|
73
|
+
╰──────────────────────────────────────────────────────────────────────────╯
|
|
74
|
+
|
|
75
|
+
SETUP WIZARD
|
|
76
|
+
|
|
77
|
+
◆ 🤖 Bạn đang sử dụng công cụ AI nào?
|
|
73
78
|
│ ○ Claude Code (.claude/)
|
|
74
79
|
│ ● Gemini CLI (.gemini/)
|
|
75
80
|
│ ○ Cursor (.cursor/)
|
|
76
81
|
│ ○ Tùy chỉnh...
|
|
77
82
|
|
|
78
|
-
◆ Bạn muốn cài đặt ở đâu?
|
|
79
|
-
│ ●
|
|
80
|
-
│ ○
|
|
83
|
+
◆ 📂 Bạn muốn cài đặt ở đâu?
|
|
84
|
+
│ ● Workspace (Dự án hiện tại)
|
|
85
|
+
│ ○ Global (Tất cả dự án)
|
|
81
86
|
```
|
|
82
87
|
|
|
83
88
|
### 🌍 Global vs Workspace
|
|
@@ -123,11 +128,11 @@ Nếu installer phát hiện cài đặt đã tồn tại, bạn sẽ được h
|
|
|
123
128
|
|
|
124
129
|
Hoạt động trên **Windows**, **macOS**, và **Linux** với đường dẫn được tự động điều chỉnh:
|
|
125
130
|
|
|
126
|
-
| Nền tảng | Đường dẫn Global ví dụ
|
|
127
|
-
| -------- |
|
|
128
|
-
| Windows | `C:\Users\
|
|
129
|
-
| macOS | `/Users/
|
|
130
|
-
| Linux | `/home/
|
|
131
|
+
| Nền tảng | Đường dẫn Global ví dụ |
|
|
132
|
+
| -------- | ---------------------------- |
|
|
133
|
+
| Windows | `C:\Users\username\.claude\` |
|
|
134
|
+
| macOS | `/Users/username/.claude/` |
|
|
135
|
+
| Linux | `/home/username/.claude/` |
|
|
131
136
|
|
|
132
137
|
<br/>
|
|
133
138
|
|
package/README.zh.md
CHANGED
|
@@ -60,24 +60,29 @@ npx @neyugn/agent-kits
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
```
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
63
|
+
╭──────────────────────────────────────────────────────────────────────────╮
|
|
64
|
+
│ │
|
|
65
|
+
│ _ ____ _____ _ _ _____ _ __ ___ _____ ____ │
|
|
66
|
+
│ / \ / ___|| ____|| \ | ||_ _| | |/ /|_ _||_ _|/ ___| │
|
|
67
|
+
│ / _ \ | | _ | _| | \| | | | | ' / | | | | \___ \ │
|
|
68
|
+
│ / ___ \| |_| || |___ | |\ | | | | . \ | | | | ___) | │
|
|
69
|
+
│ /_/ \_\\____||_____||_| \_| |_| |_|\_\|___| |_| |____/ │
|
|
70
|
+
│ │
|
|
71
|
+
│ ⚡ The Universal AI Agent Toolkit ⚡ │
|
|
72
|
+
│ │
|
|
73
|
+
╰──────────────────────────────────────────────────────────────────────────╯
|
|
74
|
+
|
|
75
|
+
SETUP WIZARD
|
|
76
|
+
|
|
77
|
+
◆ 🤖 您正在使用哪个 AI 工具?
|
|
73
78
|
│ ○ Claude Code (.claude/)
|
|
74
79
|
│ ● Gemini CLI (.gemini/)
|
|
75
80
|
│ ○ Cursor (.cursor/)
|
|
76
81
|
│ ○ 自定义...
|
|
77
82
|
|
|
78
|
-
◆ 您想安装在哪里?
|
|
79
|
-
│ ●
|
|
80
|
-
│ ○
|
|
83
|
+
◆ 📂 您想安装在哪里?
|
|
84
|
+
│ ● Workspace(当前项目)
|
|
85
|
+
│ ○ Global(所有项目)
|
|
81
86
|
```
|
|
82
87
|
|
|
83
88
|
### 🌍 Global vs Workspace 安装
|
|
@@ -123,11 +128,11 @@ npx @neyugn/agent-kits
|
|
|
123
128
|
|
|
124
129
|
支持 **Windows**、**macOS** 和 **Linux**,路径自动适配:
|
|
125
130
|
|
|
126
|
-
| 平台 | Global 路径示例
|
|
127
|
-
| ------- |
|
|
128
|
-
| Windows | `C:\Users\
|
|
129
|
-
| macOS | `/Users/
|
|
130
|
-
| Linux | `/home/
|
|
131
|
+
| 平台 | Global 路径示例 |
|
|
132
|
+
| ------- | ---------------------------- |
|
|
133
|
+
| Windows | `C:\Users\username\.claude\` |
|
|
134
|
+
| macOS | `/Users/username/.claude/` |
|
|
135
|
+
| Linux | `/home/username/.claude/` |
|
|
131
136
|
|
|
132
137
|
<br/>
|
|
133
138
|
|
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
// src/cli.ts
|
|
4
4
|
import * as p from "@clack/prompts";
|
|
5
|
+
import boxen from "boxen";
|
|
6
|
+
import figlet from "figlet";
|
|
5
7
|
import fs2 from "fs";
|
|
8
|
+
import gradient from "gradient-string";
|
|
6
9
|
import os2 from "os";
|
|
7
10
|
import path3 from "path";
|
|
8
11
|
import pc from "picocolors";
|
|
@@ -126,8 +129,8 @@ import fs from "fs/promises";
|
|
|
126
129
|
import path2 from "path";
|
|
127
130
|
import { fileURLToPath } from "url";
|
|
128
131
|
var __dirname = path2.dirname(fileURLToPath(import.meta.url));
|
|
129
|
-
var KITS_DIR = path2.resolve(__dirname, "
|
|
130
|
-
var COMMON_DIR = path2.resolve(__dirname, "
|
|
132
|
+
var KITS_DIR = path2.resolve(__dirname, "../kits");
|
|
133
|
+
var COMMON_DIR = path2.resolve(__dirname, "../common");
|
|
131
134
|
async function installKit(options) {
|
|
132
135
|
const { aiTool, kits, targetPath } = options;
|
|
133
136
|
const results = [];
|
|
@@ -240,61 +243,69 @@ function getDisplayPath(absolutePath) {
|
|
|
240
243
|
}
|
|
241
244
|
return absolutePath;
|
|
242
245
|
}
|
|
243
|
-
|
|
246
|
+
function displayBanner() {
|
|
244
247
|
console.clear();
|
|
248
|
+
const text2 = figlet.textSync("AGENT KITS", {
|
|
249
|
+
font: "Standard",
|
|
250
|
+
horizontalLayout: "fitted"
|
|
251
|
+
});
|
|
252
|
+
const title = gradient.passion(text2);
|
|
245
253
|
console.log(
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2551 \u2551
|
|
254
|
-
\u2551 \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u2551
|
|
255
|
-
\u2551 ${pc.bold("K I T S")} \u2551
|
|
256
|
-
\u2551 \u2551
|
|
257
|
-
\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D
|
|
258
|
-
`)
|
|
254
|
+
boxen(title, {
|
|
255
|
+
padding: 1,
|
|
256
|
+
margin: 1,
|
|
257
|
+
borderStyle: "round",
|
|
258
|
+
borderColor: "cyan",
|
|
259
|
+
float: "center"
|
|
260
|
+
})
|
|
259
261
|
);
|
|
260
|
-
|
|
262
|
+
console.log(
|
|
263
|
+
gradient.morning.multiline(
|
|
264
|
+
" \u26A1 The Universal AI Agent Toolkit \u26A1 "
|
|
265
|
+
)
|
|
266
|
+
);
|
|
267
|
+
console.log("");
|
|
268
|
+
}
|
|
269
|
+
async function main() {
|
|
270
|
+
displayBanner();
|
|
271
|
+
p.intro(pc.bgCyan(pc.black(" SETUP WIZARD ")));
|
|
261
272
|
const aiToolResult = await p.select({
|
|
262
|
-
message: "Which AI
|
|
273
|
+
message: "\u{1F916} Which AI assistant are you using?",
|
|
263
274
|
options: AI_TOOLS.map((tool) => ({
|
|
264
275
|
value: tool.id,
|
|
265
|
-
label: `${tool.
|
|
266
|
-
hint:
|
|
276
|
+
label: `${tool.name}`,
|
|
277
|
+
hint: `${getGlobalPathDisplay(tool)}`
|
|
267
278
|
}))
|
|
268
279
|
});
|
|
269
280
|
if (p.isCancel(aiToolResult)) {
|
|
270
|
-
p.cancel("
|
|
281
|
+
p.cancel("Operation cancelled.");
|
|
271
282
|
process.exit(0);
|
|
272
283
|
}
|
|
273
284
|
const aiTool = AI_TOOLS.find((t) => t.id === aiToolResult);
|
|
274
285
|
const scopeResult = await p.select({
|
|
275
|
-
message: "Where
|
|
286
|
+
message: "\u{1F4C2} Where should we install?",
|
|
276
287
|
options: [
|
|
277
288
|
{
|
|
278
289
|
value: "workspace",
|
|
279
|
-
label: "
|
|
280
|
-
hint: `
|
|
290
|
+
label: "Workspace (Project)",
|
|
291
|
+
hint: `Best for sharing with team (${path3.join(process.cwd(), aiTool.path)})`
|
|
281
292
|
},
|
|
282
293
|
{
|
|
283
294
|
value: "global",
|
|
284
|
-
label: "
|
|
285
|
-
hint: `
|
|
295
|
+
label: "Global (System)",
|
|
296
|
+
hint: `Best for personal use across projects (${getGlobalPathDisplay(aiTool)})`
|
|
286
297
|
}
|
|
287
298
|
]
|
|
288
299
|
});
|
|
289
300
|
if (p.isCancel(scopeResult)) {
|
|
290
|
-
p.cancel("
|
|
301
|
+
p.cancel("Operation cancelled.");
|
|
291
302
|
process.exit(0);
|
|
292
303
|
}
|
|
293
304
|
const scope = scopeResult;
|
|
294
305
|
let workspacePath = process.cwd();
|
|
295
306
|
if (scope === "workspace") {
|
|
296
307
|
const pathResult = await p.text({
|
|
297
|
-
message: "
|
|
308
|
+
message: "\u{1F4CD} Confirm workspace path:",
|
|
298
309
|
placeholder: process.cwd(),
|
|
299
310
|
defaultValue: process.cwd(),
|
|
300
311
|
validate: (value) => {
|
|
@@ -306,7 +317,7 @@ async function main() {
|
|
|
306
317
|
}
|
|
307
318
|
});
|
|
308
319
|
if (p.isCancel(pathResult)) {
|
|
309
|
-
p.cancel("
|
|
320
|
+
p.cancel("Operation cancelled.");
|
|
310
321
|
process.exit(0);
|
|
311
322
|
}
|
|
312
323
|
workspacePath = expandPath(pathResult);
|
|
@@ -315,48 +326,50 @@ async function main() {
|
|
|
315
326
|
const rulesFilePath = scope === "global" ? path3.join(os2.homedir(), aiTool.rulesFile) : path3.join(workspacePath, aiTool.rulesFile);
|
|
316
327
|
if (directoryExists(finalInstallPath)) {
|
|
317
328
|
p.log.warn(
|
|
318
|
-
`${pc.yellow("\u26A0")} Existing
|
|
329
|
+
`${pc.yellow("\u26A0")} Existing toolkit found at: ${pc.cyan(getDisplayPath(finalInstallPath))}`
|
|
319
330
|
);
|
|
320
331
|
const replaceResult = await p.select({
|
|
321
|
-
message: "
|
|
332
|
+
message: "How should we proceed?",
|
|
322
333
|
options: [
|
|
323
334
|
{
|
|
324
335
|
value: "replace",
|
|
325
|
-
label: "\u{
|
|
326
|
-
hint: "
|
|
336
|
+
label: "\u{1F680} Replace",
|
|
337
|
+
hint: "Fresh install (Recommended)"
|
|
327
338
|
},
|
|
328
339
|
{
|
|
329
340
|
value: "merge",
|
|
330
|
-
label: "\u{
|
|
331
|
-
hint: "
|
|
341
|
+
label: "\u{1F504} Merge",
|
|
342
|
+
hint: "Update skills, keep configs"
|
|
332
343
|
},
|
|
333
344
|
{
|
|
334
345
|
value: "skip",
|
|
335
346
|
label: "\u23ED\uFE0F Skip",
|
|
336
|
-
hint: "
|
|
347
|
+
hint: "Don't install files"
|
|
337
348
|
},
|
|
338
349
|
{
|
|
339
350
|
value: "cancel",
|
|
340
351
|
label: "\u274C Cancel",
|
|
341
|
-
hint: "Exit
|
|
352
|
+
hint: "Exit setup"
|
|
342
353
|
}
|
|
343
354
|
]
|
|
344
355
|
});
|
|
345
356
|
if (p.isCancel(replaceResult) || replaceResult === "cancel") {
|
|
346
|
-
p.cancel("
|
|
357
|
+
p.cancel("Operation cancelled.");
|
|
347
358
|
process.exit(0);
|
|
348
359
|
}
|
|
349
360
|
if (replaceResult === "skip") {
|
|
350
|
-
p.log.info("Skipping installation.
|
|
361
|
+
p.log.info("Skipping installation. Have a nice day! \u{1F44B}");
|
|
351
362
|
process.exit(0);
|
|
352
363
|
}
|
|
353
364
|
if (replaceResult === "replace") {
|
|
354
|
-
p.
|
|
365
|
+
const s_rm = p.spinner();
|
|
366
|
+
s_rm.start("Cleaning up old files...");
|
|
355
367
|
fs2.rmSync(finalInstallPath, { recursive: true, force: true });
|
|
368
|
+
s_rm.stop("Cleanup complete.");
|
|
356
369
|
}
|
|
357
370
|
}
|
|
358
371
|
const selectedKits = await p.multiselect({
|
|
359
|
-
message: "Select kits to
|
|
372
|
+
message: "\u{1F4E6} Select kits to include:",
|
|
360
373
|
options: KITS.filter((kit) => kit.available).map((kit) => ({
|
|
361
374
|
value: kit.id,
|
|
362
375
|
label: `${kit.icon} ${kit.name}`,
|
|
@@ -365,28 +378,34 @@ async function main() {
|
|
|
365
378
|
required: true
|
|
366
379
|
});
|
|
367
380
|
if (p.isCancel(selectedKits)) {
|
|
368
|
-
p.cancel("
|
|
381
|
+
p.cancel("Operation cancelled.");
|
|
369
382
|
process.exit(0);
|
|
370
383
|
}
|
|
371
384
|
const displayInstallPath = getDisplayPath(finalInstallPath);
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
385
|
+
console.log("");
|
|
386
|
+
console.log(
|
|
387
|
+
boxen(
|
|
388
|
+
[
|
|
389
|
+
`${pc.cyan(pc.bold("TARGET SUMMARY"))}`,
|
|
390
|
+
"",
|
|
391
|
+
`${pc.dim("Tool:")} ${aiTool.name}`,
|
|
392
|
+
`${pc.dim("Scope:")} ${scope === "global" ? "Global" : "Workspace"}`,
|
|
393
|
+
`${pc.dim("Path:")} ${displayInstallPath}`,
|
|
394
|
+
`${pc.dim("Kits:")} ${selectedKits.join(", ")}`
|
|
395
|
+
].join("\n"),
|
|
396
|
+
{ padding: 1, borderStyle: "single", borderColor: "dim" }
|
|
397
|
+
)
|
|
398
|
+
);
|
|
399
|
+
console.log("");
|
|
381
400
|
const confirmed = await p.confirm({
|
|
382
|
-
message: `
|
|
401
|
+
message: `Ready to install?`
|
|
383
402
|
});
|
|
384
403
|
if (p.isCancel(confirmed) || !confirmed) {
|
|
385
|
-
p.cancel("
|
|
404
|
+
p.cancel("Operation cancelled.");
|
|
386
405
|
process.exit(0);
|
|
387
406
|
}
|
|
388
407
|
const s = p.spinner();
|
|
389
|
-
s.start(`Installing
|
|
408
|
+
s.start(`Installing \u2728 magic...`);
|
|
390
409
|
try {
|
|
391
410
|
const results = await installKit({
|
|
392
411
|
aiTool,
|
|
@@ -394,27 +413,35 @@ async function main() {
|
|
|
394
413
|
targetPath: scope === "global" ? os2.homedir() : workspacePath,
|
|
395
414
|
scope
|
|
396
415
|
});
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
416
|
+
const isGlobal = scope === "global";
|
|
417
|
+
const rulesFile = isGlobal ? path3.join(os2.homedir(), aiTool.rulesFile) : path3.join(workspacePath, aiTool.rulesFile);
|
|
418
|
+
s.stop("Installation complete! \u{1F389}");
|
|
419
|
+
console.log("");
|
|
420
|
+
console.log(
|
|
421
|
+
boxen(
|
|
422
|
+
[
|
|
423
|
+
gradient.morning("Successfully Installed Agent Kits!"),
|
|
424
|
+
"",
|
|
425
|
+
`${pc.green("\u2714")} Core System Ready`,
|
|
426
|
+
`${pc.green("\u2714")} ${results.reduce((acc, r) => acc + r.skills, 0)} Skills Active`,
|
|
427
|
+
`${pc.green("\u2714")} Agents Deployed`,
|
|
428
|
+
"",
|
|
429
|
+
pc.bold("\u{1F449} NEXT STEPS:"),
|
|
430
|
+
`1. Open ${pc.cyan(getDisplayPath(rulesFile))}`,
|
|
431
|
+
`2. Read the instructions`,
|
|
432
|
+
`3. Type ${pc.magenta("/plan")} or ${pc.magenta("/create")} to start`
|
|
433
|
+
].join("\n"),
|
|
434
|
+
{
|
|
435
|
+
padding: 1,
|
|
436
|
+
margin: 1,
|
|
437
|
+
borderStyle: "round",
|
|
438
|
+
borderColor: "green"
|
|
439
|
+
}
|
|
440
|
+
)
|
|
415
441
|
);
|
|
442
|
+
p.outro(`Thank you for using Agent Kits. Happy coding! \u{1F680}`);
|
|
416
443
|
} catch (error) {
|
|
417
|
-
s.stop("Installation failed
|
|
444
|
+
s.stop("Installation failed.");
|
|
418
445
|
p.log.error(error instanceof Error ? error.message : "Unknown error");
|
|
419
446
|
process.exit(1);
|
|
420
447
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neyugn/agent-kits",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Universal AI Agent Toolkit - Skills, Agents, and Workflows for any AI coding assistant",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -34,9 +34,14 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@clack/prompts": "^0.10.0",
|
|
37
|
+
"boxen": "^8.0.1",
|
|
38
|
+
"figlet": "^1.10.0",
|
|
39
|
+
"gradient-string": "^3.0.0",
|
|
37
40
|
"picocolors": "^1.1.1"
|
|
38
41
|
},
|
|
39
42
|
"devDependencies": {
|
|
43
|
+
"@types/figlet": "^1.7.0",
|
|
44
|
+
"@types/gradient-string": "^1.1.6",
|
|
40
45
|
"@types/node": "^22.0.0",
|
|
41
46
|
"tsup": "^8.0.0",
|
|
42
47
|
"tsx": "^4.0.0",
|