rrskill 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.
package/README.md ADDED
@@ -0,0 +1,237 @@
1
+ # rrskill-cli
2
+
3
+ `rrskill-cli/` 是当前官方 `rrskill` Node/TypeScript CLI 源码目录。
4
+
5
+ 这里的文档现在按职责拆开:
6
+
7
+ - [README.md](./README.md)
8
+ - 面向使用、安装、开发
9
+ - [ARCHITECTURE.md](./ARCHITECTURE.md)
10
+ - 面向架构、目录结构、文件目的、边界
11
+ - [PUBLISHING.md](./PUBLISHING.md)
12
+ - 面向版本管理、打包、npm 发布、发布后 smoke
13
+
14
+ ## 1. 包定位
15
+
16
+ 这个目录里的 CLI 当前具备:
17
+
18
+ - Node runtime
19
+ - TypeScript 主实现
20
+ - npm-only 分发
21
+ - npm-only CLI 升级
22
+ - `bootstrap` 作为宿主接入与修复入口
23
+
24
+ 官方同时维护两个 npm 包名:
25
+
26
+ - `rrskill`
27
+ - `@rrskill/cli`
28
+
29
+ 两个包都暴露同一个终端命令:
30
+
31
+ - `rrskill`
32
+
33
+ ## 2. 安装方式
34
+
35
+ ### 2.1 直接 npm 安装
36
+
37
+ 全局安装:
38
+
39
+ ```bash
40
+ npm install -g rrskill
41
+ rrskill bootstrap --host openclaw
42
+ ```
43
+
44
+ 或:
45
+
46
+ ```bash
47
+ npm install -g @rrskill/cli
48
+ rrskill bootstrap --host openclaw
49
+ ```
50
+
51
+ 一次性运行:
52
+
53
+ ```bash
54
+ npx rrskill@latest version
55
+ npx @rrskill/cli@latest version
56
+ bunx rrskill@latest version
57
+ bunx @rrskill/cli@latest version
58
+ pnpm dlx rrskill@latest version
59
+ pnpm dlx @rrskill/cli@latest version
60
+ ```
61
+
62
+ ### 2.2 官网在线安装脚本
63
+
64
+ ```bash
65
+ curl -fsSL https://rrskill.ai/install/install.sh | bash
66
+ ```
67
+
68
+ 指定宿主:
69
+
70
+ ```bash
71
+ curl -fsSL https://rrskill.ai/install/install.sh | bash -s -- --openclaw
72
+ ```
73
+
74
+ 说明:
75
+
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>`
87
+
88
+ 示例:
89
+
90
+ ```bash
91
+ curl -fsSL https://rrskill.ai/install/install.sh | bash -s -- --check --output json
92
+ curl -fsSL https://rrskill.ai/install/install.sh | bash -s -- --dry-run
93
+ curl -fsSL https://rrskill.ai/install/install.sh | bash -s -- --host codex --skip-bootstrap --output json
94
+ ```
95
+
96
+ 另外有一个实现约束:
97
+
98
+ - `install.sh` 顶部常量需要和 `src/installer/constants.ts` 保持一致
99
+ - 我们现在用“显式顶部配置 + 测试校验”来避免 shell / TS 漂移
100
+
101
+ ## 3. 命令说明
102
+
103
+ 当前已接通的核心命令:
104
+
105
+ | 命令 | 作用 |
106
+ | --- | --- |
107
+ | `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 版本信息与升级提示 |
115
+
116
+ host 参数:
117
+
118
+ ```bash
119
+ --host <openclaw|codex|claude-code>
120
+ --openclaw
121
+ --codex
122
+ --claude-code
123
+ ```
124
+
125
+ 规则:
126
+
127
+ - `--host` 是 canonical 参数
128
+ - `--openclaw` / `--codex` / `--claude-code` 是 sugar alias
129
+ - 未传 host 时默认 `openclaw`
130
+ - 非法 host 会直接报错,不再静默回退
131
+
132
+ 示例:
133
+
134
+ ```bash
135
+ rrskill web-search
136
+ rrskill web-search --codex
137
+ rrskill install web-search --host claude-code
138
+ rrskill bootstrap --openclaw
139
+ rrskill doctor --host openclaw
140
+ rrskill doctor --host openclaw --fix
141
+ rrskill search browser automation
142
+ ```
143
+
144
+ 输出相关:
145
+
146
+ ```bash
147
+ rrskill search react --output json
148
+ rrskill doctor --host openclaw --output json
149
+ rrskill search react --json
150
+ ```
151
+
152
+ ## 4. 配置说明
153
+
154
+ 默认配置文件:
155
+
156
+ ```text
157
+ ~/.rrskill/config.json
158
+ ```
159
+
160
+ 也可以通过环境变量覆盖:
161
+
162
+ ```bash
163
+ RRSKILL_CONFIG_PATH=/path/to/config.json
164
+ RRSKILL_HOST=codex
165
+ RRSKILL_SKILLS_SEARCH_URL=https://api.rrskill.ai/skills?page=1&size={limit}&search={query}
166
+ ```
167
+
168
+ 当前支持的配置字段:
169
+
170
+ ```json
171
+ {
172
+ "host": "codex",
173
+ "state_dir": "/Users/demo/.rrskill",
174
+ "skills_search_url": "https://api.rrskill.ai/skills?page=1&size={limit}&search={query}&orderBy=downloadCount&order=desc"
175
+ }
176
+ ```
177
+
178
+ 兼容 key:
179
+
180
+ - `state_dir` / `stateDir`
181
+ - `skills_search_url` / `skillsSearchUrl`
182
+
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
+ ## 6. 开发
206
+
207
+ 当前 `rrskill-cli/` 是仓库内独立包,不在根 `pnpm-workspace.yaml` 里。
208
+
209
+ 开发时建议直接在目录内执行:
210
+
211
+ ```bash
212
+ cd rrskill-cli
213
+ pnpm install --ignore-workspace
214
+ pnpm run test
215
+ pnpm run build
216
+ pnpm run build:packages
217
+ ```
218
+
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
+ 如果你现在关心的是:
234
+
235
+ - 怎么安装和使用:看这份 `README.md`
236
+ - 为什么架构这么设计、每个目录和文件是干什么的:看 [ARCHITECTURE.md](./ARCHITECTURE.md)
237
+ - 怎么发版、具体每一步怎么验证:看 [PUBLISHING.md](./PUBLISHING.md)
package/bin/rrskill.js ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+
3
+ /** 文件作用:正式的 rrskill 可执行入口,负责加载 dist/index.js 中的 CLI 构建产物。 */
4
+ import("../dist/index.js").catch((error) => {
5
+ const message = error instanceof Error ? error.message : String(error);
6
+ process.stderr.write(`Failed to start rrskill CLI: ${message}\n`);
7
+ process.exit(1);
8
+ });