@haaaiawd/anws 2.1.0 → 2.1.2
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/bin/cli.js +11 -5
- package/lib/changelog.js +78 -7
- package/lib/diff.js +17 -0
- package/lib/update.js +21 -75
- package/package.json +1 -1
- package/templates/.agents/skills/design-reviewer/SKILL.md +22 -7
- package/templates/.agents/skills/system-designer/references/system-design-template.md +19 -2
- package/templates/.agents/skills/task-reviewer/SKILL.md +46 -19
- package/templates/.agents/workflows/challenge.md +170 -149
- package/templates/.agents/workflows/change.md +2 -2
- package/templates/.agents/workflows/design-system.md +24 -0
- package/templates/.agents/workflows/forge.md +44 -20
- package/templates/.agents/workflows/genesis.md +49 -4
- package/templates/.agents/workflows/quickstart.md +46 -2
- package/templates/AGENTS.md +1 -1
|
@@ -115,6 +115,14 @@ description: "按照架构文档和任务清单将设计锻造为代码。适用
|
|
|
115
115
|
- 如全部完成 → **新波次** → 继续 Step 1
|
|
116
116
|
- 如果不存在 → **新开始** → 继续 Step 1
|
|
117
117
|
|
|
118
|
+
7. **Git 上下文检查**:
|
|
119
|
+
- 读取当前 branch
|
|
120
|
+
- 如当前在 `main` 且本次不是单文件小修 → 先创建并切换到 `feature/{topic-slug}`
|
|
121
|
+
- 如当前已在 `feature/*` 且本波次仍属于同一交付主题 → 继续在当前 branch 上推进
|
|
122
|
+
- 如当前已在 `feature/*` 但本波次目标已切换为另一独立主题 → 新建并切换到新的 `feature/{topic-slug}`
|
|
123
|
+
- 同一交付目标下的多波次,默认持续使用同一个 `feature/*` branch,直到 Step 5 完成里程碑结算
|
|
124
|
+
- 如本波次属于高风险改造(跨系统 / 预计改动 > 5 文件 / 涉及公共接口)→ 在当前工作 branch 上先创建 checkpoint commit:`checkpoint: before {topic}`
|
|
125
|
+
|
|
118
126
|
---
|
|
119
127
|
|
|
120
128
|
## Step 1: 波次规划 (Wave Planning)
|
|
@@ -134,7 +142,7 @@ description: "按照架构文档和任务清单将设计锻造为代码。适用
|
|
|
134
142
|
|
|
135
143
|
### 1.2 分组与建议
|
|
136
144
|
|
|
137
|
-
|
|
145
|
+
按以下策略组织一个波次:
|
|
138
146
|
|
|
139
147
|
| 策略 | 说明 |
|
|
140
148
|
| ---------------- | -------------------------------------------- |
|
|
@@ -144,7 +152,7 @@ description: "按照架构文档和任务清单将设计锻造为代码。适用
|
|
|
144
152
|
|
|
145
153
|
### 1.3 波次确认
|
|
146
154
|
|
|
147
|
-
|
|
155
|
+
向用户展示:
|
|
148
156
|
|
|
149
157
|
```markdown
|
|
150
158
|
## 📋 Wave {N} 建议
|
|
@@ -190,7 +198,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
190
198
|
| **L2 任务级** | 每个任务的 `**输入**` 字段指定的精确文档章节 | 实现细节 |
|
|
191
199
|
|
|
192
200
|
> [!IMPORTANT]
|
|
193
|
-
> **L1.5 加载规则(CRITICAL
|
|
201
|
+
> **L1.5 加载规则(CRITICAL)**:
|
|
194
202
|
>
|
|
195
203
|
> - `{system}.md`(L0 导航层)**始终加载** ← 这是默认行为
|
|
196
204
|
> - `{system}.detail.md`(L1 实现层)**仅当任务 `**输入**` 字段明确引用时才加载**
|
|
@@ -203,7 +211,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
203
211
|
### 加载步骤
|
|
204
212
|
|
|
205
213
|
1. **L0**: 读取 `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md` 的系统清单部分
|
|
206
|
-
2. **L1**:
|
|
214
|
+
2. **L1**: 根据本波任务涉及的系统,读取对应的:
|
|
207
215
|
- `{TARGET_DIR}/04_SYSTEM_DESIGN/{system-id}.md`
|
|
208
216
|
- `{TARGET_DIR}/03_ADR/` 中相关的 ADR(由任务的"输入"字段指引)
|
|
209
217
|
|
|
@@ -216,7 +224,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
216
224
|
> [!IMPORTANT]
|
|
217
225
|
> **严格按以下流程执行每个任务,不跳步。**
|
|
218
226
|
|
|
219
|
-
|
|
227
|
+
对本波次中的每个任务,执行以下循环:
|
|
220
228
|
|
|
221
229
|
---
|
|
222
230
|
|
|
@@ -248,7 +256,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
248
256
|
>
|
|
249
257
|
> **为什么?** 错误的理解导致返工,提前发现问题比事后修复便宜 10 倍。
|
|
250
258
|
|
|
251
|
-
**思考引导** (必须逐个回答)
|
|
259
|
+
**思考引导** (必须逐个回答):
|
|
252
260
|
1. "这个任务要我做什么?输出哪些文件?"
|
|
253
261
|
2. "与哪些已有代码/接口交互?接口签名是什么?"
|
|
254
262
|
3. "验收标准里最关键的约束是什么?"
|
|
@@ -273,7 +281,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
273
281
|
|
|
274
282
|
### 3.4 验证 (Verify)
|
|
275
283
|
|
|
276
|
-
|
|
284
|
+
**根据任务的验证类型执行相应验证**,并按类型分类证据:
|
|
277
285
|
|
|
278
286
|
> [!IMPORTANT]
|
|
279
287
|
> **验证类型决定验证方式和证据要求**:
|
|
@@ -292,13 +300,13 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
292
300
|
|
|
293
301
|
**验证类型**: [单元测试 | 集成测试 | E2E测试 | 编译检查 | Lint检查 | 手动验证]
|
|
294
302
|
|
|
295
|
-
**自动验证** (单元测试/集成测试/E2E/编译/Lint)
|
|
303
|
+
**自动验证** (单元测试/集成测试/E2E/编译/Lint):
|
|
296
304
|
| 验收标准 | 命令 | 输出摘要 | 状态 |
|
|
297
305
|
| -------- | ---- | -------- | :--: |
|
|
298
306
|
| 测试通过 | `npm test` | 12 passed, 0 failed | ✅ |
|
|
299
307
|
| 构建成功 | `npm run build` | Build succeeded | ✅ |
|
|
300
308
|
|
|
301
|
-
|
|
309
|
+
**手动验证**:
|
|
302
310
|
| 验收标准 | 说明 | 状态 |
|
|
303
311
|
| -------- | ---- | :--: |
|
|
304
312
|
| 页面显示正确 | 需要打开浏览器确认渲染效果 | ⏳ |
|
|
@@ -314,7 +322,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
314
322
|
|
|
315
323
|
### 3.5 遵从性检查 (Compliance Check)
|
|
316
324
|
|
|
317
|
-
**检查清单** (每条都要回答)
|
|
325
|
+
**检查清单** (每条都要回答):
|
|
318
326
|
|
|
319
327
|
| # | 检查项 | 通过? |
|
|
320
328
|
| --- | ----------------------------------- | :----: |
|
|
@@ -333,11 +341,16 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
333
341
|
|
|
334
342
|
### 3.6 提交 (Commit)
|
|
335
343
|
|
|
336
|
-
1. **Git commit
|
|
337
|
-
-
|
|
344
|
+
1. **Git commit**:
|
|
345
|
+
- Task commit 一律落在**当前工作 branch** 上
|
|
346
|
+
- 默认当前工作 branch 为本次交付对应的 `feature/*`;只有 Step 0 明确判定为单文件小修时才允许留在 `main`
|
|
347
|
+
- 消息格式: `{type}({scope}): T{X.Y.Z} — 任务标题`
|
|
348
|
+
- `type` ∈ `feat | fix | refactor | docs | test | chore`
|
|
349
|
+
- `scope` 默认使用 `system-id`;workflow/skill 改动可用对应名称
|
|
338
350
|
- 例: `feat(core): T2.1.1 — 地形与资源数据模型`
|
|
351
|
+
- 例: `fix(challenge): T4.2.3 — 严重度语义对齐`
|
|
339
352
|
|
|
340
|
-
2. **任务完成持久化** (立即回写)
|
|
353
|
+
2. **任务完成持久化** (立即回写):
|
|
341
354
|
|
|
342
355
|
> [!IMPORTANT]
|
|
343
356
|
> **每完成一个 task 并通过验证,立即回写 `05_TASKS.md`**。
|
|
@@ -361,7 +374,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
361
374
|
|
|
362
375
|
### 4.1 更新状态
|
|
363
376
|
|
|
364
|
-
**更新 `AGENTS.md
|
|
377
|
+
**更新 `AGENTS.md`**:
|
|
365
378
|
|
|
366
379
|
1. 更新 `🌊 Wave` 块为下一波的初始状态(如果已知下一波任务),或标记当前波已完成:
|
|
367
380
|
```markdown
|
|
@@ -372,7 +385,7 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
372
385
|
|
|
373
386
|
### 4.2 波次回顾
|
|
374
387
|
|
|
375
|
-
|
|
388
|
+
向用户简要汇报:
|
|
376
389
|
|
|
377
390
|
```markdown
|
|
378
391
|
## 🌊 Wave {N} 完成
|
|
@@ -385,13 +398,16 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
385
398
|
|
|
386
399
|
### 4.3 Git commit 状态更新
|
|
387
400
|
|
|
388
|
-
|
|
389
|
-
|
|
401
|
+
- Wave settlement commit 与本波次 task commits 一样,落在当前工作 branch 上
|
|
402
|
+
- 如下一波仍属于同一交付主题,默认继续沿用当前 `feature/*` branch
|
|
403
|
+
|
|
404
|
+
```markdown
|
|
405
|
+
chore(wave): settle wave {N} progress
|
|
390
406
|
```
|
|
391
407
|
|
|
392
408
|
### 4.4 下一步判定
|
|
393
409
|
|
|
394
|
-
**人类检查点**
|
|
410
|
+
**人类检查点** ⚠️:
|
|
395
411
|
|
|
396
412
|
- 还有未完成任务 → 询问用户:"继续下一波?" → 回到 **Step 1**
|
|
397
413
|
- 当前 Sprint 所有任务完成 → 进入 **Step 5**
|
|
@@ -407,7 +423,15 @@ chore: Wave {N} settlement — update task progress
|
|
|
407
423
|
|
|
408
424
|
1. **集成验证**: 运行集成测试(如有),确保跨系统功能正常
|
|
409
425
|
2. **更新 AGENTS.md**: 清除"当前波次"信息,更新已完成的 Sprint/Phase
|
|
410
|
-
3.
|
|
426
|
+
3. **Git 里程碑锚点**:
|
|
427
|
+
- Sprint/Phase 完成 → `milestone: {name} complete`
|
|
428
|
+
- 对应版本发布 → `release: vX.Y.Z`
|
|
429
|
+
- 如存在明确版本号,可打 tag:`vX.Y.Z`
|
|
430
|
+
- 以上里程碑 commit / tag 默认创建在当前工作 branch 上
|
|
431
|
+
4. **合流主线**:
|
|
432
|
+
- 当前 feature branch 达到可验收里程碑后,合并回 `main`
|
|
433
|
+
- 合并策略遵循仓库既有规范(merge / squash / rebase),但 `main` 最终应指向该里程碑的稳定状态
|
|
434
|
+
5. **汇报用户**: 列出已完成的 Sprint/Phase 概要
|
|
411
435
|
|
|
412
436
|
---
|
|
413
437
|
|
|
@@ -415,7 +439,7 @@ chore: Wave {N} settlement — update task progress
|
|
|
415
439
|
- ✅ 每个任务的验收标准全部通过
|
|
416
440
|
- ✅ 每个任务的遵从性检查全部通过
|
|
417
441
|
- ✅ 所有代码已 git commit,message 包含 Task ID
|
|
418
|
-
- ✅ 05_TASKS.md
|
|
442
|
+
- ✅ 所有任务已完成持久化(05_TASKS.md)
|
|
419
443
|
- ✅ AGENTS.md 当前状态已更新
|
|
420
444
|
- ✅ 用户已确认波次完成
|
|
421
445
|
</completion_criteria>
|
|
@@ -16,7 +16,7 @@ description: "从 0 到代码的项目启动全流程。适用于新项目立项
|
|
|
16
16
|
- **产品优先** - 先PRD后技术,先需求后方案
|
|
17
17
|
- **系统拆解** - 识别独立系统,关注点分离
|
|
18
18
|
|
|
19
|
-
**Output Goal (Versioned)**:
|
|
19
|
+
**Output Goal (Versioned)**:
|
|
20
20
|
- `.anws/v{N}/00_MANIFEST.md` ← 版本元数据
|
|
21
21
|
- `.anws/v{N}/01_PRD.md`
|
|
22
22
|
- `.anws/v{N}/02_ARCHITECTURE_OVERVIEW.md`
|
|
@@ -26,6 +26,52 @@ description: "从 0 到代码的项目启动全流程。适用于新项目立项
|
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
+
## 🚀 Pre-Check: 自动初始化 (Auto-Init)
|
|
30
|
+
|
|
31
|
+
> **目的**: 确保项目已正确初始化,无 AGENTS.md 则自动创建。
|
|
32
|
+
|
|
33
|
+
### 自动检测流程
|
|
34
|
+
|
|
35
|
+
1. **检测项目状态**:
|
|
36
|
+
- 检查项目根目录是否存在 `AGENTS.md`
|
|
37
|
+
- 检查项目根目录是否存在 `.anws/` 目录
|
|
38
|
+
|
|
39
|
+
2. **状态判断**:
|
|
40
|
+
```
|
|
41
|
+
├── ✅ 有 AGENTS.md 且有 .anws/
|
|
42
|
+
│ └── 项目已初始化 → 直接进入 Step 0
|
|
43
|
+
│
|
|
44
|
+
├── ⚠️ 有 AGENTS.md 但无 .anws/
|
|
45
|
+
│ └── 异常状态 → 创建 .anws/ 目录结构
|
|
46
|
+
│
|
|
47
|
+
└── ❌ 无 AGENTS.md
|
|
48
|
+
└── 全新项目 → 执行自动初始化
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
3. **自动初始化流程** (仅当无 AGENTS.md 时):
|
|
52
|
+
|
|
53
|
+
**3.1 调用 CLI 初始化**:
|
|
54
|
+
执行以下命令完成项目初始化:
|
|
55
|
+
```bash
|
|
56
|
+
anws init --target <Your IDE>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**3.2 输出初始化确认**:
|
|
60
|
+
告知用户已完成初始化:
|
|
61
|
+
```
|
|
62
|
+
✅ anws 环境初始化完成!
|
|
63
|
+
|
|
64
|
+
已通过 anws init 完成初始化。
|
|
65
|
+
|
|
66
|
+
即将开始 /genesis 流程...
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
4. **进入 Step 0**:
|
|
71
|
+
初始化完成后,自动进入 Step 0: 版本管理。
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
29
75
|
## ⚠️ CRITICAL 流程约束
|
|
30
76
|
|
|
31
77
|
> [!IMPORTANT]
|
|
@@ -116,7 +162,7 @@ description: "从 0 到代码的项目启动全流程。适用于新项目立项
|
|
|
116
162
|
> - Step 1 (`concept-modeler`): 可能追问领域术语
|
|
117
163
|
> - Step 2 (`spec-writer`): **会追问模糊需求**,这是预期行为,不要跳过
|
|
118
164
|
> - Step 3 (`tech-evaluator`): 可能需要用户提供团队/预算信息
|
|
119
|
-
>
|
|
165
|
+
>
|
|
120
166
|
> 每个 Skill 的追问都是必要的交互,应当执行而非绕过。
|
|
121
167
|
|
|
122
168
|
**目标**: 从用户的模糊想法中提取**领域概念**。
|
|
@@ -185,7 +231,7 @@ description: "从 0 到代码的项目启动全流程。适用于新项目立项
|
|
|
185
231
|
> 以下步骤中,Skill 可能需要向用户追问信息:
|
|
186
232
|
> - Step 2 (`spec-writer`): **会追问模糊需求**,这是预期行为,不要跳过
|
|
187
233
|
> - Step 3 (`tech-evaluator`): 可能需要用户提供团队/预算信息
|
|
188
|
-
>
|
|
234
|
+
>
|
|
189
235
|
> 每个 Skill 的追问都是必要的交互,应当执行而非绕过。
|
|
190
236
|
|
|
191
237
|
**目标**: 评估技术栈候选方案,为 Step 5 的 ADR 决策提供依据。
|
|
@@ -353,4 +399,3 @@ description: "从 0 到代码的项目启动全流程。适用于新项目立项
|
|
|
353
399
|
- ✅ 更新了 AGENTS.md AUTO:BEGIN 区块 (技术栈、系统边界、活跃 ADR)
|
|
354
400
|
- ✅ 用户已在人类检查点确认
|
|
355
401
|
</completion_criteria>
|
|
356
|
-
|
|
@@ -14,13 +14,58 @@ description: "智能编排全流程。适用于不确定从哪个工作流开始
|
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
+
## 🚀 Pre-Check: 自动初始化 (Auto-Init)
|
|
18
|
+
|
|
19
|
+
> **目的**: 确保项目已正确初始化,无 AGENTS.md 则自动引导初始化。
|
|
20
|
+
|
|
21
|
+
### 自动检测流程
|
|
22
|
+
|
|
23
|
+
1. **检测项目状态**:
|
|
24
|
+
- 检查项目根目录是否存在 `AGENTS.md`
|
|
25
|
+
- 检查项目根目录是否存在 `.anws/` 目录
|
|
26
|
+
|
|
27
|
+
2. **状态判断**:
|
|
28
|
+
```
|
|
29
|
+
├── ✅ 有 AGENTS.md 且有 .anws/
|
|
30
|
+
│ └── 项目已初始化 → 进入 Step 0: 项目诊断
|
|
31
|
+
│
|
|
32
|
+
├── ⚠️ 有 AGENTS.md 但无 .anws/
|
|
33
|
+
│ └── 异常状态 → 自动创建 .anws/ 目录结构,然后进入 Step 0
|
|
34
|
+
│
|
|
35
|
+
└── ❌ 无 AGENTS.md
|
|
36
|
+
└── 全新项目 → 自动初始化,然后进入 Step 0
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
3. **自动初始化流程** (仅当无 AGENTS.md 时):
|
|
40
|
+
|
|
41
|
+
**3.1 调用 CLI 初始化**:
|
|
42
|
+
执行以下命令完成项目初始化:
|
|
43
|
+
```bash
|
|
44
|
+
anws init --target <Your IDE>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**3.2 输出初始化确认**:
|
|
48
|
+
告知用户已完成初始化:
|
|
49
|
+
```
|
|
50
|
+
✅ anws 环境初始化完成!
|
|
51
|
+
|
|
52
|
+
已通过 anws init 完成初始化。
|
|
53
|
+
|
|
54
|
+
即将开始项目诊断...
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
4. **进入 Step 0**:
|
|
58
|
+
初始化完成后,自动进入 Step 0: 项目诊断。
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
17
62
|
## Step 0: 项目诊断 (Diagnosis)
|
|
18
63
|
|
|
19
64
|
扫描项目以决定起点。
|
|
20
65
|
|
|
21
66
|
### 状态矩阵
|
|
22
67
|
```
|
|
23
|
-
├── 🛑 无 .anws/
|
|
68
|
+
├── 🛑 无 .anws/
|
|
24
69
|
│ ├── 有代码 → 🏚️ [遗留项目] → Jump to Step 0.5 (Probe)
|
|
25
70
|
│ └── 无代码 → 🆕 [全新项目] → Jump to Step 1 (Genesis)
|
|
26
71
|
├── 📝 有架构 (无任务)
|
|
@@ -91,4 +136,3 @@ description: "智能编排全流程。适用于不确定从哪个工作流开始
|
|
|
91
136
|
- `/probe` — 重大变更前探测风险
|
|
92
137
|
- `/genesis` — 架构大版本升级
|
|
93
138
|
- `/change` — 微调任务细节
|
|
94
|
-
|
package/templates/AGENTS.md
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
| `/probe` | 变更前 / 接手项目 | `.anws/v{N}/00_PROBE_REPORT.md` |
|
|
51
51
|
| `/design-system` | genesis 后 | 04_SYSTEM_DESIGN/*.md |
|
|
52
52
|
| `/blueprint` | genesis 后 | 05_TASKS.md + AGENTS.md 初始 Wave |
|
|
53
|
-
| `/change` |
|
|
53
|
+
| `/change` | 进入 forge 编码后的任务局部修订 | 更新 TASKS + SYSTEM_DESIGN (仅修改) + CHANGELOG |
|
|
54
54
|
| `/explore` | 调研时 | 探索报告 |
|
|
55
55
|
| `/challenge` | 决策前质疑 | 07_CHALLENGE_REPORT.md (含问题总览目录) |
|
|
56
56
|
| `/forge` | 编码执行 | 代码 + 更新 AGENTS.md Wave 块 |
|