@wnlen/agent-execution-template 0.8.14

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.
Files changed (70) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +440 -0
  3. package/README.zh-CN.md +447 -0
  4. package/bin/agent-execution-template.js +792 -0
  5. package/docs/SPEC.md +1039 -0
  6. package/docs/token-efficient-protocol-v0.1.md +101 -0
  7. package/package.json +35 -0
  8. package/template/en/ai/README.md +130 -0
  9. package/template/en/ai/project/archive/.gitkeep +0 -0
  10. package/template/en/ai/project/inbox/.gitkeep +1 -0
  11. package/template/en/ai/project/inbox/ideas/.gitkeep +1 -0
  12. package/template/en/ai/project/inbox/processed/.gitkeep +0 -0
  13. package/template/en/ai/project/inbox/raw/.gitkeep +1 -0
  14. package/template/en/ai/project/metrics.json +20 -0
  15. package/template/en/ai/project/project.md +42 -0
  16. package/template/en/ai/project/proposals/final-shape-updates/.gitkeep +1 -0
  17. package/template/en/ai/project/proposals/final-shape-updates/_template.md +64 -0
  18. package/template/en/ai/project/refs/architecture.md +23 -0
  19. package/template/en/ai/project/refs/commands.md +43 -0
  20. package/template/en/ai/project/refs/constraints.md +24 -0
  21. package/template/en/ai/project/refs/decisions.md +13 -0
  22. package/template/en/ai/project/refs/final-shape.md +59 -0
  23. package/template/en/ai/project/refs/module-map.md +31 -0
  24. package/template/en/ai/project/refs/roadmap.md +31 -0
  25. package/template/en/ai/project/result.json +34 -0
  26. package/template/en/ai/project/result.md +32 -0
  27. package/template/en/ai/project/runtime.md +74 -0
  28. package/template/en/ai/project/task.md +110 -0
  29. package/template/en/ai/template/LANG +1 -0
  30. package/template/en/ai/template/VERSION +1 -0
  31. package/template/en/ai/template/bootstrap.md +194 -0
  32. package/template/en/ai/template/prompt.md +118 -0
  33. package/template/en/ai/template/protocol.md +332 -0
  34. package/template/en/ai/template/reconcile.md +140 -0
  35. package/template/en/ai/template/rules/core.md +197 -0
  36. package/template/en/ai/template/rules/output.md +51 -0
  37. package/template/en/ai/template/schemas/metrics.schema.json +119 -0
  38. package/template/en/ai/template/schemas/result.schema.json +234 -0
  39. package/template/zh/ai/README.md +129 -0
  40. package/template/zh/ai/project/archive/.gitkeep +0 -0
  41. package/template/zh/ai/project/inbox/.gitkeep +1 -0
  42. package/template/zh/ai/project/inbox/ideas/.gitkeep +1 -0
  43. package/template/zh/ai/project/inbox/processed/.gitkeep +0 -0
  44. package/template/zh/ai/project/inbox/raw/.gitkeep +1 -0
  45. package/template/zh/ai/project/metrics.json +20 -0
  46. package/template/zh/ai/project/project.md +42 -0
  47. package/template/zh/ai/project/proposals/final-shape-updates/.gitkeep +1 -0
  48. package/template/zh/ai/project/proposals/final-shape-updates/_template.md +64 -0
  49. package/template/zh/ai/project/refs/architecture.md +23 -0
  50. package/template/zh/ai/project/refs/commands.md +43 -0
  51. package/template/zh/ai/project/refs/constraints.md +24 -0
  52. package/template/zh/ai/project/refs/decisions.md +13 -0
  53. package/template/zh/ai/project/refs/final-shape.md +54 -0
  54. package/template/zh/ai/project/refs/module-map.md +30 -0
  55. package/template/zh/ai/project/refs/roadmap.md +29 -0
  56. package/template/zh/ai/project/result.json +34 -0
  57. package/template/zh/ai/project/result.md +32 -0
  58. package/template/zh/ai/project/runtime.md +74 -0
  59. package/template/zh/ai/project/task.md +106 -0
  60. package/template/zh/ai/template/LANG +1 -0
  61. package/template/zh/ai/template/VERSION +1 -0
  62. package/template/zh/ai/template/bootstrap.md +180 -0
  63. package/template/zh/ai/template/prompt.md +104 -0
  64. package/template/zh/ai/template/protocol.md +300 -0
  65. package/template/zh/ai/template/reconcile.md +134 -0
  66. package/template/zh/ai/template/rules/core.md +174 -0
  67. package/template/zh/ai/template/rules/output.md +51 -0
  68. package/template/zh/ai/template/schemas/metrics.schema.json +119 -0
  69. package/template/zh/ai/template/schemas/result.schema.json +234 -0
  70. package/test/selftest.js +280 -0
