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 +37 -0
- package/README.md +236 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +1343 -0
- package/dist/cli.js.map +1 -0
- package/docs/CLI_SPEC.md +121 -0
- package/docs/FINAL_DESIGN.md +144 -0
- package/docs/OPENSPEC_INTEGRATION.md +52 -0
- package/docs/RUN_LANE_DESIGN.md +37 -0
- package/docs/SKILLS_INSTALLATION.md +243 -0
- package/docs/SMOKE_TESTS.md +137 -0
- package/docs/USAGE_FLOW.md +116 -0
- package/docs/V0_1_ALPHA_RELEASE.md +59 -0
- package/package.json +54 -0
- package/skills/relay-delegator/SKILL.md +43 -0
- package/skills/relay-docs/SKILL.md +16 -0
- package/skills/relay-escalation/SKILL.md +47 -0
- package/skills/relay-fixer/SKILL.md +39 -0
- package/skills/relay-lane-planner/SKILL.md +21 -0
- package/skills/relay-planner/SKILL.md +52 -0
- package/skills/relay-reviewer/SKILL.md +59 -0
- package/skills/relay-runner/SKILL.md +52 -0
- package/templates/ADVISOR_DECISION.template.md +18 -0
- package/templates/AGENTS.relay.md +37 -0
- package/templates/ASK_ADVISOR.template.md +37 -0
- package/templates/EXECUTOR_TASK.template.md +23 -0
- package/templates/RESUME_PROMPT.template.md +11 -0
- package/templates/REVIEW_REPORT.template.md +22 -0
- package/templates/REVIEW_REQUEST.template.md +26 -0
- package/templates/TASK_BOARD.template.md +10 -0
- package/templates/config.template.json +58 -0
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