relay-kit 0.2.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/CHANGELOG.md ADDED
@@ -0,0 +1,37 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0 (2026-05-10)
4
+
5
+ ### BREAKING CHANGE
6
+
7
+ - 项目重命名:`ai-advisor-kit` → `relay-kit`,CLI 命令 `advisor` → `relay`
8
+ - 配置目录:`.advisor-kit/` → `.relay/`
9
+ - 忽略文件:`.advisorignore` → `.relayignore`
10
+ - AGENTS.md 注入标记:`<!-- advisor-kit:start -->` → `<!-- relay-kit:start -->`
11
+ - Skill 目录前缀:`advisor-*` → `relay-*`
12
+
13
+ ### Added
14
+
15
+ - 显式角色命令体系:`/relay:plan`、`/relay:run`、`/relay:review`、`/relay:fix`
16
+ - DIRECT_FIX 模式:Advisor 满足 4 条件之一可直接修改代码
17
+ - `/relay:run` 自动检测 EXECUTOR_TASK.md 或 RESUME_PROMPT.md
18
+ - 新增 `relay-runner` 和 `relay-fixer` Skill
19
+ - state.json 扩展:advisorMode、executorFailures、directFixLog 字段
20
+
21
+ ### Migration
22
+
23
+ 1. 删除旧的 `.advisor-kit/` 目录
24
+ 2. 删除 `.advisorignore`(如存在)
25
+ 3. 删除 `.claude/skills/advisor-*`、`.agents/skills/advisor-*`
26
+ 4. 移除 `AGENTS.md` 中 `<!-- advisor-kit:start -->` 到 `<!-- advisor-kit:end -->` 之间的内容
27
+ 5. 运行 `relay init` 重新初始化
28
+
29
+ ## v0.1.0 (2026-05-10)
30
+
31
+ ### Added
32
+
33
+ - 初始 CLI 版本,基于 `commander` 实现
34
+ - 支持 skills install、skills list、skills update、advise、init 等核心命令
35
+ - OpenSpec 变更管理工作流集成
36
+ - 27 个单元测试覆盖核心功能
37
+ - TypeScript 严格模式(`strict: true`)类型安全保障
package/README.md ADDED
@@ -0,0 +1,236 @@
1
+ # relay-kit
2
+
3
+ `relay-kit` 是一个 **Skills-first、CLI-assisted** 的 AI 编程工作流工具包。它把 Advisor Strategy 固化为可复用流程:小模型 / Executor 负责执行,聪明模型 / Advisor 负责规划、指点和 Review,人类 Owner 负责方向、验收和最终提交。
4
+
5
+ 它不是自动写代码工具,也不是多 Agent 框架。它只负责初始化规则、安装项目级 Skills、生成 handoff 文件、收集受限上下文,并帮助你在真实项目里把任务交给 OpenCode、Claude Code、Codex 或其他执行工具。
6
+
7
+ ```text
8
+ OpenSpec 管“做什么”
9
+ relay-kit 管“怎么交给小模型、卡住怎么求助、完成怎么 Review”
10
+ OpenCode / Claude Code / Codex 等工具负责实际执行
11
+ ```
12
+
13
+ ## 安装
14
+
15
+ 从 npm 安装:
16
+
17
+ ```bash
18
+ npm install -g relay-kit
19
+ relay --help
20
+ ```
21
+
22
+ 从当前仓库本地试用:
23
+
24
+ ```bash
25
+ pnpm install
26
+ pnpm build
27
+ npm link
28
+ relay --help
29
+ ```
30
+
31
+ 使用打包产物试用:
32
+
33
+ ```bash
34
+ pnpm build
35
+ npm pack
36
+ npm install -g ./relay-kit-0.1.0.tgz
37
+ relay --help
38
+ ```
39
+
40
+ 本地 `npm link` 会写入全局 npm link 状态。试用结束后可以清理:
41
+
42
+ ```bash
43
+ npm unlink -g relay-kit
44
+ ```
45
+
46
+ ## 快速开始:simple 模式
47
+
48
+ 适合没有 OpenSpec 的项目。
49
+
50
+ ```bash
51
+ cd your-project
52
+ relay init --mode simple
53
+ relay start --title "实现登录错误提示" --scope "src/**" --blocked-scope "不要修改数据库 schema"
54
+ relay ask
55
+ relay review
56
+ relay doctor
57
+ ```
58
+
59
+ 执行后会生成项目级配置、Skills 和 handoff 文件:
60
+
61
+ ```text
62
+ .relay/config.json
63
+ .relay/state.json
64
+ .relay/skills/
65
+ .claude/skills/
66
+ .agents/skills/
67
+ docs/agent-handoffs/runs/<run-id>/lanes/main/EXECUTOR_TASK.md
68
+ docs/agent-handoffs/runs/<run-id>/lanes/main/ASK_ADVISOR.md
69
+ docs/agent-handoffs/runs/<run-id>/lanes/main/REVIEW_REQUEST.md
70
+ AGENTS.md
71
+ ```
72
+
73
+ 如果 Advisor 已经把决策写入 `ADVISOR_DECISION.md`,可以继续生成给 Executor 的恢复提示:
74
+
75
+ ```bash
76
+ relay resume
77
+ ```
78
+
79
+ ## 快速开始:OpenSpec 模式
80
+
81
+ 适合已经有 `openspec/` 的项目。relay-kit 会读取 change 文档并生成交接材料,但不会替代 `/opsx:apply`,也不会自动执行 OpenSpec change。
82
+
83
+ ```bash
84
+ cd your-openspec-project
85
+ relay init --mode openspec
86
+ relay start --change add-example-feature --title "执行 add-example-feature"
87
+ relay ask
88
+ relay review
89
+ relay doctor
90
+ ```
91
+
92
+ 如果项目还没有 OpenSpec,可以只显示引导说明:
93
+
94
+ ```bash
95
+ relay init --with-openspec
96
+ ```
97
+
98
+ 这个命令不会静默创建 `openspec/`。
99
+
100
+ ## 命令说明
101
+
102
+ ### relay init
103
+
104
+ 初始化当前项目:
105
+
106
+ ```bash
107
+ relay init
108
+ relay init --mode simple
109
+ relay init --mode openspec
110
+ relay init --with-openspec
111
+ relay init --force
112
+ ```
113
+
114
+ `init` 会写入 `.relay/config.json`、`.relay/state.json`、`.relayignore`、`AGENTS.md` advisor 规则、项目级 Skills 和 `docs/agent-handoffs/runs/`。
115
+
116
+ ### relay start
117
+
118
+ 开始一次 handoff run,生成 `EXECUTOR_TASK.md`:
119
+
120
+ ```bash
121
+ relay start --title "实现登录错误提示" --scope "src/**" --blocked-scope "不要修改数据库 schema"
122
+ relay start --change add-example-feature --title "执行 add-example-feature"
123
+ relay start --copy
124
+ ```
125
+
126
+ `start` 只生成交接文件,不调用模型、不执行构建、不提交 git。
127
+
128
+ ### relay ask
129
+
130
+ Executor 卡住时生成 `ASK_ADVISOR.md`:
131
+
132
+ ```bash
133
+ relay ask
134
+ relay ask --run build
135
+ relay ask --run test
136
+ relay ask --copy
137
+ ```
138
+
139
+ 默认只收集现有上下文。只有显式传入 `--run build` 或 `--run test` 时,才会执行项目配置中的 build/test 命令,并把命令、退出码和截断日志写入求助包。
140
+
141
+ ### relay resume
142
+
143
+ 读取 Advisor 决策并生成 `RESUME_PROMPT.md`:
144
+
145
+ ```bash
146
+ relay resume
147
+ relay resume --from ./ADVISOR_DECISION.md
148
+ relay resume --copy
149
+ ```
150
+
151
+ 默认从当前 run/lane 的 `ADVISOR_DECISION.md` 读取决策。
152
+
153
+ ### relay review
154
+
155
+ 完成实现后生成 `REVIEW_REQUEST.md`:
156
+
157
+ ```bash
158
+ relay review
159
+ relay review --copy
160
+ ```
161
+
162
+ `review` 会收集当前任务、OpenSpec 上下文和受限 git diff,交给 Advisor 做审查。
163
+
164
+ ### relay doctor
165
+
166
+ 检查当前项目接入状态:
167
+
168
+ ```bash
169
+ relay doctor
170
+ ```
171
+
172
+ 它会检查配置、状态、`AGENTS.md` 注入块、Skills 目录、handoff 目录、OpenSpec 状态和 package scripts。
173
+
174
+ ### relay sync --skills
175
+
176
+ 把 `.relay/skills` 中的 advisor Skills 同步到工具目录:
177
+
178
+ ```bash
179
+ relay sync --skills
180
+ relay sync --skills --target claude
181
+ relay sync --skills --target codex
182
+ relay sync --skills --target all --scope project
183
+ relay sync --skills --target all --scope user
184
+ relay sync --skills --dry-run
185
+ relay sync --skills --force
186
+ ```
187
+
188
+ 默认只同步到当前项目配置启用的项目级目录,不会写入用户级 Skills。发生冲突时默认跳过并报告;确认要覆盖时再使用 `--force`。
189
+
190
+ ## Skills 安装目录
191
+
192
+ `relay init` 默认安装项目级 Skills:
193
+
194
+ ```text
195
+ .relay/skills relay-kit 管理副本,必选
196
+ .claude/skills Claude Code 项目级 Skills
197
+ .agents/skills Codex 项目级 Skills
198
+ ```
199
+
200
+ 用户级目录只在显式同步时使用:
201
+
202
+ ```text
203
+ ~/.claude/skills
204
+ ~/.agents/skills
205
+ ```
206
+
207
+ Codex 项目级目录使用 `.agents/skills`,不会使用 `.codex/skills`。详细规则见 `docs/SKILLS_INSTALLATION.md`。
208
+
209
+ ## 上下文安全
210
+
211
+ `relay init` 会生成默认 `.relayignore`。`relay ask` 和 `relay review` 收集上下文时会同时应用默认忽略规则、`.relayignore` 和基础脱敏规则,避免把环境变量、密钥文件、日志、构建产物或无关大目录写入 handoff 文档。
212
+
213
+ 默认忽略:
214
+
215
+ ```text
216
+ .env
217
+ .env.*
218
+ node_modules/
219
+ dist/
220
+ build/
221
+ coverage/
222
+ .git/
223
+ *.pem
224
+ *.key
225
+ *.crt
226
+ *.p12
227
+ *.log
228
+ ```
229
+
230
+ 基础脱敏会处理常见 API key、token、secret、password、bearer token 和 private key block。它是防止常见泄露的保护层,不是完整安全扫描器。
231
+
232
+ MVP 不会自动调用模型 API、不会自动执行 OpenCode / Claude Code / Codex、不会自动提交 git,也不会替代 `/opsx:apply`。
233
+
234
+ ## v0.1 alpha 状态
235
+
236
+ v0.1 alpha 面向本地安装和真实项目试用。发布前检查流程见 `docs/SMOKE_TESTS.md` 和 `docs/V0_1_ALPHA_RELEASE.md`。
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+
2
+ export { }