reskill 0.11.0 → 0.12.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 (43) hide show
  1. package/README.md +106 -20
  2. package/README.zh-CN.md +106 -20
  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 +11 -11
  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 +700 -642
  16. package/dist/core/agent-registry.d.ts +16 -16
  17. package/dist/core/agent-registry.d.ts.map +1 -1
  18. package/dist/core/cache-manager.d.ts +17 -17
  19. package/dist/core/cache-manager.d.ts.map +1 -1
  20. package/dist/core/config-loader.d.ts +24 -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 -8
  25. package/dist/core/index.d.ts.map +1 -1
  26. package/dist/core/installer.d.ts +30 -30
  27. package/dist/core/installer.d.ts.map +1 -1
  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 +57 -39
  31. package/dist/core/skill-manager.d.ts.map +1 -1
  32. package/dist/core/skill-parser.d.ts +43 -43
  33. package/dist/core/skill-parser.d.ts.map +1 -1
  34. package/dist/index.d.ts +3 -3
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +641 -583
  37. package/dist/types/index.d.ts +84 -84
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/utils/fs.d.ts +7 -7
  40. package/dist/utils/fs.d.ts.map +1 -1
  41. package/dist/utils/git.d.ts +5 -0
  42. package/dist/utils/git.d.ts.map +1 -1
  43. package/package.json +18 -12
package/README.md CHANGED
@@ -19,13 +19,13 @@ English | [简体中文](./README.zh-CN.md)
19
19
 
20
20
  ```bash
21
21
  # 1. Initialize project
22
- reskill init
22
+ npx reskill init
23
23
 
24
24
  # 2. Install a skill
25
- reskill install github:anthropics/skills/frontend-design@latest
25
+ npx reskill install github:anthropics/skills/frontend-design@latest
26
26
 
27
27
  # 3. List installed skills
28
- reskill list
28
+ npx reskill list
29
29
  ```
30
30
 
31
31
  ## What is reskill?
@@ -89,19 +89,19 @@ npx reskill <command>
89
89
 
90
90
  ```bash
91
91
  # GitHub shorthand
92
- reskill install github:user/skill@v1.0.0
92
+ npx reskill install github:user/skill@v1.0.0
93
93
 
94
94
  # Full URL
95
- reskill install https://github.com/user/skill
95
+ npx reskill install https://github.com/user/skill
96
96
 
97
97
  # GitLab
98
- reskill install gitlab:group/skill@latest
98
+ npx reskill install gitlab:group/skill@latest
99
99
 
100
100
  # Private registry
101
- reskill install gitlab.company.com:team/skill@v1.0.0
101
+ npx reskill install gitlab.company.com:team/skill@v1.0.0
102
102
 
103
103
  # Default registry (from skills.json)
104
- reskill install user/skill@v1.0.0
104
+ npx reskill install user/skill@v1.0.0
105
105
  ```
106
106
 
107
107
  ### Version Specification
@@ -116,19 +116,105 @@ reskill install user/skill@v1.0.0
116
116
 
117
117
  ## Commands
118
118
 
119
+ You can use `npx reskill` directly without global installation:
120
+
121
+ ```bash
122
+ # Initialize project
123
+ npx reskill init
124
+
125
+ # Install a skill from GitHub
126
+ npx reskill install github:anthropics/skills/frontend-design@latest
127
+
128
+ # Install from private GitLab
129
+ npx reskill install gitlab.company.com:team/internal-skill@v1.0.0
130
+
131
+ # List installed skills
132
+ npx reskill list
133
+ ```
134
+
135
+ ### Command Reference
136
+
119
137
  | Command | Description |
120
138
  |---------|-------------|
