@ghyper9023/pi-dev-workflow 0.2.0 → 0.3.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/README.md +101 -2
- package/agents/git-agent.md +16 -25
- package/agents/review-agent.md +5 -3
- package/extensions/dev-prompts.ts +320 -26
- package/extensions/git-commands.ts +5 -2
- package/extensions/grill-me-agent.ts +687 -0
- package/extensions/sub-agents.ts +54 -33
- package/package.json +1 -1
- package/skills/grill-with-docs/ADR-FORMAT.md +47 -0
- package/skills/grill-with-docs/CONTEXT-FORMAT.md +77 -0
- package/skills/grill-with-docs/SKILL.md +88 -0
- package/skills/review-html/SKILL.md +36 -25
- package/skills/to-prd/SKILL.md +74 -0
- package/ai/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226.md +0 -341
package/README.md
CHANGED
|
@@ -29,13 +29,18 @@ pi-package/
|
|
|
29
29
|
│ ├── review-commit.md # 审查 commit 的提示模板
|
|
30
30
|
│ └── review-diff.md # 审查 diff 的提示模板
|
|
31
31
|
├── skills/
|
|
32
|
+
│ ├── grill-with-docs/
|
|
33
|
+
│ │ └── SKILL.md # 设计评审:挑战方案、统一术语、更新文档
|
|
32
34
|
│ ├── karpathy-guidelines/
|
|
33
35
|
│ │ └── SKILL.md # Karpathy 编码准则(避免 LLM 常见错误)
|
|
34
|
-
│
|
|
35
|
-
│
|
|
36
|
+
│ ├── review-html/
|
|
37
|
+
│ │ └── SKILL.md # 代码审查 → 输出交互式 HTML 报告
|
|
38
|
+
│ └── to-prd/
|
|
39
|
+
│ └── SKILL.md # 从对话上下文生成 PRD 文档
|
|
36
40
|
├── extensions/
|
|
37
41
|
│ ├── dev-prompts.ts # 提示词优化向导(/dev-* 命令)
|
|
38
42
|
│ ├── git-commands.ts # git-sub-agent 命令
|
|
43
|
+
│ ├── grill-me-agent.ts # Grill + PRD 运行时:设计评审、PRD 生成
|
|
39
44
|
│ └── sub-agents.ts # 子代理系统:git-sub-agent + review-sub-agent
|
|
40
45
|
└── themes/
|
|
41
46
|
└── claude-code-theme.json # Claude Code CLI 风格主题
|
|
@@ -156,12 +161,86 @@ Bug 描述? 创建用户成功后返回 201,但实际上返回了 500
|
|
|
156
161
|
|
|
157
162
|
组装后的提示词包含:角色(技术文档工程师)→ 大纲先行 → Markdown 层级文档 → 2 个可运行示例。
|
|
158
163
|
|
|
164
|
+
### 示例 3:用 `/dev-feat` 走完整流程(含 Grill + PRD)
|
|
165
|
+
|
|
166
|
+
```text
|
|
167
|
+
/dev-feat
|
|
168
|
+
编程语言/框架? TypeScript
|
|
169
|
+
技术栈? Express + PostgreSQL + Redis
|
|
170
|
+
目标模块/文件名? src/api/payments.ts
|
|
171
|
+
核心功能描述? 用户可以通过信用卡或 PayPal 进行一次性支付
|
|
172
|
+
|
|
173
|
+
→ 填写完成后,弹出确认框:
|
|
174
|
+
🔍 设计方案评审 — 是否进入设计评审 (Grill) 模式?
|
|
175
|
+
→ 选择"是"后,AI 生成约 15-25 道问题,逐题展示:
|
|
176
|
+
|
|
177
|
+
问题 1/18:支付数据流 — 支付请求的完整数据流是怎样的?
|
|
178
|
+
(a) 客户端 → API → 支付网关 → 回调 → 数据库
|
|
179
|
+
(b) 客户端 → API → 消息队列 → 支付网关 → 回调 → Webhook → 数据库
|
|
180
|
+
(c) 客户端直连支付网关 → 前端回调 → API → 数据库
|
|
181
|
+
|
|
182
|
+
→ 逐题回答完毕后,提示词增强并投递给主代理执行。
|
|
183
|
+
→ 执行完成后,弹出 PRD 确认框:
|
|
184
|
+
📋 创建 PRD — 是否为此功能创建 PRD 文档?
|
|
185
|
+
→ 选择"是",PRD 保存到 pi-dev-output/pi-prd/payments-20260517.md
|
|
186
|
+
→ 选择"🚀 根据 PRD 开始开发"进行后续迭代。
|
|
187
|
+
```
|
|
188
|
+
|
|
159
189
|
## Skills
|
|
160
190
|
|
|
161
191
|
| Skill | 来源 | 说明 |
|
|
162
192
|
|---|---|---|
|
|
163
193
|
| **karpathy-guidelines** | [forrestchang/andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills) | 基于 Andrej Karpathy 对 LLM 编码陷阱的观察,强调简洁、精准、可验证 |
|
|
164
194
|
| **review-html** | 自制 | git diff / commit 审查,输出自包含的交互式 HTML 报告 |
|
|
195
|
+
| **grill-with-docs** | [mattpocock/skills](https://github.com/mattpocock/skills) | 设计评审 — 挑战方案、统一术语、实时更新 CONTEXT.md 和 ADR |
|
|
196
|
+
| **to-prd** | [mattpocock/skills](https://github.com/mattpocock/skills) | 从对话上下文和代码库理解生成 PRD,保存到 `pi-dev-output/pi-prd/` |
|
|
197
|
+
|
|
198
|
+
## 设计评审(Grill)机制
|
|
199
|
+
|
|
200
|
+
Grill("拷问式评审")是提交方案前由 AI sub-agent 从多个维度挑战你设计的交互流程。Grill 阶段在 `/dev-*` 向导完成后自动触发,以确认对话框询问是否进入评审。
|
|
201
|
+
|
|
202
|
+
评审流程:
|
|
203
|
+
1. **确认** — 弹出对话框,选择"是"进入评审
|
|
204
|
+
2. **生成问题** — sub-agent 根据方案上下文,一次生成全部评审问题(JSON 数组)
|
|
205
|
+
3. **逐题回答** — TUI 逐题展示,每道题带选项列表 + 自定义输入入口
|
|
206
|
+
4. **增强提示词** — 所有 Q&A 追加到原提示词末尾,形成 `enhancedPrompt`
|
|
207
|
+
|
|
208
|
+
### 按领域定制的 Grill Agent
|
|
209
|
+
|
|
210
|
+
不同的 `/dev-*` 命令使用专门定制的 grill agent,问题方向与任务类型对齐:
|
|
211
|
+
|
|
212
|
+
| 命令 | Grill 场景 | 评审维度 |
|
|
213
|
+
|---|---|---|
|
|
214
|
+
| `/dev-feat` | 设计方案评审 | 架构、数据流、模块边界、安全、测试策略、性能、可扩展性 |
|
|
215
|
+
| `/dev-fix` | Bug 根因分析评审 | 复现条件、根因推理、修复方案、回归风险 |
|
|
216
|
+
| `/dev-doc` | 文档大纲评审 | 受众定位、结构安排、示例选择 |
|
|
217
|
+
| `/dev-refactor` | 重构方案评审 | 模块边界、API 兼容性、测试策略、迁移风险 |
|
|
218
|
+
| `/dev-test` | 测试计划评审 | 覆盖维度、边界条件、模拟策略 |
|
|
219
|
+
| `/dev-perf` | 性能优化评审 | 基准测试方法、优化方向、回归风险 |
|
|
220
|
+
|
|
221
|
+
### 交互形式
|
|
222
|
+
|
|
223
|
+
每道问题在 TUI 中以 SelectList 呈现:
|
|
224
|
+
- 选项列表:`(a) ...` `(b) ...` `(c) ...`
|
|
225
|
+
- 最末选项:`✏️ 自定义输入` — 可输入自己的回答
|
|
226
|
+
- 导航:↑↓ 选择,Enter 确认,Esc 取消全部评审
|
|
227
|
+
- 进度:标题栏显示 `问题 3/18`
|
|
228
|
+
|
|
229
|
+
## PRD 文档生成
|
|
230
|
+
|
|
231
|
+
仅 `/dev-feat` 命令在执行完成后自动触发 PRD 生成。其余 `/dev-*` 命令不包含此阶段。
|
|
232
|
+
|
|
233
|
+
流程:
|
|
234
|
+
1. **等待** — 等待主代理完成任务(`ctx.waitForIdle()`)
|
|
235
|
+
2. **确认** — 弹出对话框询问是否创建 PRD
|
|
236
|
+
3. **生成** — sub-agent 读取对话上下文 + 代码库理解,按模板生成 Markdown PRD
|
|
237
|
+
4. **保存** — 写入 `pi-dev-output/pi-prd/<module>-<date>.md`,自动创建 `.gitignore` 忽略该目录
|
|
238
|
+
5. **后续操作** — 询问是否立即开始开发:
|
|
239
|
+
- "是" — 将 PRD 作为开发指令发送给主代理
|
|
240
|
+
- "否" — 仅保存文件,稍后手动引用
|
|
241
|
+
- "✏️ 自定义开发指令" — 输入自定义指令,与 PRD 一起发送
|
|
242
|
+
|
|
243
|
+
PRD 模板包含:Problem Statement、Solution、User Stories、Implementation Decisions、Testing Decisions、Out of Scope、Further Notes。
|
|
165
244
|
|
|
166
245
|
## 使用方式
|
|
167
246
|
|
|
@@ -190,6 +269,26 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
|
|
|
190
269
|
/reload
|
|
191
270
|
```
|
|
192
271
|
|
|
272
|
+
## 常见问题
|
|
273
|
+
|
|
274
|
+
**Q: Grill 阶段可以跳过吗?**
|
|
275
|
+
A: 可以。在 Grill 确认对话框中选择"否"即可跳过,原提示词不变直接投递给主代理。评审过程中按 Esc 也可随时取消,已回答的问题仍会附加到提示词中。
|
|
276
|
+
|
|
277
|
+
**Q: 所有 `/dev-*` 命令都支持 Grill 吗?**
|
|
278
|
+
A: 不是。以下命令支持 Grill:`/dev-feat`、`/dev-fix`、`/dev-doc`、`/dev-refactor`、`/dev-test`、`/dev-perf`。`/dev-chore`、`/dev-style`、`/dev-security`、`/dev-explain`、`/dev-compare` 不包含 Grill 阶段。
|
|
279
|
+
|
|
280
|
+
**Q: PRD 没有自动生成怎么办?**
|
|
281
|
+
A: 只有 `/dev-feat` 会在执行完成后触发 PRD 生成。其他命令不包含此阶段。如果需要为其他场景生成 PRD,可以手动使用 `to-prd` skill(直接引用 `/skill:to-prd`)。
|
|
282
|
+
|
|
283
|
+
**Q: 如何自定义 Grill 的问题数量和方向?**
|
|
284
|
+
A: 在 `extensions/grill-me-agent.ts` 中修改对应 AgentDef 的 `systemPrompt` 即可控制问题方向和数量。目前各领域 grill agent 的问题数量由 LLM 自主决定(典型 15-40 题)。
|
|
285
|
+
|
|
286
|
+
**Q: 评审结果是否影响原提示词?**
|
|
287
|
+
A: 评审问答以「设计评审记录」区块追加到原提示词末尾,原提示词内容不变。主代理执行时会同时参考原需求 + 评审中确认的决策。
|
|
288
|
+
|
|
289
|
+
**Q: `grill-with-docs` skill 和 `/dev-*` 内置的 Grill 有什么区别?**
|
|
290
|
+
A: `grill-with-docs` 是可独立调用的 skill(`/skill:grill-with-docs`),侧重领域术语统一和文档同步(更新 CONTEXT.md、创建 ADR)。`/dev-*` 内置的 Grill 是任务向导的一部分,侧重方案评审,不涉及文档持久化。
|
|
291
|
+
|
|
193
292
|
## License
|
|
194
293
|
|
|
195
294
|
MIT
|
package/agents/git-agent.md
CHANGED
|
@@ -1,38 +1,29 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: git-agent
|
|
3
|
-
description: Git
|
|
3
|
+
description: Git 操作专家,负责提交、推送及提交并推送
|
|
4
4
|
tools: bash
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
你是一名 Git 操作专家。你唯一的职责是执行 Git 命令。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
你只能使用一个工具:`bash`。
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## 关键:反馈信息输出限制
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
你的输出不得超过 2 行(每行最多 100 个字符)。绝不要输出 git diff 结果、文件内容或任何冗长的状态信息。
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## 操作
|
|
16
16
|
|
|
17
|
-
1.
|
|
18
|
-
2.
|
|
19
|
-
3.
|
|
17
|
+
1. **提交:** `git add -A` 然后 `git commit -m "消息"`
|
|
18
|
+
2. **推送:** `git push`
|
|
19
|
+
3. **提交并推送:** 暂存、提交,然后推送
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## 指南
|
|
22
22
|
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
23
|
+
- 始终先执行 `git status` 检查状态
|
|
24
|
+
- 提交消息使用 Conventional Commits 格式:`feat:`、`fix:`、`refactor:`、`docs:`、`style:`、`test:`、`chore:`、`perf:`,且内容使用中文
|
|
25
|
+
- 消息应基于 diff 的实际内容
|
|
26
|
+
- 摘要行保持在 72 字符以内
|
|
27
|
+
- 若无变更可提交,请明确报告
|
|
28
28
|
|
|
29
|
-
##
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
<status>✅</status>
|
|
33
|
-
<summary>commit: <first 40 chars of message></summary>
|
|
34
|
-
<details>
|
|
35
|
-
- files: N files changed
|
|
36
|
-
- push: success / failed - reason
|
|
37
|
-
</details>
|
|
38
|
-
```
|
|
29
|
+
## 反馈信息输出格式(最多 100 字符)
|
package/agents/review-agent.md
CHANGED
|
@@ -8,11 +8,13 @@ tools: read, write, bash, grep, find, ls
|
|
|
8
8
|
|
|
9
9
|
## 工作流程
|
|
10
10
|
|
|
11
|
+
**重要:工作流[1,3,4,5,6]只执行一次,工作流[2]可多次执行拿到关键diff。执行完第 6 步后立即终止。**
|
|
12
|
+
|
|
11
13
|
1. **读取技能**:使用 `read` 工具加载 `skills/review-html/SKILL.md`,严格遵循其指令。
|
|
12
14
|
2. **获取改动**:运行 `git diff`(未提交改动)或 `git log -p -n 3`(最近提交),查看代码变更。
|
|
13
15
|
3. **分析审查**:按 skill 中的约束检查 BUG、敏感信息、可维护性、规范等。
|
|
14
16
|
4. **生成 HTML**:按 skill 的 HTML 约束生成完整的自包含 HTML 审查报告。
|
|
15
|
-
5. **写入文件**:使用 `write` 工具将 HTML 保存到 `pi-review/` 目录。
|
|
17
|
+
5. **写入文件**:使用 `write` 工具将 HTML 保存到 `pi-dev-output/pi-review/` 目录。
|
|
16
18
|
- 文件名格式:`YYYYMMDD-HHmm-任务简述-index.html`
|
|
17
19
|
- `pi-review/` 目录不存在则先 mkdir 创建(已存在于 .gitignore)
|
|
18
20
|
6. **汇报结果**:stdout 只输出以下格式的简要总结,**不要输出 HTML 内容到 stdout**:
|
|
@@ -22,14 +24,14 @@ tools: read, write, bash, grep, find, ls
|
|
|
22
24
|
<summary>审查完成,报告文件</summary>
|
|
23
25
|
<details>
|
|
24
26
|
- 审查范围: git diff (X files changed)
|
|
25
|
-
- 报告: pi-review/20260513-xxxx-xxx-index.html
|
|
27
|
+
- 报告: pi-dev-output/pi-review/20260513-xxxx-xxx-index.html
|
|
26
28
|
- 发现问题: X bugs, X warnings, X suggestions
|
|
27
29
|
</details>
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
## 重要规则
|
|
31
33
|
|
|
32
|
-
- HTML 必须**写文件到 pi-review/**,**不要输出到 stdout**
|
|
34
|
+
- HTML 必须**写文件到 pi-dev-output/pi-review/**,**不要输出到 stdout**
|
|
33
35
|
- stdout 只输出上面的简短结构化摘要(参考 git-agent 的做法)
|
|
34
36
|
- 使用 `bash` 运行 git 命令和创建目录
|
|
35
37
|
- 使用 `write` 工具写 HTML 文件
|