@ecc-hgy/ae 0.5.0 → 0.6.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.
Files changed (49) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +168 -155
  3. package/bin/ae.js +2 -2
  4. package/package.json +43 -43
  5. package/skills/brainstorming/SKILL.md +133 -133
  6. package/skills/diagnose/SKILL.md +146 -146
  7. package/skills/diagnose/assets/issue-7-sections.md +35 -35
  8. package/skills/diagnose/scripts/hitl-loop.template.sh +41 -41
  9. package/skills/grill-me/SKILL.md +10 -10
  10. package/skills/handoff/SKILL.md +19 -19
  11. package/skills/improve-codebase-architecture/DEEPENING.md +37 -37
  12. package/skills/improve-codebase-architecture/HTML-REPORT.md +123 -123
  13. package/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -44
  14. package/skills/improve-codebase-architecture/LANGUAGE.md +53 -53
  15. package/skills/improve-codebase-architecture/SKILL.md +101 -101
  16. package/skills/karpathy-guidelines/SKILL.md +63 -63
  17. package/skills/powerautomate-email-to-sharepoint-excel/powerautomate-email-to-sharepoint-excel-skill.md +496 -496
  18. package/skills/review/SKILL.md +119 -119
  19. package/skills/tdd/SKILL.md +157 -157
  20. package/skills/tdd/deep-modules.md +33 -33
  21. package/skills/tdd/interface-design.md +31 -31
  22. package/skills/tdd/mocking.md +59 -59
  23. package/skills/tdd/refactoring.md +10 -10
  24. package/skills/tdd/tests.md +61 -61
  25. package/skills/to-issues/SKILL.md +79 -79
  26. package/skills/to-issues/todo-template.md +25 -25
  27. package/skills/to-prd/SKILL.md +108 -108
  28. package/skills/using-agentic-engineering/SKILL.md +62 -62
  29. package/skills/verification-before-completion/SKILL.md +153 -153
  30. package/skills/writing-plans/SKILL.md +115 -115
  31. package/skills/zoom-out/SKILL.md +7 -7
  32. package/src/cli.js +61 -61
  33. package/src/commands/init.js +137 -137
  34. package/src/commands/setup.js +162 -162
  35. package/src/platforms.js +132 -132
  36. package/src/skeleton.js +134 -99
  37. package/src/utils/copy.js +100 -100
  38. package/src/utils/paths.js +60 -60
  39. package/src/utils/report.js +30 -30
  40. package/templates/entries/AGENTS.md +2 -0
  41. package/templates/entries/CLAUDE.md +5 -5
  42. package/templates/entries/README.md +33 -31
  43. package/templates/entries/handoff.md +1 -1
  44. package/templates/entries/spec/ADR/AGENTS.md +30 -30
  45. package/templates/entries/spec/ADR/CLAUDE.md +5 -5
  46. package/templates/entries/spec/AGENTS.md +34 -34
  47. package/templates/entries/spec/CLAUDE.md +5 -5
  48. package/templates/entries/spec/INDEX.md +28 -28
  49. package/templates/entries/spec/README.md +23 -23
@@ -1,32 +1,34 @@
1
- # {{PROJECT_NAME}}
2
-
3
- > {{PROJECT_GOAL}}
4
-
5
- <!--
6
- 根 README 的核心:让别人 30 秒搞清「为什么有用、能做什么、怎么用」。
7
- 下面是建议骨架,按需增删、不必都填,也不必拘泥小节名:
8
- - 它是什么 + 一句话价值 → 上面的标题 + 一行(已占位)
9
- - 为什么 / 给谁 → 解决什么问题、面向谁
10
- - Quick Start → 最快见效的一段命令 / 步骤(装好 + 第一个能见效的操作)
11
- - 使用示例 → 典型场景(必要时再贴一段真实用法)
12
- - 目录地图 / 文档入口 → 关键目录 + 深入文档的链接
13
- -->
14
-
15
- ## 这是什么
16
-
17
- TODO: 一段话说清它解决什么问题、给谁用、用它能做什么。
18
-
19
- ## Quick Start
20
-
21
- TODO: 最快跑起来的命令或步骤。
22
-
23
- <!-- ## 使用示例 —— 有典型场景时再加,贴一段真实用法 -->
24
-
25
- ## 目录地图
26
-
1
+ # {{PROJECT_NAME}}
2
+
3
+ > {{PROJECT_GOAL}}
4
+
5
+ <!--
6
+ 根 README 的核心:让别人 30 秒搞清「为什么有用、能做什么、怎么用」。
7
+ 下面是建议骨架,按需增删、不必都填,也不必拘泥小节名:
8
+ - 它是什么 + 一句话价值 → 上面的标题 + 一行(已占位)
9
+ - 为什么 / 给谁 → 解决什么问题、面向谁
10
+ - Quick Start → 最快见效的一段命令 / 步骤(装好 + 第一个能见效的操作)
11
+ - 使用示例 → 典型场景(必要时再贴一段真实用法)
12
+ - 目录地图 / 文档入口 → 关键目录 + 深入文档的链接
13
+ -->
14
+
15
+ ## 这是什么
16
+
17
+ TODO: 一段话说清它解决什么问题、给谁用、用它能做什么。
18
+
19
+ ## Quick Start
20
+
21
+ TODO: 最快跑起来的命令或步骤。
22
+
23
+ <!-- ## 使用示例 —— 有典型场景时再加,贴一段真实用法 -->
24
+
25
+ ## 目录地图
26
+
27
27
  - `spec/`:SDD/TDD 规格产物——需求索引看 `spec/INDEX.md`,项目地图看 `spec/README.md`。
