ralph-flow-pi 0.1.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/LICENSE +21 -0
- package/README.md +428 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +56 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/prompts.d.ts +25 -0
- package/dist/commands/prompts.d.ts.map +1 -0
- package/dist/commands/prompts.js +249 -0
- package/dist/commands/prompts.js.map +1 -0
- package/dist/commands/tools.d.ts +47 -0
- package/dist/commands/tools.d.ts.map +1 -0
- package/dist/commands/tools.js +633 -0
- package/dist/commands/tools.js.map +1 -0
- package/dist/engine/check-bash.d.ts +121 -0
- package/dist/engine/check-bash.d.ts.map +1 -0
- package/dist/engine/check-bash.js +373 -0
- package/dist/engine/check-bash.js.map +1 -0
- package/dist/engine/check.d.ts +47 -0
- package/dist/engine/check.d.ts.map +1 -0
- package/dist/engine/check.js +298 -0
- package/dist/engine/check.js.map +1 -0
- package/dist/engine/core.d.ts +153 -0
- package/dist/engine/core.d.ts.map +1 -0
- package/dist/engine/core.js +1984 -0
- package/dist/engine/core.js.map +1 -0
- package/dist/engine/lock.d.ts +27 -0
- package/dist/engine/lock.d.ts.map +1 -0
- package/dist/engine/lock.js +121 -0
- package/dist/engine/lock.js.map +1 -0
- package/dist/engine/runner.d.ts +108 -0
- package/dist/engine/runner.d.ts.map +1 -0
- package/dist/engine/runner.js +510 -0
- package/dist/engine/runner.js.map +1 -0
- package/dist/engine/skills.d.ts +53 -0
- package/dist/engine/skills.d.ts.map +1 -0
- package/dist/engine/skills.js +109 -0
- package/dist/engine/skills.js.map +1 -0
- package/dist/engine/step-tools.d.ts +22 -0
- package/dist/engine/step-tools.d.ts.map +1 -0
- package/dist/engine/step-tools.js +45 -0
- package/dist/engine/step-tools.js.map +1 -0
- package/dist/engine/types.d.ts +136 -0
- package/dist/engine/types.d.ts.map +1 -0
- package/dist/engine/types.js +20 -0
- package/dist/engine/types.js.map +1 -0
- package/dist/headless.d.ts +57 -0
- package/dist/headless.d.ts.map +1 -0
- package/dist/headless.js +318 -0
- package/dist/headless.js.map +1 -0
- package/dist/pi/adapter.d.ts +135 -0
- package/dist/pi/adapter.d.ts.map +1 -0
- package/dist/pi/adapter.js +231 -0
- package/dist/pi/adapter.js.map +1 -0
- package/dist/pi/interactive.d.ts +28 -0
- package/dist/pi/interactive.d.ts.map +1 -0
- package/dist/pi/interactive.js +58 -0
- package/dist/pi/interactive.js.map +1 -0
- package/dist/pi/tui.d.ts +12 -0
- package/dist/pi/tui.d.ts.map +1 -0
- package/dist/pi/tui.js +12 -0
- package/dist/pi/tui.js.map +1 -0
- package/dist/tui/app.d.ts +25 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +47 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/embed.d.ts +42 -0
- package/dist/tui/embed.d.ts.map +1 -0
- package/dist/tui/embed.js +38 -0
- package/dist/tui/embed.js.map +1 -0
- package/dist/tui/extension.d.ts +88 -0
- package/dist/tui/extension.d.ts.map +1 -0
- package/dist/tui/extension.js +114 -0
- package/dist/tui/extension.js.map +1 -0
- package/dist/tui/history-editor.d.ts +38 -0
- package/dist/tui/history-editor.d.ts.map +1 -0
- package/dist/tui/history-editor.js +55 -0
- package/dist/tui/history-editor.js.map +1 -0
- package/dist/tui/launcher.d.ts +24 -0
- package/dist/tui/launcher.d.ts.map +1 -0
- package/dist/tui/launcher.js +97 -0
- package/dist/tui/launcher.js.map +1 -0
- package/dist/tui/render.d.ts +87 -0
- package/dist/tui/render.d.ts.map +1 -0
- package/dist/tui/render.js +266 -0
- package/dist/tui/render.js.map +1 -0
- package/dist/tui/run-app.d.ts +49 -0
- package/dist/tui/run-app.d.ts.map +1 -0
- package/dist/tui/run-app.js +317 -0
- package/dist/tui/run-app.js.map +1 -0
- package/dist/tui/run-model.d.ts +162 -0
- package/dist/tui/run-model.d.ts.map +1 -0
- package/dist/tui/run-model.js +280 -0
- package/dist/tui/run-model.js.map +1 -0
- package/dist/tui/run-view.d.ts +71 -0
- package/dist/tui/run-view.d.ts.map +1 -0
- package/dist/tui/run-view.js +167 -0
- package/dist/tui/run-view.js.map +1 -0
- package/dist/tui/welcome-header.d.ts +40 -0
- package/dist/tui/welcome-header.d.ts.map +1 -0
- package/dist/tui/welcome-header.js +90 -0
- package/dist/tui/welcome-header.js.map +1 -0
- package/package.json +55 -0
- package/skills/c-to-rust-audit/SKILL.md +67 -0
- package/skills/c-to-rust-implement/SKILL.md +151 -0
- package/skills/c-to-rust-implement/references/c-to-rust-patterns.md +86 -0
- package/skills/c-to-rust-implement/references/conditional-compilation.md +47 -0
- package/skills/c-to-rust-implement/references/crate-reference.md +15 -0
- package/skills/c-to-rust-implement/references/error-strategies.md +80 -0
- package/skills/c-to-rust-implement/references/inline-asm.md +37 -0
- package/skills/c-to-rust-plan/SKILL.md +166 -0
- package/skills/c-to-rust-plan/references/detection-commands.md +66 -0
- package/skills/c-to-rust-test-gen/SKILL.md +130 -0
- package/skills/c-to-rust-test-gen/references/proptest-patterns.md +81 -0
- package/skills/c-to-rust-test-gen/references/test-porting.md +56 -0
- package/skills/c-to-rust-validate/SKILL.md +121 -0
- package/skills/everything2rust-audit/SKILL.md +69 -0
- package/skills/everything2rust-design/SKILL.md +121 -0
- package/skills/everything2rust-design/references/domain-playbooks.md +68 -0
- package/skills/everything2rust-design/references/paradigm-map.md +99 -0
- package/skills/everything2rust-implement/SKILL.md +101 -0
- package/skills/everything2rust-spec/SKILL.md +86 -0
- package/skills/everything2rust-spec/references/oracle-strategies.md +96 -0
- package/skills/everything2rust-survey/SKILL.md +99 -0
- package/skills/everything2rust-test-gen/SKILL.md +68 -0
- package/skills/everything2rust-test-gen/references/harness-patterns.md +186 -0
- package/skills/everything2rust-validate/SKILL.md +85 -0
- package/workflows/c-to-rust.yaml +202 -0
- package/workflows/everything2rust.yaml +259 -0
- package/workflows/loop.yaml +68 -0
- package/workflows/spec.yaml +183 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
description: 完整的需求分析、规格定义、技术设计、代码实现工作流
|
|
2
|
+
|
|
3
|
+
manual_step:
|
|
4
|
+
|
|
5
|
+
adversarial_check:
|
|
6
|
+
# model: anthropic/claude-sonnet-4-5 # 可选:验证模型("provider/model" 或 {providerID, modelID});不填则用 ralph-check agent 默认模型
|
|
7
|
+
timeout_ms: 3600000 # 60 分钟(上限)
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- id: propose
|
|
11
|
+
desc: 需求分析与方案提议
|
|
12
|
+
do: |
|
|
13
|
+
分析用户需求,输出方案提议文档。
|
|
14
|
+
|
|
15
|
+
1. 理解用户需求的核心目标和边界
|
|
16
|
+
2. 分析涉及的模块、组件和功能点
|
|
17
|
+
3. 评估变更影响范围和风险
|
|
18
|
+
4. 输出 `proposal.md`:
|
|
19
|
+
- 变更概述(为什么做、做什么)
|
|
20
|
+
- 范围与影响(模块、组件、文件)
|
|
21
|
+
- 验收标准(如何验证完成)
|
|
22
|
+
input: 用户提供的任务描述
|
|
23
|
+
output: "proposal.md"
|
|
24
|
+
check: |
|
|
25
|
+
检查 proposal.md:
|
|
26
|
+
1. 清晰描述了变更原因和目的
|
|
27
|
+
2. 明确了变更范围和边界
|
|
28
|
+
3. 定义了可验证的验收标准
|
|
29
|
+
4. 没有遗漏用户提到的关键需求
|
|
30
|
+
on_pass: specs
|
|
31
|
+
on_fail: propose
|
|
32
|
+
max_fail_count: 3
|
|
33
|
+
|
|
34
|
+
- id: specs
|
|
35
|
+
desc: 详细规格定义
|
|
36
|
+
do: |
|
|
37
|
+
基于 proposal 编写详细规格文档。
|
|
38
|
+
|
|
39
|
+
1. 输出 `specs.md`
|
|
40
|
+
2. 使用 delta-spec 格式标注变更类型:
|
|
41
|
+
- **[ADDED]** 新增功能
|
|
42
|
+
- **[MODIFIED]** 修改功能
|
|
43
|
+
- **[REMOVED]** 移除功能
|
|
44
|
+
3. 为每个需求点编写验收场景和边界条件
|
|
45
|
+
4. 覆盖正常流程和异常流程
|
|
46
|
+
input: "proposal.md"
|
|
47
|
+
output: "specs.md"
|
|
48
|
+
check: |
|
|
49
|
+
检查 specs.md:
|
|
50
|
+
1. 所有需求点使用了正确标记(ADDED/MODIFIED/REMOVED)
|
|
51
|
+
2. 每个功能点都有验收场景
|
|
52
|
+
3. 规格覆盖 proposal 中所有内容
|
|
53
|
+
4. 边界条件已考虑
|
|
54
|
+
on_pass: design
|
|
55
|
+
on_fail: specs
|
|
56
|
+
max_fail_count: 3
|
|
57
|
+
|
|
58
|
+
- id: design
|
|
59
|
+
desc: 技术方案设计
|
|
60
|
+
do: |
|
|
61
|
+
基于 specs 设计技术实现方案。
|
|
62
|
+
|
|
63
|
+
输出 `design.md`,包含:
|
|
64
|
+
- 整体架构与技术选型
|
|
65
|
+
- 模块划分与职责
|
|
66
|
+
- 核心接口和数据结构设计
|
|
67
|
+
- 文件变更清单
|
|
68
|
+
- 兼容性与风险评估
|
|
69
|
+
|
|
70
|
+
方案需覆盖 specs 中所有需求,避免过度设计。
|
|
71
|
+
input: "specs.md"
|
|
72
|
+
output: "design.md"
|
|
73
|
+
check: |
|
|
74
|
+
检查 design.md:
|
|
75
|
+
1. 技术方案覆盖 specs 中所有需求
|
|
76
|
+
2. 文件清单与变更范围匹配
|
|
77
|
+
3. 架构设计合理,无过度设计
|
|
78
|
+
4. 兼容性和风险已被评估
|
|
79
|
+
on_pass: tasks
|
|
80
|
+
on_fail: design
|
|
81
|
+
max_fail_count: 3
|
|
82
|
+
|
|
83
|
+
- id: tasks
|
|
84
|
+
desc: 实现任务拆解
|
|
85
|
+
do: |
|
|
86
|
+
基于 design 拆解为可执行的实现任务清单。
|
|
87
|
+
|
|
88
|
+
输出 `tasks.md`,包含:
|
|
89
|
+
- 按模块/层级组织的任务列表
|
|
90
|
+
- 每个任务用 `- [ ]` 标记
|
|
91
|
+
- 任务间依赖关系标注
|
|
92
|
+
|
|
93
|
+
每个任务应足够小(可独立完成和验证),按合理顺序排列(基础设施优先,业务逻辑在后)。
|
|
94
|
+
input: "design.md"
|
|
95
|
+
output: "tasks.md"
|
|
96
|
+
check: |
|
|
97
|
+
检查 tasks.md:
|
|
98
|
+
1. design 中所有变更点都有对应任务
|
|
99
|
+
2. 任务颗粒度合理,可独立完成
|
|
100
|
+
3. 任务顺序合理(先基础设施后业务逻辑)
|
|
101
|
+
4. 无遗漏关键步骤
|
|
102
|
+
on_pass: implement
|
|
103
|
+
on_fail: tasks
|
|
104
|
+
max_fail_count: 3
|
|
105
|
+
|
|
106
|
+
- id: implement
|
|
107
|
+
desc: 代码实现
|
|
108
|
+
do: |
|
|
109
|
+
按 tasks.md 逐一实现所有任务。
|
|
110
|
+
|
|
111
|
+
1. 按 tasks.md 中的任务顺序逐一实现
|
|
112
|
+
2. 每完成一个任务,在 tasks.md 中将 `- [ ]` 改为 `- [x]`
|
|
113
|
+
3. 遵循项目现有代码风格和约定,不添加注释(除非项目已有惯例)
|
|
114
|
+
4. 实现过程中:
|
|
115
|
+
- 如发现 design 未考虑到的问题,同步更新 design.md
|
|
116
|
+
- 如发现 specs 需要调整,同步更新 specs.md
|
|
117
|
+
5. 每完成一批任务,运行 lint 和 typecheck 等验证命令
|
|
118
|
+
input: "tasks.md"
|
|
119
|
+
output: 实现的代码文件 + 更新后的 tasks.md
|
|
120
|
+
check: |
|
|
121
|
+
严格审查实现质量:
|
|
122
|
+
|
|
123
|
+
1. **工具验证**
|
|
124
|
+
- 运行 `npm test` 或相关测试命令
|
|
125
|
+
- 使用 Bash 检查生成的文件是否存在
|
|
126
|
+
- 使用 Grep 搜索 TODO、FIXME、debugger 等残留
|
|
127
|
+
- 检查 tasks.md 中所有 `- [ ]` 是否已完成
|
|
128
|
+
|
|
129
|
+
2. **严格标准**,以下情况判定不通过:
|
|
130
|
+
- 有任何测试失败
|
|
131
|
+
- 有 TODO/FIXME/console.log 残留
|
|
132
|
+
- 核心功能未完整实现
|
|
133
|
+
- 编译不通过或有语法错误
|
|
134
|
+
- 需求中有未实现的功能点
|
|
135
|
+
on_pass: verify
|
|
136
|
+
on_fail: implement
|
|
137
|
+
max_fail_count: 5
|
|
138
|
+
|
|
139
|
+
- id: verify
|
|
140
|
+
desc: 验收与回归检查
|
|
141
|
+
do: |
|
|
142
|
+
对照 specs.md 全面验证实现结果。
|
|
143
|
+
|
|
144
|
+
1. 逐一检查 specs.md 中每个需求点是否已实现
|
|
145
|
+
2. 运行完整测试套件
|
|
146
|
+
3. 运行 lint 和 typecheck
|
|
147
|
+
4. 输出 `verification.md`:
|
|
148
|
+
- 每个需求点的验证结果(通过/未通过)
|
|
149
|
+
- 整体验收结论
|
|
150
|
+
input: specs.md + 实现代码
|
|
151
|
+
output: "verification.md"
|
|
152
|
+
check: |
|
|
153
|
+
检查验收是否通过:
|
|
154
|
+
1. specs.md 中所有需求点被覆盖
|
|
155
|
+
2. 全部测试通过
|
|
156
|
+
3. lint/typecheck 无错误
|
|
157
|
+
4. 无已知回归问题
|
|
158
|
+
on_pass: archive
|
|
159
|
+
on_fail: implement
|
|
160
|
+
max_fail_count: 3
|
|
161
|
+
|
|
162
|
+
- id: archive
|
|
163
|
+
desc: 归档总结
|
|
164
|
+
do: |
|
|
165
|
+
完成变更归档和总结。
|
|
166
|
+
|
|
167
|
+
1. 确认所有 artifacts 文件为最终状态:
|
|
168
|
+
- proposal.md, specs.md, design.md, tasks.md
|
|
169
|
+
- 如有 verification.md 也一并确认
|
|
170
|
+
2. 输出 `summary.md`:
|
|
171
|
+
- 实现了哪些功能
|
|
172
|
+
- 变更了哪些文件
|
|
173
|
+
- 遗留问题和注意事项
|
|
174
|
+
input: 所有 artifacts 文件和实现代码
|
|
175
|
+
output: "summary.md"
|
|
176
|
+
check: |
|
|
177
|
+
检查归档是否完整:
|
|
178
|
+
1. 所有 artifacts 文件已更新到最终状态
|
|
179
|
+
2. 变更总结包含完整信息
|
|
180
|
+
3. 无遗留未完成工作
|
|
181
|
+
on_pass: done
|
|
182
|
+
on_fail: verify
|
|
183
|
+
max_fail_count: 3
|