@ghyper9023/pi-dev-workflow 0.7.0 → 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.
@@ -0,0 +1,93 @@
1
+ # Release v0.8.0
2
+
3
+ > 核心变化:**执行前先对齐意图**。新增 `/dev-pre-check` 意图预检命令;dev 命令从 11 个向导式命令收敛为 4 个「参数即任务 + 意图确认」命令;方案追问(`/grill`)与 PRD 生成(`/prd`)拆分为独立命令,解除与 `/dev-*` 的绑定。
4
+
5
+ ## 🚀 Features
6
+
7
+ ### `/dev-pre-check` 意图预检
8
+
9
+ 在真正动手前插入一道「意图校验」闸门——先让 AI 用自己的话复述任务意图,只有用户确认正确后才开始执行。
10
+
11
+ - **组合提示词** — `用户原始 prompt`(变动)+ 固定的「用自己的话重述你认为用户的目标是什么,以及用户试图解决的问题是什么」指令,从而把本轮任务意图整体切换为「意图理解」
12
+ - **取参方式** — 命令参数优先(`/dev-pre-check 帮我加个登录功能`),不带参数时弹出输入框补填需求原文
13
+ - **只分析不执行** — 提示词以最高优先级约束本轮行为:禁止修改/创建/删除文件,禁止调用写入类工具(`write`、`edit`、bash 写操作),禁止输出代码/补丁/实施计划/改进建议,只允许只读探查;复述完成后立即停止
14
+ - **结构化复述** — 固定输出格式:`1. 用户的目标` / `2. 用户试图解决的问题` / `3. 不确定之处` / `4. 一句话概括`
15
+ - **确认闸门** — 复述产出后弹出三选一:
16
+ - `是 — 意图正确,开始执行` → 发送「原始 prompt + 已确认的意图复述」,进入真正的工作
17
+ - `否 — 意图不正确,我要补充说明后重新分析` → 输入修正说明,带上修正记录重新复述,再次确认(可循环)
18
+ - `取消 / Esc` → 结束,不产生任何改动
19
+ - **已确认意图作为权威前提** — 执行阶段把用户确认过的复述一并发给代理,与其自身理解冲突时以该复述为准
20
+ - **已完成信号** — 以「代理空闲(`ctx.isIdle()` 为真)且本轮产生了新的 assistant 文本」作为复述完成标志,轮询间隔 2s、上限 5 分钟;不使用 `waitForIdle()`——它可能在 followUp 触发的新 turn 开始前立即返回,导致「瞬间完成」误判(v0.7.0 已记录同类问题)。超时后弹出「重试 / 取消」对话框,不静默失败
21
+ - **共享实现** — 「复述 → 确认 →(必要时)修正」抽取为导出的 `confirmIntent()`,dev 命令直接复用,不再各造一套意图识别
22
+
23
+ ### dev 命令重写:11 个 → 4 个,参数即任务
24
+
25
+ - **命令收敛** — 只保留 `/dev-feat`、`/dev-fix`、`/dev-refactor`、`/dev-test`;移除 `/dev-doc`、`/dev-perf`、`/dev-style`、`/dev-security`、`/dev-chore`、`/dev-explain`、`/dev-compare`(与保留命令的模板差异很小,维护成本高于收益)
26
+ - **交互简化** — 2-5 问向导改为「命令参数即任务原文」(`/dev-feat 实现邮箱密码登录接口`),缺省时只弹一次必填输入框
27
+ - **执行前先确认意图** — 复用 `confirmIntent()`:代理先复述「目标 / 问题 / 不确定之处」,用户确认后才组装提示词
28
+ - **提示词只补两件事** — 「身份与职责」(资深 <项目语言> 工程师 / 调试工程师 / 测试工程师等)与「默认验收标准」;任务目标取第 2 步已确认的意图,不再由命令自行解释需求
29
+ - **默认验收标准按条目生成** — `session-utils` 的 `defaultAcceptance` 改为 `defaultAcceptanceItems`,按条目产出测试 / lint / pre-commit / CI 检查项,供提示词逐条列出
30
+ - **新增 `uiTaskArg()`** — 命令参数与输入框二选一取任务文本,`/dev-*`、`/grill`、`/prd` 共用
31
+ - **删除向导包袱** — 向导字段默认值、模板组装器(`WizardQuestion` / `assignAnswers` / `FIELD_DEFAULTS` / `applyDefaults`)、提示词落盘到 `.pi-dev-output/pi-grill/answers` 的逻辑
32
+
33
+ ### `/grill` 与 `/prd` 成为独立命令
34
+
35
+ - **`/grill`** — 对方案做追问式打磨(术语精确化、边界条件、失败路径、验证方式),问答结果附到方案后交给当前代理执行
36
+ - **`/prd`** — 按需求描述生成 PRD 文档,保存到 `.pi-dev-output/pi-prd/`,并可选直接开始开发
37
+ - 两个命令都接受命令参数作为方案/需求文本,缺省时弹一次必填输入框;取消或未进入追问时**不发送任何内容**
38
+ - **解除与 dev 的绑定** — dev 命令不再触发 Grill 追问与 PRD 生成,两处运行时各自独立
39
+ - 移除仅服务于旧向导断点恢复的 `recoverFromBackup()`
40
+
41
+ ### 全局提示词:思考过程与验证约束
42
+
43
+ - **新增「思考过程」章节** — 固定六步流程:审题 → 思考 → 汇总 → 验证 → 讨教 → 最终;要求先结论后依据、区分事实/推断/假设、禁止编造,并明确「验证」一步要先假设目标已完成再回推缺口
44
+ - 文末三条强调语追加「在最终返回前确认已经遵守了[思考过程]的完整流程」
45
+ - **Validation 补充项目约束识别** — 要求查看项目中的 CI、`.pre-commit-check.yaml` 等内容(如有)并完成相关验证
46
+ - Language 章节措辞收紧为「用户明确指定其他语种时再切换语言」
47
+
48
+ ### README 同步
49
+
50
+ - 推荐扩展表新增 `pi-permission-system`、`pi-web`
51
+ - 目录树中 `APPEND_SYSTEM.md` 的说明由「强制使用简体中文」修正为「默认使用简体中文」(社区 PR #9)
52
+ - dev 命令一节重写为 4 命令设计(参数即任务、流程、提示词结构);Grill / PRD 改为独立命令 `/grill`、`/prd` 的说明
53
+ - 目录树补充 `review-detect.ts`、`session-utils.ts`
54
+ - FAQ 重写:交互轮次、与 `/dev-pre-check` 的关系、验收标准优先级、提示词存放位置
55
+
56
+ ## 🐛 Bug Fixes
57
+
58
+ - 修复 `notify` 类型非法:`"success"` 不在 pi 的 `info` / `warning` / `error` 之列——审查报告通知、`/dev-pre-check` 完成通知、git 命令完成通知均改用 `"info"`;`runGitCommand` 的 ctx 内联类型收窄为同一联合类型,避免同类错误逃过类型检查
59
+ - 修复 `ui-helpers` 的 ctx 类型过窄:`pi.on("input")` 处理器拿到的是 `ExtensionContext` 而非 `ExtensionCommandContext`,统一放宽为 `ExtensionContext`
60
+
61
+ ## 🔧 Refactor
62
+
63
+ - 自动审查检测独立为 `extensions/review-detect.ts`:承载 `pi.on("input")` 审查拦截与 `runReview`;`dev-prompts.ts` 只保留 dev 命令职责,移除 `fs` / `path` 与不再使用的 `uiSelect` / `uiConfirm` 引入
64
+ - `extensions/dev-prompts.ts` 由 959 行降至 146 行,清掉向导字段默认值、模板组装器与 Grill/PRD 绑定
65
+ - `extensions/session-utils.ts` 验收标准生成接口由拼接字符串改为条目数组
66
+ - 测试套件同步:断言指向 4 个 dev 命令与新提示词结构、审查检测迁至 `review-detect.ts`、`/grill` 与 `/prd` 注册、`recoverFromBackup` 已移除、`confirmIntent` 为共享实现
67
+
68
+ ## 📦 Files Changed
69
+
70
+ | 类别 | 文件 |
71
+ |---|---|
72
+ | 新增 | `extensions/pre-check.ts`、`extensions/review-detect.ts` |
73
+ | 修改 | `extensions/dev-prompts.ts`、`extensions/git-commands.ts`、`extensions/grill-me-agent.ts`、`extensions/session-utils.ts`、`extensions/ui-helpers.ts`、`prompts/APPEND_SYSTEM.md`、`README.md`、`tests/test-no-subagents.mjs`、`package.json` |
74
+ | 版本 | `.version/RELEASE-v0.8.0.md`(本文件) |
75
+
76
+ ## 🔗 Commit History
77
+
78
+ ```
79
+ 725c605 docs: improve README(社区 PR #9)
80
+ 53eb82d fix: git 命令完成通知改用合法 notify 类型
81
+ 7092c95 feat: 添加对项目已有验证约束的识别指导
82
+ 02aab6b docs: 更新 README 至新 dev 命令设计
83
+ 97432b6 feat(grill): 新增独立 /grill、/prd 命令,解除与 dev 命令的绑定
84
+ 7b8311c refactor(dev): dev 命令重写为 4 个命令,参数即任务 + 意图确认
85
+ 49a5df1 refactor: 自动审查检测独立为 review-detect.ts
86
+ d6e035c chore: bump version to 0.8.0
87
+ bbb66f2 docs: 更新 README 与 v0.8.0 版本说明
88
+ 95b1b39 test: 补充 /dev-pre-check 的回归断言
89
+ 23f7334 feat: 新增 /dev-pre-check 命令,执行前先复述确认任务意图
90
+ 925b8fc feat: 增加基于事实的思考过程指导,善用“系统 2 ”进行思考,事前验证查找漏洞。
91
+ d42a021 Change pi-web-ui to pi-web in README
92
+ 6e8fe5c Add new extensions to README.md
93
+ ```
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 commands, code review, Karpathy guidelines, themes, prompt wizards
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
 
@@ -25,7 +27,7 @@ pi-package/
25
27
  ├── README.md # 本文件
26
28
  ├── .gitignore
27
29
  ├── prompts/
28
- │ ├── APPEND_SYSTEM.md # 全局追加提示:强制使用简体中文+英文专业名词
30
+ │ ├── APPEND_SYSTEM.md # 全局追加提示:默认使用简体中文+英文专业名词
29
31
  │ ├── review-commit.md # 审查 commit 的提示模板
30
32
  │ └── review-diff.md # 审查 diff 的提示模板
31
33
  ├── skills/
@@ -39,9 +41,12 @@ pi-package/
39
41
  │ └── SKILL.md # 从对话上下文生成 PRD 文档
40
42
  ├── extensions/
41
43
  │ ├── append-system.ts # 追加 APPEND_SYSTEM.md 提示词
42
- │ ├── dev-prompts.ts # 提示词优化向导(/dev-* 命令)
44
+ │ ├── dev-prompts.ts # dev 命令(/dev-feat、/dev-fix、/dev-refactor、/dev-test)
43
45
  │ ├── git-commands.ts # git 命令(直接执行)
44
- │ ├── grill-me-agent.ts # Grill + PRD 运行时(运行在当前代理中)
46
+ │ ├── grill-me-agent.ts # /grill 与 /prd 命令 + 运行时(运行在当前代理中)
47
+ │ ├── pre-check.ts # 意图校验(/dev-pre-check + 共享的 confirmIntent)
48
+ │ ├── review-detect.ts # 自动审查意图检测
49
+ │ ├── session-utils.ts # 项目探测、验收标准、轮询等待
45
50
  │ └── ui-helpers.ts # TUI 组件构建器(Select/Confirm/Input)
46
51
  └── themes/
47
52
  └── claude-code-theme.json # Claude Code CLI 风格主题
@@ -65,6 +70,10 @@ pi-package/
65
70
  | **rpiv-ask-user-question** | 结构化问卷扩展:模型不确定时以带类型的选项向你提问,替代自由文本回复 | `pi install npm:@juicesharp/rpiv-ask-user-question` |
66
71
  | **rpiv-todo** | 模型待办清单:实时悬浮面板展示,`/reload` 与会话压缩后依然保留 | `pi install npm:@juicesharp/rpiv-todo` |
67
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`启动 |
75
+
76
+
68
77
 
69
78
  ## Git 命令
70
79
 
@@ -76,119 +85,125 @@ pi-package/
76
85
  | `/git-push` | 推送到远程 |
77
86
  | `/git-commit-push [message]` | 暂存 + 提交 + 推送一键完成 |
78
87
 
79
- ## Dev Prompts(提示词优化向导)
88
+ ## 意图预检(/dev-pre-check)
80
89
 
81
- 基于 [ai提示词优化.md](./ai%E6%8F%90%E7%A4%BA%E8%AF%8D%E4%BC%98%E5%8C%96.md) 中的优质模板,通过交互式问答引导你填写 `[xxx]` 占位符,组装完整的高质量提示词后**直接投递给当前代理执行**。
90
+ 在真正动手前插入一道「意图校验」闸门:先让 AI 用自己的话复述它理解的任务意图,**只有你确认正确后才开始执行**。适合需求描述含糊、或希望先对齐理解再让 AI 动代码的场景。
82
91
 
83
- ### 命令一览
92
+ ```text
93
+ /dev-pre-check 帮我加个邮箱密码登录功能
94
+ ```
84
95
 
85
- | 命令 | 用途 | 对应模板类型 | 支持 Grill |
86
- |------|------|-------------|---------|
87
- | `/dev-feat` | 新功能/创意生成 | `feat` | ✅ |
88
- | `/dev-fix` | 问题排查/错误修正 | `fix` | ✅ |
89
- | `/dev-doc` | 文档生成/总结 | `doc` | ✅ |
90
- | `/dev-refactor` | 重构/优化现有结构 | `refactor` | ✅ |
91
- | `/dev-test` | 测试用例生成 | `test` | ✅ |
92
- | `/dev-perf` | 性能优化 | `perf` | ✅ |
93
- | `/dev-style` | 风格/格式调整 | `style` | ✅ |
94
- | `/dev-security` | 安全审查 | `security` | ✅ |
95
- | `/dev-chore` | 日常维护/自动化 | `chore` | ❌ |
96
- | `/dev-explain` | 概念解释 | `explain` | ❌ |
97
- | `/dev-compare` | 对比评估 | `compare` | ❌ |
96
+ 不带参数时弹出输入框补填需求原文。
98
97
 
99
- ### 使用方法
98
+ ### 流程
100
99
 
101
- 输入任意 `/dev-*` 命令进入向导,按提示逐项填写字段:
100
+ 1. **组合提示词** — `用户原始 prompt`(变动)+ 固定的「用自己的话重述你认为用户的目标是什么,以及用户试图解决的问题是什么」指令
101
+ 2. **只分析不执行** — 提示词把本轮任务意图限定为意图理解:禁止修改/创建/删除文件,禁止调用写入类工具(write、edit、bash 写操作),禁止输出代码/补丁/实施计划,只允许只读探查
102
+ 3. **输出复述** — 代理按固定格式给出:用户的目标 / 试图解决的问题 / 不确定之处 / 一句话概括
103
+ 4. **用户确认**
102
104
 
103
- ```text
104
- # 示例:/dev-feat
105
- 📋 /dev-feat — 新功能/创意生成,请逐项填写以下信息(留空跳过对应段落,Esc 取消)
106
-
107
- 编程语言/框架? TypeScript
108
- 技术栈? NestJS + Prisma
109
- 目标模块/文件名? src/auth/login.ts
110
- 核心功能描述? 用户可以通过邮箱+密码注册并登录
111
- ...
112
- ✅ 提示词已组装完成,正在发送给当前代理...
113
- ```
105
+ | 选择 | 行为 |
106
+ |---|---|
107
+ | 是 — 意图正确,开始执行 | 发送「原始 prompt + 已确认的意图复述」开始真正的工作 |
108
+ | 否 — 意图不正确,我要补充说明后重新分析 | 输入修正说明 → 带上修正记录重新复述 → 再次确认(可循环) |
109
+ | 取消 / Esc | 结束,不产生任何改动 |
110
+
111
+ 5. **开始工作** — 已确认的意图复述作为权威前提一并发给代理,与其理解冲突时以该复述为准
114
112
 
115
- **交互规则**:
116
- - **留空(直接回车)** — 该字段标记为「无」,对应的模板段落整段跳过
117
- - **输入「无」** — 与留空效果相同,明确表示不需要该段内容
118
- - **按 Esc** — 随时退出向导,不产生任何输出
119
- - **填写后** — 自动用 `pi.sendUserMessage()` 投递给当前代理,立即开始执行
120
- - 向导会自动将组装好的提示词保存到 `.pi-dev-output/pi-grill/answers/`,中断后可恢复
113
+ ### 与其他 dev 命令的关系
121
114
 
122
- ### 示例 1:用 `/dev-fix` 修 Bug
115
+ `/dev-pre-check` 只做「执行前对齐意图」这一件事,可独立用于任意任务。
116
+
117
+ `/dev-feat` 等 dev 命令内部复用同一套意图复述指令(`confirmIntent`):发送提示词前先让你确认意图,但提示词组装、默认验收标准填充由它们自己完成,不依赖 `/dev-pre-check` 命令本身。
118
+
119
+ ## Dev 命令
120
+
121
+ 四个命令对应四类高频任务。**命令参数就是任务原文**,不带参数时才弹一次输入框;其余信息(项目语言、测试命令、lint 命令、pre-commit/CI)由项目探测自动补齐。
122
+
123
+ | 命令 | 用途 | 提示词中的身份 |
124
+ |------|------|---------------|
125
+ | `/dev-feat` | 新功能实现 | 资深 <项目语言> 工程师 |
126
+ | `/dev-fix` | 问题修复 | 资深 <项目语言> 调试工程师 |
127
+ | `/dev-refactor` | 重构 | 资深 <项目语言> 工程师 |
128
+ | `/dev-test` | 测试补充 | 资深测试工程师 |
129
+
130
+ ### 流程
123
131
 
124
132
  ```text
125
- /dev-fix
126
- 文件路径? src/api/users.ts
127
- 行号? 42
128
- Bug 描述? 创建用户成功后返回 201,但实际上返回了 500
129
- 输入/现象? POST /api/users 正确参数返回 Internal Server Error
130
- 预期行为? 返回 201 + 用户数据
131
- 当前错误? 500 Internal Server Error
133
+ /dev-feat 实现邮箱密码登录接口
134
+ │
135
+ ├─ 1. 任务原文:取命令参数,或弹一次必填输入框
136
+ ├─ 2. 意图确认:代理复述「目标 / 问题 / 不确定之处」,你确认
137
+ │ 选「否」→ 输入补充说明 → 重新复述(可循环)
138
+ │ 取消 / Esc → 不产生任何改动
139
+ ├─ 3. 组装提示词(见下)
140
+ └─ 4. 发送给当前代理执行
132
141
  ```
133
142
 
134
- 组装后的提示词包含:根因诊断 → 修复方案 → 测试复现 → diff 输出。
143
+ ### 提示词结构
135
144
 
136
- ### 示例 2:用 `/dev-doc` 写文档
145
+ 组装出的提示词只补两件事:AI 的身份与职责、未说明验收标准时的默认收尾验收标准。任务目标直接取第 2 步已确认的意图,这里不再重新解释需求。
137
146
 
138
- ```text
139
- /dev-doc
140
- 模块/API 名称? AuthService REST API
141
- 目标受众? 前端开发者和后端集成方
142
- 关键信息点? 注册、登录、刷新 token、登出四个接口的用法
143
- 示例语言? TypeScript, curl
144
- 已有材料? (留空跳过,从零生成)
147
+ ```markdown
148
+ [dev-feat] 实现邮箱密码登录接口
149
+
150
+ ## 任务(原始描述)
151
+ 实现邮箱密码登录接口
152
+
153
+ ## 已确认的任务意图
154
+ (第 2 步你确认过的复述原文)
155
+
156
+ ## 身份与职责
157
+ 你是资深 TypeScript 工程师。
158
+ - 先读代码库再动手:给出逐步实施计划……
159
+ - 只实现任务要求的功能,不顺手重构无关代码
160
+ - 保持现有公共 API 兼容,不为假设性需求添加抽象层
161
+
162
+ ## 验收标准
163
+ 以下为默认收尾验收基线;任务描述中另有明确验收标准时,以任务描述为准。
164
+ - 运行 pnpm test 确认全部测试通过、无回归
165
+ - 运行 pnpm lint 符合代码规范
166
+ - 通过本地 pre-commit 钩子检查
167
+ - 通过 CI 检查
145
168
  ```
146
169
 
147
- 组装后的提示词包含:角色(技术文档工程师)→ 大纲先行 → Markdown 层级文档 → 2 个可运行示例。
170
+ ### 示例
148
171
 
149
- ### 示例 3:用 `/dev-feat` 走完整流程(含 Grill + PRD)
172
+ ```text
173
+ /dev-fix 登录接口在密码正确时返回 401
174
+ ↓ 代理复述目标与问题
175
+ ↓ 你确认
176
+ ↓ 发送:任务 + 已确认意图 + 调试工程师职责 + 默认验收标准
177
+ ```
150
178
 
151
179
  ```text
152
- /dev-feat
153
- 编程语言/框架? TypeScript
154
- 技术栈? Express + PostgreSQL + Redis
155
- 目标模块/文件名? src/api/payments.ts
156
- 核心功能描述? 用户可以通过信用卡或 PayPal 进行一次性支付
157
-
158
- → 填写完成后,弹出确认框:
159
- 🔍 设计方案追问完善 — 是否进入方案追问完善 (Grill) 模式?
160
- → 逐题回答完毕(约 15-25 题),追问记录附加到提示词末尾。
161
-
162
- → 弹出 PRD 确认框:
163
- 📋 创建 PRD — 是否为此功能创建 PRD 文档?
164
- → 选择"是",PRD 保存到 .pi-dev-output/pi-prd/payments-20260519.md
165
- → 最终提示词(含追问记录)发送给当前代理开始执行
180
+ /dev-refactor
181
+ 任务描述? 把 src/auth/login.ts 拆成参数校验和会话创建两部分
182
+ ↓ 同上(不带参数时弹一次输入框)
166
183
  ```
167
184
 
168
- ## 方案追问完善(Grill)机制
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`。
169
187
 
170
- Grill("追问式打磨")是提交方案前由 AI 从多个维度追问完善你的设计的交互流程。Grill 阶段在 `/dev-*` 向导完成后自动触发,以确认对话框询问是否进入追问完善。
188
+ ## 方案追问完善(/grill)
171
189
 
172
- 由于当前主流模型普遍具备 >=1M 上下文窗口,Grill 不再创建隔离的子代理进程,而是由**当前代理**执行追问任务,所有追问记录直接追加到当前会话上下文中。
190
+ Grill("追问式打磨")是提交方案前由 AI 从多个维度追问完善设计的交互流程,现在是一个独立命令,不再挂在 `/dev-*` 后面。
173
191
 
174
- 追问完善流程:
192
+ ```text
193
+ /grill 实现邮箱密码登录:注册、登录、会话保持
194
+ ```
195
+
196
+ 不带参数时弹一次输入框。
197
+
198
+ 流程:
175
199
  1. **确认** — 弹出对话框,选择"是"进入追问完善
176
200
  2. **生成问题** — 当前代理根据方案上下文,一次生成全部追问问题(JSON 数组)
177
201
  3. **逐题回答** — TUI 逐题展示,每道题带选项列表 + 自定义输入入口
178
- 4. **增强提示词** — 所有 Q&A 追加到原提示词末尾,形成 `enhancedPrompt`
179
-
180
- ### 按领域定制的 Grill 场景
202
+ 4. **增强提示词** — 所有 Q&A 追加到原方案末尾,形成 `enhancedPrompt`,发送给当前代理执行
181
203
 
182
- 不同的 `/dev-*` 命令使用不同的追问方向,问题维度与任务类型对齐:
204
+ 若在第 1 步选"否",或过程中按 Esc 取消,都不会发送任何内容。
183
205
 
184
- | 命令 | Grill 场景 | 追问维度 |
185
- |---|---|---|
186
- | `/dev-feat` | 设计方案追问完善 | 架构、数据流、模块边界、安全、测试策略、性能、可扩展性 |
187
- | `/dev-fix` | Bug 根因追问 | 复现条件、根因推理、修复方案、回归风险 |
188
- | `/dev-doc` | 文档大纲追问完善 | 受众定位、结构安排、示例选择 |
189
- | `/dev-refactor` | 重构方案追问 | 模块边界、API 兼容性、测试策略、迁移风险 |
190
- | `/dev-test` | 测试策略追问 | 覆盖维度、边界条件、模拟策略 |
191
- | `/dev-perf` | 性能优化方案追问 | 基准测试方法、优化方向、回归风险 |
206
+ 由于当前主流模型普遍具备 >=1M 上下文窗口,Grill 不再创建隔离的子代理进程,而是由**当前代理**执行追问任务,所有追问记录直接追加到当前会话上下文中。
192
207
 
193
208
  ### 交互形式
194
209
 
@@ -203,20 +218,22 @@ Grill("追问式打磨")是提交方案前由 AI 从多个维度追问完善
203
218
 
204
219
  ### 输入框特性
205
220
 
206
- 自定义输入和 `/dev-*` 向导中的输入框支持:
221
+ 追问的自定义输入框与 dev 命令的任务描述输入框支持:
207
222
  - **实时换行预览**:输入超长文本时,输入框上方会显示完整的换行预览(灰色文字),实时跟随输入变化
208
223
  - **光标操作**:`←` 和 `→` 键可正常移动光标编辑已有内容(不触发返回)
209
224
  - **返回上一题**:`Ctrl+Shift+←` 在输入框中返回上一题
210
225
  - **跳过输入**:`Ctrl+Shift+→` 提交当前内容(可为空)并继续
211
226
 
212
- ## PRD 文档生成
227
+ ## PRD 文档生成(/prd)
213
228
 
214
- 仅 `/dev-feat` 命令在执行完成后自动触发 PRD 生成。其余 `/dev-*` 命令不包含此阶段。
229
+ ```text
230
+ /prd 支持邮箱密码注册登录,含密码重置
231
+ ```
215
232
 
216
- PRD 由当前代理生成,不再使用隔离的子代理进程:
233
+ 不带参数时弹一次输入框。PRD 由当前代理生成:
217
234
 
218
235
  1. **确认** — 弹出对话框询问是否创建 PRD
219
- 2. **生成** — 当前代理读取对话上下文 + 代码库理解,按模板生成 Markdown PRD
236
+ 2. **生成** — 当前代理读取需求描述 + 代码库理解,按模板生成 Markdown PRD
220
237
  3. **保存** — 写入 `.pi-dev-output/pi-prd/<module>-<date>.md`
221
238
  4. **后续操作** — 询问是否立即开始开发:
222
239
  - "是" — 将 PRD 作为开发指令发送给当前代理
@@ -225,7 +242,7 @@ PRD 由当前代理生成,不再使用隔离的子代理进程:
225
242
 
226
243
  PRD 模板包含:Problem Statement、Solution、User Stories、Implementation Decisions、Testing Decisions、Out of Scope、Further Notes。
227
244
 
228
- 如果需要为其他场景生成 PRD,可以手动使用 `to-prd` skill(直接引用 `/skill:to-prd`)。
245
+ 从对话上下文生成 PRD 也可以用 `to-prd` skill(`/skill:to-prd`)。
229
246
 
230
247
  ## Skills
231
248
 
@@ -274,20 +291,26 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
274
291
 
275
292
  ## 常见问题
276
293
 
277
- **Q: Grill 阶段可以跳过吗?**
278
- A: 可以。在 Grill 确认对话框中选择"否"即可跳过,原提示词不变直接投递给当前代理。追问过程中按 Esc 也可随时取消,已回答的问题仍会附加到提示词中。
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` 等命令一步到位。
279
299
 
280
- **Q: 所有 `/dev-*` 命令都支持 Grill 吗?**
281
- 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 阶段。
300
+ **Q: 验收标准会覆盖我自己写的吗?**
301
+ A: 不会。提示词里的验收标准段明确写明「任务描述中另有明确验收标准时,以任务描述为准」,默认条目只是收尾基线。
282
302
 
283
- **Q: PRD 没有自动生成怎么办?**
284
- A: 只有 `/dev-feat` 会在执行完成后触发 PRD 生成。其他命令不包含此阶段。如果需要为其他场景生成 PRD,可以手动使用 `to-prd` skill(直接引用 `/skill:to-prd`)。
303
+ **Q: `/grill` 和 `/prd` 要在 `/dev-*` 之后运行吗?**
304
+ A: 不需要。两者都是独立命令,任何时候都能用:`/grill <方案描述>` 做提交前追问打磨,`/prd <需求描述>` 先生成 PRD。dev 命令不再触发它们。
305
+
306
+ **Q: `/grill` 中跳过或取消会怎样?**
307
+ A: 在确认对话框选"否"或按 Esc 取消,都不会向当前代理发送任何内容。
285
308
 
286
309
  **Q: 如何自定义 Grill 的问题数量和方向?**
287
- A: 在 `extensions/grill-me-agent.ts` 中修改对应 Grill 场景的提示词即可控制问题方向和数量。目前各领域 Grill 的问题数量由 LLM 自主决定(典型 15-40 题)。
310
+ A: 在 `extensions/grill-me-agent.ts` 中修改追问提示词即可控制问题方向和数量。问题数量由 LLM 自主决定(典型 15-40 题)。
288
311
 
289
- **Q: 追问问答是否影响原提示词?**
290
- A: 追问问答以「方案追问记录」区块追加到原提示词末尾,原提示词内容不变。当前代理执行时会同时参考原需求 + 追问中确认的决策。
312
+ **Q: 追问问答是否影响原方案?**
313
+ A: 追问问答以「方案追问记录」区块追加到原方案末尾,原方案内容不变。当前代理执行时会同时参考原方案 + 追问中确认的决策。
291
314
 
292
315
  **Q: Grill 中如何返回上一题?**
293
316
  A: 使用 `Ctrl+Shift+←` 返回上一题(在选项列表和自定义输入框中均适用)。裸 `←` 键在选项列表中无效果,在输入框中用于光标左移编辑文本。
@@ -295,17 +318,26 @@ A: 使用 `Ctrl+Shift+←` 返回上一题(在选项列表和自定义输入
295
318
  **Q: 自定义输入框中的键位有哪些?**
296
319
  A: `Enter` 确认提交,`Esc` 取消返回选项列表,`Ctrl+Shift+←` 返回上一题,`Ctrl+Shift+→` 跳过输入并继续,方向键 `←`/`→` 用于移动光标编辑已有文本。
297
320
 
298
- **Q: `grill-with-docs` skill 和 `/dev-*` 内置的 Grill 有什么区别?**
299
- A: `grill-with-docs` 是可独立调用的 skill(`/skill:grill-with-docs`),侧重领域术语统一和文档同步(更新 CONTEXT.md、创建 ADR)。`/dev-*` 内置的 Grill 是任务向导的一部分,侧重方案追问完善,不涉及文档持久化。
321
+ **Q: `grill-with-docs` skill 和 `/grill` 命令有什么区别?**
322
+ A: `grill-with-docs` 是 skill(`/skill:grill-with-docs`),侧重领域术语统一和文档同步(更新 CONTEXT.md、创建 ADR)。`/grill` 侧重方案追问完善,不涉及文档持久化。
300
323
 
301
324
  **Q: 自动审查可以关闭吗?**
302
- A: 检测到审查意图时选择"3. 不是审查"即可放行原消息给当前代理。如果需要完全关闭,可以在 `extensions/dev-prompts.ts` 中移除 `pi.on("input")` 的审查拦截逻辑。
325
+ A: 检测到审查意图时选择"2. 不是审查"即可放行原消息给当前代理。如果需要完全关闭,可以在 `extensions/review-detect.ts` 中移除 `pi.on("input")` 的审查拦截逻辑。
303
326
 
304
327
  **Q: Git 命令需要子代理吗?**
305
328
  A: 不需要。`/git-commit`、`/git-push`、`git-commit-push` 直接通过 pi 的内置执行器运行 git,结果会出现在当前会话中。
306
329
 
307
- **Q: 提示词保存到哪个目录?**
308
- A: 向导组装的提示词保存到 `.pi-dev-output/pi-grill/answers/`,Grill 生成的问题文件保存到 `.pi-dev-output/pi-grill/questions/`。中断后重新执行对应命令可从备份恢复。
330
+ **Q: `/dev-pre-check` 会顺手改代码吗?**
331
+ A: 不会。意图校验阶段的提示词明确禁止修改/创建/删除文件、禁止调用写入类工具、禁止输出代码与实施方案。只有你选择「是 — 意图正确,开始执行」后,才会把原始 prompt 作为真正的工作下发。
332
+
333
+ **Q: `/dev-pre-check` 等不到复述怎么办?**
334
+ A: 等待上限为 5 分钟(信号为「代理空闲且本轮产生了新的 assistant 文本」)。超时后弹出「重试 / 取消」供你决定。
335
+
336
+ **Q: `/dev-pre-check` 会触发 Grill 或 PRD 吗?**
337
+ A: 不会。它与 `/grill`、`/prd` 完全独立;dev 命令也只是复用它的意图复述指令,不进入任何额外流程。
338
+
339
+ **Q: 生成的提示词保存到哪个目录?**
340
+ A: dev 命令组装出的提示词会作为用户消息出现在当前会话中(可直接回看);`/grill` 会把追问记录保存到 `.pi-dev-output/pi-grill/answers/`,生成的问题文件放在 `.pi-dev-output/pi-grill/questions/`。
309
341
 
310
342
  ## License
311
343