28
- - `reference/`:原始素材,只读心态。
29
- - `data/`:运行产物、导出、缓存。
30
- - `scripts/`:辅助脚本。
31
-
32
- <!-- 文档入口:AGENTS.md(项目指令)· handoff.md(当前态快照)· spec/INDEX.md(需求索引) -->
28
+ - `src/`:业务代码、程序入口与脚本;按职责组织,不要求与 `spec/needs/` 一一对应。
29
+ - `tests/`:测试代码与测试样例。
30
+ - `docs/`:原始文档资料、说明与长期维护的知识。
31
+ - `data/`:各类数据与运行结果,内部按项目需要渐进组织。
32
+ - `dist/`:构建产物;有构建时由工具生成。
33
+
34
+ <!-- 文档入口:AGENTS.md(项目指令)· handoff.md(当前态快照)· spec/INDEX.md(需求索引) -->
@@ -1 +1 @@
1
- <!-- 跨会话/跨项目进展交接,由 handoff skill 在会话结束时人工触发更新。 -->
1
+ <!-- 跨会话/跨项目进展交接,由 handoff skill 在会话结束时人工触发更新。 -->
@@ -1,30 +1,30 @@
1
- # spec/ADR/ 规则
2
-
3
- > 架构决策记录(ADR)规则。在 `spec/ADR/` 下创建或修改 ADR 时遵守本文件。
4
-
5
- ## 命名
6
-
7
- `NNNN-<标题>.md`,**4 位序号**,kebab-case 标题。例:`0001-postgres-as-primary-store.md`。
8
-
9
- ## frontmatter
10
-
11
- ```yaml
12
- ---
13
- status: accepted # proposed | accepted | superseded
14
- date: 2026-06-14
15
- supersedes: 0000-xxx.md # 仅当取代旧 ADR 时填
16
- ---
17
- ```
18
-
19
- 正文按具体决策自然组织(背景 / 决策 / 理由 / 影响),不强加重模板。
20
-
21
- ## 状态机
22
-
23
- ```text
24
- proposed ─(评审接受)─► accepted ─(新 ADR 取代)─► superseded
25
- ```
26
-
27
- - `proposed`:新提案,未拍板(由 writing-plans / review / improve-codebase-architecture 创建时默认)。
28
- - `accepted`:已评审接受;视为**约束**,其他需求不得违背。
29
- - `superseded`:被新 ADR 取代;新 ADR 的 `supersedes` 指回旧编号,**不删旧文件**。
30
-
1
+ # spec/ADR/ 规则
2
+
3
+ > 架构决策记录(ADR)规则。在 `spec/ADR/` 下创建或修改 ADR 时遵守本文件。
4
+
5
+ ## 命名
6
+
7
+ `NNNN-<标题>.md`,**4 位序号**,kebab-case 标题。例:`0001-postgres-as-primary-store.md`。
8
+
9
+ ## frontmatter
10
+
11
+ ```yaml
12
+ ---
13
+ status: accepted # proposed | accepted | superseded
14
+ date: 2026-06-14
15
+ supersedes: 0000-xxx.md # 仅当取代旧 ADR 时填
16
+ ---
17
+ ```
18
+
19
+ 正文按具体决策自然组织(背景 / 决策 / 理由 / 影响),不强加重模板。
20
+
21
+ ## 状态机
22
+
23
+ ```text
24
+ proposed ─(评审接受)─► accepted ─(新 ADR 取代)─► superseded
25
+ ```
26
+
27
+ - `proposed`:新提案,未拍板(由 writing-plans / review / improve-codebase-architecture 创建时默认)。
28
+ - `accepted`:已评审接受;视为**约束**,其他需求不得违背。
29
+ - `superseded`:被新 ADR 取代;新 ADR 的 `supersedes` 指回旧编号,**不删旧文件**。
30
+
@@ -1,5 +1,5 @@
1
- # spec/ADR/
2
-
3
- **Always read [AGENTS.md](./AGENTS.md) in this directory before creating or editing an ADR.**
4
-
5
- `spec/ADR/AGENTS.md` defines ADR naming, frontmatter, and the proposed/accepted/superseded state machine.
1
+ # spec/ADR/
2
+
3
+ **Always read [AGENTS.md](./AGENTS.md) in this directory before creating or editing an ADR.**
4
+
5
+ `spec/ADR/AGENTS.md` defines ADR naming, frontmatter, and the proposed/accepted/superseded state machine.
@@ -1,35 +1,35 @@
1
- # spec/ 规则
2
-
3
- > 本目录(`spec/`)的工作规则。在 `spec/` 下读写文件时遵守本文件。
4
-
5
- ## 总领
6
-
7
- S1 节点 → 产物 → skill 的路由总览,见随包的 `using-agentic-engineering` skill——它判定"进不进 AE 流程"并分发到各节点。
8
-
9
- 两道硬门禁:**A1 未对齐不写 prd**;**B2 期望态未对齐不修复**。
10
-
11
-
12
- ## R1:落盘后同步 INDEX
13
- 落盘 `spec/needs/<需求名>/` 下任何文件后,**必须同步更新 `spec/INDEX.md`** 对应行。若不确定如何更新,按上面「INDEX 推导规则」手动重算(未来可用 `ae index-rebuild` 幂等重扫)。
14
-
15
- ### INDEX 推导规则
16
-
17
- `spec/INDEX.md` 给模型看:一次扫描看到所有需求 + 状态 + 进度。`当前节点` 列**不存储**在任何 frontmatter,由该需求下文件状态**实时推导**:
18
-
19
- | 条件 | 当前节点 |
20
- |------|---------|
21
- | prd 不存在 或 status=draft | A1 / A2 |
22
- | prd active + design 不存在/draft | A3 设计 |
23
- | prd+design active + todo 不存在 | A4 拆解 |
24
- | prd+design active + todo 有未完成项 | A5 执行 |
25
- | todo 全勾 + 未端到端验证 | A6 verify |
26
- | 所有 issues 已验收 + 已交付 | 已完成 |
27
- | 存在 active 的 issues | 进 B 子路径,按 issues 状态推 B2…B7 |
28
- | prd / design 任一 archived | 已归档 |
29
-
30
- - INDEX 是**推导态**:文件状态变就重新推导,**不要手编 `当前节点` 列**。
31
-
32
-
33
- ## 何时升 ADR
34
-
1
+ # spec/ 规则
2
+
3
+ > 本目录(`spec/`)的工作规则。在 `spec/` 下读写文件时遵守本文件。
4
+
5
+ ## 总领
6
+
7
+ S1 节点 → 产物 → skill 的路由总览,见随包的 `using-agentic-engineering` skill——它判定"进不进 AE 流程"并分发到各节点。
8
+
9
+ 两道硬门禁:**A1 未对齐不写 prd**;**B2 期望态未对齐不修复**。
10
+
11
+
12
+ ## R1:落盘后同步 INDEX
13
+ 落盘 `spec/needs/<需求名>/` 下任何文件后,**必须同步更新 `spec/INDEX.md`** 对应行。若不确定如何更新,按上面「INDEX 推导规则」手动重算(未来可用 `ae index-rebuild` 幂等重扫)。
14
+
15
+ ### INDEX 推导规则
16
+
17
+ `spec/INDEX.md` 给模型看:一次扫描看到所有需求 + 状态 + 进度。`当前节点` 列**不存储**在任何 frontmatter,由该需求下文件状态**实时推导**:
18
+
19
+ | 条件 | 当前节点 |
20
+ |------|---------|
21
+ | prd 不存在 或 status=draft | A1 / A2 |
22
+ | prd active + design 不存在/draft | A3 设计 |
23
+ | prd+design active + todo 不存在 | A4 拆解 |
24
+ | prd+design active + todo 有未完成项 | A5 执行 |
25
+ | todo 全勾 + 未端到端验证 | A6 verify |
26
+ | 所有 issues 已验收 + 已交付 | 已完成 |
27
+ | 存在 active 的 issues | 进 B 子路径,按 issues 状态推 B2…B7 |
28
+ | prd / design 任一 archived | 已归档 |
29
+
30
+ - INDEX 是**推导态**:文件状态变就重新推导,**不要手编 `当前节点` 列**。
31
+
32
+
33
+ ## 何时升 ADR
34
+
35
35
  决策影响**多个需求**或属项目级不变量时,从 `design.md` 升到`spec/ADR`(判断:推翻它会改动 >1 个需求)。单需求的技术决策留在该需求的 `design.md`。
