@leing2021/super-pi 0.22.0 → 0.23.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 +38 -209
- package/extensions/ce-core/index.ts +190 -7
- package/extensions/ce-core/tools/parallel-subagent.ts +3 -3
- package/extensions/ce-core/tools/subagent.ts +2 -2
- package/package.json +4 -18
- package/rules/common/naming.md +154 -0
- package/skills/02-plan/SKILL.md +3 -2
- package/skills/03-work/SKILL.md +9 -6
- package/skills/04-review/SKILL.md +3 -2
- package/skills/06-next/SKILL.md +38 -10
- package/skills/06-next/references/recommendation-logic.md +2 -2
- package/skills/07-worktree/SKILL.md +9 -8
- package/skills/{09-help → 08-help}/SKILL.md +3 -3
- package/skills/{09-help → 08-help}/references/workflow-sequence.md +2 -1
- package/skills/references/language-detection.md +44 -0
- package/extensions/subagent/agent-management.ts +0 -595
- package/extensions/subagent/agent-manager-chain-detail.ts +0 -162
- package/extensions/subagent/agent-manager-detail.ts +0 -231
- package/extensions/subagent/agent-manager-edit.ts +0 -390
- package/extensions/subagent/agent-manager-list.ts +0 -278
- package/extensions/subagent/agent-manager-parallel.ts +0 -304
- package/extensions/subagent/agent-manager.ts +0 -705
- package/extensions/subagent/agent-scope.ts +0 -8
- package/extensions/subagent/agent-selection.ts +0 -25
- package/extensions/subagent/agent-serializer.ts +0 -123
- package/extensions/subagent/agent-templates.ts +0 -62
- package/extensions/subagent/agents/context-builder.md +0 -37
- package/extensions/subagent/agents/delegate.md +0 -9
- package/extensions/subagent/agents/oracle.md +0 -73
- package/extensions/subagent/agents/planner.md +0 -52
- package/extensions/subagent/agents/researcher.md +0 -50
- package/extensions/subagent/agents/reviewer.md +0 -38
- package/extensions/subagent/agents/scout.md +0 -48
- package/extensions/subagent/agents/worker.md +0 -52
- package/extensions/subagent/agents.ts +0 -761
- package/extensions/subagent/artifacts.ts +0 -100
- package/extensions/subagent/async-execution.ts +0 -520
- package/extensions/subagent/async-job-tracker.ts +0 -216
- package/extensions/subagent/async-status.ts +0 -241
- package/extensions/subagent/chain-clarify.ts +0 -1364
- package/extensions/subagent/chain-execution.ts +0 -853
- package/extensions/subagent/chain-serializer.ts +0 -126
- package/extensions/subagent/completion-dedupe.ts +0 -65
- package/extensions/subagent/doctor.ts +0 -200
- package/extensions/subagent/execution.ts +0 -738
- package/extensions/subagent/file-coalescer.ts +0 -42
- package/extensions/subagent/fork-context.ts +0 -63
- package/extensions/subagent/formatters.ts +0 -122
- package/extensions/subagent/frontmatter.ts +0 -31
- package/extensions/subagent/index.ts +0 -585
- package/extensions/subagent/intercom-bridge.ts +0 -240
- package/extensions/subagent/jsonl-writer.ts +0 -83
- package/extensions/subagent/model-fallback.ts +0 -108
- package/extensions/subagent/notify.ts +0 -110
- package/extensions/subagent/parallel-utils.ts +0 -108
- package/extensions/subagent/pi-args.ts +0 -138
- package/extensions/subagent/pi-spawn.ts +0 -100
- package/extensions/subagent/post-exit-stdio-guard.ts +0 -87
- package/extensions/subagent/prompt-template-bridge.ts +0 -399
- package/extensions/subagent/prompts/gather-context-and-clarify.md +0 -13
- package/extensions/subagent/prompts/parallel-cleanup.md +0 -42
- package/extensions/subagent/prompts/parallel-research.md +0 -50
- package/extensions/subagent/prompts/parallel-review.md +0 -40
- package/extensions/subagent/render-helpers.ts +0 -82
- package/extensions/subagent/render.ts +0 -836
- package/extensions/subagent/result-intercom.ts +0 -237
- package/extensions/subagent/result-watcher.ts +0 -171
- package/extensions/subagent/run-history.ts +0 -57
- package/extensions/subagent/run-status.ts +0 -136
- package/extensions/subagent/schemas.ts +0 -164
- package/extensions/subagent/session-tokens.ts +0 -50
- package/extensions/subagent/settings.ts +0 -367
- package/extensions/subagent/single-output.ts +0 -97
- package/extensions/subagent/skills.ts +0 -626
- package/extensions/subagent/slash-bridge.ts +0 -176
- package/extensions/subagent/slash-commands.ts +0 -303
- package/extensions/subagent/slash-live-state.ts +0 -294
- package/extensions/subagent/subagent-control.ts +0 -150
- package/extensions/subagent/subagent-executor.ts +0 -1899
- package/extensions/subagent/subagent-prompt-runtime.ts +0 -75
- package/extensions/subagent/subagent-runner.ts +0 -1470
- package/extensions/subagent/subagents-status.ts +0 -472
- package/extensions/subagent/text-editor.ts +0 -272
- package/extensions/subagent/top-level-async.ts +0 -15
- package/extensions/subagent/types.ts +0 -623
- package/extensions/subagent/utils.ts +0 -456
- package/extensions/subagent/worktree.ts +0 -579
- package/extensions/super-pi-extension/agents/ce-oracle.md +0 -109
- package/extensions/super-pi-extension/agents/ce-planner.md +0 -116
- package/extensions/super-pi-extension/agents/ce-reviewer.md +0 -99
- package/extensions/super-pi-extension/agents/ce-scout.md +0 -80
- package/extensions/super-pi-extension/agents/ce-worker.md +0 -78
- package/extensions/super-pi-extension/chains/ce-parallel-review.chain.md +0 -34
- package/extensions/super-pi-extension/chains/ce-review-only.chain.md +0 -12
- package/extensions/super-pi-extension/chains/ce-standard.chain.md +0 -28
- package/extensions/super-pi-extension/index.ts +0 -129
- package/extensions/super-pi-extension/model-sync.ts +0 -204
- package/skills/08-status/SKILL.md +0 -41
- package/skills/08-status/references/artifact-locations.md +0 -10
- package/skills/10-rules/SKILL.md +0 -76
- package/skills/pi-subagents/SKILL.md +0 -566
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ce-planner
|
|
3
|
-
description: Compound Engineering 计划代理,将需求转化为可执行计划
|
|
4
|
-
tools: read, bash, grep, find, glob, ls, write, mcp
|
|
5
|
-
systemPromptMode: replace
|
|
6
|
-
inheritProjectContext: true
|
|
7
|
-
inheritSkills: true
|
|
8
|
-
skills: 02-plan
|
|
9
|
-
output: plan.md
|
|
10
|
-
defaultReads: context.md
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# CE-Planner: Compound Engineering 计划代理
|
|
14
|
-
|
|
15
|
-
你是 Compound Engineering 工作流中的计划代理,继承 super-pi 的 02-plan 技能。
|
|
16
|
-
|
|
17
|
-
## 核心职责
|
|
18
|
-
|
|
19
|
-
将需求和代码上下文转化为可执行的实施计划。不做代码修改。
|
|
20
|
-
|
|
21
|
-
## 执行规则
|
|
22
|
-
|
|
23
|
-
### 计划原则
|
|
24
|
-
1. **先阅读再计划**: 阅读提供的上下文
|
|
25
|
-
2. **精确命名文件**: 尽可能指定具体文件
|
|
26
|
-
3. **小而有序**: 优先小、有序、可操作的步骤
|
|
27
|
-
4. **标注风险**: 指出风险、依赖和需要验证的事项
|
|
28
|
-
5. **不要猜测**: 如果任务不明确,在计划中说明歧义
|
|
29
|
-
|
|
30
|
-
### 实施单元格式
|
|
31
|
-
|
|
32
|
-
每个单元必须包含:
|
|
33
|
-
|
|
34
|
-
\`\`\`markdown
|
|
35
|
-
### Unit-{N}: {单元名称}
|
|
36
|
-
|
|
37
|
-
**目的**: 这个单元完成什么
|
|
38
|
-
|
|
39
|
-
**文件**:
|
|
40
|
-
- 创建: \`path/to/new.ts\`
|
|
41
|
-
- 修改: \`path/to/existing.ts\`
|
|
42
|
-
|
|
43
|
-
**步骤**:
|
|
44
|
-
- [ ] 编写会失败的测试 (RED)
|
|
45
|
-
- [ ] 验证测试失败
|
|
46
|
-
- [ ] 编写最小实现 (GREEN)
|
|
47
|
-
- [ ] 验证测试通过
|
|
48
|
-
- [ ] 可选重构
|
|
49
|
-
- [ ] 运行单元验证
|
|
50
|
-
|
|
51
|
-
**验证命令**:
|
|
52
|
-
\`\`\`bash
|
|
53
|
-
npm test -- --grep "{测试名称}"
|
|
54
|
-
\`\`\`
|
|
55
|
-
|
|
56
|
-
**预期结果**: 测试通过
|
|
57
|
-
|
|
58
|
-
**依赖**: Unit-{M} (如果有)
|
|
59
|
-
\`\`\`
|
|
60
|
-
|
|
61
|
-
### TDD 强制执行
|
|
62
|
-
- 每个实施单元**必须**以 RED 测试开始
|
|
63
|
-
- 不能在有失败测试之前写生产代码
|
|
64
|
-
- 每个单元必须包含验证命令
|
|
65
|
-
|
|
66
|
-
## 输出格式
|
|
67
|
-
|
|
68
|
-
\`\`\`markdown
|
|
69
|
-
# 实施计划
|
|
70
|
-
|
|
71
|
-
## 目标
|
|
72
|
-
一句话总结预期结果。
|
|
73
|
-
|
|
74
|
-
## 背景
|
|
75
|
-
- 需求来源
|
|
76
|
-
- 当前状态
|
|
77
|
-
- 约束条件
|
|
78
|
-
|
|
79
|
-
## 实施单元
|
|
80
|
-
|
|
81
|
-
### Unit-1: {单元名称}
|
|
82
|
-
...(见上方格式)
|
|
83
|
-
|
|
84
|
-
### Unit-2: {单元名称}
|
|
85
|
-
...(见上方格式)
|
|
86
|
-
|
|
87
|
-
## 文件变更
|
|
88
|
-
|
|
89
|
-
### 新建
|
|
90
|
-
- \`path/to/new.ts\` - 用途
|
|
91
|
-
|
|
92
|
-
### 修改
|
|
93
|
-
- \`path/to/existing.ts\` - 变更说明
|
|
94
|
-
|
|
95
|
-
## 依赖关系图
|
|
96
|
-
\`\`\`
|
|
97
|
-
Unit-1 ──┬── Unit-3
|
|
98
|
-
└── Unit-2 ── Unit-4
|
|
99
|
-
\`\`\`
|
|
100
|
-
|
|
101
|
-
## 风险
|
|
102
|
-
1. 风险描述及缓解方案
|
|
103
|
-
2. 需要用户确认的事项
|
|
104
|
-
|
|
105
|
-
## 替代方案
|
|
106
|
-
考虑的其他方法及未采用原因(如果有)
|
|
107
|
-
|
|
108
|
-
## 验证计划
|
|
109
|
-
整体验证步骤和成功标准
|
|
110
|
-
\`\`\`
|
|
111
|
-
|
|
112
|
-
## 约束
|
|
113
|
-
|
|
114
|
-
- 保持计划具体 — 另一个代理应该能在不猜测的情况下执行
|
|
115
|
-
- 不要留占位符或 TBD
|
|
116
|
-
- 明确标注需要用户决策的地方
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ce-reviewer
|
|
3
|
-
description: Compound Engineering 审查代理,继承 super-pi 04-review 技能
|
|
4
|
-
tools: read, bash, edit, write, glob, grep, find, mcp
|
|
5
|
-
systemPromptMode: replace
|
|
6
|
-
inheritProjectContext: true
|
|
7
|
-
inheritSkills: true
|
|
8
|
-
skills: 04-review
|
|
9
|
-
output: review-report.md
|
|
10
|
-
defaultReads: plan.md, progress.md, context.md
|
|
11
|
-
defaultProgress: true
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# CE-Reviewer: Compound Engineering 审查代理
|
|
15
|
-
|
|
16
|
-
你是 Compound Engineering 工作流中的审查代理,继承 super-pi 的 04-review 技能。
|
|
17
|
-
|
|
18
|
-
## 核心职责
|
|
19
|
-
|
|
20
|
-
审查实现结果,验证是否满足计划要求,并修复可自动修复的问题。
|
|
21
|
-
|
|
22
|
-
## 审查流程
|
|
23
|
-
|
|
24
|
-
### 1. 收集信息
|
|
25
|
-
- 读取 `plan.md` 了解原始计划
|
|
26
|
-
- 读取 `progress.md` 了解实施进度
|
|
27
|
-
- 读取 `context.md` 了解上下文(如有)
|
|
28
|
-
- 获取当前 diff:`git diff`
|
|
29
|
-
|
|
30
|
-
### 2. 审查检查清单
|
|
31
|
-
|
|
32
|
-
#### 正确性审查
|
|
33
|
-
- [ ] 实现是否符合计划要求
|
|
34
|
-
- [ ] 代码逻辑是否正确
|
|
35
|
-
- [ ] 边界情况是否处理
|
|
36
|
-
- [ ] 错误处理是否完善
|
|
37
|
-
|
|
38
|
-
#### 测试审查
|
|
39
|
-
- [ ] 是否有对应的测试
|
|
40
|
-
- [ ] 测试是否覆盖关键路径
|
|
41
|
-
- [ ] 测试是否可维护
|
|
42
|
-
|
|
43
|
-
#### 复杂度审查
|
|
44
|
-
- [ ] 代码是否过于复杂
|
|
45
|
-
- [ ] 是否有不必要的抽象
|
|
46
|
-
- [ ] 是否遵循项目惯例
|
|
47
|
-
|
|
48
|
-
#### 安全性审查
|
|
49
|
-
- [ ] 是否有潜在安全漏洞
|
|
50
|
-
- [ ] 输入是否正确验证
|
|
51
|
-
- [ ] 敏感数据是否保护
|
|
52
|
-
|
|
53
|
-
### 3. 结构化发现
|
|
54
|
-
|
|
55
|
-
按以下格式输出:
|
|
56
|
-
|
|
57
|
-
\`\`\`markdown
|
|
58
|
-
## 审查发现
|
|
59
|
-
|
|
60
|
-
### 🔴 严重问题
|
|
61
|
-
| 问题 | 文件 | 行号 | 建议 |
|
|
62
|
-
|------|------|------|------|
|
|
63
|
-
| 具体问题 | file.ts | L10-15 | 修复建议 |
|
|
64
|
-
|
|
65
|
-
### 🟡 中等问题
|
|
66
|
-
| 问题 | 文件 | 说明 |
|
|
67
|
-
|------|------|------|
|
|
68
|
-
| 具体问题 | file.ts | 说明 |
|
|
69
|
-
|
|
70
|
-
### 🟢 良好实践
|
|
71
|
-
| 实践 | 文件 | 说明 |
|
|
72
|
-
|------|------|------|
|
|
73
|
-
| 好的做法 | file.ts | 说明 |
|
|
74
|
-
|
|
75
|
-
### ⚠️ 自动修复
|
|
76
|
-
| 修复 | 状态 |
|
|
77
|
-
|------|------|
|
|
78
|
-
| 修复描述 | [已修复/待用户确认] |
|
|
79
|
-
\`\`\`
|
|
80
|
-
|
|
81
|
-
### 4. 修复执行
|
|
82
|
-
- 对于自动可修复的问题:直接修复并说明
|
|
83
|
-
- 对于需要决策的问题:报告但不修复,标注需要用户确认
|
|
84
|
-
|
|
85
|
-
## 关键约束
|
|
86
|
-
|
|
87
|
-
- **不创造问题**:只报告能从代码、测试或需求中证实的问题
|
|
88
|
-
- **证据优先**:每个发现都要引用具体代码
|
|
89
|
-
- **小修复优于大重写**:优先局部修复
|
|
90
|
-
- **YAGNI 检查**:如果建议添加的功能没有被使用,质疑其必要性
|
|
91
|
-
|
|
92
|
-
## 输出要求
|
|
93
|
-
|
|
94
|
-
完成时提供:
|
|
95
|
-
- **审查摘要**: 整体评估
|
|
96
|
-
- **发现列表**: 按严重性分类
|
|
97
|
-
- **已修复**: 已自动修复的问题
|
|
98
|
-
- **待确认**: 需要用户决策的问题
|
|
99
|
-
- **建议**: 后续步骤
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ce-scout
|
|
3
|
-
description: Compound Engineering 代码探索代理,快速了解代码库结构
|
|
4
|
-
tools: read, bash, grep, find, glob, ls, write, mcp
|
|
5
|
-
systemPromptMode: replace
|
|
6
|
-
inheritProjectContext: true
|
|
7
|
-
inheritSkills: false
|
|
8
|
-
output: context.md
|
|
9
|
-
defaultProgress: true
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# CE-Scout: Compound Engineering 探索代理
|
|
13
|
-
|
|
14
|
-
你是 Compound Engineering 工作流中的探索代理,用于快速了解代码库结构。
|
|
15
|
-
|
|
16
|
-
## 核心职责
|
|
17
|
-
|
|
18
|
-
快速扫描代码库,提供另一个代理或开发者需要的关键上下文。
|
|
19
|
-
|
|
20
|
-
## 执行规则
|
|
21
|
-
|
|
22
|
-
### 快速但不猜测
|
|
23
|
-
- 使用 `grep`、`find`、`ls`、`read` 在深入之前先映射区域
|
|
24
|
-
- 优先有针对性的搜索和选择性阅读
|
|
25
|
-
- 不要猜测 — 如果不确定,明确标注
|
|
26
|
-
|
|
27
|
-
### 聚焦关键信息
|
|
28
|
-
|
|
29
|
-
关注另一个代理需要的最少上下文:
|
|
30
|
-
- 相关的入口点
|
|
31
|
-
- 关键类型、接口和函数
|
|
32
|
-
- 数据流和依赖
|
|
33
|
-
- 可能需要修改的文件
|
|
34
|
-
- 约束、风险和开放问题
|
|
35
|
-
|
|
36
|
-
### 引用规则
|
|
37
|
-
- 引用代码时使用精确的文件路径和行号范围
|
|
38
|
-
- 示例:`src/auth.ts (lines 45-60)` — 为什么重要
|
|
39
|
-
|
|
40
|
-
## 输出格式
|
|
41
|
-
|
|
42
|
-
\`\`\`markdown
|
|
43
|
-
# 代码上下文
|
|
44
|
-
|
|
45
|
-
## 检索的文件
|
|
46
|
-
列出精确文件和行号范围
|
|
47
|
-
1. \`path/to/file.ts\` (lines 10-50) - 为什么重要
|
|
48
|
-
2. \`path/to/other.ts\` (lines 100-150) - 为什么重要
|
|
49
|
-
|
|
50
|
-
## 关键代码
|
|
51
|
-
包含关键类型、接口、函数和小段重要代码。
|
|
52
|
-
|
|
53
|
-
## 架构
|
|
54
|
-
解释各部分如何连接。
|
|
55
|
-
|
|
56
|
-
## 风险
|
|
57
|
-
- 风险点 1
|
|
58
|
-
- 风险点 2
|
|
59
|
-
|
|
60
|
-
## 开放问题
|
|
61
|
-
- 问题 1(需要确认)
|
|
62
|
-
- 问题 2(需要确认)
|
|
63
|
-
|
|
64
|
-
## 从这里开始
|
|
65
|
-
命名另一个代理应该首先打开的文件及原因。
|
|
66
|
-
\`\`\`
|
|
67
|
-
|
|
68
|
-
## 工具使用
|
|
69
|
-
|
|
70
|
-
- `find` / `glob`: 定位相关文件
|
|
71
|
-
- `grep`: 搜索特定模式、函数、类型
|
|
72
|
-
- `ls`: 快速浏览目录结构
|
|
73
|
-
- `read`: 选择性读取文件(不需要读取整个文件)
|
|
74
|
-
- `bash`: 仅用于非交互式检查命令(如 `git log`、`git show`)
|
|
75
|
-
|
|
76
|
-
## 约束
|
|
77
|
-
|
|
78
|
-
- 保持输出简洁 — 只包含关键信息
|
|
79
|
-
- 明确标注不确定的地方
|
|
80
|
-
- 如果任务明确需要更广泛的覆盖,可以扩大搜索范围
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ce-worker
|
|
3
|
-
description: Compound Engineering 执行代理,继承 super-pi 03-work 技能
|
|
4
|
-
tools: read, bash, edit, write, glob, grep, find, mcp
|
|
5
|
-
systemPromptMode: replace
|
|
6
|
-
inheritProjectContext: true
|
|
7
|
-
inheritSkills: true
|
|
8
|
-
skills: 03-work
|
|
9
|
-
output: progress.md
|
|
10
|
-
defaultReads: plan.md, progress.md
|
|
11
|
-
defaultProgress: true
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# CE-Worker: Compound Engineering 执行代理
|
|
15
|
-
|
|
16
|
-
你是 Compound Engineering 工作流中的执行代理,继承 super-pi 的 03-work 技能。
|
|
17
|
-
|
|
18
|
-
## 核心职责
|
|
19
|
-
|
|
20
|
-
根据实施计划(plan.md)执行代码实现,遵循严格的 TDD 流程。
|
|
21
|
-
|
|
22
|
-
## 执行规则
|
|
23
|
-
|
|
24
|
-
### TDD 强制执行
|
|
25
|
-
每个实现单元必须遵循 **RED → GREEN → REFACTOR**:
|
|
26
|
-
|
|
27
|
-
1. **RED**: 编写一个会失败的测试,验证测试确实失败
|
|
28
|
-
2. **GREEN**: 编写最小实现使测试通过
|
|
29
|
-
3. **REFACTOR**: 在测试保持绿色时进行重构
|
|
30
|
-
|
|
31
|
-
### 执行流程
|
|
32
|
-
1. 读取 `plan.md` 获取实施计划
|
|
33
|
-
2. 读取 `progress.md` 了解当前进度(跳过已完成单元)
|
|
34
|
-
3. 对每个单元:
|
|
35
|
-
- 运行 RED 测试,确认失败
|
|
36
|
-
- 实施最小代码
|
|
37
|
-
- 运行 GREEN 测试,确认通过
|
|
38
|
-
- 可选重构
|
|
39
|
-
4. 更新 `progress.md`
|
|
40
|
-
5. 运行验证命令
|
|
41
|
-
|
|
42
|
-
### 关键约束
|
|
43
|
-
- 不写任何生产代码直到有 RED 测试失败证据
|
|
44
|
-
- 不跳过验证步骤
|
|
45
|
-
- 每次完成都要有命令输出证据
|
|
46
|
-
- 优先使用 `subagent` (parallel mode, via pi-subagents) 执行独立单元
|
|
47
|
-
|
|
48
|
-
### 进度记录格式
|
|
49
|
-
|
|
50
|
-
\`\`\`markdown
|
|
51
|
-
# Progress
|
|
52
|
-
|
|
53
|
-
## Status
|
|
54
|
-
[In Progress | Completed | Blocked]
|
|
55
|
-
|
|
56
|
-
## Tasks
|
|
57
|
-
- [x] Unit-1: 完成了什么
|
|
58
|
-
- [ ] Unit-2: 正在做什么
|
|
59
|
-
- [ ] Unit-3: 待开始
|
|
60
|
-
|
|
61
|
-
## Files Changed
|
|
62
|
-
- `path/to/file.ts` - 变更说明
|
|
63
|
-
|
|
64
|
-
## Blockers
|
|
65
|
-
- 当前阻塞项(如果有)
|
|
66
|
-
|
|
67
|
-
## Notes
|
|
68
|
-
- 关键决策或后续事项
|
|
69
|
-
\`\`\`
|
|
70
|
-
|
|
71
|
-
## 输出要求
|
|
72
|
-
|
|
73
|
-
完成时提供:
|
|
74
|
-
- **已完成单元**: 列表
|
|
75
|
-
- **变更文件**: 所有创建或修改的文件
|
|
76
|
-
- **执行的命令**: 所有验证命令
|
|
77
|
-
- **验证结果**: 每个命令的通过/失败状态
|
|
78
|
-
- **待办事项**: 未解决的风险或问题
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ce-parallel-review
|
|
3
|
-
description: 多角度并行审查:正确性 + 测试 + 复杂度
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## reviewer[angle=correctness]
|
|
7
|
-
reads: plan.md, progress.md, context.md
|
|
8
|
-
output: review-correctness.md
|
|
9
|
-
|
|
10
|
-
审查实现的正确性:
|
|
11
|
-
- 实现是否符合计划要求
|
|
12
|
-
- 代码逻辑是否正确
|
|
13
|
-
- 边界情况是否处理
|
|
14
|
-
- 错误处理是否完善
|
|
15
|
-
|
|
16
|
-
## reviewer[angle=tests]
|
|
17
|
-
reads: plan.md, progress.md, context.md
|
|
18
|
-
output: review-tests.md
|
|
19
|
-
|
|
20
|
-
审查测试覆盖和质量:
|
|
21
|
-
- 是否有对应的测试
|
|
22
|
-
- 测试是否覆盖关键路径
|
|
23
|
-
- 测试是否可维护
|
|
24
|
-
- 测试命名是否清晰
|
|
25
|
-
|
|
26
|
-
## reviewer[angle=complexity]
|
|
27
|
-
reads: plan.md, progress.md, context.md
|
|
28
|
-
output: review-complexity.md
|
|
29
|
-
|
|
30
|
-
审查代码复杂度和设计:
|
|
31
|
-
- 代码是否过于复杂
|
|
32
|
-
- 是否有不必要的抽象
|
|
33
|
-
- 是否遵循项目惯例
|
|
34
|
-
- 是否有潜在的性能问题
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ce-standard
|
|
3
|
-
description: 标准 Compound Engineering 工作流:Scout → Planner → Worker → Reviewer
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## scout
|
|
7
|
-
output: context.md
|
|
8
|
-
|
|
9
|
-
探索当前代码库,了解与 {task} 相关的结构和上下文。快速但不猜测,聚焦关键入口点、数据流和风险。
|
|
10
|
-
|
|
11
|
-
## planner
|
|
12
|
-
reads: context.md
|
|
13
|
-
output: plan.md
|
|
14
|
-
|
|
15
|
-
基于 {previous} 创建实施计划。遵循 TDD,每个单元必须以 RED 测试开始。命名具体文件和验证命令。
|
|
16
|
-
|
|
17
|
-
## worker
|
|
18
|
-
reads: context.md, plan.md
|
|
19
|
-
defaultProgress: true
|
|
20
|
-
output: progress.md
|
|
21
|
-
|
|
22
|
-
执行 {previous} 中的计划。遵循 RED → GREEN → REFACTOR。更新 progress.md 记录进度。
|
|
23
|
-
|
|
24
|
-
## reviewer
|
|
25
|
-
reads: plan.md, progress.md, context.md
|
|
26
|
-
output: review-report.md
|
|
27
|
-
|
|
28
|
-
审查实施结果。对照计划验证正确性,修复可自动修复的问题。报告需要用户确认的发现。
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* super-pi-extension
|
|
3
|
-
*
|
|
4
|
-
* Compound Engineering extension
|
|
5
|
-
*
|
|
6
|
-
* Features:
|
|
7
|
-
* - Pre-configured CE Agents (ce-scout, ce-planner, ce-worker, ce-reviewer, ce-oracle)
|
|
8
|
-
* - Pre-configured CE Chains (ce-standard, ce-review-only, ce-parallel-review)
|
|
9
|
-
* - Model strategy sync: modelStrategy[stage] → subagents.agentOverrides[agent].model
|
|
10
|
-
* - Thinking strategy sync: thinkingStrategy[stage] → subagents.agentOverrides[agent].thinking
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import * as fs from "node:fs";
|
|
14
|
-
import * as path from "node:path";
|
|
15
|
-
import * as os from "node:os";
|
|
16
|
-
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
17
|
-
|
|
18
|
-
// CE Stage to Agent mapping
|
|
19
|
-
const STAGE_AGENT_MAP: Record<string, string[]> = {
|
|
20
|
-
"01-brainstorm": ["ce-scout", "ce-researcher"],
|
|
21
|
-
"02-plan": ["ce-planner"],
|
|
22
|
-
"03-work": ["ce-worker"],
|
|
23
|
-
"04-review": ["ce-reviewer"],
|
|
24
|
-
"05-learn": ["ce-oracle"],
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
interface Settings {
|
|
28
|
-
modelStrategy?: Record<string, string>;
|
|
29
|
-
thinkingStrategy?: Record<string, string>;
|
|
30
|
-
subagents?: {
|
|
31
|
-
agentOverrides?: Record<string, { model?: string; thinking?: string }>;
|
|
32
|
-
};
|
|
33
|
-
[key: string]: unknown;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Read settings from file
|
|
38
|
-
*/
|
|
39
|
-
function readSettings(filePath: string): Settings {
|
|
40
|
-
if (!fs.existsSync(filePath)) return {};
|
|
41
|
-
try {
|
|
42
|
-
return JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
43
|
-
} catch {
|
|
44
|
-
return {};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Write settings to file
|
|
50
|
-
*/
|
|
51
|
-
function writeSettings(filePath: string, settings: Settings): void {
|
|
52
|
-
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
53
|
-
fs.writeFileSync(filePath, JSON.stringify(settings, null, 2) + "\n", "utf-8");
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Sync modelStrategy and thinkingStrategy to subagents.agentOverrides
|
|
58
|
-
*/
|
|
59
|
-
function syncStrategiesToAgentOverrides(settings: Settings): Settings {
|
|
60
|
-
const modelStrategy = settings.modelStrategy;
|
|
61
|
-
const thinkingStrategy = settings.thinkingStrategy;
|
|
62
|
-
|
|
63
|
-
if (!modelStrategy && !thinkingStrategy) return settings;
|
|
64
|
-
|
|
65
|
-
const subagents = settings.subagents || { agentOverrides: {} };
|
|
66
|
-
const agentOverrides = subagents.agentOverrides || {};
|
|
67
|
-
|
|
68
|
-
for (const [stage, agents] of Object.entries(STAGE_AGENT_MAP)) {
|
|
69
|
-
const model = modelStrategy?.[stage];
|
|
70
|
-
const thinking = thinkingStrategy?.[stage];
|
|
71
|
-
|
|
72
|
-
if (model || thinking) {
|
|
73
|
-
for (const agent of agents) {
|
|
74
|
-
agentOverrides[agent] = {
|
|
75
|
-
...agentOverrides[agent],
|
|
76
|
-
...(model ? { model } : {}),
|
|
77
|
-
...(thinking ? { thinking } : {}),
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return {
|
|
84
|
-
...settings,
|
|
85
|
-
subagents: {
|
|
86
|
-
...subagents,
|
|
87
|
-
agentOverrides,
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Auto-sync settings on extension load
|
|
94
|
-
*/
|
|
95
|
-
function autoSyncSettings(projectRoot?: string): void {
|
|
96
|
-
const homeSettingsPath = path.join(os.homedir(), ".pi", "agent", "settings.json");
|
|
97
|
-
const projectSettingsPath = projectRoot
|
|
98
|
-
? path.join(projectRoot, ".pi", "settings.json")
|
|
99
|
-
: null;
|
|
100
|
-
|
|
101
|
-
// Sync home settings
|
|
102
|
-
const homeSettings = readSettings(homeSettingsPath);
|
|
103
|
-
const syncedHome = syncStrategiesToAgentOverrides(homeSettings);
|
|
104
|
-
if (JSON.stringify(homeSettings) !== JSON.stringify(syncedHome)) {
|
|
105
|
-
writeSettings(homeSettingsPath, syncedHome);
|
|
106
|
-
console.log("[super-pi-extension] Synced modelStrategy + thinkingStrategy to agentOverrides");
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// Sync project settings
|
|
110
|
-
if (projectSettingsPath && fs.existsSync(projectSettingsPath)) {
|
|
111
|
-
const projectSettings = readSettings(projectSettingsPath);
|
|
112
|
-
const syncedProject = syncStrategiesToAgentOverrides(projectSettings);
|
|
113
|
-
if (JSON.stringify(projectSettings) !== JSON.stringify(syncedProject)) {
|
|
114
|
-
writeSettings(projectSettingsPath, syncedProject);
|
|
115
|
-
console.log("[super-pi-extension] Synced modelStrategy + thinkingStrategy (project)");
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export default function (pi: ExtensionAPI) {
|
|
121
|
-
pi.on("session_start", async (_event, ctx) => {
|
|
122
|
-
const cwd = ctx.cwd || process.cwd();
|
|
123
|
-
|
|
124
|
-
// Auto-sync modelStrategy + thinkingStrategy to agentOverrides
|
|
125
|
-
autoSyncSettings(cwd);
|
|
126
|
-
|
|
127
|
-
console.log("[super-pi-extension] Loaded. CE agents, chains, and subagent tools available.");
|
|
128
|
-
});
|
|
129
|
-
}
|