@@ -0,0 +1,447 @@
1
+ # Agent Execution Template
2
+
3
+ [English](README.md) | 简体中文
4
+
5
+ [![npm](https://img.shields.io/npm/v/@wnlen/agent-execution-template?color=cb3837)](https://www.npmjs.com/package/@wnlen/agent-execution-template)
6
+ [![license](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
+ [![protocol](https://img.shields.io/badge/protocol-v0.8-blue.svg)](docs/SPEC.md)
8
+ [![agent agnostic](https://img.shields.io/badge/agent-agnostic-111111.svg)](#适配工具)
9
+
10
+ > 一个 30 秒可安装的 AI Coding Agent 执行协议。
11
+ > 把它装进任意代码仓库,让 AI 从现有文档整理项目上下文,人类确认任务契约,然后在可复用、可验证、可复盘的协议里执行。
12
+
13
+ ```bash
14
+ npx -y @wnlen/agent-execution-template init
15
+ ```
16
+
17
+ 默认安装中文模板;也可以显式指定:
18
+
19
+ ```bash
20
+ npx -y @wnlen/agent-execution-template init --lang zh
21
+ ```
22
+
23
+ 然后告诉你的 AI 编程工具:
24
+
25
+ ```text
26
+ 开始初始化这个项目
27
+ ```
28
+
29
+ Agent Execution Template 不是新的 Agent 框架。它是代码仓库和 Codex、Claude Code、Cursor、Aider 等 AI Coding Agent 之间缺失的执行层。
30
+
31
+ 它把 AI 编程从:
32
+
33
+ ```text
34
+ 聊天提示词 -> 临时改代码 -> 验证不清楚 -> 上下文丢在聊天记录里
35
+ ```
36
+
37
+ 变成:
38
+
39
+ ```text
40
+ 整理项目 -> 确认上下文 -> 生成任务 -> 确认契约 -> 执行 -> 结果落盘
41
+ ```
42
+
43
+ ## 为什么需要它
44
+
45
+ AI Coding Agent 已经很强,但大多数项目仍然在用松散聊天上下文驱动它们。这会带来一些稳定复现的问题:
46
+
47
+ - 每次都要重新解释项目背景。
48
+ - AI 容易越过任务边界,做多、改多。
49
+ - 风险、权限、验收标准没有明确落到文件里。
50
+ - 代码改了,但验证记录不可靠。
51
+ - 有价值的执行历史散落在聊天记录中。
52
+ - 模板升级容易误伤项目自己的上下文。
53
+ - 便宜模型和强模型没有清晰分工。
54
+ - 直接影响执行精度的两个文件经常还需要人手写。
55
+ - 执行很稳定,但缺少判断任务是否值得做、项目是否跑偏的方向层。
56
+
57
+ Agent Execution Template 用一个很小的项目内文件协议解决这些问题:
58
+
59
+ ```text
60
+ ai/template/ 可复用执行协议
61
+ ai/project/ 当前项目现场和方向层
62
+ ```
63
+
64
+ `update` 只刷新协议区,项目现场保持受保护。
65
+
66
+ ## 快速开始
67
+
68
+ 在当前仓库安装协议:
69
+
70
+ ```bash
71
+ npx -y @wnlen/agent-execution-template init
72
+ ```
73
+
74
+ 英文项目可使用:
75
+
76
+ ```bash
77
+ npx -y @wnlen/agent-execution-template init --lang en
78
+ ```
79
+
80
+ 让 Agent 从现有文档和 manifest 里整理项目上下文:
81
+
82
+ ```text
83
+ 开始初始化这个项目
84
+ ```
85
+
86
+ Agent 会生成项目上下文,并在聊天里给出需要确认的摘要、风险和建议下一步:
87
+
88
+ ```text
89
+ ai/project/project.md
90
+ ai/project/refs/*
91
+ ```
92
+
93
+ 回复修正意见,或确认后继续:
94
+
95
+ ```text
96
+ 继续推进这个项目
97
+ ```
98
+
99
+ Agent 会根据当前上下文起草或执行:
100
+
101
+ ```text
102
+ ai/project/task.md
103
+ ```
104
+
105
+ 当任务草稿已确认后,也可以直接说:
106
+
107
+ ```text
108
+ 继续推进这个项目
109
+ ```
110
+
111
+ 查看执行结果:
112
+
113
+ ```text
114
+ ai/project/result.md
115
+ ai/project/result.json
116
+ ai/project/metrics.json
117
+ ```
118
+
119
+ 检查安装状态:
120
+
121
+ ```bash
122
+ npx -y @wnlen/agent-execution-template doctor
123
+ ```
124
+
125
+ 忘了下一步怎么走:
126
+
127
+ ```bash
128
+ npx -y @wnlen/agent-execution-template next
129
+ ```
130
+
131
+ 重新总结和优化项目上下文:
132
+
133
+ ```bash
134
+ npx -y @wnlen/agent-execution-template refresh
135
+ ```
136
+
137
+ 只升级可复用协议文件:
138
+
139
+ ```bash
140
+ npx -y @wnlen/agent-execution-template update
141
+ ```
142
+
143
+ 查看方向修订入口:
144
+
145
+ ```bash
146
+ npx -y @wnlen/agent-execution-template strategy
147
+ ```
148
+
149
+ ## 你会得到什么
150
+
151
+ | 能力 | 含义 |
152
+ | --- | --- |
153
+ | 可安装执行协议 | 几秒钟给任意仓库加入 AI 执行契约。 |
154
+ | Agent 无关 | 可用于 Codex、Claude Code、Cursor、Aider 和其他编程 Agent。 |
155
+ | Bootstrap 模式 | 读取受控范围内的文档和 manifest,必要时从代码做有边界推断,生成 `project.md` 和 refs 草稿后停下来等人确认。 |
156
+ | 项目北极星 | 在 `ai/project/refs/final-shape.md` 保存最终形态、价值判断和跑偏标准。 |
157
+ | 策略修订门禁 | 新方向先进入 `inbox/ideas/`,生成 proposal,人类确认后才合并进北极星、模块地图或路线图。 |
158
+ | 保护项目现场 | `update` 刷新 `ai/template/**`,不会覆盖 `ai/project/**`。 |
159
+ | 项目上下文重整 | `refresh` 备份旧 `ai/project/**`,生成新项目上下文,并把旧上下文放入 inbox 供 AI 整理。 |
160
+ | 有边界的任务执行 | 目标、范围、权限、风险和验收标准集中在任务文件里。 |
161
+ | 可审计结果 | 每次执行都可以留下人类可读结果、机器可读事实和 metrics。 |
162
+ | Token-efficient 模型策略 | 便宜模型处理边界清楚的工作,强模型只用于关键判断点。 |
163
+ | 可升级模板 | 协议可以持续改进,不丢失项目本地记忆。 |
164
+ | Doctor 检查 | 执行前检查必要文件和模板版本。 |
165
+
166
+ ## 安装后的结构
167
+
168
+ ```text
169
+ ai/
170
+ README.md
171
+
172
+ template/
173
+ VERSION
174
+ bootstrap.md
175
+ prompt.md
176
+ reconcile.md
177
+ protocol.md
178
+ rules/
179
+ core.md
180
+ output.md
181
+ schemas/
182
+ result.schema.json
183
+ metrics.schema.json
184
+
185
+ project/
186
+ project.md
187
+ runtime.md
188
+ task.md
189
+ result.json
190
+ result.md
191
+ metrics.json
192
+ inbox/
193
+ ideas/
194
+ raw/
195
+ proposals/
196
+ final-shape-updates/
197
+ refs/
198
+ final-shape.md
199
+ module-map.md
200
+ roadmap.md
201
+ archive/
202
+ ```
203
+
204
+ 核心设计就是这条边界:
205
+
206
+ - `ai/template/**` 是可复用协议,可以安全地从 npm 包升级。
207
+ - `ai/project/**` 是项目现场,保存本地上下文、任务、参考资料、结果和 metrics。
208
+
209
+ ## 命令
210
+
211
+ ### `init`
212
+
213
+ ```bash
214
+ npx -y @wnlen/agent-execution-template init
215
+ ```
216
+
217
+ 在当前项目创建 `ai/`。
218
+
219
+ - 更新或创建 `ai/template/**`。
220
+ - 创建缺失的 `ai/project/**` 文件。
221
+ - 保留已有的 `ai/project/**` 文件。
222
+ - 默认安装中文模板;英文模板使用 `--lang en`。
223
+
224
+ ### `next`
225
+
226
+ ```bash
227
+ npx -y @wnlen/agent-execution-template next
228
+ ```
229
+
230
+ 根据当前项目状态打印下一步:
231
+
232
+ - 未安装时,提示先运行 `init`。
233
+ - `ai/project/inbox/` 有资料时,提示执行上下文整合。
234
+ - `ai/project/inbox/ideas/` 有灵感时,提示生成方向修订提案。
235
+ - 有待确认方向提案时,提示先审查并确认。
236
+ - 没有待处理输入时,提示继续推进项目。
237
+
238
+ ### `update`
239
+
240
+ ```bash
241
+ npx -y @wnlen/agent-execution-template update
242
+ ```
243
+
244
+ 只更新 `ai/template/**`。
245
+
246
+ 当协议升级,但项目上下文不应该被覆盖时使用它。
247
+ 默认沿用 `ai/template/LANG` 中记录的已安装语言。
248
+
249
+ ### `refresh`
250
+
251
+ ```bash
252
+ npx -y @wnlen/agent-execution-template refresh
253
+ ```
254
+
255
+ 重新总结和优化项目上下文。
256
+
257
+ - 将旧 `ai/project/**` 改名备份为 `ai/project.backup.<timestamp>`。
258
+ - 生成新的 `ai/project/**`。
259
+ - 将旧上下文复制到 `ai/project/inbox/raw/old-project/`。
260
+ - 输出下一句要交给 AI 的整理指令。
261
+
262
+ 也可以使用更直白的别名:
263
+
264
+ ```bash
265
+ npx -y @wnlen/agent-execution-template improve-context
266
+ ```
267
+
268
+ ### `doctor`
269
+
270
+ ```bash
271
+ npx -y @wnlen/agent-execution-template doctor
272
+ ```
273
+
274
+ 检查已安装模板版本和必要文件。
275
+
276
+ 输出状态包括:
277
+
278
+ - `[通过]` 文件存在且可用。
279
+ - `[警告]` 必要的项目上下文文件为空。
280
+ - `[缺失]` 必要文件缺失。
281
+
282
+ ### `reconcile`
283
+
284
+ ```bash
285
+ npx -y @wnlen/agent-execution-template reconcile
286
+ ```
287
+
288
+ 打印上下文整合的最短操作说明。
289
+
290
+ ### `strategy`
291
+
292
+ ```bash
293
+ npx -y @wnlen/agent-execution-template strategy
294
+ ```
295
+
296
+ 打印方向修订的最短操作说明。新灵感先进入 `ai/project/inbox/ideas/`,
297
+ 再由 AI 生成 `strategy_update` 提案;人类确认后再执行 `apply_strategy_update`。
298
+
299
+ ## 执行模型
300
+
301
+ Agent Execution Template 定义了一个简单循环:
302
+
303
+ ```text
304
+ 项目引导 -> 项目确认 -> 任务草稿 -> 任务确认 -> 计划 -> 执行 -> 复核 -> 结果
305
+ ```
306
+
307
+ 重点不是构建复杂调度器,而是让一次 AI 辅助编码任务足够清晰,可以执行、验证、重跑和审计。
308
+
309
+ 协议会记录:
310
+
311
+ - 允许读取的 bootstrap 来源;
312
+ - 任务契约;
313
+ - 假设和风险;
314
+ - 验证尝试;
315
+ - 人类可读结果;
316
+ - 机器可读执行事实;
317
+ - 模型档位和成本信号。
318
+
319
+ ## 上下文整合
320
+
321
+ 当项目使用一段时间后,出现更完整、更权威的业务、产品、架构或流程资料时,先放到:
322
+
323
+ ```text
324
+ ai/project/inbox/
325
+ ```
326
+
327
+ 然后告诉 AI:
328
+
329
+ ```text
330
+ 整合 ai/project/inbox/ 里的新资料
331
+ ```
332
+
333
+ AI 必须先输出整合计划,等待确认后,再把长期有效事实合并进 `project.md`、`runtime.md` 和 `refs/*`。
334
+ 整合完成后,已处理资料统一移动到 `ai/project/inbox/processed/`,保留用于追溯。
335
+
336
+ ## 项目北极星
337
+
338
+ 长期方向不要塞进当前任务。Agent Execution Template 把方向层放在受保护的
339
+ `ai/project/**` 中:
340
+
341
+ ```text
342
+ ai/project/refs/final-shape.md # 项目北极星 / 最终形态
343
+ ai/project/refs/module-map.md # 当前模块地图
344
+ ai/project/refs/roadmap.md # 阶段路线图
345
+ ai/project/inbox/ideas/ # 新灵感输入区
346
+ ai/project/proposals/final-shape-updates/
347
+ ai/project/proposals/final-shape-updates/_template.md
348
+ ```
349
+
350
+ 普通执行任务不能直接修改北极星、模块地图或路线图。方向变化应走:
351
+
352
+ ```text
353
+ idea -> strategy_update proposal -> human confirm -> apply_strategy_update
354
+ ```
355
+
356
+ 这样 `task.md` 负责当前施工单,`final-shape.md` 负责判断任务为什么值得做、项目往哪里生长。
357
+
358
+ ## Token-Efficient 设计
359
+
360
+ 可选的 token-efficient profile 给 Agent 一条模型分工规则:
361
+
362
+ - `cheap` 模型处理有边界的阅读、小改动、草稿、重复检查和机械整理。
363
+ - `standard` 模型处理中等复杂度实现。
364
+ - `strong` 模型用于规划、架构评审、风险判断、失败复盘和验收争议。
365
+
366
+ 目标不是单纯减少 token,而是提高每单位模型成本产出的可接受工作量。
367
+
368
+ 更多内容见 [Token-Efficient AI Execution Protocol v0.1](docs/token-efficient-protocol-v0.1.md)。
369
+
370
+ ## 适配工具
371
+
372
+ Agent Execution Template 有意保持工具无关。只要一个 Agent 能读取项目文件并遵循指令,就可以使用它。
373
+
374
+ 常见组合:
375
+
376
+ - Codex
377
+ - Claude Code
378
+ - Cursor
379
+ - Aider
380
+ - 自定义编程 Agent
381
+ - 用于边界清晰任务的低成本模型执行器
382
+
383
+ ## 适合谁
384
+
385
+ - 在多个仓库里频繁使用 AI Coding Agent 的开发者。
386
+ - 想要可重复 AI 执行流程,但不想引入完整 Agent 平台的团队。
387
+ - 任务边界、验证和审计记录很重要的项目。
388
+ - 默认使用便宜模型,只在关键判断点升级模型的工作流。
389
+ - 希望 AI 上下文存在于文件里,而不是只存在于聊天记录里的仓库。
390
+ - 希望 AI 生成关键上下文文件、人类只确认边界和验收标准的用户。
391
+
392
+ ## 它不是什么
393
+
394
+ Agent Execution Template 不是:
395
+
396
+ - IDE;
397
+ - Agent 平台;
398
+ - 多 Agent 调度器;
399
+ - 云服务;
400
+ - 提示词合集;
401
+ - Codex、Claude Code、Cursor 或 Aider 的替代品。
402
+
403
+ 它是一个小型文件协议,用来让这些工具在真实软件项目中表现得更稳定。
404
+
405
+ ## 规格
406
+
407
+ - [完整规格](docs/SPEC.md)
408
+ - [Token-efficient 协议 profile](docs/token-efficient-protocol-v0.1.md)
409
+
410
+ 当前包信息:
411
+
412
+ ```text
413
+ Package: @wnlen/agent-execution-template
414
+ Protocol: v0.8
415
+ License: MIT
416
+ ```
417
+
418
+ ## 开发
419
+
420
+ 运行自测:
421
+
422
+ ```bash
423
+ npm test
424
+ ```
425
+
426
+ 测试会验证核心 CLI 契约:
427
+
428
+ - `init` 创建预期的协议和项目文件。
429
+ - `update` 不覆盖 `ai/project/**`。
430
+ - `doctor` 正确报告缺失文件和空的必要文件。
431
+
432
+ ## 贡献
433
+
434
+ 欢迎提交 issue 和 pull request。
435
+
436
+ 适合贡献的方向包括:
437
+
438
+ - 更清晰的任务契约;
439
+ - 更安全的 project/template 边界;
440
+ - 更好的结果 schema;
441
+ - 更好的模型成本和验证 metrics;
442
+ - 更贴近真实 AI Coding Agent 工作流的示例;
443
+ - 更适合团队采用的文档。
444
+
445
+ ## 许可证
446
+
447
+ [MIT](LICENSE)