rrskill 0.1.0 → 0.1.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 (3) hide show
  1. package/README.md +51 -110
  2. package/dist/index.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,40 +2,38 @@
2
2
 
3
3
  `rrskill-cli/` 是当前官方 `rrskill` Node/TypeScript CLI 源码目录。
4
4
 
5
- 这里的文档现在按职责拆开:
5
+ 文档分工:
6
6
 
7
7
  - [README.md](./README.md)
8
- - 面向使用、安装、开发
8
+ - 安装、命令、配置、开发
9
9
  - [ARCHITECTURE.md](./ARCHITECTURE.md)
10
- - 面向架构、目录结构、文件目的、边界
10
+ - 当前目录结构、主链路、扩展点
11
11
  - [PUBLISHING.md](./PUBLISHING.md)
12
- - 面向版本管理、打包、npm 发布、发布后 smoke
12
+ - 版本管理、打包、npm 发布、发布后 smoke
13
13
 
14
14
  ## 1. 包定位
15
15
 
16
- 这个目录里的 CLI 当前具备:
16
+ 当前 CLI 具备这些能力:
17
17
 
18
18
  - Node runtime
19
19
  - TypeScript 主实现
20
- - npm-only 分发
21
- - npm-only CLI 升级
20
+ - npm 分发和升级
22
21
  - `bootstrap` 作为宿主接入与修复入口
22
+ - `doctor` 作为宿主检查入口
23
23
 
24
- 官方同时维护两个 npm 包名:
24
+ 当前对外发布两个 npm 包名:
25
25
 
26
26
  - `rrskill`
27
27
  - `@rrskill/cli`
28
28
 
29
- 两个包都暴露同一个终端命令:
29
+ 两个包都暴露同一个命令:
30
30
 
31
31
  - `rrskill`
32
32
 
33
- ## 2. 安装方式
33
+ ## 2. 安装
34
34
 
35
35
  ### 2.1 直接 npm 安装
36
36
 
37
- 全局安装:
38
-
39
37
  ```bash
40
38
  npm install -g rrskill
41
39
  rrskill bootstrap --host openclaw
@@ -48,7 +46,7 @@ npm install -g @rrskill/cli
48
46
  rrskill bootstrap --host openclaw
49
47
  ```
50
48
 
51
- 一次性运行:
49
+ ### 2.2 一次性执行
52
50
 
53
51
  ```bash
54
52
  npx rrskill@latest version
@@ -59,31 +57,18 @@ pnpm dlx rrskill@latest version
59
57
  pnpm dlx @rrskill/cli@latest version
60
58
  ```
61
59
 
62
- ### 2.2 官网在线安装脚本
60
+ ### 2.3 官网安装脚本
63
61
 
64
62
  ```bash
65
63
  curl -fsSL https://rrskill.ai/install/install.sh | bash
66
64
  ```
67
65
 
68
- 指定宿主:
69
-
70
- ```bash
71
- curl -fsSL https://rrskill.ai/install/install.sh | bash -s -- --openclaw
72
- ```
73
-
74
- 说明:
66
+ 当前 `install.sh` 支持:
75
67
 
76
- - `install.sh` 默认走完整初始化流程:检查环境、安装 CLI、执行 bootstrap
77
- - `openclaw` 支持完整初始化
78
- - `codex` / `claude-code` 可以通过 `--skip-bootstrap` 完成 CLI 安装,但当前不支持完整宿主修复
79
- - `install.sh` 现在支持 `--check`、`--dry-run`、`--skip-bootstrap`、`--output json|text`
80
-
81
- `install.sh` 的职责只有:
82
-
83
- 1. 检测系统和 Node/npm
84
- 2. 必要时安装受管 Node
85
- 3. 用 npm 安装 `rrskill`
86
- 4. 调用 `rrskill bootstrap --host <name>`
68
+ - `--check`
69
+ - `--dry-run`
70
+ - `--skip-bootstrap`
71
+ - `--output json|text`
87
72
 
88
73
  示例:
89
74
 
@@ -93,25 +78,18 @@ curl -fsSL https://rrskill.ai/install/install.sh | bash -s -- --dry-run
93
78
  curl -fsSL https://rrskill.ai/install/install.sh | bash -s -- --host codex --skip-bootstrap --output json
