reskill 0.1.0 → 0.12.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 (41) hide show
  1. package/README.md +161 -104
  2. package/README.zh-CN.md +257 -0
  3. package/dist/cli/commands/index.d.ts +3 -3
  4. package/dist/cli/commands/index.d.ts.map +1 -1
  5. package/dist/cli/commands/info.d.ts +1 -1
  6. package/dist/cli/commands/init.d.ts +1 -1
  7. package/dist/cli/commands/install.d.ts +12 -4
  8. package/dist/cli/commands/install.d.ts.map +1 -1
  9. package/dist/cli/commands/list.d.ts +1 -1
  10. package/dist/cli/commands/list.d.ts.map +1 -1
  11. package/dist/cli/commands/outdated.d.ts +1 -1
  12. package/dist/cli/commands/outdated.d.ts.map +1 -1
  13. package/dist/cli/commands/uninstall.d.ts +1 -1
  14. package/dist/cli/commands/update.d.ts +1 -1
  15. package/dist/cli/index.js +999 -353
  16. package/dist/core/agent-registry.d.ts +54 -0
  17. package/dist/core/agent-registry.d.ts.map +1 -0
  18. package/dist/core/cache-manager.d.ts +20 -16
  19. package/dist/core/cache-manager.d.ts.map +1 -1
  20. package/dist/core/config-loader.d.ts +18 -18
  21. package/dist/core/config-loader.d.ts.map +1 -1
  22. package/dist/core/git-resolver.d.ts +23 -23
  23. package/dist/core/git-resolver.d.ts.map +1 -1
  24. package/dist/core/index.d.ts +8 -2
  25. package/dist/core/index.d.ts.map +1 -1
  26. package/dist/core/installer.d.ts +96 -0
  27. package/dist/core/installer.d.ts.map +1 -0
  28. package/dist/core/lock-manager.d.ts +17 -17
  29. package/dist/core/lock-manager.d.ts.map +1 -1
  30. package/dist/core/skill-manager.d.ts +83 -24
  31. package/dist/core/skill-manager.d.ts.map +1 -1
  32. package/dist/core/skill-parser.d.ts +116 -0
  33. package/dist/core/skill-parser.d.ts.map +1 -0
  34. package/dist/index.d.ts +4 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +951 -323
  37. package/dist/types/index.d.ts +96 -74
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/utils/fs.d.ts +30 -0
  40. package/dist/utils/fs.d.ts.map +1 -1
  41. package/package.json +29 -13
@@ -3,92 +3,108 @@
3
3
  * Based on: docs/skills-management-design.md
4
4
  */
5
5
  /**
6
- * 版本规范格式
7
- * - 精确版本: @v1.0.0
8
- * - 最新版本: @latest
9
- * - 范围版本: @^2.0.0 (semver)
10
- * - 分支: @branch:develop
6
+ * Supported Agent types
7
+ */
8
+ export type { AgentConfig, AgentType, } from '../core/agent-registry.js';
9
+ /**
10
+ * Installation mode
11
+ */
12
+ export type { InstallMode, InstallResult } from '../core/installer.js';
13
+ /**
14
+ * SKILL.md parsing related types (following agentskills.io specification)
15
+ */
16
+ export type { ParsedSkill, SkillMdFrontmatter, } from '../core/skill-parser.js';
17
+ /**
18
+ * Version specification format
19
+ * - Exact version: @v1.0.0
20
+ * - Latest version: @latest
21
+ * - Range version: @^2.0.0 (semver)
22
+ * - Branch: @branch:develop
11
23
  * - Commit: @commit:abc1234
12
- * - 无版本: 默认使用 main/master
24
+ * - No version: defaults to main/master
13
25
  */
14
26
  export type VersionSpec = string;
15
27
  /**
16
- * Skill 引用格式
17
- * 完整格式: <registry>:<owner>/<repo>@<version>
18
- * 简写格式: <owner>/<repo>@<version>
28
+ * Skill reference format
29
+ * Full format: <registry>:<owner>/<repo>@<version>
30
+ * Short format: <owner>/<repo>@<version>
19
31
  */
20
32
  export type SkillRef = string;
21
33
  /**
22
- * Registry 配置
34
+ * Registry configuration
23
35
  */
24
36
  export interface RegistryConfig {
25
37
  [name: string]: string;
26
38
  }
27
39
  /**
28
- * 默认配置
40
+ * Default configuration
29
41
  */
