@ghyper9023/pi-dev-workflow 0.6.3 → 0.8.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/.github/workflows/release.yml +56 -0
- package/.pre-commit-config.yaml +75 -0
- package/.version/RELEASE-v0.7.0.md +85 -0
- package/.version/RELEASE-v0.8.0.md +93 -0
- package/README.md +178 -294
- package/extensions/dev-prompts.ts +121 -1033
- package/extensions/git-commands.ts +62 -171
- package/extensions/grill-me-agent.ts +160 -164
- package/extensions/pre-check.ts +190 -0
- package/extensions/review-detect.ts +123 -0
- package/extensions/session-utils.ts +168 -0
- package/extensions/ui-helpers.ts +22 -780
- package/package.json +2 -2
- package/prompts/APPEND_SYSTEM.md +73 -59
- package/skills/review-html/SKILL.md +1 -1
- package/tests/test-no-subagents.mjs +264 -0
- package/.doc/AGENT-FRONTMATTER-REFERENCE.md +0 -198
- package/agents/git-agent.md +0 -44
- package/agents/grill/dev-doc-grill-agent.md +0 -42
- package/agents/grill/dev-fix-grill-agent.md +0 -44
- package/agents/grill/dev-grill-agent.md +0 -40
- package/agents/grill/dev-perf-grill-agent.md +0 -45
- package/agents/grill/dev-prd-agent.md +0 -60
- package/agents/grill/dev-refactor-grill-agent.md +0 -46
- package/agents/grill/dev-test-grill-agent.md +0 -45
- package/agents/review-agent.md +0 -53
- package/agents/workflow/docWriter-agent.md +0 -53
- package/agents/workflow/planner-agent.md +0 -131
- package/agents/workflow/reviewer-agent.md +0 -128
- package/agents/workflow/trimmer-agent.md +0 -78
- package/agents/workflow/worker-agent.md +0 -70
- package/extensions/sub-agents.ts +0 -954
- package/extensions/workflow-engine.ts +0 -2005
- package/tests/test-grill-json-fix.mjs +0 -243
- package/tests/test-loopcount-timeout-fix.mjs +0 -336
- package/tests/test-output-directory-structure.mjs +0 -177
- package/tests/test-save-answer-file-workflow.mjs +0 -187
- package/tests/test-workflow-config.mjs +0 -244
- package/tests/test-workflow-engine-bugs.mjs +0 -908
- package/tests/test-workflow-engine.mjs +0 -518
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
1
3
|
# @ghyper9023/pi-dev-workflow
|
|
2
4
|
|
|
3
|
-
> Developer workflow toolkit for [pi coding agent](https://pi.dev/): git
|
|
5
|
+
> Developer workflow toolkit for [pi coding agent](https://pi.dev/): git commands, code review, dev commands, Karpathy guidelines, themes
|
|
4
6
|
|
|
5
7
|
## 快速安装
|
|
6
8
|
|
|
@@ -13,9 +15,9 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
|
|
|
13
15
|
```
|
|
14
16
|
|
|
15
17
|
然后 `/reload` 热加载即可使用所有功能。
|
|
16
|
-
> [!NOTE]
|
|
17
|
-
> - 本pi-package
|
|
18
|
-
> - 本pi-package
|
|
18
|
+
> [!NOTE]
|
|
19
|
+
> - 本 pi-package 已移除子代理,不会与其他 pi-package 的子代理功能冲突。
|
|
20
|
+
> - 本 pi-package 添加了 `APPEND_SYSTEM.md`,存在默认使用中文等特色设定,可自行修改 `prompts/APPEND_SYSTEM.md`。
|
|
19
21
|
|
|
20
22
|
## 目录结构
|
|
21
23
|
|
|
@@ -24,25 +26,8 @@ pi-package/
|
|
|
24
26
|
├── package.json # 包元数据 & pi 配置
|
|
25
27
|
├── README.md # 本文件
|
|
26
28
|
├── .gitignore
|
|
27
|
-
├── agents/
|
|
28
|
-
│ ├── git-agent.md # git-sub-agent 定义(专注 git 操作)
|
|
29
|
-
│ ├── review-agent.md # review-sub-agent 定义(专注代码审查)
|
|
30
|
-
│ ├── grill/ # 方案追问完善 (Grill) agent 定义
|
|
31
|
-
│ │ ├── dev-grill-agent.md # 通用 /dev-feat Grill agent
|
|
32
|
-
│ │ ├── dev-fix-grill-agent.md # /dev-fix Bug 根因追问
|
|
33
|
-
│ │ ├── dev-doc-grill-agent.md # /dev-doc 文档大纲追问完善
|
|
34
|
-
│ │ ├── dev-refactor-grill-agent.md # /dev-refactor 重构追问完善
|
|
35
|
-
│ │ ├── dev-test-grill-agent.md # /dev-test 测试追问完善
|
|
36
|
-
│ │ ├── dev-perf-grill-agent.md # /dev-perf 优化追问完善
|
|
37
|
-
│ │ └── dev-prd-agent.md # PRD 生成 agent
|
|
38
|
-
│ └── workflow/ # 自动化工作流 agent 定义
|
|
39
|
-
│ ├── planner-agent.md # 计划制定 agent
|
|
40
|
-
│ ├── worker-agent.md # 代码实施 agent
|
|
41
|
-
│ ├── reviewer-agent.md # 代码审查 agent
|
|
42
|
-
│ ├── trimmer-agent.md # 代码精简 agent
|
|
43
|
-
│ └── docWriter-agent.md # 文档撰写 agent
|
|
44
29
|
├── prompts/
|
|
45
|
-
│ ├── APPEND_SYSTEM.md #
|
|
30
|
+
│ ├── APPEND_SYSTEM.md # 全局追加提示:默认使用简体中文+英文专业名词
|
|
46
31
|
│ ├── review-commit.md # 审查 commit 的提示模板
|
|
47
32
|
│ └── review-diff.md # 审查 diff 的提示模板
|
|
48
33
|
├── skills/
|
|
@@ -55,296 +40,170 @@ pi-package/
|
|
|
55
40
|
│ └── to-prd/
|
|
56
41
|
│ └── SKILL.md # 从对话上下文生成 PRD 文档
|
|
57
42
|
├── extensions/
|
|
58
|
-
│ ├── append-system.ts # 追加APPEND_SYSTEM.md提示词
|
|
59
|
-
│ ├── dev-prompts.ts #
|
|
60
|
-
│ ├── git-commands.ts # git
|
|
61
|
-
│ ├── grill-me-agent.ts #
|
|
62
|
-
│ ├──
|
|
63
|
-
│ ├──
|
|
64
|
-
│
|
|
43
|
+
│ ├── append-system.ts # 追加 APPEND_SYSTEM.md 提示词
|
|
44
|
+
│ ├── dev-prompts.ts # dev 命令(/dev-feat、/dev-fix、/dev-refactor、/dev-test)
|
|
45
|
+
│ ├── git-commands.ts # git 命令(直接执行)
|
|
46
|
+
│ ├── grill-me-agent.ts # /grill 与 /prd 命令 + 运行时(运行在当前代理中)
|
|
47
|
+
│ ├── pre-check.ts # 意图校验(/dev-pre-check + 共享的 confirmIntent)
|
|
48
|
+
│ ├── review-detect.ts # 自动审查意图检测
|
|
49
|
+
│ ├── session-utils.ts # 项目探测、验收标准、轮询等待
|
|
50
|
+
│ └── ui-helpers.ts # TUI 组件构建器(Select/Confirm/Input)
|
|
65
51
|
└── themes/
|
|
66
52
|
└── claude-code-theme.json # Claude Code CLI 风格主题
|
|
67
53
|
```
|
|
68
54
|
|
|
69
|
-
## Sub-Agents(子代理)
|
|
70
|
-
|
|
71
|
-
子代理运行在独立的 `pi` 进程中,拥有隔离的上下文窗口,专注处理特定领域任务。
|
|
72
|
-
|
|
73
|
-
| 子代理 | 触发方式 | 职责 |
|
|
74
|
-
|---|---|---|
|
|
75
|
-
| **git-sub-agent** | `/git-commit [msg]` / `/git-push` / `/git-commit-push [msg]` | Git 全流程操作 |
|
|
76
|
-
| **review-sub-agent** | 自动检测用户提示中的审查意图 | 代码审查、diff 分析 |
|
|
77
|
-
|
|
78
|
-
### git-sub-agent
|
|
79
|
-
|
|
80
|
-
在隔离进程中执行 git 操作,支持三种子命令:
|
|
81
|
-
|
|
82
|
-
| 命令 | 说明 |
|
|
83
|
-
|---|---|
|
|
84
|
-
| `/git-commit [message]` | 暂存所有变更并提交(空信息让 AI 根据 diff 自动生成 Conventional Commits message) |
|
|
85
|
-
| `/git-push` | 推送到远程 |
|
|
86
|
-
| `/git-commit-push [message]` | 暂存 + 提交 + 推送一键完成 |
|
|
87
|
-
|
|
88
|
-
### review-sub-agent
|
|
89
|
-
|
|
90
|
-
当用户输入包含 review/审查/审阅 + code/代码/diff/commit/html 等关键词时,自动弹出三种模式选择:
|
|
91
|
-
|
|
92
|
-
| # | 模式 | 行为 |
|
|
93
|
-
|---|------|------|
|
|
94
|
-
| **1** | 后台审查(非阻塞,异步通知) | 后台运行审查,不阻塞对话,完成后通过消息通知 |
|
|
95
|
-
| **2** | 仅审查(阻塞,等待结果) | 等待审查完成才恢复交互 |
|
|
96
|
-
| **3** / Esc | 不是审查(放行给主代理) | 不启动子代理,原消息交给主 AI 处理 |
|
|
97
|
-
|
|
98
|
-
也支持 `/skill:review-html` 直接触发阻塞审查。
|
|
99
|
-
审查结果以交互式 HTML 报告形式写入 `.pi-dev-output/pi-review/html/` 目录。
|
|
100
|
-
|
|
101
|
-
### subagent 工具
|
|
102
|
-
|
|
103
|
-
LLM 也可以直接调用 `subagent` 工具委派任务给任意子代理:
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
可用子代理:git-agent, review-agent
|
|
107
|
-
```
|
|
108
|
-
|
|
109
55
|
## Themes
|
|
110
56
|
|
|
111
57
|
| Theme | 说明 |
|
|
112
58
|
|---|---|
|
|
113
59
|
| **claude-code-theme** | 仿 Claude Code CLI 配色:深色底 + 琥珀金主色 + 紫罗兰辅色 |
|
|
60
|
+
| **oh-my-pi-titanium** | 钛金属风格主题 |
|
|
114
61
|
|
|
115
|
-
##
|
|
116
|
-
|
|
117
|
-
基于 [ai提示词优化.md](./ai%E6%8F%90%E7%A4%BA%E8%AF%8D%E4%BC%98%E5%8C%96.md) 中的优质模板,通过交互式问答引导你填写 `[xxx]` 占位符,组装完整的高质量提示词后直接投递给主代理执行。
|
|
118
|
-
|
|
119
|
-
### 命令一览
|
|
120
|
-
|
|
121
|
-
| 命令 | 用途 | 对应模板类型 | 含工作流 |
|
|
122
|
-
|------|------|-------------|---------|
|
|
123
|
-
| `/dev-feat` | 新功能/创意生成 | `feat` | ✅ |
|
|
124
|
-
| `/dev-fix` | 问题排查/错误修正 | `fix` | ✅ |
|
|
125
|
-
| `/dev-doc` | 文档生成/总结 | `doc` | ✅ |
|
|
126
|
-
| `/dev-refactor` | 重构/优化现有结构 | `refactor` | ✅ |
|
|
127
|
-
| `/dev-test` | 测试用例生成 | `test` | ✅ |
|
|
128
|
-
| `/dev-perf` | 性能优化 | `perf` | ✅ |
|
|
129
|
-
| `/dev-style` | 风格/格式调整 | `style` | ✅ |
|
|
130
|
-
| `/dev-security` | 安全审查 | `security` | ✅ |
|
|
131
|
-
| `/dev-chore` | 日常维护/自动化 | `chore` | ❌(传统模式) |
|
|
132
|
-
| `/dev-explain` | 概念解释 | `explain` | ❌(传统模式) |
|
|
133
|
-
| `/dev-compare` | 对比评估 | `compare` | ❌(传统模式) |
|
|
134
|
-
|
|
135
|
-
### 使用方法
|
|
62
|
+
## 推荐扩展(第三方)
|
|
136
63
|
|
|
137
|
-
|
|
64
|
+
以下为社区推荐的第三方 Pi 扩展,可按需安装:
|
|
138
65
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
✅ 提示词已组装完成,正在发送给主代理...
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
**交互规则**:
|
|
152
|
-
- **留空(直接回车)** — 该字段标记为「无」,对应的模板段落整段跳过
|
|
153
|
-
- **输入「无」** — 与留空效果相同,明确表示不需要该段内容
|
|
154
|
-
- **按 Esc** — 随时退出向导,不产生任何输出
|
|
155
|
-
- **填写后** — 自动用 `pi.sendUserMessage()` 投递给主代理,立即开始执行
|
|
66
|
+
| 扩展 | 作用 | 安装 |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| **pi-web-access** | 网页搜索、URL 抓取、GitHub 仓库克隆、PDF 提取、YouTube 视频理解与本地视频分析,支持多家搜索/内容服务提供商 | `pi install npm:pi-web-access` |
|
|
69
|
+
| **pi-mcp-adapter** | MCP(Model Context Protocol)适配器扩展,让 Pi 接入 MCP 工具生态 | `pi install npm:pi-mcp-adapter` |
|
|
70
|
+
| **rpiv-ask-user-question** | 结构化问卷扩展:模型不确定时以带类型的选项向你提问,替代自由文本回复 | `pi install npm:@juicesharp/rpiv-ask-user-question` |
|
|
71
|
+
| **rpiv-todo** | 模型待办清单:实时悬浮面板展示,`/reload` 与会话压缩后依然保留 | `pi install npm:@juicesharp/rpiv-todo` |
|
|
72
|
+
| **@plannotator/pi-extension** | 交互式方案评审扩展:带注释的方案审查,可标注 Agent 消息,审查代码/PR | `pi install npm:@plannotator/pi-extension` |
|
|
73
|
+
| **pi-permission-system** | 权限管理系统 | `pi install npm:@gotgenes/pi-permission-system` |
|
|
74
|
+
| **pi-web** | pi-web 界面(更直观便捷) | `npm install -g @agegr/pi-web@latest` 使用`pi-web`启动 |
|
|
156
75
|
|
|
157
|
-
### 示例 1:用 `/dev-fix` 修 Bug
|
|
158
76
|
|
|
159
|
-
```text
|
|
160
|
-
/dev-fix
|
|
161
|
-
文件路径? src/api/users.ts
|
|
162
|
-
行号? 42
|
|
163
|
-
Bug 描述? 创建用户成功后返回 201,但实际上返回了 500
|
|
164
|
-
输入/现象? POST /api/users 正确参数返回 Internal Server Error
|
|
165
|
-
预期行为? 返回 201 + 用户数据
|
|
166
|
-
当前错误? 500 Internal Server Error
|
|
167
|
-
```
|
|
168
77
|
|
|
169
|
-
|
|
78
|
+
## Git 命令
|
|
170
79
|
|
|
171
|
-
|
|
80
|
+
三个命令直接通过 pi 的内置执行器运行 git,结果写入当前会话上下文,不需要隔离的子代理进程。
|
|
172
81
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
示例语言? TypeScript, curl
|
|
179
|
-
已有材料? (留空跳过,从零生成)
|
|
180
|
-
```
|
|
82
|
+
| 命令 | 说明 |
|
|
83
|
+
|---|---|
|
|
84
|
+
| `/git-commit [message]` | 暂存所有变更并提交(空信息会让 AI 根据 diff 自动生成 Conventional Commits message) |
|
|
85
|
+
| `/git-push` | 推送到远程 |
|
|
86
|
+
| `/git-commit-push [message]` | 暂存 + 提交 + 推送一键完成 |
|
|
181
87
|
|
|
182
|
-
|
|
88
|
+
## 意图预检(/dev-pre-check)
|
|
183
89
|
|
|
184
|
-
|
|
90
|
+
在真正动手前插入一道「意图校验」闸门:先让 AI 用自己的话复述它理解的任务意图,**只有你确认正确后才开始执行**。适合需求描述含糊、或希望先对齐理解再让 AI 动代码的场景。
|
|
185
91
|
|
|
186
92
|
```text
|
|
187
|
-
/dev-
|
|
188
|
-
编程语言/框架? TypeScript
|
|
189
|
-
技术栈? Express + PostgreSQL + Redis
|
|
190
|
-
目标模块/文件名? src/api/payments.ts
|
|
191
|
-
核心功能描述? 用户可以通过信用卡或 PayPal 进行一次性支付
|
|
192
|
-
|
|
193
|
-
→ 填写完成后,弹出确认框:
|
|
194
|
-
🔍 设计方案追问完善 — 是否进入方案追问完善 (Grill) 模式?
|
|
195
|
-
→ 逐题回答完毕(约 15-25 题),追问记录附加到提示词末尾。
|
|
196
|
-
|
|
197
|
-
→ 弹出工作流确认框:
|
|
198
|
-
🚀 进入自动化工作流?
|
|
199
|
-
工作流将自动执行以下步骤:
|
|
200
|
-
1. 📋 Planner — 分析代码库并生成实施计划
|
|
201
|
-
2. 🔧 Worker → Reviewer — 实施代码并审查
|
|
202
|
-
3. ✂️ Trimmer → Reviewer — 精简代码并审查
|
|
203
|
-
4. 📝 DocWriter — 更新文档
|
|
204
|
-
|
|
205
|
-
→ 选择"是"后,工作流开始执行...
|
|
206
|
-
|
|
207
|
-
📋 工作流进度
|
|
208
|
-
▶ ⏳ 📋 生成实施计划
|
|
209
|
-
⬜ 🔧 实施代码 → 审查
|
|
210
|
-
⬜ ✂️ 精简代码 → 审查
|
|
211
|
-
⬜ 📝 更新文档
|
|
212
|
-
|
|
213
|
-
→ Planner 完成 ✅,计划写入 .pi-dev-output/pi-plans/
|
|
214
|
-
→ Worker + Reviewer 循环开始... 审查发现 critical 问题,自动进入第 2 轮循环...
|
|
215
|
-
→ 所有步骤完成后:🎉 工作流全部完成!
|
|
216
|
-
|
|
217
|
-
→ 弹出 PRD 确认框:
|
|
218
|
-
📋 创建 PRD — 是否为此功能创建 PRD 文档?
|
|
219
|
-
→ 选择"是",PRD 保存到 .pi-dev-output/pi-prd/payments-20260519.md
|
|
93
|
+
/dev-pre-check 帮我加个邮箱密码登录功能
|
|
220
94
|
```
|
|
221
95
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
## Automation Workflow(自动化工作流引擎)
|
|
225
|
-
|
|
226
|
-
> 自 v0.4.0 起支持
|
|
227
|
-
|
|
228
|
-
`/dev-*` 向导组装完提示词后,除了直接发送给主代理(传统模式),还可以选择进入 **自动化工作流** — 由一组专业的 sub-agent 按预设步骤链自动执行,无需人工逐条指令干预。
|
|
229
|
-
|
|
230
|
-
工作流由 `extensions/workflow-engine.ts` 编排,在 `extensions/dev-prompts.ts` 中定义各命令的步骤链。每个步骤启动一个独立的 sub-agent 进程,拥有隔离的上下文窗口。
|
|
96
|
+
不带参数时弹出输入框补填需求原文。
|
|
231
97
|
|
|
232
|
-
|
|
98
|
+
### 流程
|
|
233
99
|
|
|
234
|
-
|
|
100
|
+
1. **组合提示词** — `用户原始 prompt`(变动)+ 固定的「用自己的话重述你认为用户的目标是什么,以及用户试图解决的问题是什么」指令
|
|
101
|
+
2. **只分析不执行** — 提示词把本轮任务意图限定为意图理解:禁止修改/创建/删除文件,禁止调用写入类工具(write、edit、bash 写操作),禁止输出代码/补丁/实施计划,只允许只读探查
|
|
102
|
+
3. **输出复述** — 代理按固定格式给出:用户的目标 / 试图解决的问题 / 不确定之处 / 一句话概括
|
|
103
|
+
4. **用户确认**
|
|
235
104
|
|
|
236
|
-
|
|
105
|
+
| 选择 | 行为 |
|
|
106
|
+
|---|---|
|
|
107
|
+
| 是 — 意图正确,开始执行 | 发送「原始 prompt + 已确认的意图复述」开始真正的工作 |
|
|
108
|
+
| 否 — 意图不正确,我要补充说明后重新分析 | 输入修正说明 → 带上修正记录重新复述 → 再次确认(可循环) |
|
|
109
|
+
| 取消 / Esc | 结束,不产生任何改动 |
|
|
237
110
|
|
|
238
|
-
|
|
239
|
-
|-------|------|---------|
|
|
240
|
-
| **planner** | 分析代码库,生成详细的实施计划(含可直接运行的代码示例模板)并写入 `.pi-dev-output/pi-plans/` | `agents/workflow/planner-agent.md` |
|
|
241
|
-
| **worker** | 按计划逐步实现代码改动(严格遵循计划,不做计划外修改) | `agents/workflow/worker-agent.md` |
|
|
242
|
-
| **reviewer** | 审查代码质量,输出带严重等级的结构化报告(critical/medium/low) | `agents/workflow/reviewer-agent.md` |
|
|
243
|
-
| **trimmer** | 精简冗余代码、缩短冗长行、消除重复逻辑,优化可读性 | `agents/workflow/trimmer-agent.md` |
|
|
244
|
-
| **docWriter** | 根据代码最新状态更新 README 和代码注释 | `agents/workflow/docWriter-agent.md` |
|
|
111
|
+
5. **开始工作** — 已确认的意图复述作为权威前提一并发给代理,与其理解冲突时以该复述为准
|
|
245
112
|
|
|
246
|
-
###
|
|
113
|
+
### 与其他 dev 命令的关系
|
|
247
114
|
|
|
248
|
-
|
|
115
|
+
`/dev-pre-check` 只做「执行前对齐意图」这一件事,可独立用于任意任务。
|
|
249
116
|
|
|
250
|
-
|
|
251
|
-
|------|------|
|
|
252
|
-
| **值守**(默认 / attended) | 自动步骤自动执行,`[confirm]` 步骤需用户确认,loop-group 循环需用户许可 |
|
|
253
|
-
| **完全信任**(full-auto) | 全自动运行,无任何确认步骤。超时自动重试一次,循环自动进入下一轮 |
|
|
254
|
-
| **完全值守**(full-attended) | 每一步(包括 auto 类型步骤)都需用户确认后才执行 |
|
|
117
|
+
`/dev-feat` 等 dev 命令内部复用同一套意图复述指令(`confirmIntent`):发送提示词前先让你确认意图,但提示词组装、默认验收标准填充由它们自己完成,不依赖 `/dev-pre-check` 命令本身。
|
|
255
118
|
|
|
256
|
-
|
|
119
|
+
## Dev 命令
|
|
257
120
|
|
|
258
|
-
|
|
121
|
+
四个命令对应四类高频任务。**命令参数就是任务原文**,不带参数时才弹一次输入框;其余信息(项目语言、测试命令、lint 命令、pre-commit/CI)由项目探测自动补齐。
|
|
259
122
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
-
|
|
263
|
-
-
|
|
123
|
+
| 命令 | 用途 | 提示词中的身份 |
|
|
124
|
+
|------|------|---------------|
|
|
125
|
+
| `/dev-feat` | 新功能实现 | 资深 <项目语言> 工程师 |
|
|
126
|
+
| `/dev-fix` | 问题修复 | 资深 <项目语言> 调试工程师 |
|
|
127
|
+
| `/dev-refactor` | 重构 | 资深 <项目语言> 工程师 |
|
|
128
|
+
| `/dev-test` | 测试补充 | 资深测试工程师 |
|
|
264
129
|
|
|
265
|
-
|
|
266
|
-
|------|-----------|------|
|
|
267
|
-
| `/dev-feat` | planner → {worker→reviewer} → {trimmer→reviewer} → [docWriter] | 完整流程:计划 → 实施+审查 → 精简+审查 → 文档(可跳过) |
|
|
268
|
-
| `/dev-fix` | planner → {worker→reviewer} → [docWriter] | 无 trimmer 阶段 |
|
|
269
|
-
| `/dev-refactor` | planner → {worker→reviewer} → {trimmer→reviewer} | 无 docWriter 阶段 |
|
|
270
|
-
| `/dev-perf` | planner → {worker→reviewer} | 无 trimmer 和 docWriter |
|
|
271
|
-
| `/dev-test` | planner → {worker→reviewer} | 同上 |
|
|
272
|
-
| `/dev-doc` | planner → docWriter | 简化流程,直接计划→撰写 |
|
|
273
|
-
| `/dev-style` | {trimmer→reviewer} | 无计划阶段,仅精简+审查(最多 2 轮循环) |
|
|
274
|
-
| `/dev-security` | reviewer | 仅安全审查 |
|
|
275
|
-
| `/dev-chore` | 无工作流 | 传统模式,直接发送 prompt |
|
|
276
|
-
| `/dev-explain` | 无工作流 | 传统模式 |
|
|
277
|
-
| `/dev-compare` | 无工作流 | 传统模式 |
|
|
130
|
+
### 流程
|
|
278
131
|
|
|
279
|
-
|
|
132
|
+
```text
|
|
133
|
+
/dev-feat 实现邮箱密码登录接口
|
|
134
|
+
│
|
|
135
|
+
├─ 1. 任务原文:取命令参数,或弹一次必填输入框
|
|
136
|
+
├─ 2. 意图确认:代理复述「目标 / 问题 / 不确定之处」,你确认
|
|
137
|
+
│ 选「否」→ 输入补充说明 → 重新复述(可循环)
|
|
138
|
+
│ 取消 / Esc → 不产生任何改动
|
|
139
|
+
├─ 3. 组装提示词(见下)
|
|
140
|
+
└─ 4. 发送给当前代理执行
|
|
141
|
+
```
|
|
280
142
|
|
|
281
|
-
|
|
143
|
+
### 提示词结构
|
|
282
144
|
|
|
283
|
-
|
|
284
|
-
- **手动恢复**:注册了专门的 `/dev-workflow-continue` 命令,用于手动恢复上次中断的工作流
|
|
285
|
-
- **Checkpoint 内容**:包含原始 prompt、运行模式、各步骤状态、loop 次数、plan 文件引用路径
|
|
145
|
+
组装出的提示词只补两件事:AI 的身份与职责、未说明验收标准时的默认收尾验收标准。任务目标直接取第 2 步已确认的意图,这里不再重新解释需求。
|
|
286
146
|
|
|
287
|
-
|
|
147
|
+
```markdown
|
|
148
|
+
[dev-feat] 实现邮箱密码登录接口
|
|
288
149
|
|
|
289
|
-
|
|
150
|
+
## 任务(原始描述)
|
|
151
|
+
实现邮箱密码登录接口
|
|
290
152
|
|
|
291
|
-
|
|
153
|
+
## 已确认的任务意图
|
|
154
|
+
(第 2 步你确认过的复述原文)
|
|
292
155
|
|
|
293
|
-
|
|
294
|
-
|
|
156
|
+
## 身份与职责
|
|
157
|
+
你是资深 TypeScript 工程师。
|
|
158
|
+
- 先读代码库再动手:给出逐步实施计划……
|
|
159
|
+
- 只实现任务要求的功能,不顺手重构无关代码
|
|
160
|
+
- 保持现有公共 API 兼容,不为假设性需求添加抽象层
|
|
295
161
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
162
|
+
## 验收标准
|
|
163
|
+
以下为默认收尾验收基线;任务描述中另有明确验收标准时,以任务描述为准。
|
|
164
|
+
- 运行 pnpm test 确认全部测试通过、无回归
|
|
165
|
+
- 运行 pnpm lint 符合代码规范
|
|
166
|
+
- 通过本地 pre-commit 钩子检查
|
|
167
|
+
- 通过 CI 检查
|
|
300
168
|
```
|
|
301
169
|
|
|
302
|
-
|
|
303
|
-
4. 在 `full-auto` 模式下自动循环;在 `attended` 模式下询问用户是否继续
|
|
304
|
-
5. 达到最大循环次数后,无论审查结果如何,进入下一步
|
|
305
|
-
6. Reviewer 输出支持 fallback 裸 JSON 解析(兜底识别)
|
|
170
|
+
### 示例
|
|
306
171
|
|
|
307
|
-
|
|
172
|
+
```text
|
|
173
|
+
/dev-fix 登录接口在密码正确时返回 401
|
|
174
|
+
↓ 代理复述目标与问题
|
|
175
|
+
↓ 你确认
|
|
176
|
+
↓ 发送:任务 + 已确认意图 + 调试工程师职责 + 默认验收标准
|
|
177
|
+
```
|
|
308
178
|
|
|
309
|
-
|
|
179
|
+
```text
|
|
180
|
+
/dev-refactor
|
|
181
|
+
任务描述? 把 src/auth/login.ts 拆成参数校验和会话创建两部分
|
|
182
|
+
↓ 同上(不带参数时弹一次输入框)
|
|
183
|
+
```
|
|
310
184
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
| `full-auto` | 自动重试一次(带 `[RETRY]` 前缀),重试仍超时则步骤标记为 failed |
|
|
314
|
-
| `attended` / `full-attended` | 弹出选择:重新执行 / 跳过此步骤 / 取消工作流 |
|
|
315
|
-
| loop-group 内 | 超时后不阻塞循环,可自动进入审查阶段(带 `[TIMEOUT_WARNING]` 标记) |
|
|
185
|
+
> 早期版本的 `dev-doc`、`dev-perf`、`dev-style`、`dev-security`、`dev-chore`、`dev-explain`、`dev-compare` 已删除:它们的模板与 `/dev-feat`、`/dev-fix` 差异很小,维护成本高于收益;同类任务直接用 `/dev-feat` 或 `/dev-refactor` 描述清楚即可。
|
|
186
|
+
> 需要先打磨方案再动手用独立的 `/grill`,需要先出 PRD 用独立的 `/prd`。
|
|
316
187
|
|
|
317
|
-
##
|
|
188
|
+
## 方案追问完善(/grill)
|
|
318
189
|
|
|
319
|
-
|
|
320
|
-
|---|---|---|
|
|
321
|
-
| **karpathy-guidelines** | [forrestchang/andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills) | 基于 Andrej Karpathy 对 LLM 编码陷阱的观察,强调简洁、精准、可验证 |
|
|
322
|
-
| **review-html** | 自制 | git diff / commit 审查,输出自包含的交互式 HTML 报告 |
|
|
323
|
-
| **grill-with-docs** | [mattpocock/skills](https://github.com/mattpocock/skills) | 方案追问完善 — 挑战方案、统一术语、实时更新 CONTEXT.md 和 ADR |
|
|
324
|
-
| **to-prd** | [mattpocock/skills](https://github.com/mattpocock/skills) | 从对话上下文和代码库理解生成 PRD,保存到 `.pi-dev-output/pi-prd/` |
|
|
190
|
+
Grill("追问式打磨")是提交方案前由 AI 从多个维度追问完善设计的交互流程,现在是一个独立命令,不再挂在 `/dev-*` 后面。
|
|
325
191
|
|
|
326
|
-
|
|
192
|
+
```text
|
|
193
|
+
/grill 实现邮箱密码登录:注册、登录、会话保持
|
|
194
|
+
```
|
|
327
195
|
|
|
328
|
-
|
|
196
|
+
不带参数时弹一次输入框。
|
|
329
197
|
|
|
330
|
-
|
|
198
|
+
流程:
|
|
331
199
|
1. **确认** — 弹出对话框,选择"是"进入追问完善
|
|
332
|
-
2. **生成问题** —
|
|
200
|
+
2. **生成问题** — 当前代理根据方案上下文,一次生成全部追问问题(JSON 数组)
|
|
333
201
|
3. **逐题回答** — TUI 逐题展示,每道题带选项列表 + 自定义输入入口
|
|
334
|
-
4. **增强提示词** — 所有 Q&A
|
|
202
|
+
4. **增强提示词** — 所有 Q&A 追加到原方案末尾,形成 `enhancedPrompt`,发送给当前代理执行
|
|
335
203
|
|
|
336
|
-
|
|
204
|
+
若在第 1 步选"否",或过程中按 Esc 取消,都不会发送任何内容。
|
|
337
205
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
| 命令 | Grill 场景 | 追问维度 |
|
|
341
|
-
|---|---|---|
|
|
342
|
-
| `/dev-feat` | 设计方案追问完善 | 架构、数据流、模块边界、安全、测试策略、性能、可扩展性 |
|
|
343
|
-
| `/dev-fix` | Bug 根因追问 | 复现条件、根因推理、修复方案、回归风险 |
|
|
344
|
-
| `/dev-doc` | 文档大纲追问完善 | 受众定位、结构安排、示例选择 |
|
|
345
|
-
| `/dev-refactor` | 重构方案追问 | 模块边界、API 兼容性、测试策略、迁移风险 |
|
|
346
|
-
| `/dev-test` | 测试策略追问 | 覆盖维度、边界条件、模拟策略 |
|
|
347
|
-
| `/dev-perf` | 性能优化方案追问 | 基准测试方法、优化方向、回归风险 |
|
|
206
|
+
由于当前主流模型普遍具备 >=1M 上下文窗口,Grill 不再创建隔离的子代理进程,而是由**当前代理**执行追问任务,所有追问记录直接追加到当前会话上下文中。
|
|
348
207
|
|
|
349
208
|
### 交互形式
|
|
350
209
|
|
|
@@ -359,28 +218,52 @@ Grill("追问式打磨")是提交方案前由 AI sub-agent 从多个维度
|
|
|
359
218
|
|
|
360
219
|
### 输入框特性
|
|
361
220
|
|
|
362
|
-
|
|
221
|
+
追问的自定义输入框与 dev 命令的任务描述输入框支持:
|
|
363
222
|
- **实时换行预览**:输入超长文本时,输入框上方会显示完整的换行预览(灰色文字),实时跟随输入变化
|
|
364
223
|
- **光标操作**:`←` 和 `→` 键可正常移动光标编辑已有内容(不触发返回)
|
|
365
224
|
- **返回上一题**:`Ctrl+Shift+←` 在输入框中返回上一题
|
|
366
225
|
- **跳过输入**:`Ctrl+Shift+→` 提交当前内容(可为空)并继续
|
|
367
226
|
|
|
368
|
-
## PRD
|
|
227
|
+
## PRD 文档生成(/prd)
|
|
369
228
|
|
|
370
|
-
|
|
229
|
+
```text
|
|
230
|
+
/prd 支持邮箱密码注册登录,含密码重置
|
|
231
|
+
```
|
|
371
232
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
- "是" — 将 PRD
|
|
233
|
+
不带参数时弹一次输入框。PRD 由当前代理生成:
|
|
234
|
+
|
|
235
|
+
1. **确认** — 弹出对话框询问是否创建 PRD
|
|
236
|
+
2. **生成** — 当前代理读取需求描述 + 代码库理解,按模板生成 Markdown PRD
|
|
237
|
+
3. **保存** — 写入 `.pi-dev-output/pi-prd/<module>-<date>.md`
|
|
238
|
+
4. **后续操作** — 询问是否立即开始开发:
|
|
239
|
+
- "是" — 将 PRD 作为开发指令发送给当前代理
|
|
379
240
|
- "否" — 仅保存文件,稍后手动引用
|
|
380
241
|
- "✏️ 自定义开发指令" — 输入自定义指令,与 PRD 一起发送
|
|
381
242
|
|
|
382
243
|
PRD 模板包含:Problem Statement、Solution、User Stories、Implementation Decisions、Testing Decisions、Out of Scope、Further Notes。
|
|
383
244
|
|
|
245
|
+
从对话上下文生成 PRD 也可以用 `to-prd` skill(`/skill:to-prd`)。
|
|
246
|
+
|
|
247
|
+
## Skills
|
|
248
|
+
|
|
249
|
+
| Skill | 来源 | 说明 |
|
|
250
|
+
|---|---|---|
|
|
251
|
+
| **karpathy-guidelines** | [forrestchang/andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills) | 基于 Andrej Karpathy 对 LLM 编码陷阱的观察,强调简洁、精准、可验证 |
|
|
252
|
+
| **review-html** | 自制 | git diff / commit 审查,输出自包含的交互式 HTML 报告 |
|
|
253
|
+
| **grill-with-docs** | [mattpocock/skills](https://github.com/mattpocock/skills) | 方案追问完善 — 挑战方案、统一术语、实时更新 CONTEXT.md 和 ADR |
|
|
254
|
+
| **to-prd** | [mattpocock/skills](https://github.com/mattpocock/skills) | 从对话上下文和代码库理解生成 PRD,保存到 `.pi-dev-output/pi-prd/` |
|
|
255
|
+
|
|
256
|
+
## 自动审查
|
|
257
|
+
|
|
258
|
+
当用户输入包含 `review`/`审查`/`审阅` 且同时包含 `code`/`代码`/`diff`/`commit`/`html` 等关键词时,会自动弹出模式选择:
|
|
259
|
+
|
|
260
|
+
| # | 模式 | 行为 |
|
|
261
|
+
|---|------|------|
|
|
262
|
+
| **1** | 开始审查(阻塞,等待结果) | 在当前代理中运行审查,等待交互式 HTML 报告生成 |
|
|
263
|
+
| **2** / Esc | 不是审查(放行给主代理) | 不启动审查,原消息交给当前 AI 处理 |
|
|
264
|
+
|
|
265
|
+
也支持直接输入 `/skill:review-html` 触发审查。审查结果以交互式 HTML 报告形式写入 `.pi-dev-output/pi-review/html/` 目录。
|
|
266
|
+
|
|
384
267
|
## 使用方式
|
|
385
268
|
|
|
386
269
|
### 安装
|
|
@@ -396,8 +279,6 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
|
|
|
396
279
|
pi install /path/to/pi-dev-workflow
|
|
397
280
|
```
|
|
398
281
|
|
|
399
|
-
### 加载
|
|
400
|
-
|
|
401
282
|
pi 会自动加载包内的 `skills/`、`prompts/`、`extensions/`、`themes/` 内容。
|
|
402
283
|
安装后执行 `/reload` 热加载所有变更。
|
|
403
284
|
|
|
@@ -410,20 +291,26 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
|
|
|
410
291
|
|
|
411
292
|
## 常见问题
|
|
412
293
|
|
|
413
|
-
**Q:
|
|
414
|
-
A:
|
|
294
|
+
**Q: dev 命令问几个问题?**
|
|
295
|
+
A: 0 个。任务原文就是命令参数(如 `/dev-feat 实现邮箱密码登录接口`),不带参数时才弹一次必填输入框;语言、测试命令、lint 命令等由项目探测自动补齐。
|
|
296
|
+
|
|
297
|
+
**Q: dev 命令与 `/dev-pre-check` 是什么关系?**
|
|
298
|
+
A: 两者共用同一套意图复述指令(`extensions/pre-check.ts` 中的 `confirmIntent`),但 dev 命令自行组装提示词(身份职责 + 默认验收标准),`/dev-pre-check` 则只负责「复述 → 确认 → 执行」。可单独用 `/dev-pre-check` 校验任意任务,也可直接用 `/dev-feat` 等命令一步到位。
|
|
415
299
|
|
|
416
|
-
**Q:
|
|
417
|
-
A:
|
|
300
|
+
**Q: 验收标准会覆盖我自己写的吗?**
|
|
301
|
+
A: 不会。提示词里的验收标准段明确写明「任务描述中另有明确验收标准时,以任务描述为准」,默认条目只是收尾基线。
|
|
418
302
|
|
|
419
|
-
**Q:
|
|
420
|
-
A:
|
|
303
|
+
**Q: `/grill` 和 `/prd` 要在 `/dev-*` 之后运行吗?**
|
|
304
|
+
A: 不需要。两者都是独立命令,任何时候都能用:`/grill <方案描述>` 做提交前追问打磨,`/prd <需求描述>` 先生成 PRD。dev 命令不再触发它们。
|
|
305
|
+
|
|
306
|
+
**Q: `/grill` 中跳过或取消会怎样?**
|
|
307
|
+
A: 在确认对话框选"否"或按 Esc 取消,都不会向当前代理发送任何内容。
|
|
421
308
|
|
|
422
309
|
**Q: 如何自定义 Grill 的问题数量和方向?**
|
|
423
|
-
A: 在 `extensions/grill-me-agent.ts`
|
|
310
|
+
A: 在 `extensions/grill-me-agent.ts` 中修改追问提示词即可控制问题方向和数量。问题数量由 LLM 自主决定(典型 15-40 题)。
|
|
424
311
|
|
|
425
|
-
**Q:
|
|
426
|
-
A:
|
|
312
|
+
**Q: 追问问答是否影响原方案?**
|
|
313
|
+
A: 追问问答以「方案追问记录」区块追加到原方案末尾,原方案内容不变。当前代理执行时会同时参考原方案 + 追问中确认的决策。
|
|
427
314
|
|
|
428
315
|
**Q: Grill 中如何返回上一题?**
|
|
429
316
|
A: 使用 `Ctrl+Shift+←` 返回上一题(在选项列表和自定义输入框中均适用)。裸 `←` 键在选项列表中无效果,在输入框中用于光标左移编辑文本。
|
|
@@ -431,29 +318,26 @@ A: 使用 `Ctrl+Shift+←` 返回上一题(在选项列表和自定义输入
|
|
|
431
318
|
**Q: 自定义输入框中的键位有哪些?**
|
|
432
319
|
A: `Enter` 确认提交,`Esc` 取消返回选项列表,`Ctrl+Shift+←` 返回上一题,`Ctrl+Shift+→` 跳过输入并继续,方向键 `←`/`→` 用于移动光标编辑已有文本。
|
|
433
320
|
|
|
434
|
-
**Q: `grill-with-docs` skill 和 `/
|
|
435
|
-
A: `grill-with-docs`
|
|
436
|
-
|
|
437
|
-
**Q: 工作流执行到一半中断了怎么办?**
|
|
438
|
-
A: 工作流引擎会在每次步骤完成后保存 checkpoint 到 `.pi-dev-output/pi-workflow/checkpoint.json`。重新执行对应的 `/dev-*` 命令时会自动检测并询问是否恢复。也可手动使用 `/dev-workflow-continue` 命令恢复上次中断的工作流。
|
|
321
|
+
**Q: `grill-with-docs` skill 和 `/grill` 命令有什么区别?**
|
|
322
|
+
A: `grill-with-docs` 是 skill(`/skill:grill-with-docs`),侧重领域术语统一和文档同步(更新 CONTEXT.md、创建 ADR)。`/grill` 侧重方案追问完善,不涉及文档持久化。
|
|
439
323
|
|
|
440
|
-
**Q:
|
|
441
|
-
A:
|
|
324
|
+
**Q: 自动审查可以关闭吗?**
|
|
325
|
+
A: 检测到审查意图时选择"2. 不是审查"即可放行原消息给当前代理。如果需要完全关闭,可以在 `extensions/review-detect.ts` 中移除 `pi.on("input")` 的审查拦截逻辑。
|
|
442
326
|
|
|
443
|
-
**Q:
|
|
444
|
-
A:
|
|
327
|
+
**Q: Git 命令需要子代理吗?**
|
|
328
|
+
A: 不需要。`/git-commit`、`/git-push`、`git-commit-push` 直接通过 pi 的内置执行器运行 git,结果会出现在当前会话中。
|
|
445
329
|
|
|
446
|
-
**Q:
|
|
447
|
-
A:
|
|
330
|
+
**Q: `/dev-pre-check` 会顺手改代码吗?**
|
|
331
|
+
A: 不会。意图校验阶段的提示词明确禁止修改/创建/删除文件、禁止调用写入类工具、禁止输出代码与实施方案。只有你选择「是 — 意图正确,开始执行」后,才会把原始 prompt 作为真正的工作下发。
|
|
448
332
|
|
|
449
|
-
**Q:
|
|
450
|
-
A:
|
|
333
|
+
**Q: `/dev-pre-check` 等不到复述怎么办?**
|
|
334
|
+
A: 等待上限为 5 分钟(信号为「代理空闲且本轮产生了新的 assistant 文本」)。超时后弹出「重试 / 取消」供你决定。
|
|
451
335
|
|
|
452
|
-
**Q:
|
|
453
|
-
A:
|
|
336
|
+
**Q: `/dev-pre-check` 会触发 Grill 或 PRD 吗?**
|
|
337
|
+
A: 不会。它与 `/grill`、`/prd` 完全独立;dev 命令也只是复用它的意图复述指令,不进入任何额外流程。
|
|
454
338
|
|
|
455
|
-
**Q:
|
|
456
|
-
A:
|
|
339
|
+
**Q: 生成的提示词保存到哪个目录?**
|
|
340
|
+
A: dev 命令组装出的提示词会作为用户消息出现在当前会话中(可直接回看);`/grill` 会把追问记录保存到 `.pi-dev-output/pi-grill/answers/`,生成的问题文件放在 `.pi-dev-output/pi-grill/questions/`。
|
|
457
341
|
|
|
458
342
|
## License
|
|
459
343
|
|