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
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# Skills 安装与同步策略
|
|
2
|
+
|
|
3
|
+
## 1. 核心结论
|
|
4
|
+
|
|
5
|
+
`relay-kit` 采用 **项目级 Skills 默认安装,用户级 Skills 可选安装** 的策略。
|
|
6
|
+
|
|
7
|
+
原因:
|
|
8
|
+
|
|
9
|
+
1. 项目级 Skills 跟项目绑定,适合版本管理;
|
|
10
|
+
2. 不污染用户所有项目;
|
|
11
|
+
3. 不同项目可以有不同的 relay 工作流;
|
|
12
|
+
4. 适合团队协作和作品集展示;
|
|
13
|
+
5. 后续可通过 `relay sync --skills` 更新。
|
|
14
|
+
|
|
15
|
+
## 2. 不同工具的 Skills 目录
|
|
16
|
+
|
|
17
|
+
不同 AI Coding 工具的自动扫描目录不同,不能假设 `.agents/skills/` 被所有工具识别。
|
|
18
|
+
|
|
19
|
+
### Claude Code
|
|
20
|
+
|
|
21
|
+
项目级:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
.claude/skills/<skill-name>/SKILL.md
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
用户级:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
~/.claude/skills/<skill-name>/SKILL.md
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Codex
|
|
34
|
+
|
|
35
|
+
项目级:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
.agents/skills/<skill-name>/SKILL.md
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
用户级:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
~/.agents/skills/<skill-name>/SKILL.md
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 3. relay-kit 管理副本
|
|
48
|
+
|
|
49
|
+
无论用户选择哪些工具,`relay init` 都应该生成 relay-kit 自己的管理副本:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
.relay/
|
|
53
|
+
skills/
|
|
54
|
+
relay-planner/
|
|
55
|
+
SKILL.md
|
|
56
|
+
relay-delegator/
|
|
57
|
+
SKILL.md
|
|
58
|
+
relay-escalation/
|
|
59
|
+
SKILL.md
|
|
60
|
+
relay-reviewer/
|
|
61
|
+
SKILL.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
它的作用:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
1. 作为 relay-kit 的源副本;
|
|
68
|
+
2. 方便 relay sync 统一更新;
|
|
69
|
+
3. 方便项目自己保留一份完整工作流;
|
|
70
|
+
4. 不依赖某个具体 AI 工具的扫描目录。
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 4. 默认安装目标
|
|
74
|
+
|
|
75
|
+
`relay init` 默认建议安装:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
[✓] .relay/skills relay-kit 管理副本,必选
|
|
79
|
+
[✓] .claude/skills Claude Code 项目级 Skills
|
|
80
|
+
[✓] .agents/skills Codex 项目级 Skills
|
|
81
|
+
[ ] ~/.claude/skills Claude Code 用户级 Skills
|
|
82
|
+
[ ] ~/.agents/skills Codex 用户级 Skills
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
默认不安装用户级,除非用户明确选择。
|
|
86
|
+
|
|
87
|
+
## 5. MVP 默认安装哪些 Skills
|
|
88
|
+
|
|
89
|
+
MVP 默认安装 4 个:
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
relay-planner
|
|
93
|
+
relay-delegator
|
|
94
|
+
relay-escalation
|
|
95
|
+
relay-reviewer
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
可选安装:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
relay-lane-planner
|
|
102
|
+
relay-docs
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 6. relay init 交互设计
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
请选择要同步 Skills 的目标:
|
|
109
|
+
|
|
110
|
+
[✓] .relay/skills relay-kit 管理副本,必选
|
|
111
|
+
[✓] .claude/skills Claude Code 项目级,推荐
|
|
112
|
+
[✓] .agents/skills Codex 项目级,推荐
|
|
113
|
+
[ ] ~/.claude/skills Claude Code 用户级,高级选项
|
|
114
|
+
[ ] ~/.agents/skills Codex 用户级,高级选项
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
如果用户不使用某个工具,可以取消对应目标。
|
|
118
|
+
|
|
119
|
+
## 7. 目录生成示例
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
your-project/
|
|
123
|
+
.relay/
|
|
124
|
+
skills/
|
|
125
|
+
relay-planner/SKILL.md
|
|
126
|
+
relay-delegator/SKILL.md
|
|
127
|
+
relay-escalation/SKILL.md
|
|
128
|
+
relay-reviewer/SKILL.md
|
|
129
|
+
|
|
130
|
+
.claude/
|
|
131
|
+
skills/
|
|
132
|
+
relay-planner/SKILL.md
|
|
133
|
+
relay-delegator/SKILL.md
|
|
134
|
+
relay-escalation/SKILL.md
|
|
135
|
+
relay-reviewer/SKILL.md
|
|
136
|
+
|
|
137
|
+
.agents/
|
|
138
|
+
skills/
|
|
139
|
+
relay-planner/SKILL.md
|
|
140
|
+
relay-delegator/SKILL.md
|
|
141
|
+
relay-escalation/SKILL.md
|
|
142
|
+
relay-reviewer/SKILL.md
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## 8. sync 命令设计
|
|
146
|
+
|
|
147
|
+
### 同步所有项目级 Skills
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
relay sync --skills
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
默认从:
|
|
154
|
+
|
|
155
|
+
```text
|
|
156
|
+
.relay/skills/
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
同步到当前项目已启用的目标:
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
.claude/skills/
|
|
163
|
+
.agents/skills/
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 指定目标
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
relay sync --skills --target claude
|
|
170
|
+
relay sync --skills --target codex
|
|
171
|
+
relay sync --skills --target all
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 指定作用域
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
relay sync --skills --target claude --scope project
|
|
178
|
+
relay sync --skills --target claude --scope user
|
|
179
|
+
relay sync --skills --target all --scope project
|
|
180
|
+
relay sync --skills --target all --scope user
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## 9. 配置字段
|
|
184
|
+
|
|
185
|
+
`.relay/config.json` 增加:
|
|
186
|
+
|
|
187
|
+
```json
|
|
188
|
+
{
|
|
189
|
+
"skills": {
|
|
190
|
+
"install": {
|
|
191
|
+
"manager": true,
|
|
192
|
+
"claudeProject": true,
|
|
193
|
+
"codexProject": true,
|
|
194
|
+
"claudeUser": false,
|
|
195
|
+
"codexUser": false
|
|
196
|
+
},
|
|
197
|
+
"enabled": [
|
|
198
|
+
"relay-planner",
|
|
199
|
+
"relay-delegator",
|
|
200
|
+
"relay-escalation",
|
|
201
|
+
"relay-reviewer"
|
|
202
|
+
],
|
|
203
|
+
"optional": [
|
|
204
|
+
"relay-lane-planner",
|
|
205
|
+
"relay-docs"
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## 10. Git 提交建议
|
|
212
|
+
|
|
213
|
+
建议提交:
|
|
214
|
+
|
|
215
|
+
```text
|
|
216
|
+
.relay/skills/
|
|
217
|
+
.claude/skills/
|
|
218
|
+
.agents/skills/
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
如果团队不希望提交工具目录,可以只提交:
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
.relay/skills/
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
然后让每个成员本地运行:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
relay sync --skills
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## 11. 最终规则
|
|
234
|
+
|
|
235
|
+
```text
|
|
236
|
+
1. .relay/skills 是 relay-kit 管理副本,默认必装。
|
|
237
|
+
2. .claude/skills 是 Claude Code 项目级实际识别目录。
|
|
238
|
+
3. .agents/skills 是 Codex 项目级实际识别目录。
|
|
239
|
+
4. 不使用 .codex/skills 作为默认目录。
|
|
240
|
+
5. 默认安装项目级,不默认安装用户级。
|
|
241
|
+
6. 用户级通过 relay sync --skills --scope user 手动开启。
|
|
242
|
+
7. sync 负责把管理副本同步到具体工具目录。
|
|
243
|
+
```
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# v0.1 alpha 冒烟测试
|
|
2
|
+
|
|
3
|
+
本文档用于在发布前或本地安装后验证 `relay-kit` 的最小真实项目流程。所有临时项目都应创建在仓库外,避免把 smoke-test 产物提交进发布包。
|
|
4
|
+
|
|
5
|
+
## 前置准备
|
|
6
|
+
|
|
7
|
+
在 `relay-kit` 仓库中构建并链接 CLI:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm install
|
|
11
|
+
pnpm build
|
|
12
|
+
npm link
|
|
13
|
+
relay --help
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
试用完成后清理全局 link:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm unlink -g relay-kit
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
也可以使用 tarball 试用:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm build
|
|
26
|
+
npm pack
|
|
27
|
+
npm install -g ./relay-kit-0.1.0.tgz
|
|
28
|
+
relay --help
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## simple 项目流程
|
|
32
|
+
|
|
33
|
+
创建仓库外临时项目:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
mkdir relay-smoke-simple
|
|
37
|
+
cd relay-smoke-simple
|
|
38
|
+
npm init -y
|
|
39
|
+
mkdir src
|
|
40
|
+
echo "console.log('hello relay')" > src/index.js
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
运行 relay 流程:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
relay init --mode simple
|
|
47
|
+
relay start --title "验证 alpha simple 流程" --scope "src/**" --blocked-scope "不要修改 package metadata"
|
|
48
|
+
relay ask
|
|
49
|
+
relay review
|
|
50
|
+
relay doctor
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
预期生成:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
.relay/config.json
|
|
57
|
+
.relay/state.json
|
|
58
|
+
.relay/skills/relay-planner/SKILL.md
|
|
59
|
+
.claude/skills/relay-delegator/SKILL.md
|
|
60
|
+
.agents/skills/relay-reviewer/SKILL.md
|
|
61
|
+
docs/agent-handoffs/runs/<run-id>/lanes/main/EXECUTOR_TASK.md
|
|
62
|
+
docs/agent-handoffs/runs/<run-id>/lanes/main/ASK_ADVISOR.md
|
|
63
|
+
docs/agent-handoffs/runs/<run-id>/lanes/main/REVIEW_REQUEST.md
|
|
64
|
+
AGENTS.md
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
常见失败:
|
|
68
|
+
|
|
69
|
+
- `relay ask` 提示没有 current run:先运行 `relay start`。
|
|
70
|
+
- `relay init` 提示已初始化:确认是否要使用 `relay init --force` 重写 relay-kit 管理文件。
|
|
71
|
+
- `relay ask --run build` 提示没有 build 命令:先在目标项目 `package.json` 中添加 `scripts.build`。
|
|
72
|
+
|
|
73
|
+
## OpenSpec 项目流程
|
|
74
|
+
|
|
75
|
+
创建仓库外临时项目和最小 OpenSpec change:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
mkdir relay-smoke-openspec
|
|
79
|
+
cd relay-smoke-openspec
|
|
80
|
+
npm init -y
|
|
81
|
+
mkdir -p openspec/changes/add-demo
|
|
82
|
+
echo "## Why\n\n验证 OpenSpec handoff。" > openspec/changes/add-demo/proposal.md
|
|
83
|
+
echo "## Context\n\n最小设计。" > openspec/changes/add-demo/design.md
|
|
84
|
+
echo "- [ ] 1.1 验证 relay start 可以读取 change。" > openspec/changes/add-demo/tasks.md
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
运行 relay 流程:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
relay init --mode openspec
|
|
91
|
+
relay start --change add-demo --title "执行 add-demo"
|
|
92
|
+
relay ask
|
|
93
|
+
relay review
|
|
94
|
+
relay doctor
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
预期生成:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
.relay/config.json
|
|
101
|
+
.relay/state.json
|
|
102
|
+
docs/agent-handoffs/runs/<run-id>/lanes/main/EXECUTOR_TASK.md
|
|
103
|
+
docs/agent-handoffs/runs/<run-id>/lanes/main/ASK_ADVISOR.md
|
|
104
|
+
docs/agent-handoffs/runs/<run-id>/lanes/main/REVIEW_REQUEST.md
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
`EXECUTOR_TASK.md` 应包含 `OpenSpec Change: add-demo`,并包含 `proposal.md`、`design.md`、`tasks.md` 的上下文摘要。relay-kit 只生成 handoff,不替代 `/opsx:apply`。
|
|
108
|
+
|
|
109
|
+
## 发布包验证
|
|
110
|
+
|
|
111
|
+
发布前按顺序运行:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
pnpm build
|
|
115
|
+
pnpm test
|
|
116
|
+
npm pack
|
|
117
|
+
npm publish --dry-run
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
检查 tarball 必须包含:
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
package/dist/
|
|
124
|
+
package/templates/
|
|
125
|
+
package/skills/
|
|
126
|
+
package/README.md
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
检查 tarball 不应包含:
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
package/node_modules/
|
|
133
|
+
package/tests/
|
|
134
|
+
package/.env
|
|
135
|
+
package/.env.*
|
|
136
|
+
package/openspec/changes/
|
|
137
|
+
```
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# 使用流程
|
|
2
|
+
|
|
3
|
+
## 1. 第一次接入项目
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
relay init
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
如果没有 OpenSpec,会让用户选择:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
1. Simple 模式:不使用 OpenSpec
|
|
13
|
+
2. OpenSpec 模式:已有 OpenSpec,接入即可
|
|
14
|
+
3. 引导初始化 OpenSpec:只提示/确认,不静默安装
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
初始化后生成:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
.relay/
|
|
21
|
+
config.json
|
|
22
|
+
state.json
|
|
23
|
+
skills/
|
|
24
|
+
|
|
25
|
+
docs/
|
|
26
|
+
agent-handoffs/
|
|
27
|
+
runs/
|
|
28
|
+
|
|
29
|
+
AGENTS.md
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 2. 规划功能
|
|
33
|
+
|
|
34
|
+
对聪明模型说:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
用 relay-planner 帮我规划「本地项目存储」功能。
|
|
38
|
+
请判断是否需要 OpenSpec,明确目标、范围、非目标,并拆成 tasks。
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
如果是中大型功能,建议输出:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
openspec/changes/add-local-project-storage/
|
|
45
|
+
proposal.md
|
|
46
|
+
design.md
|
|
47
|
+
tasks.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 3. 委派给小模型
|
|
51
|
+
|
|
52
|
+
对聪明模型说:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
用 relay-delegator 把当前 OpenSpec change 的第 1-2 项交给 OpenCode。
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Skill 底层调用或建议:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
relay start
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
生成:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
docs/agent-handoffs/runs/<run-id>/lanes/main/EXECUTOR_TASK.md
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
把 `EXECUTOR_TASK.md` 交给 OpenCode。
|
|
71
|
+
|
|
72
|
+
## 4. 小模型卡住
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
relay ask
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
生成 `ASK_ADVISOR.md`,交给聪明模型:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
用 relay-escalation 分析这个 ASK_ADVISOR,输出 ADVISOR_DECISION。
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 5. 顾问给出决策后继续
|
|
85
|
+
|
|
86
|
+
保存顾问回复为 `ADVISOR_DECISION.md`,运行:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
relay resume
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
生成 `RESUME_PROMPT.md`,交给 OpenCode 继续。
|
|
93
|
+
|
|
94
|
+
## 6. 完成后 Review
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
relay review
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
生成 `REVIEW_REQUEST.md`,交给聪明模型:
|
|
101
|
+
|
|
102
|
+
```text
|
|
103
|
+
用 relay-reviewer review 当前实现。
|
|
104
|
+
不要直接改代码,先输出 REVIEW_REPORT。
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## 7. 最简心智模型
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
planner:规划
|
|
111
|
+
delegator:委派
|
|
112
|
+
executor:执行
|
|
113
|
+
escalation:卡住求助
|
|
114
|
+
resume:继续执行
|
|
115
|
+
reviewer:审查
|
|
116
|
+
```
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# v0.1 alpha 发布准备记录
|
|
2
|
+
|
|
3
|
+
本文档记录 `prepare-v0-1-alpha-release` 的发布前检查结论。它不是正式 release note;正式公开发布前仍应根据实际仓库地址、npm registry 状态和最终验证结果更新。
|
|
4
|
+
|
|
5
|
+
## package.json 结论
|
|
6
|
+
|
|
7
|
+
- `name`: `relay-kit`,符合包名和 CLI 定位。
|
|
8
|
+
- `version`: `0.1.0`,符合 alpha 试用阶段。
|
|
9
|
+
- `description`: `Skills-first, CLI-assisted AI programming relay workflow toolkit.`,准确描述工具定位。
|
|
10
|
+
- `bin.relay`: `dist/cli.js`,符合 npm bin 入口和构建产物路径。
|
|
11
|
+
- `files`: 包含 `dist`、`skills`、`templates`、`README.md`,以及精选的 `docs/` 文件(CLI_SPEC、FINAL_DESIGN、OPENSPEC_INTEGRATION、RUN_LANE_DESIGN、SKILLS_INSTALLATION、SMOKE_TESTS、USAGE_FLOW、V0_1_ALPHA_RELEASE)。排除了开发期内部文档(ROADMAP、DEVELOPMENT_TASKS、IMPLEMENTATION_PROMPTS、PACKAGE_STRUCTURE)。
|
|
12
|
+
- `scripts`: 包含 `build` 和 `test`,满足发布前本地验证。
|
|
13
|
+
- `license`: `MIT`。
|
|
14
|
+
- `repository`: v0.1 alpha 暂时留空;正式公开发布前再补充真实仓库 URL。
|
|
15
|
+
|
|
16
|
+
## 发布包内容策略
|
|
17
|
+
|
|
18
|
+
必须发布:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
dist
|
|
22
|
+
templates
|
|
23
|
+
skills
|
|
24
|
+
README.md
|
|
25
|
+
docs
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
其中 `docs` 暂时保留,因为 alpha 用户需要查看设计、Skills 安装和冒烟测试说明。
|
|
29
|
+
|
|
30
|
+
不得发布:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
node_modules
|
|
34
|
+
tests
|
|
35
|
+
.env
|
|
36
|
+
.env.*
|
|
37
|
+
openspec/changes
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 验证结果
|
|
41
|
+
|
|
42
|
+
已完成验证:
|
|
43
|
+
|
|
44
|
+
- `pnpm build`: 通过,`dist/cli.js` 重新生成,首行保留 `#!/usr/bin/env node`。
|
|
45
|
+
- `pnpm test`: 通过,27 个 node:test 子测试全部通过。
|
|
46
|
+
- `npm pack`: 通过,生成 `relay-kit-0.1.0.tgz`,tarball 共 32 个文件。
|
|
47
|
+
- tarball 必要内容检查:包含 `package/dist`、`package/templates`、`package/skills`、`package/README.md`。
|
|
48
|
+
- tarball 排除内容检查:未包含 `node_modules`、`tests`、`.env`、`.env.*`、`openspec/changes`。
|
|
49
|
+
- `npm publish --dry-run`: 通过;当前 registry 为 `https://registry.npmmirror.com`,npm 提示 dry-run 发布需要登录,但退出码为 0,未发现包内容错误。
|
|
50
|
+
- `npm link`: 通过。
|
|
51
|
+
- `relay --help`: 通过,能展示 `init`、`start`、`ask`、`resume`、`review`、`doctor`、`sync` 命令。
|
|
52
|
+
- simple 临时项目流程:通过,验证了 `relay init --mode simple`、`relay start`、`relay ask`、`relay review`、`relay doctor`,并确认生成项目级 Skills 与 handoff 文件。
|
|
53
|
+
- OpenSpec 临时项目流程:通过,验证了 `relay init --mode openspec`、`relay start --change add-demo`、`relay ask`、`relay review`、`relay doctor`,并确认 `EXECUTOR_TASK.md` 包含 `OpenSpec Change: add-demo`。
|
|
54
|
+
|
|
55
|
+
验证后已清理临时项目、全局 npm link 和本地 tarball。
|
|
56
|
+
|
|
57
|
+
## 边界确认
|
|
58
|
+
|
|
59
|
+
本次发布准备不新增 lane 并行功能,不新增 GUI,不自动调用模型 API,不改变 `relay init/start/ask/resume/review/doctor/sync --skills` 主流程设计,也不发布正式 1.0。
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "relay-kit",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Skills-first, CLI-assisted AI programming relay workflow toolkit.",
|
|
5
|
+
"types": "./dist/cli.d.ts",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/wloops/relay-kit.git"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"bin": {
|
|
12
|
+
"relay": "dist/cli.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"docs/CLI_SPEC.md",
|
|
17
|
+
"docs/FINAL_DESIGN.md",
|
|
18
|
+
"docs/OPENSPEC_INTEGRATION.md",
|
|
19
|
+
"docs/RUN_LANE_DESIGN.md",
|
|
20
|
+
"docs/SKILLS_INSTALLATION.md",
|
|
21
|
+
"docs/SMOKE_TESTS.md",
|
|
22
|
+
"docs/USAGE_FLOW.md",
|
|
23
|
+
"docs/V0_1_ALPHA_RELEASE.md",
|
|
24
|
+
"CHANGELOG.md",
|
|
25
|
+
"skills",
|
|
26
|
+
"templates",
|
|
27
|
+
"README.md"
|
|
28
|
+
],
|
|
29
|
+
"keywords": [
|
|
30
|
+
"ai",
|
|
31
|
+
"cli",
|
|
32
|
+
"relay",
|
|
33
|
+
"workflow"
|
|
34
|
+
],
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"commander": "^12.1.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/node": "^22.10.2",
|
|
41
|
+
"tsup": "^8.3.5",
|
|
42
|
+
"tsx": "^4.19.2",
|
|
43
|
+
"typescript": "^5.6.3"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=20"
|
|
47
|
+
},
|
|
48
|
+
"scripts": {
|
|
49
|
+
"dev": "tsx src/cli.ts",
|
|
50
|
+
"build": "tsup",
|
|
51
|
+
"typecheck": "tsc --noEmit",
|
|
52
|
+
"test": "node --import tsx --test tests/*.test.ts"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: relay-delegator
|
|
3
|
+
description: 内部 skill,由 planner 自动衔接触发,将任务委派给 Executor。不应由用户直接调用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# relay-delegator
|
|
8
|
+
|
|
9
|
+
你是 Relay 委派顾问(内部衔接,由 planner 自动触发)。
|
|
10
|
+
|
|
11
|
+
## 核心规则
|
|
12
|
+
|
|
13
|
+
1. 不要自己实现代码。
|
|
14
|
+
2. 生成有边界的执行指令。
|
|
15
|
+
3. 始终指定允许范围和禁止范围。
|
|
16
|
+
4. 始终提及升级规则。
|
|
17
|
+
5. 如果存在 OpenSpec,引用 proposal/design/tasks。
|
|
18
|
+
6. 如果不存在 OpenSpec,使用 simple 模式。
|
|
19
|
+
|
|
20
|
+
## 输出格式
|
|
21
|
+
|
|
22
|
+
# EXECUTOR_TASK
|
|
23
|
+
|
|
24
|
+
## Role
|
|
25
|
+
你是执行者(Executor)。
|
|
26
|
+
|
|
27
|
+
## Task
|
|
28
|
+
|
|
29
|
+
## Source
|
|
30
|
+
|
|
31
|
+
## Read First
|
|
32
|
+
|
|
33
|
+
## Allowed Scope
|
|
34
|
+
|
|
35
|
+
## Blocked Scope
|
|
36
|
+
|
|
37
|
+
## Requirements
|
|
38
|
+
|
|
39
|
+
## Escalation Rule
|
|
40
|
+
|
|
41
|
+
## Verification
|
|
42
|
+
|
|
43
|
+
## Completion Report Format
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: relay-docs
|
|
3
|
+
description: 预留 skill。当用户需要汇总进度、更新 PROGRESS.md、CHANGELOG、决策日志或将 AI 工作流历史转为项目文档时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# relay-docs
|
|
8
|
+
|
|
9
|
+
预留 skill,用于文档和进度跟踪。
|
|
10
|
+
|
|
11
|
+
## 目标文件
|
|
12
|
+
- PROGRESS.md
|
|
13
|
+
- CHANGELOG.md
|
|
14
|
+
- DECISION_LOG.md
|
|
15
|
+
- README updates
|
|
16
|
+
- Portfolio highlights
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: relay-escalation
|
|
3
|
+
description: 内部 skill,当 Executor 生成 ASK_ADVISOR.md 后自动衔接触发。产出 ADVISOR_DECISION。不应由用户直接调用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# relay-escalation
|
|
8
|
+
|
|
9
|
+
你是 Relay 升级顾问(内部衔接,由 runner 自动触发),不是执行者(Executor)。
|
|
10
|
+
|
|
11
|
+
## 决策类型
|
|
12
|
+
|
|
13
|
+
- CONTINUE — 继续执行
|
|
14
|
+
- PATCH — 最小修补
|
|
15
|
+
- REPLAN — 重新规划
|
|
16
|
+
- STOP — 停止
|
|
17
|
+
- ASK_OWNER — 询问负责人
|
|
18
|
+
|
|
19
|
+
## 核心规则
|
|
20
|
+
|
|
21
|
+
1. 不要重写大量代码。
|
|
22
|
+
2. 不要扩大范围。
|
|
23
|
+
3. 优先选择最小的安全修复。
|
|
24
|
+
4. 如果需要产品判断,返回 ASK_OWNER。
|
|
25
|
+
5. 如果任务设计有误,返回 REPLAN。
|
|
26
|
+
6. 如果实现路径有危险,返回 STOP。
|
|
27
|
+
7. 始终提供一份给 Executor 的提示。
|
|
28
|
+
|
|
29
|
+
## 输出格式
|
|
30
|
+
|
|
31
|
+
# ADVISOR_DECISION
|
|
32
|
+
|
|
33
|
+
## Decision Type
|
|
34
|
+
|
|
35
|
+
## Root Cause
|
|
36
|
+
|
|
37
|
+
## What Not To Do
|
|
38
|
+
|
|
39
|
+
## Recommended Path
|
|
40
|
+
|
|
41
|
+
## Minimal Change Scope
|
|
42
|
+
|
|
43
|
+
## Execution Steps
|
|
44
|
+
|
|
45
|
+
## Verification
|
|
46
|
+
|
|
47
|
+
## Prompt For Executor
|