121
- | `reskill init` | Initialize `skills.json` in current directory |
122
- | `reskill install [skill]` | Install skills from `skills.json` or a specific skill |
123
- | `reskill list` | List installed skills |
124
- | `reskill info <skill>` | Show skill details |
125
- | `reskill update [skill]` | Update all or specific skill |
126
- | `reskill outdated` | Check for outdated skills |
127
- | `reskill uninstall <skill>` | Remove a skill |
128
- | `reskill link <path>` | Link local skill for development |
129
- | `reskill unlink <skill>` | Unlink a local skill |
130
-
131
- Run `reskill <command> --help` for detailed options.
139
+ | `npx reskill init` | Initialize `skills.json` in current directory |
140
+ | `npx reskill install [skill]` | Install skills from `skills.json` or a specific skill |
141
+ | `npx reskill list` | List installed skills |
142
+ | `npx reskill info <skill>` | Show skill details |
143
+ | `npx reskill update [skill]` | Update all or specific skill |
144
+ | `npx reskill outdated` | Check for outdated skills |
145
+ | `npx reskill uninstall <skill>` | Remove a skill |
146
+ | `npx reskill link <path>` | Link local skill for development |
147
+ | `npx reskill unlink <skill>` | Unlink a local skill |
148
+
149
+ Run `npx reskill <command> --help` for detailed options.
150
+
151
+ ## Private GitLab Support
152
+
153
+ reskill fully supports private GitLab repositories, including self-hosted instances. Authentication is handled transparently through your system's git configuration.
154
+
155
+ ### Authentication Methods
156
+
157
+ **SSH (Recommended)**
158
+
159
+ reskill uses your existing SSH configuration automatically:
160
+
161
+ ```bash
162
+ # Uses your ~/.ssh/id_rsa or ~/.ssh/id_ed25519 automatically
163
+ npx reskill install gitlab.company.com:team/private-skill@v1.0.0
164
+
165
+ # Or with explicit SSH URL
166
+ npx reskill install git@gitlab.company.com:team/private-skill.git@v1.0.0
167
+ ```
168
+
169
+ Ensure your SSH key is added to GitLab and ssh-agent is running.
170
+
171
+ **HTTPS with Git Credential**
172
+
173
+ For CI/CD or environments without SSH, configure git credential helper:
174
+
175
+ ```bash
176
+ # Store credentials (will prompt once, then remember)
177
+ git config --global credential.helper store
178
+
179
+ # Or use environment variable in CI
180
+ git config --global credential.helper '!f() { echo "username=oauth2"; echo "password=${GITLAB_TOKEN}"; }; f'
181
+ ```
182
+
183
+ For GitLab CI/CD, use the built-in `CI_JOB_TOKEN`:
184
+
185
+ ```yaml
186
+ before_script:
187
+ - git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.company.com/".insteadOf "https://gitlab.company.com/"
188
+ ```
189
+
190
+ ### Registry Configuration
191
+
192
+ Configure private registries in `skills.json`:
193
+
194
+ ```json
195
+ {
196
+ "registries": {
197
+ "internal": "https://gitlab.company.com",
198
+ "private": "git@gitlab.internal.io"
199
+ },
200
+ "skills": {
201
+ "company-standards": "internal:team/standards@latest",
202
+ "private-utils": "private:utils/helpers@v1.0.0"
203
+ }
204
+ }
205
+ ```
206
+
207
+ ### Self-Hosted GitLab
208
+
209
+ For self-hosted GitLab instances with custom domains:
210
+
211
+ ```bash
212
+ # Direct installation
213
+ npx reskill install git.mycompany.io:team/skill@v1.0.0
214
+
215
+ # With explicit SSH URL
216
+ npx reskill install git@git.mycompany.io:team/skill.git@v1.0.0
217
+ ```
132
218
 
133
219
  ## Configuration
134
220
 
@@ -215,7 +301,7 @@ my-project/
215
301
 
216
302
  | Variable | Description | Default |
217
303
  |----------|-------------|---------|
218
- | `SKPM_CACHE_DIR` | Global cache directory | `~/.reskill-cache` |
304
+ | `RESKILL_CACHE_DIR` | Global cache directory | `~/.reskill-cache` |
219
305
  | `DEBUG` | Enable debug logging | - |
220
306
 
221
307
  ## Development
package/README.zh-CN.md CHANGED
@@ -19,13 +19,13 @@
19
19
 
20
20
  ```bash
21
21
  # 1. 初始化项目
22
- reskill init
22
+ npx reskill init
23
23
 
24
24
  # 2. 安装 skill
25
- reskill install github:anthropics/skills/frontend-design@latest
25
+ npx reskill install github:anthropics/skills/frontend-design@latest
26
26
 
27
27
  # 3. 列出已安装的 skills
28
- reskill list
28
+ npx reskill list
29
29
  ```
30
30
 
31
31
  ## 什么是 reskill?
@@ -90,19 +90,19 @@ npx reskill <command>
90
90
 
91
91
  ```bash
92
92
  # GitHub 简写
93
- reskill install github:user/skill@v1.0.0
93
+ npx reskill install github:user/skill@v1.0.0
94
94
 
95
95
  # 完整 URL
96
- reskill install https://github.com/user/skill
96
+ npx reskill install https://github.com/user/skill
97
97
 
98
98
  # GitLab
99
- reskill install gitlab:group/skill@latest
99
+ npx reskill install gitlab:group/skill@latest
100
100
 
101
101
  # 私有 Registry
102
- reskill install gitlab.company.com:team/skill@v1.0.0
102
+ npx reskill install gitlab.company.com:team/skill@v1.0.0
103
103
 
104
104
  # 默认 Registry(来自 skills.json)
105
- reskill install user/skill@v1.0.0
105
+ npx reskill install user/skill@v1.0.0
106
106
  ```
