@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
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 发布 GitHub Release
|
|
2
|
+
#
|
|
3
|
+
# 触发:推送 v* 标签时(如 v0.7.0)
|
|
4
|
+
# 行为:自动读取 .version/RELEASE-<tag>.md 作为 release 内容;
|
|
5
|
+
# 若未找到对应版本说明文件,则写入默认提示,引导查看 git commit 确认变动。
|
|
6
|
+
#
|
|
7
|
+
# 版本说明文件命名约定:.version/RELEASE-v0.7.0.md(与 tag 同名)
|
|
8
|
+
name: Release
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
tags:
|
|
13
|
+
- 'v*'
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
release:
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
steps:
|
|
22
|
+
- name: 检出代码
|
|
23
|
+
uses: actions/checkout@v4
|
|
24
|
+
|
|
25
|
+
# 读取本 tag 对应的版本说明;不存在或为空时写默认提示。
|
|
26
|
+
- name: 准备 release 说明
|
|
27
|
+
shell: bash
|
|
28
|
+
run: |
|
|
29
|
+
TAG="${GITHUB_REF_NAME}"
|
|
30
|
+
FILE=".version/RELEASE-${TAG}.md"
|
|
31
|
+
BODY_TMP="/tmp/release-body.md"
|
|
32
|
+
|
|
33
|
+
if [ -s "$FILE" ]; then
|
|
34
|
+
cp "$FILE" "$BODY_TMP"
|
|
35
|
+
echo "已读取版本说明: $FILE"
|
|
36
|
+
else
|
|
37
|
+
sed "s|__TAG__|${TAG}|g" > "$BODY_TMP" <<'EOF'
|
|
38
|
+
> [!WARNING]
|
|
39
|
+
> 本版本 `__TAG__` 未找到对应的版本说明文件(`.version/RELEASE-__TAG__.md`)。
|
|
40
|
+
>
|
|
41
|
+
> 请通过 git commit 记录确认本次发布的改动内容,例如:
|
|
42
|
+
>
|
|
43
|
+
> ```bash
|
|
44
|
+
> git log --oneline "<上一个标签>"..__TAG__
|
|
45
|
+
> ```
|
|
46
|
+
>
|
|
47
|
+
> 建议在 `.version/RELEASE-__TAG__.md` 中补充完整的 release 说明,release 会自动读取该文件。
|
|
48
|
+
EOF
|
|
49
|
+
echo "未找到版本说明 $FILE,已写入默认提示"
|
|
50
|
+
fi
|
|
51
|
+
- name: 创建 GitHub Release
|
|
52
|
+
uses: softprops/action-gh-release@v2
|
|
53
|
+
with:
|
|
54
|
+
tag_name: ${{ github.ref_name }}
|
|
55
|
+
name: ${{ github.ref_name }}
|
|
56
|
+
body_path: /tmp/release-body.md
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# .pre-commit-config.yaml
|
|
2
|
+
# 优先使用 prek run --all-files 命令扫描 or 通过 git 自动触发
|
|
3
|
+
repos:
|
|
4
|
+
# ============================================================
|
|
5
|
+
# 1. 通用文件检查(pre-commit-hooks v6.0.0)
|
|
6
|
+
# 官方仓库:https://github.com/pre-commit/pre-commit-hooks
|
|
7
|
+
# 注意:v6.0.0 要求 Python >= 3.9,并移除了
|
|
8
|
+
# check-byte-order-marker 和 fix-encoding-pragma 两个钩子
|
|
9
|
+
# ============================================================
|
|
10
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
11
|
+
rev: v6.0.0
|
|
12
|
+
hooks:
|
|
13
|
+
# 移除行尾多余的空格
|
|
14
|
+
# 覆盖 TS/JS/JSON/YAML/Markdown 等文本文件
|
|
15
|
+
- id: trailing-whitespace
|
|
16
|
+
name: 移除行尾多余空格
|
|
17
|
+
|
|
18
|
+
# 检查代码中是否有未解决的合并冲突标记(<<<<<<< / ======= / >>>>>>>)
|
|
19
|
+
- id: check-merge-conflict
|
|
20
|
+
name: 检查合并冲突标记
|
|
21
|
+
|
|
22
|
+
# 检查新增文件是否过大(默认限制 10240KB,即 10MB)
|
|
23
|
+
- id: check-added-large-files
|
|
24
|
+
name: 检查添加文件是否过大
|
|
25
|
+
args: ['--maxkb=10240']
|
|
26
|
+
|
|
27
|
+
# 检查 YAML 语法是否正确(如 CI 配置、docker-compose 等)
|
|
28
|
+
- id: check-yaml
|
|
29
|
+
name: 检查 YAML 语法
|
|
30
|
+
|
|
31
|
+
# 检查 JSON 语法是否正确(如 package.json 等)
|
|
32
|
+
# 排除常见的 JSONC 文件:tsconfig / jsconfig 通常允许注释
|
|
33
|
+
- id: check-json
|
|
34
|
+
name: 检查 JSON 语法
|
|
35
|
+
exclude: '^(tsconfig|jsconfig)(\..*)?\.json$'
|
|
36
|
+
|
|
37
|
+
# 检测私钥文件(SSH / PGP / RSA 等)是否被误提交
|
|
38
|
+
# 防止敏感私钥泄漏到仓库
|
|
39
|
+
- id: detect-private-key
|
|
40
|
+
name: 检测私钥文件
|
|
41
|
+
|
|
42
|
+
# ============================================================
|
|
43
|
+
# 2. 密钥泄露检测(Betterleaks,使用本机已安装版本)
|
|
44
|
+
# 官方仓库:https://github.com/betterleaks/betterleaks
|
|
45
|
+
# 通过 brew install betterleaks 或 brew install betterleaks/tap/betterleaks 安装
|
|
46
|
+
# 版本:v1.8.1(2026-08-18 发布)
|
|
47
|
+
# 说明:
|
|
48
|
+
# - Gitleaks 已进入仅安全补丁维护阶段,Betterleaks 为其官方继任者
|
|
49
|
+
# - 由 Gitleaks 原作者 Zach Rice 及原班人马维护
|
|
50
|
+
# - 完全兼容原有的 .gitleaks.toml 配置和 .gitleaksignore 文件
|
|
51
|
+
# - 检测 800+ 种密钥类型,支持 Expr 过滤、密钥有效性验证等高级功能
|
|
52
|
+
# - 改用 local + system,直接调用本机 PATH 中的 betterleaks,
|
|
53
|
+
# 避免 prek 下载 Go 工具链并重新编译安装
|
|
54
|
+
# ============================================================
|
|
55
|
+
- repo: local
|
|
56
|
+
hooks:
|
|
57
|
+
- id: betterleaks
|
|
58
|
+
name: 检测密钥泄露
|
|
59
|
+
entry: betterleaks git --pre-commit --staged --verbose
|
|
60
|
+
language: system
|
|
61
|
+
pass_filenames: false
|
|
62
|
+
|
|
63
|
+
# ============================================================
|
|
64
|
+
# 3. ast-grep 结构化规则检查
|
|
65
|
+
# 官方仓库:https://github.com/joshuadavidthomas/ast-grep-rules
|
|
66
|
+
# 最新版本:v0.5.0(2026-07-25 发布)
|
|
67
|
+
# 说明:使用 AST 进行结构化代码搜索与检查,支持自定义 YAML 规则
|
|
68
|
+
# 这里只对 TS/JS 相关文件运行,避免检查无关语言文件
|
|
69
|
+
# ============================================================
|
|
70
|
+
- repo: https://github.com/joshuadavidthomas/ast-grep-rules
|
|
71
|
+
rev: v0.5.0
|
|
72
|
+
hooks:
|
|
73
|
+
- id: all
|
|
74
|
+
name: ast-grep 结构化检查
|
|
75
|
+
files: '\.(ts|tsx|js|jsx|mjs|cjs)$'
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Release v0.7.0
|
|
2
|
+
|
|
3
|
+
> 核心变化:**彻底移除子代理架构**。不再 spawn 隔离子代理进程,Git 命令、Grill 追问、PRD 生成、代码审查全部由当前代理直接执行(当前模型普遍具备 ≥1M 上下文窗口,无需隔离上下文)。
|
|
4
|
+
|
|
5
|
+
## 🚀 Features
|
|
6
|
+
|
|
7
|
+
### 移除子代理基础设施
|
|
8
|
+
- 删除 `extensions/sub-agents.ts`(954 行)、`extensions/workflow-engine.ts`(2005 行)及 `agents/` 目录下全部 14 个 agent 定义
|
|
9
|
+
- 移除 `.doc/AGENT-FRONTMATTER-REFERENCE.md` 与 6 个依赖子代理的旧测试,合并为单一回归测试套件 `tests/test-no-subagents.mjs`
|
|
10
|
+
|
|
11
|
+
### Git 命令直接执行 / 委托分批提交
|
|
12
|
+
- `/git-commit`、`/git-push`、`/git-commit-push` 改用 pi 内置执行器直接运行 git,不再委派 git 子代理
|
|
13
|
+
- **传入消息**:快速路径暂存全部 → 提交(/git-commit-push 再推送)
|
|
14
|
+
- **空消息**:把提交任务整体交由当前代理——自行执行 `git status` / `git diff` 识别变更,按 Conventional Commits 规范**分批提交**(提交信息用中文),直接执行无需确认;/git-commit-push 完成后自动推送
|
|
15
|
+
|
|
16
|
+
### Grill 与 PRD 在当前代理运行
|
|
17
|
+
- 方案追问完善(Grill)与 PRD 生成不再 spawn 子代理,由当前代理通过 `write` 工具落盘结果,扩展侧**轮询产物**读取(`pollFor`,间隔 2s、超时 5 分钟)
|
|
18
|
+
- `/dev-*` 向导组装完提示词后直接投递给当前代理,新增自动审查意图检测(可路由到 review-html skill)
|
|
19
|
+
- 生成追问问题 / PRD 前补充「已提交给当前代理生成…」的可见性提示,替代被移除的子代理 loading 面板
|
|
20
|
+
|
|
21
|
+
### /dev-* 向导精简(2-4 轮概念式提问)
|
|
22
|
+
- 提问按「核心任务 → 验收标准(可跳过)→ 额外补充(可跳过)」组织,全部命令 2-4 轮完成
|
|
23
|
+
- 新增智能默认填充:自动探测项目语言、测试命令、lint 命令、pre-commit 钩子与 CI 配置
|
|
24
|
+
- 四段式组装「角色 / 任务 / 验收标准 / 额外补充」,缺省字段注入流畅默认值,提示词不空白不违和
|
|
25
|
+
|
|
26
|
+
### 自动审查(单模式)
|
|
27
|
+
- 移除子代理时代残留的「后台异步审查」选项——当前审查在**当前代理**中运行,不存在"后台不阻塞"能力,改为单一模式:「开始审查(阻塞,等待报告)」/「不是审查(放行)」
|
|
28
|
+
- 审查报告按**审查开始时间**过滤,不再误报上次遗留的旧报告
|
|
29
|
+
|
|
30
|
+
### 工程化
|
|
31
|
+
- 新增 `.pre-commit-config.yaml`:通用文件检查(trailing-whitespace、冲突标记、大文件、YAML/JSON 校验、私钥检测)+ betterleaks 密钥泄露扫描 + ast-grep 结构化检查
|
|
32
|
+
- 新增 GitHub Release 自动化(`.github/workflows/release.yml`):推送 `v*` 标签时自动发布,读取 `.version/RELEASE-<tag>.md` 作为 release 内容,未找到时写入引导查看 git commit 的默认提示
|
|
33
|
+
|
|
34
|
+
## 🐛 Bug Fixes
|
|
35
|
+
|
|
36
|
+
- 修复 `ctx.waitForIdle(超时)` 参数无效与**时序误判**问题:SDK 签名不接受超时参数,且 `waitForIdle` 可能在 `sendUserMessage` 触发的新 turn 开始前立即返回,导致"瞬间完成"误报。统一改为「发消息 → `pollFor` 轮询产物(文件/会话文本)」,覆盖 git-commands、grill-me-agent、dev-prompts(runReview)全部场景,根治 commit message 提取失败、审查 0.0s 完成、Grill/PRD 读取提前等问题
|
|
37
|
+
- 修复 `pi.on("input")` 未过滤扩展注入消息(`event.source === "extension"`)导致的递归风险
|
|
38
|
+
- 修复审查功能 `pi.sendUserMessage("/skill:review-html")` 未设置 `expandPromptTemplates` 导致 skill 不展开的问题
|
|
39
|
+
- 修复审查报告缓存误报:`findNewestReviewHtml` 仅返回审查开始时间之后生成的文件(此前会立刻报出上次遗留报告)
|
|
40
|
+
- 修复 PRD 生成失败时静默返回无提示的问题,增加错误通知
|
|
41
|
+
- 修复 `pi.exec` 返回字段误用(`exitCode` → `code`,git 命令因此被误判失败并提示"未知错误")
|
|
42
|
+
- 移除子代理时代遗留的 `loaderLabel` 加载面板文案(BorderedLoader 删除后成为死变量)
|
|
43
|
+
|
|
44
|
+
## 🔧 Refactor
|
|
45
|
+
|
|
46
|
+
- 新增 `extensions/session-utils.ts`:项目探测(语言/测试命令/lint/pre-commit/CI)、默认验收标准生成、`pollFor` 轮询、会话文本提取(改走 `getEntries()`,摆脱 branch/leaf 语义依赖)
|
|
47
|
+
- git-commands 与 grill-me-agent 解除互相依赖,公共工具统一由 session-utils 提供
|
|
48
|
+
- 移除 `ui-helpers.ts` 工作流进度 widget 面板(约 780 行)及其相关状态类型
|
|
49
|
+
- 清理未使用 import、死代码分支与文件末尾缺失换行
|
|
50
|
+
- README、APPEND_SYSTEM.md、package.json 元数据同步新架构
|
|
51
|
+
|
|
52
|
+
## 📦 Files Changed
|
|
53
|
+
|
|
54
|
+
| 类别 | 文件 |
|
|
55
|
+
|---|---|
|
|
56
|
+
| 删除 | `extensions/sub-agents.ts`、`extensions/workflow-engine.ts`、`agents/`(14 个 md)、`.doc/AGENT-FRONTMATTER-REFERENCE.md`、6 个旧测试 |
|
|
57
|
+
| 新增 | `extensions/session-utils.ts`、`tests/test-no-subagents.mjs`、`.pre-commit-config.yaml`、`.github/workflows/release.yml` |
|
|
58
|
+
| 修改 | `extensions/git-commands.ts`、`extensions/grill-me-agent.ts`、`extensions/dev-prompts.ts`、`extensions/ui-helpers.ts`、`README.md`、`prompts/APPEND_SYSTEM.md`、`package.json` |
|
|
59
|
+
|
|
60
|
+
## 🔗 Commit History
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
b2ed701 feat: git 委托提交任务补充执行约束(仅提交、快速执行)
|
|
64
|
+
176a1c2 feat: git 命令空消息时交由主代理识别变更并分批提交
|
|
65
|
+
b888b64 feat: 简化自动审查模式,移除后台异步审查,只保留阻塞式单模式
|
|
66
|
+
a22f498 refactor: 用产物轮询替代 waitForIdle 时序等待,移除 loaderLabel 提示参数
|
|
67
|
+
3c62779 docs: 添加 v0.7.0 版本发布说明
|
|
68
|
+
8d751c7 ci: 新增 v* 标签触发的 GitHub Release 自动化
|
|
69
|
+
c846996 docs: 添加第三方推荐扩展列表
|
|
70
|
+
54218ac feat: 精简 /dev-* 向导为概念式提问并智能默认填充
|
|
71
|
+
c599a25 chore: bump version to 0.7.0
|
|
72
|
+
462ccfd chore: 修正 README 措辞、pre-commit 大文件检查范围与 SKILL 尾随空格
|
|
73
|
+
6801299 test: 补充超时等待与审查入口的回归断言
|
|
74
|
+
6cb3243 fix: 审查检测过滤扩展注入消息防递归,skill 命令正确展开
|
|
75
|
+
b92131f fix: grill/PRD 等待当前代理带超时,PRD 失败增加错误提示
|
|
76
|
+
e8347f3 fix: git 命令等待带超时,共享会话工具下沉至 session-utils
|
|
77
|
+
c8b55b9 feat: 添加 .pre-commit-config.yaml 文件,配置通用文件检查和密钥泄露检测
|
|
78
|
+
1fa91f5 docs: 更新文档与元数据,反映子代理移除后的新架构
|
|
79
|
+
8c6add1 refactor: 移除工作流进度 widget 面板代码
|
|
80
|
+
d27a031 feat: /dev-* 向导组装完提示词后直接发送给当前代理
|
|
81
|
+
4019c2e feat: Grill 与 PRD 在当前代理中运行,不再 spawn 子代理
|
|
82
|
+
f9b8bef feat: run git commands directly instead of delegating to git-sub-agent
|
|
83
|
+
410c21f test: replace sub-agent-dependent tests with single regression suite
|
|
84
|
+
c03549a feat: remove sub-agent infrastructure
|
|
85
|
+
```
|
|
@@ -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
|
+
```
|