94
79
  ```
95
80
 
96
- 另外有一个实现约束:
97
-
98
- - `install.sh` 顶部常量需要和 `src/installer/constants.ts` 保持一致
99
- - 我们现在用“显式顶部配置 + 测试校验”来避免 shell / TS 漂移
100
-
101
- ## 3. 命令说明
102
-
103
- 当前已接通的核心命令:
81
+ ## 3. 命令
104
82
 
105
83
  | 命令 | 作用 |
106
84
  | --- | --- |
107
85
  | `rrskill <slug>` | `install` 简写 |
108
- | `rrskill install <slug>` | 安装指定 marketplace skill |
109
- | `rrskill search <query>` | 搜索 registry 中的 skill |
110
- | `rrskill list` | 查看当前宿主已安装 skill |
111
- | `rrskill upgrade` | 升级当前宿主已安装的 marketplace skill |
112
- | `rrskill bootstrap --host <name>` | 安装内置 skill、安装宿主 plugin、修复宿主配置、执行校验 |
113
- | `rrskill doctor --host <name>` | 检查当前 host 的初始化状态,并返回修复建议或直接执行修复 |
114
- | `rrskill version` | 输出 CLI 版本信息与升级提示 |
86
+ | `rrskill install <slug>` | 安装指定 skill |
87
+ | `rrskill search <query>` | 搜索 registry |
88
+ | `rrskill list` | 查看已安装 skill |
89
+ | `rrskill upgrade` | 升级已安装 skill |
90
+ | `rrskill bootstrap --host <name>` | 宿主接入与修复 |
91
+ | `rrskill doctor --host <name>` | 检查宿主状态,必要时配合 `--fix` 修复 |
92
+ | `rrskill version` | 输出 CLI 版本信息 |
115
93
 
116
94
  host 参数:
117
95
 
@@ -122,34 +100,33 @@ host 参数:
122
100
  --claude-code
123
101
  ```
124
102
 
125
- 规则:
126
-
127
- - `--host` 是 canonical 参数
128
- - `--openclaw` / `--codex` / `--claude-code` 是 sugar alias
129
- - 未传 host 时默认 `openclaw`
130
- - 非法 host 会直接报错,不再静默回退
131
-
132
103
  示例:
133
104
 
134
105
  ```bash
135
- rrskill web-search
136
- rrskill web-search --codex
137
- rrskill install web-search --host claude-code
106
+ rrskill search react
107
+ rrskill install web-search --host codex
138
108
  rrskill bootstrap --openclaw
139
- rrskill doctor --host openclaw
140
109
  rrskill doctor --host openclaw --fix
141
- rrskill search browser automation
110
+ rrskill version --output json
142
111
  ```
143
112
 
144
- 输出相关:
113
+ ## 4. 宿主支持
145
114
 
146
- ```bash
147
- rrskill search react --output json
148
- rrskill doctor --host openclaw --output json
149
- rrskill search react --json
150
- ```
115
+ | 能力 | openclaw | codex | claude-code |
116
+ | --- | --- | --- | --- |
117
+ | `search/install/list/upgrade` | 支持 | 支持 | 支持 |
118
+ | 默认路径推导 | 支持 | 支持 | 支持 |
119
+ | `doctor` 检查 | 支持 | 支持 | 支持 |
120
+ | `doctor --fix` 修复 | 支持 | 暂未支持 | 暂未支持 |
121
+ | `bootstrap` 完整成功 | 支持 | 暂未支持 | 暂未支持 |
122
+ | `install.sh` 完整初始化 | 支持 | 需配合 `--skip-bootstrap` | 需配合 `--skip-bootstrap` |
151
123
 
152
- ## 4. 配置说明
124
+ 简化理解:
125
+
126
+ - `openclaw` 支持完整初始化
127
+ - `codex` / `claude-code` 当前主要支持 CLI 安装和 skill 相关命令
128
+
129
+ ## 5. 配置
153
130
 
154
131
  默认配置文件:
155
132
 
@@ -157,7 +134,7 @@ rrskill search react --json
157
134
  ~/.rrskill/config.json
158
135
  ```
159
136
 
160
- 也可以通过环境变量覆盖:
137
+ 常用环境变量:
161
138
 
162
139
  ```bash
163
140
  RRSKILL_CONFIG_PATH=/path/to/config.json
@@ -165,7 +142,7 @@ RRSKILL_HOST=codex
165
142
  RRSKILL_SKILLS_SEARCH_URL=https://api.rrskill.ai/skills?page=1&size={limit}&search={query}