107
107
 
108
108
  ### 版本规范
@@ -117,19 +117,105 @@ reskill install user/skill@v1.0.0
117
117
 
118
118
  ## 命令
119
119
 
120
+ 无需全局安装,直接使用 `npx reskill`:
121
+
122
+ ```bash
123
+ # 初始化项目
124
+ npx reskill init
125
+
126
+ # 从 GitHub 安装 skill
127
+ npx reskill install github:anthropics/skills/frontend-design@latest
128
+
129
+ # 从私有 GitLab 安装
130
+ npx reskill install gitlab.company.com:team/internal-skill@v1.0.0
131
+
132
+ # 列出已安装的 skills
133
+ npx reskill list
134
+ ```
135
+
136
+ ### 命令参考
137
+
120
138
  | 命令 | 说明 |
121
139
  |------|------|
122
- | `reskill init` | 在当前目录初始化 `skills.json` |
123
- | `reskill install [skill]` | 安装 `skills.json` 中的所有 skills 或指定 skill |
124
- | `reskill list` | 列出已安装的 skills |
125
- | `reskill info <skill>` | 查看 skill 详情 |
126
- | `reskill update [skill]` | 更新所有或指定 skill |
127
- | `reskill outdated` | 检查过期的 skills |
128
- | `reskill uninstall <skill>` | 卸载 skill |
129
- | `reskill link <path>` | 链接本地 skill(开发用) |
130
- | `reskill unlink <skill>` | 取消链接本地 skill |
131
-
132
- 运行 `reskill <command> --help` 查看详细选项。
140
+ | `npx reskill init` | 在当前目录初始化 `skills.json` |
141
+ | `npx reskill install [skill]` | 安装 `skills.json` 中的所有 skills 或指定 skill |
142
+ | `npx reskill list` | 列出已安装的 skills |
143
+ | `npx reskill info <skill>` | 查看 skill 详情 |
144
+ | `npx reskill update [skill]` | 更新所有或指定 skill |
145
+ | `npx reskill outdated` | 检查过期的 skills |
146
+ | `npx reskill uninstall <skill>` | 卸载 skill |
147
+ | `npx reskill link <path>` | 链接本地 skill(开发用) |
148
+ | `npx reskill unlink <skill>` | 取消链接本地 skill |
149
+
150
+ 运行 `npx reskill <command> --help` 查看详细选项。
151
+
152
+ ## 私有 GitLab 支持
153
+
154
+ reskill 完整支持私有 GitLab 仓库,包括自建实例。认证通过系统的 git 配置透明处理。
155
+
156
+ ### 认证方式
157
+
158
+ **SSH(推荐)**
159
+
160
+ reskill 自动使用你已有的 SSH 配置:
161
+
162
+ ```bash
163
+ # 自动使用 ~/.ssh/id_rsa 或 ~/.ssh/id_ed25519
164
+ npx reskill install gitlab.company.com:team/private-skill@v1.0.0
165
+
166
+ # 或使用显式的 SSH URL
167
+ npx reskill install git@gitlab.company.com:team/private-skill.git@v1.0.0
168
+ ```
169
+
170
+ 确保你的 SSH key 已添加到 GitLab,并且 ssh-agent 正在运行。
171
+
172
+ **HTTPS + Git Credential**
173
+
174
+ 适用于 CI/CD 或无 SSH 的环境,配置 git credential helper:
175
+
176
+ ```bash
177
+ # 存储凭证(首次会提示输入,之后自动记住)
178
+ git config --global credential.helper store
179
+
180
+ # 或在 CI 中使用环境变量
181
+ git config --global credential.helper '!f() { echo "username=oauth2"; echo "password=${GITLAB_TOKEN}"; }; f'
182
+ ```
183
+
184
+ GitLab CI/CD 可使用内置的 `CI_JOB_TOKEN`:
185
+
186
+ ```yaml
187
+ before_script:
188
+ - git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.company.com/".insteadOf "https://gitlab.company.com/"
189
+ ```
190
+
191
+ ### Registry 配置
192
+
193
+ 在 `skills.json` 中配置私有 registry:
194
+
195
+ ```json
196
+ {
197
+ "registries": {
198
+ "internal": "https://gitlab.company.com",
199
+ "private": "git@gitlab.internal.io"
200
+ },
201
+ "skills": {
202
+ "company-standards": "internal:team/standards@latest",
203
+ "private-utils": "private:utils/helpers@v1.0.0"
204
+ }
205
+ }
206
+ ```
207
+
208
+ ### 自建 GitLab
209
+
210
+ 对于使用自定义域名的自建 GitLab 实例:
211
+
212
+ ```bash
213
+ # 直接安装
214
+ npx reskill install git.mycompany.io:team/skill@v1.0.0
215
+
216
+ # 使用显式的 SSH URL
217
+ npx reskill install git@git.mycompany.io:team/skill.git@v1.0.0
218
+ ```
133
219
 
