ai-spec-dev 0.28.1 → 0.29.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 +25 -1
- package/RELEASE_LOG.md +58 -0
- package/cli/index.ts +58 -2
- package/core/reviewer.ts +7 -2
- package/dist/cli/index.js +56 -23
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +56 -23
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/prompts/codegen.prompt.ts +1 -19
- package/purpose.md +26 -14
package/package.json
CHANGED
|
@@ -174,25 +174,7 @@ export function getCodeGenSystemPrompt(repoType?: string): string {
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Always format your review with these exact sections:
|
|
180
|
-
|
|
181
|
-
## ✅ 优点 (What's Good)
|
|
182
|
-
List specific things done well.
|
|
183
|
-
|
|
184
|
-
## ⚠️ 问题 (Issues Found)
|
|
185
|
-
List bugs, security issues, or spec deviations with line references.
|
|
186
|
-
|
|
187
|
-
## 💡 改进建议 (Suggestions)
|
|
188
|
-
Actionable improvements that would elevate code quality.
|
|
189
|
-
|
|
190
|
-
## 📊 总体评价 (Overall Assessment)
|
|
191
|
-
Score: X/10 — One-paragraph summary.
|
|
192
|
-
|
|
193
|
-
Be specific. Reference actual code, not vague principles.`;
|
|
194
|
-
|
|
195
|
-
// ─── Two-pass review prompts ───────────────────────────────────────────────────
|
|
177
|
+
// ─── 3-pass review prompts ────────────────────────────────────────────────────
|
|
196
178
|
|
|
197
179
|
/**
|
|
198
180
|
* Pass 1 — Architecture review.
|
package/purpose.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 痛点 · 架构创新 · 边界处理 · DSL 的意义 · 当前局限 · 未来方向
|
|
4
4
|
>
|
|
5
|
-
> 当前版本:v0.
|
|
5
|
+
> 当前版本:v0.29.0 · 最后更新:2026-03-27
|
|
6
6
|
|
|
7
7
|
***
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
7. [当前局限](#7-当前局限)
|
|
20
20
|
8. [未来优化方向](#8-未来优化方向)
|
|
21
21
|
|
|
22
|
-
> **版本记录速览**:v0.17.0 宪法截断修复 · v0.18.0 `learn` + `minSpecScore` + 行为契约提取 · v0.19.0 错误解析重写 + Auto Gate 修复 · v0.20.0 `mock --serve` 一键联调 · v0.21.0 store 公开 API 提取修复 · v0.22.0 service/api 层分离 · v0.23.0 view/route 双层 + 文件名幻觉修复 · v0.24.0 四项质量修复(export default、impliesRegistration、依赖拓扑排序、lesson 计数)· v0.25.0 HTTP import 正则、分页提取、isToolCrash 三项修复 · v0.26.0 多仓库 review 目录、batch 容错、tasks JSON 健壮性 · **v0.27.0 可靠性三件套**(Provider retry/timeout/分类、文件快照 + `restore`、RunId 结构化日志)· **v0.28.0 3-pass review**(Pass 3 影响面评估 +
|
|
22
|
+
> **版本记录速览**:v0.17.0 宪法截断修复 · v0.18.0 `learn` + `minSpecScore` + 行为契约提取 · v0.19.0 错误解析重写 + Auto Gate 修复 · v0.20.0 `mock --serve` 一键联调 · v0.21.0 store 公开 API 提取修复 · v0.22.0 service/api 层分离 · v0.23.0 view/route 双层 + 文件名幻觉修复 · v0.24.0 四项质量修复(export default、impliesRegistration、依赖拓扑排序、lesson 计数)· v0.25.0 HTTP import 正则、分页提取、isToolCrash 三项修复 · v0.26.0 多仓库 review 目录、batch 容错、tasks JSON 健壮性 · **v0.27.0 可靠性三件套**(Provider retry/timeout/分类、文件快照 + `restore`、RunId 结构化日志)· **v0.28.0 3-pass review**(Pass 3 影响面评估 + 代码复杂度评估)· **v0.29.0 全量审查修复**(RunLogger 完整插桩、update 快照/日志/knowledge、Score Trend 显示影响/复杂度等级、死代码清理)
|
|
23
23
|
|
|
24
24
|
***
|
|
25
25
|
|
|
@@ -327,26 +327,38 @@ ai-spec restore 20260326-143022-a7f2
|
|
|
327
327
|
|
|
328
328
|
**③ RunId + 结构化 JSON 日志(`run-logger.ts`)**
|
|
329
329
|
|
|
330
|
-
每次运行在 `.ai-spec-logs/<runId>.json`
|
|
330
|
+
每次运行在 `.ai-spec-logs/<runId>.json` 写入结构化日志。日志包含:
|
|
331
|
+
|
|
332
|
+
- **`entries[]`** — 每个主要阶段的 `stageStart`/`stageEnd`/`stageFail` 事件,含各阶段 `durationMs` 和业务数据(v0.29.0 完整插桩)
|
|
333
|
+
- **`filesWritten[]`** — 本次运行写入的所有文件路径
|
|
334
|
+
- **`errors[]`** — 各阶段失败时记录的错误摘要
|
|
331
335
|
|
|
332
336
|
```json
|
|
333
337
|
{
|
|
334
338
|
"runId": "20260326-143022-a7f2",
|
|
335
339
|
"startedAt": "2026-03-26T14:30:22.000Z",
|
|
336
|
-
"
|
|
337
|
-
"
|
|
338
|
-
"filesWritten": ["src/api/task.ts", "src/stores/taskStore.ts"
|
|
339
|
-
"
|
|
340
|
-
{ "event": "
|
|
341
|
-
{ "event": "
|
|
342
|
-
{ "event": "
|
|
343
|
-
...
|
|
340
|
+
"endedAt": "...",
|
|
341
|
+
"totalDurationMs": 94310,
|
|
342
|
+
"filesWritten": ["src/api/task.ts", "src/stores/taskStore.ts"],
|
|
343
|
+
"entries": [
|
|
344
|
+
{ "event": "context_load", "ts": "...", "data": { "techStack": ["node"], "repoType": "node-express" } },
|
|
345
|
+
{ "event": "context_load:done", "ts": "...", "data": { "durationMs": 312 } },
|
|
346
|
+
{ "event": "spec_gen", "ts": "...", "data": { "provider": "gemini", "model": "gemini-2.5-pro" } },
|
|
347
|
+
{ "event": "spec_gen:done", "ts": "...", "data": { "taskCount": 7, "durationMs": 18420 } },
|
|
348
|
+
{ "event": "dsl_extract", "ts": "..." },
|
|
349
|
+
{ "event": "dsl_extract:done", "ts": "...", "data": { "endpoints": 4, "models": 2, "durationMs": 6100 } },
|
|
350
|
+
{ "event": "codegen", "ts": "...", "data": { "mode": "api" } },
|
|
351
|
+
{ "event": "codegen:done", "ts": "...", "data": { "filesGenerated": 8, "durationMs": 51200 } },
|
|
352
|
+
{ "event": "review", "ts": "..." },
|
|
353
|
+
{ "event": "review:done", "ts": "...", "data": { "durationMs": 14800 } }
|
|
344
354
|
]
|
|
345
355
|
}
|
|
346
356
|
```
|
|
347
357
|
|
|
348
358
|
Run 结束后自动打印摘要(RunId、总耗时、写入文件数、日志路径)。日志供排查问题、统计各阶段耗时、追踪历史运行使用。
|
|
349
359
|
|
|
360
|
+
**覆盖范围(v0.29.0 扩展)**:`create` 命令 9 个阶段均已插桩;`update --codegen` 同样初始化独立 RunId,写文件前快照、写文件后记录,结束后打印摘要 + restore 提示,与 `create` 行为完全对齐。
|
|
361
|
+
|
|
350
362
|
***
|
|
351
363
|
|
|
352
364
|
### 2.12 3-pass 代码审查(v0.28.0+)
|
|
@@ -440,13 +452,13 @@ DSL 提取本身是高幻觉风险操作。ai-spec 做了几个针对性设计
|
|
|
440
452
|
|
|
441
453
|
## 4. 完整功能矩阵
|
|
442
454
|
|
|
443
|
-
截至 v0.
|
|
455
|
+
截至 v0.29.0,ai-spec 的完整能力覆盖:
|
|
444
456
|
|
|
445
457
|
| 阶段 | 命令 | 核心能力 |
|
|
446
458
|
|------|------|---------|
|
|
447
459
|
| **初始化** | `ai-spec init` | 扫描项目 → 生成宪法 §1-§8(`--global` 生成全局宪法,`--consolidate` 整合 §9) |
|
|
448
460
|
| **新功能** | `ai-spec create` | 宪法(全文注入)→ context → Spec+Tasks → **Spec 质量评估 + minSpecScore Gate** → Approval Gate → DSL → Worktree → 逐 task codegen(**七层顺序 + 层内拓扑排序 + 行为契约缓存**)→ **TDD(`--tdd`)** → 错误反馈闭环(全文扫描,≤2 轮)→ 测试骨架 → **3-pass review** |
|
|
449
|
-
| **变更迭代** | `ai-spec update` | 最小化更新 Spec → 定向更新 DSL(delta 对比)→ 识别受影响文件 →
|
|
461
|
+
| **变更迭代** | `ai-spec update` | 最小化更新 Spec → 定向更新 DSL(delta 对比)→ 识别受影响文件 → 可选重新生成(**`--codegen` 附带写前快照 + RunId 日志 + knowledge 积累,v0.29.0**) |
|
|
450
462
|
| **接口导出** | `ai-spec export` | DSL → OpenAPI 3.1.0 YAML/JSON,纯 TypeScript 实现,零外部依赖 |
|
|
451
463
|
| **前后端联调** | `ai-spec mock` | DSL → Express Mock Server + Proxy 配置 + MSW Handlers;`--serve` 一键后台启动服务器 + 自动 patch 前端 Proxy(Vite/CRA);`--restore` 一键还原 |
|
|
452
464
|
| **知识注入** | `ai-spec learn` | 零摩擦向宪法 §9 注入工程教训,不调用 AI,实时去重 |
|
|
@@ -454,7 +466,7 @@ DSL 提取本身是高幻觉风险操作。ai-spec 做了几个针对性设计
|
|
|
454
466
|
| **快照回滚** | `ai-spec restore <runId>` | 按 RunId 回滚本次生成写入的所有文件(v0.27.0+) |
|
|
455
467
|
| **多 Repo 工作区** | workspace 模式 | 一句需求 → AI 拆分职责+UX 决策 → [后端流水线 → DSL 契约] → [前端流水线(注入后端契约)];`--serve` 完成后自动启动联调环境 |
|
|
456
468
|
|
|
457
|
-
**单 Repo 流水线总图(v0.
|
|
469
|
+
**单 Repo 流水线总图(v0.29.0):**
|
|
458
470
|
|
|
459
471
|
```
|
|
460
472
|
需求描述
|