helloloop 0.1.2 → 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/.claude-plugin/plugin.json +14 -0
- package/.codex-plugin/plugin.json +4 -4
- package/README.md +310 -124
- package/hosts/claude/marketplace/.claude-plugin/marketplace.json +14 -0
- package/hosts/claude/marketplace/plugins/helloloop/.claude-plugin/plugin.json +9 -0
- package/hosts/claude/marketplace/plugins/helloloop/commands/helloloop.md +28 -0
- package/hosts/claude/marketplace/plugins/helloloop/skills/helloloop/SKILL.md +38 -0
- package/hosts/gemini/extension/GEMINI.md +29 -0
- package/hosts/gemini/extension/commands/helloloop.toml +24 -0
- package/hosts/gemini/extension/gemini-extension.json +13 -0
- package/package.json +5 -3
- package/skills/helloloop/SKILL.md +34 -10
- package/src/analyze_confirmation.mjs +128 -0
- package/src/analyzer.mjs +2 -2
- package/src/cli.mjs +79 -86
- package/src/cli_support.mjs +307 -0
- package/src/install.mjs +141 -21
- package/src/shell_invocation.mjs +21 -7
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "helloloop",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "HelloLoop 的 Claude Code 原生插件元数据,用于多 CLI 宿主分发。",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "HelloLoop"
|
|
7
|
+
},
|
|
8
|
+
"license": "Apache-2.0",
|
|
9
|
+
"homepage": "https://github.com/hellowind777/helloloop",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "https://github.com/hellowind777/helloloop"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloloop",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "面向 Codex
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "面向 Codex CLI、Claude Code、Gemini CLI 的多宿主开发工作流插件,Codex 路径为首发与参考实现。",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HelloLoop"
|
|
7
7
|
},
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"interface": {
|
|
18
18
|
"displayName": "HelloLoop",
|
|
19
19
|
"shortDescription": "基于 backlog 的持续仓库开发与验证循环",
|
|
20
|
-
"longDescription": "HelloLoop 把基于 backlog 的持续开发能力封装为官方 Codex 插件 bundle
|
|
20
|
+
"longDescription": "HelloLoop 把基于 backlog 的持续开发能力封装为官方 Codex 插件 bundle。显式调用 helloloop skill 时,默认优先进入 npx helloloop 主 CLI 流程:先分析、再展示确认单、确认后自动接续推进。",
|
|
21
21
|
"developerName": "HelloLoop",
|
|
22
22
|
"category": "Coding",
|
|
23
23
|
"capabilities": [
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"Write"
|
|
26
26
|
],
|
|
27
27
|
"defaultPrompt": [
|
|
28
|
-
"使用 HelloLoop
|
|
28
|
+
"使用 HelloLoop 时,优先执行 npx helloloop 或 npx helloloop <PATH> 主流程,而不是在对话里手工模拟分析与续跑。"
|
|
29
29
|
],
|
|
30
30
|
"brandColor": "#0F766E"
|
|
31
31
|
}
|
package/README.md
CHANGED
|
@@ -1,200 +1,315 @@
|
|
|
1
1
|
# HelloLoop
|
|
2
2
|
|
|
3
|
-
`HelloLoop` 是一个面向 Codex
|
|
3
|
+
`HelloLoop` 是一个面向 `Codex CLI`、`Claude Code`、`Gemini CLI` 的多宿主开发工作流插件,用来把“根据开发文档持续接续开发”变成一条可分析、可确认、可验证、可追踪的标准流程。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
它有两层定位:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- `Codex CLI`:首发平台、参考实现、最佳体验路径
|
|
8
|
+
- `Claude Code` / `Gemini CLI`:各自按原生 agent 逻辑执行,但共享同一套 `.helloloop/` 工作流规范
|
|
9
|
+
|
|
10
|
+
Codex 路径的主工作流只有两种 CLI 入口:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx helloloop
|
|
14
|
+
npx helloloop <PATH>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
无论从哪个宿主进入,`HelloLoop` 都遵循同一条主线:
|
|
18
|
+
|
|
19
|
+
1. 自动识别项目仓库与开发文档
|
|
20
|
+
2. 分析当前代码与文档目标的真实差距
|
|
21
|
+
3. 生成或刷新目标仓库根目录下的 `.helloloop/`
|
|
22
|
+
4. 输出中文执行确认单
|
|
23
|
+
5. 用户确认后,继续按当前宿主的原生 agent 逻辑推进开发、测试和验收
|
|
8
24
|
|
|
9
25
|
## 目录
|
|
10
26
|
|
|
11
|
-
- [
|
|
27
|
+
- [核心流程](#核心流程)
|
|
28
|
+
- [支持矩阵](#支持矩阵)
|
|
12
29
|
- [安装](#安装)
|
|
13
30
|
- [快速开始](#快速开始)
|
|
14
|
-
- [
|
|
15
|
-
- [
|
|
31
|
+
- [自动发现规则](#自动发现规则)
|
|
32
|
+
- [自动执行边界](#自动执行边界)
|
|
33
|
+
- [Doctor 检查](#doctor-检查)
|
|
16
34
|
- [命令速查](#命令速查)
|
|
17
35
|
- [状态目录](#状态目录)
|
|
36
|
+
- [Skill 用法](#skill-用法)
|
|
18
37
|
- [在 Codex 中使用](#在-codex-中使用)
|
|
19
|
-
- [
|
|
38
|
+
- [跨平台与安全](#跨平台与安全)
|
|
20
39
|
- [仓库结构](#仓库结构)
|
|
21
|
-
- [
|
|
40
|
+
- [许可证](#许可证)
|
|
22
41
|
|
|
23
|
-
##
|
|
42
|
+
## 核心流程
|
|
24
43
|
|
|
25
|
-
`HelloLoop`
|
|
44
|
+
`HelloLoop` 的默认流程固定为 5 步:
|
|
26
45
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
46
|
+
1. 自动发现项目仓库与开发文档
|
|
47
|
+
2. 对比文档目标与当前代码,识别当前进度和偏差
|
|
48
|
+
3. 生成或刷新目标仓库根目录下的 `.helloloop/`
|
|
49
|
+
4. 输出执行确认单,明确展示仓库、文档、当前进度、待办任务、验证命令和执行边界
|
|
50
|
+
5. 用户确认后,自动推进后续开发、测试和验收,直到全部完成或遇到硬阻塞
|
|
32
51
|
|
|
33
|
-
|
|
52
|
+
如果分析识别出偏差修正任务,`HelloLoop` 会优先先收口偏差,再继续后面的开发任务。
|
|
34
53
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
54
|
+
工作流统一,但执行器分为两类:
|
|
55
|
+
|
|
56
|
+
- `Codex CLI`:通过 `npx helloloop` / `$helloloop` 进入,使用当前仓库内的 Node CLI 与 Codex 插件链路
|
|
57
|
+
- `Claude Code` / `Gemini CLI`:通过 `/helloloop` 进入,使用各自原生插件 / 扩展与 agent 工具链
|
|
58
|
+
|
|
59
|
+
## 支持矩阵
|
|
39
60
|
|
|
40
|
-
|
|
61
|
+
| 宿主 | 安装方式 | 原生使用入口 | 当前定位 |
|
|
62
|
+
| --- | --- | --- | --- |
|
|
63
|
+
| `Codex CLI` | `helloloop install --host codex` | `$helloloop` / `npx helloloop` | 首发平台、参考实现、最佳体验 |
|
|
64
|
+
| `Claude Code` | `helloloop install --host claude` | `/helloloop` | Claude 原生插件工作流 |
|
|
65
|
+
| `Gemini CLI` | `helloloop install --host gemini` | `/helloloop` | Gemini 原生扩展工作流 |
|
|
41
66
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
67
|
+
如果你希望一次性装好三家宿主:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx helloloop install --host all
|
|
71
|
+
```
|
|
45
72
|
|
|
46
73
|
## 安装
|
|
47
74
|
|
|
48
75
|
### npm / npx
|
|
49
76
|
|
|
50
|
-
|
|
77
|
+
默认安装 `Codex` 宿主:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
51
80
|
npx helloloop install --codex-home <CODEX_HOME>
|
|
52
81
|
```
|
|
53
82
|
|
|
83
|
+
安装到指定宿主:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx helloloop install --host codex
|
|
87
|
+
npx helloloop install --host claude
|
|
88
|
+
npx helloloop install --host gemini
|
|
89
|
+
npx helloloop install --host all
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
可选 home 参数:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
--codex-home <CODEX_HOME>
|
|
96
|
+
--claude-home <CLAUDE_HOME>
|
|
97
|
+
--gemini-home <GEMINI_HOME>
|
|
98
|
+
```
|
|
99
|
+
|
|
54
100
|
### 源码仓库
|
|
55
101
|
|
|
56
|
-
```
|
|
102
|
+
```bash
|
|
57
103
|
node ./scripts/helloloop.mjs install --codex-home <CODEX_HOME>
|
|
58
104
|
```
|
|
59
105
|
|
|
60
|
-
|
|
106
|
+
Windows PowerShell 也可以直接运行:
|
|
61
107
|
|
|
62
108
|
```powershell
|
|
63
109
|
pwsh -NoLogo -NoProfile -File .\scripts\install-home-plugin.ps1 -CodexHome <CODEX_HOME>
|
|
64
110
|
```
|
|
65
111
|
|
|
66
|
-
|
|
112
|
+
安装完成后:
|
|
67
113
|
|
|
68
|
-
|
|
114
|
+
- Codex 会写入 `<CODEX_HOME>/plugins/helloloop`
|
|
115
|
+
- Claude 会写入 `<CLAUDE_HOME>/marketplaces/helloloop-local`
|
|
116
|
+
- Gemini 会写入 `<GEMINI_HOME>/extensions/helloloop`
|
|
69
117
|
|
|
70
|
-
|
|
118
|
+
如果你想在安装后做一次全宿主环境检查:
|
|
71
119
|
|
|
72
|
-
```
|
|
73
|
-
npx helloloop
|
|
120
|
+
```bash
|
|
121
|
+
npx helloloop doctor --host all
|
|
74
122
|
```
|
|
75
123
|
|
|
76
|
-
|
|
124
|
+
## 快速开始
|
|
77
125
|
|
|
78
|
-
|
|
126
|
+
### 1. 选择宿主入口
|
|
79
127
|
|
|
80
|
-
```
|
|
81
|
-
npx helloloop
|
|
128
|
+
```text
|
|
129
|
+
Codex -> $helloloop / npx helloloop
|
|
130
|
+
Claude -> /helloloop
|
|
131
|
+
Gemini -> /helloloop
|
|
82
132
|
```
|
|
83
133
|
|
|
84
|
-
|
|
134
|
+
说明:
|
|
85
135
|
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
136
|
+
- `Codex` 路径下,`$helloloop` 与 `npx helloloop` 对齐同一主流程
|
|
137
|
+
- `Claude` 与 `Gemini` 路径下,`/helloloop` 会走各自原生 agent 执行逻辑
|
|
138
|
+
- 三家都会维护同一个 `.helloloop/` 状态目录规范
|
|
89
139
|
|
|
90
|
-
|
|
140
|
+
### 2. 进入项目仓库或开发文档目录
|
|
91
141
|
|
|
92
|
-
|
|
142
|
+
最短命令:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npx helloloop
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
如果你只知道一个路径,也可以只传一个:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
93
151
|
npx helloloop <PATH>
|
|
94
152
|
```
|
|
95
153
|
|
|
96
|
-
这里的 `<PATH>`
|
|
154
|
+
这里的 `<PATH>` 可以是:
|
|
97
155
|
|
|
98
156
|
- 项目仓库路径
|
|
99
157
|
- 开发文档目录
|
|
100
158
|
- 开发文档文件
|
|
101
159
|
|
|
102
|
-
### 3.
|
|
160
|
+
### 3. 查看执行确认单
|
|
103
161
|
|
|
104
|
-
|
|
105
|
-
npx helloloop next
|
|
106
|
-
```
|
|
162
|
+
分析完成后,`HelloLoop` 会展示一份执行确认单,至少包含:
|
|
107
163
|
|
|
108
|
-
|
|
164
|
+
- 识别出的目标仓库
|
|
165
|
+
- 识别出的开发文档
|
|
166
|
+
- 当前进度摘要
|
|
167
|
+
- 已实现事项
|
|
168
|
+
- 待完成事项
|
|
169
|
+
- 任务统计
|
|
170
|
+
- 首个待执行任务
|
|
171
|
+
- 验证命令预览
|
|
172
|
+
- 自动推进边界
|
|
109
173
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
174
|
+
### 4. 确认后自动继续执行
|
|
175
|
+
|
|
176
|
+
你确认后,`HelloLoop` 会:
|
|
177
|
+
|
|
178
|
+
- 按 backlog 顺序自动推进
|
|
179
|
+
- 每个任务都走当前宿主的原生 agent 执行与验证
|
|
180
|
+
- 遇到失败、风险超阈值、依赖未满足或环境硬阻塞时立即停下
|
|
181
|
+
- 把分析结果、状态和运行记录都写进目标仓库的 `.helloloop/`
|
|
114
182
|
|
|
115
183
|
如果你已经做了全局安装,也可以把 `npx helloloop` 简写成 `helloloop`。
|
|
116
184
|
|
|
117
|
-
|
|
185
|
+
如果你想手动查看或接管某一步,也可以使用:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
npx helloloop status
|
|
189
|
+
npx helloloop next
|
|
190
|
+
npx helloloop run-once
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## 自动发现规则
|
|
118
194
|
|
|
119
195
|
- 不传路径:默认分析当前目录
|
|
120
196
|
- 只传一个路径:自动判断它是仓库路径还是开发文档路径
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
- `--repo`
|
|
197
|
+
- 当前目录是仓库:自动查找开发文档
|
|
198
|
+
- 当前目录是文档目录:自动尝试反推目标仓库
|
|
199
|
+
- 只给开发文档但无法推断仓库:停止并提示补充 `--repo`
|
|
200
|
+
- 只给仓库但找不到开发文档:停止并提示补充 `--docs`
|
|
124
201
|
|
|
125
|
-
|
|
202
|
+
推荐始终优先使用:
|
|
126
203
|
|
|
127
|
-
```
|
|
204
|
+
```bash
|
|
128
205
|
npx helloloop
|
|
129
206
|
npx helloloop <PATH>
|
|
130
207
|
```
|
|
131
208
|
|
|
132
|
-
|
|
209
|
+
只有自动发现无法收敛时,再补充高级参数:
|
|
133
210
|
|
|
134
|
-
```
|
|
211
|
+
```bash
|
|
135
212
|
npx helloloop --repo <REPO_ROOT> --docs <DOCS_PATH>
|
|
136
213
|
```
|
|
137
214
|
|
|
138
|
-
##
|
|
215
|
+
## 自动执行边界
|
|
216
|
+
|
|
217
|
+
默认主命令会在确认后尽量自动完成整轮 backlog,而不是只跑一个任务。
|
|
218
|
+
|
|
219
|
+
### 常用执行模式
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
npx helloloop
|
|
223
|
+
npx helloloop <PATH>
|
|
224
|
+
npx helloloop --dry-run
|
|
225
|
+
npx helloloop -y
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
含义如下:
|
|
229
|
+
|
|
230
|
+
- `npx helloloop`:分析 → 展示确认单 → 等待你确认 → 自动执行
|
|
231
|
+
- `npx helloloop <PATH>`:同上,但先用你给的单一路径做自动识别
|
|
232
|
+
- `npx helloloop --dry-run`:只分析并输出确认单,不真正开始执行
|
|
233
|
+
- `npx helloloop -y`:跳过交互确认,分析后直接自动执行
|
|
234
|
+
|
|
235
|
+
### 停止条件
|
|
236
|
+
|
|
237
|
+
出现以下情况时,`HelloLoop` 会停止并保留现场,而不是静默降级:
|
|
238
|
+
|
|
239
|
+
- 无法自动确定目标仓库或开发文档
|
|
240
|
+
- backlog 已存在失败任务、阻塞任务或未满足依赖
|
|
241
|
+
- 后续任务风险超出自动阈值,且你没有显式加 `--allow-high-risk`
|
|
242
|
+
- 验证命令失败
|
|
243
|
+
- 当前宿主 CLI、插件资产或 shell 环境不可安全执行
|
|
244
|
+
|
|
245
|
+
## Doctor 检查
|
|
246
|
+
|
|
247
|
+
你可以用 `doctor` 检查当前宿主是否已具备基本运行条件。
|
|
248
|
+
|
|
249
|
+
### 只检查 Codex
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
npx helloloop doctor
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### 检查全部宿主
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
npx helloloop doctor --host all
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### 检查已安装目录
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
npx helloloop doctor --host all --codex-home <CODEX_HOME> --claude-home <CLAUDE_HOME> --gemini-home <GEMINI_HOME>
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
`doctor` 当前可检查:
|
|
139
268
|
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
- macOS / Linux 环境下,`HelloLoop` 优先使用 `bash`,没有 `bash` 时再回退到 `sh`。
|
|
269
|
+
- 宿主 CLI 是否存在
|
|
270
|
+
- 本地运行时资产是否齐全
|
|
271
|
+
- 目标仓库 `.helloloop/` 基础文件是否存在
|
|
272
|
+
- 已安装宿主目录是否已写入对应插件 / 扩展
|
|
145
273
|
|
|
146
274
|
## 命令速查
|
|
147
275
|
|
|
148
276
|
| 命令 | 作用 |
|
|
149
277
|
| --- | --- |
|
|
150
|
-
| `analyze` |
|
|
151
|
-
| `next` | 预览下一任务,不真正执行 |
|
|
152
|
-
| `run-once` | 执行一个任务 |
|
|
153
|
-
| `run-loop` | 连续执行多个任务 |
|
|
278
|
+
| `analyze` | 主工作流;分析并输出确认单,确认后自动接续执行 |
|
|
154
279
|
| `status` | 查看 backlog 汇总与当前状态 |
|
|
155
|
-
| `
|
|
280
|
+
| `next` | 预览下一任务,不真正执行 |
|
|
281
|
+
| `run-once` | 手动执行一个任务 |
|
|
282
|
+
| `run-loop` | 手动连续执行多个任务 |
|
|
283
|
+
| `doctor` | 检查所选宿主、运行时资产与目标仓库是否满足运行条件 |
|
|
156
284
|
| `init` | 手动初始化 `.helloloop/` 模板 |
|
|
157
|
-
| `install` |
|
|
158
|
-
|
|
159
|
-
除 `install` 外,其余命令都可以直接在目标仓库目录执行;如果不在目标仓库目录,也可以补一个路径:
|
|
160
|
-
|
|
161
|
-
```powershell
|
|
162
|
-
npx helloloop next <PATH>
|
|
163
|
-
npx helloloop run-once <PATH>
|
|
164
|
-
npx helloloop status <PATH>
|
|
165
|
-
```
|
|
285
|
+
| `install` | 安装插件到所选宿主目录 |
|
|
166
286
|
|
|
167
287
|
### 常用选项
|
|
168
288
|
|
|
169
289
|
| 选项 | 说明 |
|
|
170
290
|
| --- | --- |
|
|
291
|
+
| `-y`, `--yes` | 跳过交互确认,分析后直接开始执行 |
|
|
292
|
+
| `--dry-run` | 只分析并输出确认单,不真正开始执行 |
|
|
293
|
+
| `--host <name>` | 选择安装宿主:`codex`、`claude`、`gemini`、`all` |
|
|
171
294
|
| `--repo <dir>` | 高级选项:显式指定项目仓库根目录 |
|
|
172
295
|
| `--docs <dir\|file>` | 高级选项:显式指定开发文档目录或文件 |
|
|
173
|
-
| `--codex-home <dir>` | 指定 Codex Home |
|
|
174
|
-
| `--config-dir <dir>` | 指定状态目录名,默认 `.helloloop` |
|
|
175
|
-
| `--dry-run` | 只生成提示和预览,不真正调用 Codex |
|
|
176
|
-
| `--task-id <id>` | 指定执行某个任务 |
|
|
177
|
-
| `--max-tasks <n>` | `run-loop` 最多执行的任务数 |
|
|
178
|
-
| `--max-attempts <n>` | 每种策略的最大重试次数 |
|
|
179
|
-
| `--max-strategies <n>` | 单任务最大换路次数 |
|
|
180
296
|
| `--allow-high-risk` | 允许执行 `medium` 及以上风险任务 |
|
|
297
|
+
| `--max-tasks <n>` | 限制手动 `run-loop` 的最大任务数 |
|
|
298
|
+
| `--max-attempts <n>` | 单策略最大重试次数 |
|
|
299
|
+
| `--max-strategies <n>` | 单任务最大换路次数 |
|
|
181
300
|
| `--required-doc <path>` | 追加全局必读文档 |
|
|
182
301
|
| `--constraint <text>` | 追加全局实现约束 |
|
|
302
|
+
| `--codex-home <dir>` | 指定 Codex Home |
|
|
303
|
+
| `--claude-home <dir>` | 指定 Claude Home |
|
|
304
|
+
| `--gemini-home <dir>` | 指定 Gemini Home |
|
|
305
|
+
| `--config-dir <dir>` | 指定状态目录名,默认 `.helloloop` |
|
|
183
306
|
| `--force` | 覆盖已有安装目录 |
|
|
184
307
|
|
|
185
|
-
### Skill 名称
|
|
186
|
-
|
|
187
|
-
安装为 Codex 插件后,推荐显式使用:
|
|
188
|
-
|
|
189
|
-
```text
|
|
190
|
-
helloloop:helloloop
|
|
191
|
-
```
|
|
192
|
-
|
|
193
308
|
## 状态目录
|
|
194
309
|
|
|
195
|
-
`HelloLoop`
|
|
310
|
+
`HelloLoop` 始终把运行状态写入目标仓库根目录,而不是插件目录自身。
|
|
196
311
|
|
|
197
|
-
|
|
312
|
+
默认目录:
|
|
198
313
|
|
|
199
314
|
```text
|
|
200
315
|
.helloloop/
|
|
@@ -206,49 +321,120 @@ helloloop:helloloop
|
|
|
206
321
|
└── runs/
|
|
207
322
|
```
|
|
208
323
|
|
|
209
|
-
|
|
324
|
+
其中:
|
|
210
325
|
|
|
211
|
-
- `backlog.json
|
|
212
|
-
- `policy.json
|
|
326
|
+
- `backlog.json`:分析后生成的任务队列
|
|
327
|
+
- `policy.json`:自动推进策略、重试上限和 Codex 参数
|
|
213
328
|
- `project.json`:开发文档入口和全局约束
|
|
214
|
-
- `status.json
|
|
215
|
-
- `STATE.md
|
|
216
|
-
- `runs/`:提示词、stdout、stderr
|
|
329
|
+
- `status.json`:最近一次运行状态
|
|
330
|
+
- `STATE.md`:面向人的进度摘要
|
|
331
|
+
- `runs/`:提示词、stdout、stderr、验证日志等留痕
|
|
332
|
+
|
|
333
|
+
## Skill 用法
|
|
334
|
+
|
|
335
|
+
如果你已经把 `HelloLoop` 安装成 Codex 插件,也可以直接在 Codex 里调用:
|
|
336
|
+
|
|
337
|
+
```text
|
|
338
|
+
$helloloop
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
或:
|
|
342
|
+
|
|
343
|
+
```text
|
|
344
|
+
helloloop:helloloop
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
此时推荐理解为:
|
|
348
|
+
|
|
349
|
+
- `$helloloop` 是插件入口
|
|
350
|
+
- `npx helloloop` / `npx helloloop <PATH>` 是实际执行入口
|
|
351
|
+
|
|
352
|
+
也就是说,用户显式调用 `$helloloop` 时,目标行为应当与主命令保持一致:
|
|
353
|
+
|
|
354
|
+
1. 先自动识别仓库和开发文档
|
|
355
|
+
2. 再分析当前代码与文档目标
|
|
356
|
+
3. 再展示执行确认单
|
|
357
|
+
4. 最后在你确认后自动接续执行
|
|
358
|
+
|
|
359
|
+
如果当前目录无法判断目标仓库、缺少开发文档,或者你明确只想先讲解不执行,`HelloLoop` 才应该先停下来问你,而不是直接启动执行。
|
|
360
|
+
|
|
361
|
+
如果你安装的是 Claude 或 Gemini 宿主,则推荐直接使用:
|
|
362
|
+
|
|
363
|
+
```text
|
|
364
|
+
/helloloop
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
它们会按各自 CLI 的原生 agent 逻辑执行,但共享同一套 `.helloloop/` 工作流规范。
|
|
217
368
|
|
|
218
369
|
## 在 Codex 中使用
|
|
219
370
|
|
|
220
|
-
|
|
371
|
+
可以直接在当前 Codex 会话里运行:
|
|
221
372
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
373
|
+
```bash
|
|
374
|
+
npx helloloop
|
|
375
|
+
```
|
|
225
376
|
|
|
226
|
-
|
|
377
|
+
不需要重开终端。
|
|
378
|
+
|
|
379
|
+
如果你使用的是全局安装后的 `helloloop` 短命令,是否立刻可用取决于当前 shell 是否已经刷新 PATH。
|
|
380
|
+
|
|
381
|
+
安装为 Codex 插件后,推荐显式使用的 skill 名称是:
|
|
382
|
+
|
|
383
|
+
```text
|
|
384
|
+
helloloop:helloloop
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## 跨平台与安全
|
|
227
388
|
|
|
228
|
-
`HelloLoop`
|
|
389
|
+
`HelloLoop` 默认兼容 Windows、macOS 和 Linux。
|
|
390
|
+
|
|
391
|
+
### shell 策略
|
|
392
|
+
|
|
393
|
+
- Windows:`pwsh` → `bash`(如 Git Bash)→ `powershell`
|
|
394
|
+
- macOS / Linux:`bash` → `sh`
|
|
395
|
+
- Windows 不会回退到 `cmd.exe`
|
|
396
|
+
|
|
397
|
+
说明:
|
|
398
|
+
|
|
399
|
+
- `Codex` 路径由当前 Node CLI 严格控制 shell 选择
|
|
400
|
+
- `Claude` / `Gemini` 路径走各自原生插件 / 扩展,但仍应遵守 `HelloLoop` 的安全约束
|
|
401
|
+
|
|
402
|
+
### 内建兜底规则
|
|
403
|
+
|
|
404
|
+
当开发文档没有给出足够约束时,`HelloLoop` 会自动附加一层最低安全边界,包括但不限于:
|
|
405
|
+
|
|
406
|
+
- 代码是事实源
|
|
407
|
+
- 验证必须执行
|
|
408
|
+
- 不能静默失败
|
|
409
|
+
- 不能吞掉错误
|
|
410
|
+
- 危险命令必须阻断
|
|
411
|
+
- 路径与 shell 调用必须按跨平台安全方式执行
|
|
229
412
|
|
|
230
413
|
## 仓库结构
|
|
231
414
|
|
|
232
415
|
```text
|
|
233
416
|
helloloop/
|
|
234
|
-
├── .
|
|
235
|
-
├──
|
|
236
|
-
├──
|
|
237
|
-
├──
|
|
238
|
-
├──
|
|
239
|
-
├──
|
|
240
|
-
├──
|
|
241
|
-
|
|
417
|
+
├── .claude-plugin/
|
|
418
|
+
├── .codex-plugin/
|
|
419
|
+
├── bin/
|
|
420
|
+
├── docs/
|
|
421
|
+
├── hosts/
|
|
422
|
+
├── scripts/
|
|
423
|
+
├── skills/
|
|
424
|
+
├── src/
|
|
425
|
+
├── templates/
|
|
426
|
+
└── tests/
|
|
242
427
|
```
|
|
243
428
|
|
|
244
429
|
其中:
|
|
245
430
|
|
|
246
|
-
-
|
|
247
|
-
-
|
|
248
|
-
- `
|
|
431
|
+
- `.claude-plugin/`:Claude plugin 元数据
|
|
432
|
+
- `.codex-plugin/`:Codex plugin 元数据
|
|
433
|
+
- `hosts/`:Claude marketplace/plugin 与 Gemini extension 的运行时资产
|
|
434
|
+
- `src/`:核心实现,例如路径发现、分析提示词、任务调度、执行与安装
|
|
435
|
+
- `tests/`:回归测试,覆盖 CLI、安装链路、bundle 结构和关键流程
|
|
436
|
+
- `templates/`:初始化目标仓库 `.helloloop/` 时写入的模板
|
|
249
437
|
|
|
250
|
-
##
|
|
438
|
+
## 许可证
|
|
251
439
|
|
|
252
|
-
- `
|
|
253
|
-
- `docs/README.md`:插件 bundle 结构说明
|
|
254
|
-
- `docs/plugin-standard.md`:官方插件结构与当前实现映射
|
|
440
|
+
`HelloLoop` 使用 `Apache-2.0`,许可证文件位于仓库根目录 `LICENSE`。
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "helloloop-local",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "HelloLoop"
|
|
5
|
+
},
|
|
6
|
+
"plugins": [
|
|
7
|
+
{
|
|
8
|
+
"name": "helloloop",
|
|
9
|
+
"displayName": "HelloLoop",
|
|
10
|
+
"description": "基于开发文档分析当前进度、展示确认单,并在确认后继续接续开发的 Claude Code 原生插件。",
|
|
11
|
+
"source": "./plugins/helloloop"
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 根据开发文档分析当前进度、生成确认单,并在确认后继续接续开发
|
|
3
|
+
argument-hint: [PATH]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
你现在正在执行 HelloLoop 的 Claude Code 原生工作流。
|
|
7
|
+
|
|
8
|
+
规则如下:
|
|
9
|
+
|
|
10
|
+
1. 将当前代码视为事实源,将开发文档视为目标源。
|
|
11
|
+
2. 如果用户在命令后提供了 `$ARGUMENTS`,只把它解释为一个路径;该路径可能是项目仓库、开发文档目录或开发文档文件。
|
|
12
|
+
3. 自动识别目标仓库与开发文档,并先分析“当前代码做到哪里了”“与文档目标是否存在偏差”。
|
|
13
|
+
4. 在目标仓库根目录创建或刷新 `.helloloop/`,至少维护 `backlog.json`、`project.json`、`status.json`、`STATE.md` 与 `runs/`。
|
|
14
|
+
5. 如果用户给了开发文档但无法定位项目仓库,或者给了项目路径但无法定位开发文档,必须停下来询问用户,而不是猜测。
|
|
15
|
+
6. 在真正执行开发前,必须输出一份中文执行确认单,至少包含:
|
|
16
|
+
- 目标仓库
|
|
17
|
+
- 开发文档
|
|
18
|
+
- 当前进度
|
|
19
|
+
- 已实现事项
|
|
20
|
+
- 待完成事项
|
|
21
|
+
- 任务统计
|
|
22
|
+
- 首个待执行任务
|
|
23
|
+
- 验证命令预览
|
|
24
|
+
- 自动执行停止条件
|
|
25
|
+
7. 未经用户确认,不要开始正式修改代码。
|
|
26
|
+
8. 用户确认后,使用 Claude Code 的原生工具持续推进 backlog,直到完成、遇到硬阻塞或需要用户补充关键信息。
|
|
27
|
+
9. 始终优先使用安全 shell 与原生文件工具;在 Windows 上避免危险的嵌套命令、路径拼接删除和 `cmd` 风格破坏性命令。
|
|
28
|
+
10. 不要调用外部 `npx helloloop` 来替代这个原生工作流;你现在就在 HelloLoop 的 Claude Code 原生模式中。
|