30
42
  export interface SkillsDefaults {
31
- /** 默认 registry */
43
+ /** Default registry */
32
44
  registry?: string;
33
- /** 安装目录,默认 .skills */
45
+ /** Installation directory, defaults to .skills */
34
46
  installDir?: string;
47
+ /** Target agents list */
48
+ targetAgents?: string[];
49
+ /** Installation mode: symlink | copy */
50
+ installMode?: 'symlink' | 'copy';
35
51
  }
36
52
  /**
37
- * Skill 覆盖配置
53
+ * Skill override configuration
38
54
  */
39
55
  export interface SkillOverride {
40
- /** 是否启用 */
56
+ /** Whether enabled */
41
57
  enabled?: boolean;
42
- /** 自定义配置 */
58
+ /** Custom configuration */
43
59
  config?: Record<string, unknown>;
44
60
  }
45
61
  /**
46
- * skills.json 完整 Schema
62
+ * skills.json complete schema
47
63
  */
48
64
  export interface SkillsJson {
49
- /** JSON Schema 引用 */
65
+ /** JSON Schema reference */
50
66
  $schema?: string;
51
- /** 项目名称 */
67
+ /** Project name */
52
68
  name?: string;
53
- /** 项目版本 */
69
+ /** Project version */
54
70
  version?: string;
55
- /** 项目描述 */
71
+ /** Project description */
56
72
  description?: string;
57
- /** Skill 依赖映射 */
73
+ /** Skill dependency mapping */
58
74
  skills: Record<string, SkillRef>;
59
- /** Registry 配置 */
75
+ /** Registry configuration */
60
76
  registries?: RegistryConfig;
61
- /** 默认配置 */
77
+ /** Default configuration */
62
78
  defaults?: SkillsDefaults;
63
- /** Skill 覆盖配置 */
79
+ /** Skill override configuration */
64
80
  overrides?: Record<string, SkillOverride>;
65
81
  }
66
82
  /**
67
- * 锁定的 Skill 信息
83
+ * Locked Skill information
68
84
  */
69
85
  export interface LockedSkill {
70
- /** 来源,如 github:user/repo */
86
+ /** Source, e.g., github:user/repo */
71
87
  source: string;
72
- /** 版本号 */
88
+ /** Version number */
73
89
  version: string;
74
- /** 解析后的完整 URL */
90
+ /** Resolved full URL */
75
91
  resolved: string;
76
- /** 精确的 commit hash */
92
+ /** Exact commit hash */
77
93
  commit: string;
78
- /** 安装时间 */
94
+ /** Installation time */
79
95
  installedAt: string;
80
96
  }
81
97
  /**
82
- * skills.lock 完整 Schema
98
+ * skills.lock complete schema
83
99
  */
84
100
  export interface SkillsLock {
85
- /** Lock 文件版本 */
101
+ /** Lock file version */
86
102
  lockfileVersion: number;
87
- /** 锁定的 skills */
103
+ /** Locked skills */
88
104
  skills: Record<string, LockedSkill>;
89
105
  }
90
106
  /**
91
- * Skill 配置项定义
107
+ * Skill configuration definition
92
108
  */