134
220
  ## 配置
135
221
 
@@ -216,7 +302,7 @@ my-project/
216
302
 
217
303
  | 变量 | 说明 | 默认值 |
218
304
  |------|------|--------|
219
- | `SKPM_CACHE_DIR` | 全局缓存目录 | `~/.reskill-cache` |
305
+ | `RESKILL_CACHE_DIR` | 全局缓存目录 | `~/.reskill-cache` |
220
306
  | `DEBUG` | 启用调试日志 | - |
221
307
 
222
308
  ## 开发
@@ -1,9 +1,9 @@
1
+ export { infoCommand } from './info.js';
1
2
  export { initCommand } from './init.js';
2
3
  export { installCommand } from './install.js';
4
+ export { linkCommand, unlinkCommand } from './link.js';
3
5
  export { listCommand } from './list.js';
4
- export { infoCommand } from './info.js';
5
- export { updateCommand } from './update.js';
6
6
  export { outdatedCommand } from './outdated.js';
7
7
  export { uninstallCommand } from './uninstall.js';
8
- export { linkCommand, unlinkCommand } from './link.js';
8
+ export { updateCommand } from './update.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * info 命令 - 查看 skill 详情
3
+ * info command - Show skill details
4
4
  */
5
5
  export declare const infoCommand: Command;
6
6
  export default infoCommand;
@@ -1,6 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * init 命令 - 初始化 skills.json
3
+ * init command - Initialize skills.json configuration
4
4
  */
5
5
  export declare const initCommand: Command;
6
6
  export default initCommand;
@@ -1,18 +1,18 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * install 命令 - 安装 skill
3
+ * install command - Install a skill
4
4
  *
5
- * 支持多种安装模式:
6
- * - 项目安装 (默认): 安装到项目目录
7
- * - 全局安装 (-g): 安装到用户目录
8
- * - Agent 安装 (-a): 安装到指定 agents
5
+ * Supports multiple installation modes:
6
+ * - Project install (default): Install to project directory
7
+ * - Global install (-g): Install to user home directory
8
+ * - Multi-Agent install (-a): Install to specified agents
9
9
  *
10
- * 交互式流程:
11
- * 1. 检测已安装的 agents
12
- * 2. 选择目标 agents(多选)
13
- * 3. 选择安装范围 (项目/全局)
14
- * 4. 选择安装方式 (symlink/copy)
15
- * 5. 确认并执行
10
+ * Interactive flow:
11
+ * 1. Detect installed agents
12
+ * 2. Select target agents (multi-select)
13
+ * 3. Select installation scope (project/global)
14
+ * 4. Select installation method (symlink/copy)
15
+ * 5. Confirm and execute
16
16
  */
17
17
  export declare const installCommand: Command;
18
18
  export default installCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,SAiavB,CAAC;AAEL,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,SA4XvB,CAAC;AAEL,eAAe,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * list 命令 - 列出已安装的 skills
3
+ * list command - List installed skills
4
4
  */
5
5
  export declare const listCommand: Command;
6
6
  export default listCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;GAEG;AACH,eAAO,MAAM,WAAW,SAmCpB,CAAC;AAEL,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,eAAO,MAAM,WAAW,SAmCpB,CAAC;AAEL,eAAe,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * outdated 命令 - 检查过期的 skills
3
+ * outdated command - Check for outdated skills
4
4
  */
5
5
  export declare const outdatedCommand: Command;
6
6
  export default outdatedCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"outdated.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/outdated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;GAEG;AACH,eAAO,MAAM,eAAe,SA6DxB,CAAC;AAEL,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"outdated.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/outdated.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,eAAO,MAAM,eAAe,SA2DxB,CAAC;AAEL,eAAe,eAAe,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * uninstall 命令 - 卸载 skill
3
+ * uninstall command - Uninstall a skill
4
4
  */
5
5
  export declare const uninstallCommand: Command;
6
6
  export default uninstallCommand;
@@ -1,6 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * update 命令 - 更新 skill
3
+ * update command - Update installed skills
4
4
  */
5
5
  export declare const updateCommand: Command;
6
6
  export default updateCommand;