@@ -1,5 +1,5 @@
1
- # spec/
2
-
3
- **Always read [AGENTS.md](./AGENTS.md) in this directory before working under `spec/`.**
4
-
5
- `spec/AGENTS.md` defines the S1 node map, the INDEX derivation table, and the post-write INDEX sync rule (R1).
1
+ # spec/
2
+
3
+ **Always read [AGENTS.md](./AGENTS.md) in this directory before working under `spec/`.**
4
+
5
+ `spec/AGENTS.md` defines the S1 node map, the INDEX derivation table, and the post-write INDEX sync rule (R1).
@@ -1,28 +1,28 @@
1
- # spec 索引
2
-
3
- ## 需求
4
-
5
- <!--
6
- 各列怎么填:
7
- - 需求名:`spec/needs/<需求名>/` 的 kebab 目录名
8
- - prd / design:对应文件 frontmatter 的 status(draft/active/archived);文件不存在填 -
9
- - todo:todo.md 的 已勾数/总数(如 5/8,即拆解任务的完成进度);无 todo.md 填 -。这是 A5 内部子进度,不是节点位次(节点看「当前节点」列)
10
- - issues:该需求 issues/ 下文件数 + 是否有未结(如 0 / 1 active);无则 -
11
- - 当前节点:由文件状态推导得出,不手编(推导规则见 spec/AGENTS.md「INDEX 推导规则」)
12
- -->
13
-
14
- | 需求名 | prd | design | todo | issues | 当前节点 |
15
- |--------|-----|--------|------|--------|----------|
16
-
17
- ## ADR
18
-
19
- <!-- 编号 4 位 / 状态 proposed|accepted|superseded / 日期,均取自各 ADR frontmatter(详见 spec/ADR/AGENTS.md) -->
20
-
21
- | 编号 | 标题 | 状态 | 日期 |
22
- |------|------|------|------|
23
-
24
- ## 跨需求引用
25
-
26
- <!-- 从各 prd/design frontmatter 的 related-needs 聚合 -->
27
-
28
- - 暂无
1
+ # spec 索引
2
+
3
+ ## 需求
4
+
5
+ <!--
6
+ 各列怎么填:
7
+ - 需求名:`spec/needs/<需求名>/` 的 kebab 目录名
8
+ - prd / design:对应文件 frontmatter 的 status(draft/active/archived);文件不存在填 -
9
+ - todo:todo.md 的 已勾数/总数(如 5/8,即拆解任务的完成进度);无 todo.md 填 -。这是 A5 内部子进度,不是节点位次(节点看「当前节点」列)
10
+ - issues:该需求 issues/ 下文件数 + 是否有未结(如 0 / 1 active);无则 -
11
+ - 当前节点:由文件状态推导得出,不手编(推导规则见 spec/AGENTS.md「INDEX 推导规则」)
12
+ -->
13
+
14
+ | 需求名 | prd | design | todo | issues | 当前节点 |
15
+ |--------|-----|--------|------|--------|----------|
16
+
17
+ ## ADR
18
+
19
+ <!-- 编号 4 位 / 状态 proposed|accepted|superseded / 日期,均取自各 ADR frontmatter(详见 spec/ADR/AGENTS.md) -->
20
+
21
+ | 编号 | 标题 | 状态 | 日期 |
22
+ |------|------|------|------|
23
+
24
+ ## 跨需求引用
25
+
26
+ <!-- 从各 prd/design frontmatter 的 related-needs 聚合 -->
27
+
28
+ - 暂无
@@ -1,23 +1,23 @@
1
- # Spec Map
2
-
3
- > 给人看:回忆"项目长什么样"。以 ASCII 图为主,可省细节、突出全貌。**README ≠ INDEX 镜像**——INDEX 给模型看进度,这里给人看全貌。
4
-
5
- ## Needs
6
-
7
- ```text
8
- TODO: 用 ASCII 图画出需求地图。
9
- ```
10
-
11
- ## Main Flow
12
-
13
- ```text
14
- TODO: 用 ASCII 图画出核心业务流程。
15
- ```
16
-
17
- > 全局架构总览画在这里(而非写进某个需求的 design.md)。
18
-
19
- ## Relationships
20
-
21
- ```text
22
- TODO: 按需记录需求间依赖或触发关系。
23
- ```
1
+ # Spec Map
2
+
3
+ > 给人看:回忆"项目长什么样"。以 ASCII 图为主,可省细节、突出全貌。**README ≠ INDEX 镜像**——INDEX 给模型看进度,这里给人看全貌。
4
+
5
+ ## Needs
6
+
7
+ ```text
8
+ TODO: 用 ASCII 图画出需求地图。
9
+ ```
10
+
11
+ ## Main Flow
12
+
13
+ ```text
14
+ TODO: 用 ASCII 图画出核心业务流程。
15
+ ```
16
+
17
+ > 全局架构总览画在这里(而非写进某个需求的 design.md)。
18
+
19
+ ## Relationships
20
+
21
+ ```text
22
+ TODO: 按需记录需求间依赖或触发关系。
23
+ ```