93
109
  export interface SkillConfigDef {
94
110
  type: 'string' | 'number' | 'boolean' | 'array' | 'object';
@@ -96,14 +112,14 @@ export interface SkillConfigDef {
96
112
  description?: string;
97
113
  }
98
114
  /**
99
- * 仓库信息
115
+ * Repository information
100
116
  */
101
117
  export interface SkillRepository {
102
118
  type: 'git';
103
119
  url: string;
104
120
  }
105
121
  /**
106
- * 兼容性配置
122
+ * Compatibility configuration
107
123
  */
108
124
  export interface SkillCompatibility {
109
125
  claude?: string;
@@ -111,57 +127,57 @@ export interface SkillCompatibility {
111
127
  [platform: string]: string | undefined;
112
128
  }
113
129
  /**
114
- * skill.json 完整 Schema(Skill 仓库的元数据)
130
+ * skill.json complete schema (Skill repository metadata)
115
131
  */
116
132
  export interface SkillJson {
117
- /** Skill 名称 */
133
+ /** Skill name */
118
134
  name: string;
119
- /** 版本号 */
135
+ /** Version number */
120
136
  version: string;
121
- /** 描述 */
137
+ /** Description */
122
138
  description?: string;
123
- /** 作者 */
139
+ /** Author */
124
140
  author?: string;
125
- /** 许可证 */
141
+ /** License */
126
142
  license?: string;
127
- /** 入口文件,默认 SKILL.md */
143
+ /** Entry file, defaults to SKILL.md */
128
144
  entry?: string;
129
- /** 包含的文件列表 */
145
+ /** List of included files */
130
146
  files?: string[];
131
- /** 关键词 */
147
+ /** Keywords */
132
148
  keywords?: string[];
133
- /** 仓库信息 */
149
+ /** Repository information */
134
150
  repository?: SkillRepository;
135
- /** 可配置项 */
151
+ /** Configuration items */
136
152
  config?: Record<string, SkillConfigDef>;
137
- /** 平台兼容性 */
153
+ /** Platform compatibility */
138
154
  compatibility?: SkillCompatibility;
139
155
  }
140
156
  /**
141
- * 解析后的 Skill 引用
157
+ * Parsed Skill reference
142
158
  */
143
159
  export interface ParsedSkillRef {
144
- /** Registry 名称,如 github, gitlab */
160
+ /** Registry name, e.g., github, gitlab */
145
161
  registry: string;
146
- /** 所有者/组织 */
162
+ /** Owner/organization */
147
163
  owner: string;
148
- /** 仓库名 */
164
+ /** Repository name */
149
165
  repo: string;
150
- /** 子路径(如果是 monorepo */
166
+ /** Sub-path (if monorepo) */
151
167
  subPath?: string;
152
- /** 版本规范 */
168
+ /** Version specification */
153
169
  version?: VersionSpec;
154
- /** 原始引用字符串 */
170
+ /** Original reference string */
155
171
  raw: string;
156
- /** 完整的 Git URL (SSH/HTTPS),如果提供的话 */
172
+ /** Full Git URL (SSH/HTTPS), if provided */
157
173
  gitUrl?: string;
158
174
  }
159
175
  /**
160
- * 版本类型
176
+ * Version type
161
177
  */
162
178
  export type VersionType = 'exact' | 'latest' | 'range' | 'branch' | 'commit';
163
179
  /**
164
- * 解析后的版本信息
180
+ * Parsed version information
165
181
  */
166
182
  export interface ParsedVersion {
167
183
  type: VersionType;
@@ -169,45 +185,51 @@ export interface ParsedVersion {
169
185
  raw: string;
170
186
  }
171
187
  /**
172
- * 已安装的 Skill 信息
188
+ * Installed Skill information
173
189
  */
174
190
  export interface InstalledSkill {
175
- /** Skill 名称 */
191
+ /** Skill name */
176
192
  name: string;
177
- /** 安装路径 */
193
+ /** Installation path */
178
194
  path: string;
179
- /** 版本号 */
195
+ /** Version number */
180
196
  version: string;
181
- /** 来源 */
197
+ /** Source */
182
198
  source: string;
183
- /** Skill 元数据 */
199
+ /** Skill metadata */
184
200
  metadata?: SkillJson;
185
- /** 是否为链接 */
201
+ /** Whether linked */
186
202
  isLinked?: boolean;
187
203
  }
188
204
  /**
189
- * 安装选项
205
+ * Installation options
190
206
  */
191
207
  export interface InstallOptions {
192
- /** 强制重新安装 */
208
+ /** Force reinstall */
193
209
  force?: boolean;
194
- /** 保存到 skills.json */
210
+ /** Save to skills.json */
195
211
  save?: boolean;
196
- /** 全局安装到 ~/.claude/skills */
212
+ /** Global installation */
197
213
  global?: boolean;
214
+ /** Target agents list */
215
+ agents?: string[];
216
+ /** Installation mode: symlink | copy */
217
+ mode?: 'symlink' | 'copy';
218
+ /** Skip confirmation */
219
+ yes?: boolean;
198
220
  }
199
221
  /**
200
- * 更新选项
222
+ * Update options
201
223
  */
202
224
  export interface UpdateOptions {
203
- /** 更新所有 */
225
+ /** Update all */
204
226
  all?: boolean;
205
227
  }
206
228
  /**
207
- * 列表选项
229
+ * List options
208
230
  */
209
231
  export interface ListOptions {
210
- /** JSON 格式输出 */
232
+ /** JSON format output */
211
233
  json?: boolean;
212
234
  }
213
235
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,36 @@ export declare function getCacheDir(): string;
81
81
  export declare function getHomeDir(): string;
82
82
  /**
83
83
  * Get global skills installation directory (~/.claude/skills)
84
+ * @deprecated Use getAgentGlobalSkillsDir from agent-registry instead
84
85
  */
85
86
  export declare function getGlobalSkillsDir(): string;
87
+ /**
88
+ * Get canonical skills directory path
89
+ *
90
+ * Canonical location: .agents/skills/ (project level) or ~/.agents/skills/ (global)
91
+ * This is the storage location for skill source files, each agent directory points here via symlinks
92
+ */
93
+ export declare function getCanonicalSkillsDir(options?: {
94
+ global?: boolean;
95
+ cwd?: string;
96
+ }): string;
97
+ /**
98
+ * Get canonical skill path
99
+ */
100
+ export declare function getCanonicalSkillPath(skillName: string, options?: {
101
+ global?: boolean;
102
+ cwd?: string;
103
+ }): string;
104
+ /**
105
+ * Shorten path display (replace home directory with ~)
106
+ */
107
+ export declare function shortenPath(fullPath: string, cwd?: string): string;
108
+ /**
109
+ * Validate path safety (prevent path traversal attacks)
110
+ */
111
+ export declare function isPathSafe(basePath: string, targetPath: string): boolean;
112
+ /**
113
+ * Sanitize filename (prevent path traversal attacks)
114
+ */
115
+ export declare function sanitizeName(name: string): string;
86
116
  //# sourceMappingURL=fs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAG/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,SAAI,GAAG,IAAI,CAMxE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAqBzF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAKjD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAY/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,SAAY,GAAG,MAAM,CAGjF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAG/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,SAAI,GAAG,IAAI,CAMxE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAqBzF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAKjD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAY/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,SAAY,GAAG,MAAM,CAGjF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAYD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAI9F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAWlE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBjD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reskill",
3
- "version": "0.1.0",
3
+ "version": "0.12.0",
4
4
  "description": "AI Skills Package Manager - Git-based skills management for AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,22 +21,19 @@
21
21
  "files": [
22
22
  "dist"
23
23
  ],
24
- "scripts": {
25
- "dev": "rslib build --watch",
26
- "build": "rslib build",
27
- "test": "vitest",
28
- "test:run": "vitest run",
29
- "test:coverage": "vitest run --coverage",
30
- "lint": "eslint src --ext .ts",
31
- "typecheck": "tsc --noEmit",
32
- "prepublishOnly": "npm run build"
33
- },
34
24
  "keywords": [
35
25
  "skills",
36
26
  "ai",
37
27
  "agent",
38
28
  "package-manager",
39
- "cli"
29
+ "cli",
30
+ "cursor",
31
+ "claude-code",
32
+ "github-copilot",
33
+ "opencode",
34
+ "windsurf",
35
+ "codex",
36
+ "multi-agent"
40
37
  ],
41
38
  "author": "",
42
39
  "license": "MIT",
@@ -49,21 +46,40 @@
49
46
  "url": "https://github.com/kanyun-ai-infra/reskill/issues"
50
47
  },
51
48
  "dependencies": {
49
+ "@clack/prompts": "^0.9.1",
52
50
  "chalk": "^5.3.0",
53
51
  "commander": "^12.1.0",
54
52
  "degit": "^2.8.4",
53
+ "gray-matter": "^4.0.3",
55
54
  "ora": "^8.0.1",
56
55
  "semver": "^7.6.3"
57
56
  },
58
57
  "devDependencies": {
58
+ "@biomejs/biome": "^2.3.11",
59
+ "@changesets/cli": "^2.29.8",
59
60
  "@rslib/core": "^0.1.1",
60
61
  "@types/degit": "^2.8.6",
61
62
  "@types/node": "^22.10.0",
62
63
  "@types/semver": "^7.5.8",
64
+ "@vitest/coverage-v8": "^2.1.9",
63
65
  "typescript": "^5.7.2",
64
66
  "vitest": "^2.1.8"
65
67
  },
66
68
  "engines": {
67
69
  "node": ">=18.0.0"
70
+ },
71
+ "scripts": {
72
+ "dev": "rslib build --watch",
73
+ "build": "rslib build",
74
+ "test": "vitest",
75
+ "test:run": "vitest run",
76
+ "test:coverage": "vitest run --coverage",
77
+ "lint": "biome check src",
78
+ "lint:fix": "biome check src --write",
79
+ "format": "biome format src --write",
80
+ "typecheck": "tsc --noEmit",
81
+ "changeset": "changeset",
82
+ "version": "changeset version",
83
+ "release": "pnpm build && changeset publish"
68
84
  }
69
- }
85
+ }