166
143
  ```
167
144
 
168
- 当前支持的配置字段:
145
+ 支持的配置字段:
169
146
 
170
147
  ```json
171
148
  {
@@ -180,33 +157,11 @@ RRSKILL_SKILLS_SEARCH_URL=https://api.rrskill.ai/skills?page=1&size={limit}&sear
180
157
  - `state_dir` / `stateDir`
181
158
  - `skills_search_url` / `skillsSearchUrl`
182
159
 
183
- ## 5. 当前宿主支持情况
184
-
185
- | 能力 | openclaw | codex | claude-code |
186
- | --- | --- | --- | --- |
187
- | `search/install/list/upgrade` | 支持 | 支持 | 支持 |
188
- | 默认路径推导 | 支持 | 支持 | 支持 |
189
- | `doctor` 检查 | 支持 | 支持 | 支持 |
190
- | `doctor --fix` 实际修复 | 支持 | 暂未支持 | 暂未支持 |
191
- | `bootstrap` 完整成功 | 支持 | 暂未支持 | 暂未支持 |
192
- | `bootstrap` 内置 skill 落点 | 支持 | 支持 | 支持 |
193
- | `bootstrap` 宿主 plugin 安装 | 支持 | 暂未实现 | 暂未实现 |
194
- | `bootstrap` 宿主配置修复 | 支持 | 暂未实现 | 暂未实现 |
195
- | `install.sh` 完整初始化 | 支持 | 需配合 `--skip-bootstrap` | 需配合 `--skip-bootstrap` |
196
-
197
- 也就是说:
198
-
199
- - `openclaw` 是当前唯一做完整 bootstrap repair 的宿主
200
- - `codex` / `claude-code` 已经有统一路径模型和 skill 落点
201
- - 这两个宿主当前推荐用 `doctor` 做检查,用 `search/install/list/upgrade` 完成 CLI 侧操作
202
- - 它们的 `bootstrap` 目前会明确返回未支持,而不是假成功
203
- - 后续只需要补它们自己的宿主 plugin/config integration
204
-
205
160
  ## 6. 开发
206
161
 
207
- 当前 `rrskill-cli/` 是仓库内独立包,不在根 `pnpm-workspace.yaml` 里。
162
+ `rrskill-cli/` 当前是仓库内独立包,不在根 `pnpm-workspace.yaml` 里。
208
163
 
209
- 开发时建议直接在目录内执行:
164
+ 常用命令:
210
165
 
211
166
  ```bash
212
167
  cd rrskill-cli
@@ -216,22 +171,8 @@ pnpm run build
216
171
  pnpm run build:packages
217
172
  ```
218
173
 
219
- ## 7. 发布
220
-
221
- 发布教程现在独立放在:
222
-
223
- - [PUBLISHING.md](./PUBLISHING.md)
224
-
225
- 这里单独拎出去的原因是:
226
-
227
- - 使用者不需要看维护者发布细节
228
- - 发布链路比“安装/使用”更强调步骤顺序和校验
229
- - 现在 `build:packages` 对默认开发版 `0.0.0-dev` 有保护,发布前必须先改版本号
230
-
231
- ## 8. 进一步阅读
232
-
233
- 如果你现在关心的是:
174
+ ## 7. 进一步阅读
234
175
 
235
- - 怎么安装和使用:看这份 `README.md`
236
- - 为什么架构这么设计、每个目录和文件是干什么的:看 [ARCHITECTURE.md](./ARCHITECTURE.md)
237
- - 怎么发版、具体每一步怎么验证:看 [PUBLISHING.md](./PUBLISHING.md)
176
+ - 安装与使用:看这份 [README.md](./README.md)
177
+ - 目录结构与主链路:看 [ARCHITECTURE.md](./ARCHITECTURE.md)
178
+ - 发布与 smoke:看 [PUBLISHING.md](./PUBLISHING.md)
package/dist/index.js CHANGED
@@ -974,7 +974,7 @@ class w extends Error {
974
974
  }
975
975
  function ws() {
976
976
  const t = process.argv[1] ?? "";
977
- return t ? c.basename(t) === "rrskill.js" ? !0 : import.meta.url === `file://${t}` : !1;
977
+ return t ? ["rrskill.js", "rrskill"].includes(c.basename(t)) ? !0 : import.meta.url === `file://${t}` : !1;
978
978
  }
979
979
  function ys() {
980
980
  return [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rrskill",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "rrskill": "bin/rrskill.js"