@dtt_siye/atool 1.3.0 → 1.4.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 (47) hide show
  1. package/VERSION +1 -1
  2. package/hooks/doc-sync-reminder +4 -4
  3. package/hooks/hooks-cursor.json +20 -0
  4. package/hooks/hooks.json +21 -1
  5. package/hooks/pre-commit +191 -0
  6. package/hooks/prompt-guard +84 -35
  7. package/hooks/session-start +34 -12
  8. package/hooks/task-state-tracker +145 -0
  9. package/lib/common.sh +36 -23
  10. package/lib/compute-importance.sh +73 -0
  11. package/lib/install-cursor.sh +2 -2
  12. package/lib/install-hooks.sh +64 -0
  13. package/lib/install-skills.sh +19 -0
  14. package/lib/knowledge-graph.sh +483 -81
  15. package/lib/pre-scan.sh +81 -6
  16. package/package.json +1 -1
  17. package/skills/agent-audit/SKILL.md +180 -0
  18. package/skills/architecture-guard/SKILL.md +164 -0
  19. package/skills/architecture-guard/rules/violation-detection.md +90 -0
  20. package/skills/ci-feedback/SKILL.md +165 -0
  21. package/skills/project-analyze/SKILL.md +131 -23
  22. package/skills/project-analyze/phases/phase1-setup.md +15 -1
  23. package/skills/project-analyze/phases/phase2-understand.md +17 -2
  24. package/skills/project-analyze/phases/phase2.5-refine.md +293 -0
  25. package/skills/project-analyze/phases/phase3-graph.md +7 -1
  26. package/skills/project-analyze/phases/phase4-synthesize.md +117 -120
  27. package/skills/project-analyze/phases/phase5-export.md +117 -33
  28. package/skills/project-analyze/prompts/understand-agent.md +17 -0
  29. package/skills/project-analyze/rules/android.md +61 -260
  30. package/skills/project-analyze/rules/devops.md +61 -421
  31. package/skills/project-analyze/rules/generic.md +53 -221
  32. package/skills/project-analyze/rules/go.md +60 -275
  33. package/skills/project-analyze/rules/harmony.md +64 -237
  34. package/skills/project-analyze/rules/java.md +47 -485
  35. package/skills/project-analyze/rules/mobile-flutter.md +57 -292
  36. package/skills/project-analyze/rules/mobile-react-native.md +65 -262
  37. package/skills/project-analyze/rules/mobile-swift.md +58 -303
  38. package/skills/project-analyze/rules/python.md +50 -296
  39. package/skills/project-analyze/rules/rust-tauri.md +51 -217
  40. package/skills/project-analyze/rules/rust.md +50 -274
  41. package/skills/project-analyze/rules/web-nextjs.md +61 -335
  42. package/skills/project-analyze/rules/web-react.md +50 -272
  43. package/skills/project-analyze/rules/web-vue.md +58 -352
  44. package/skills/project-analyze/rules/web.md +55 -347
  45. package/skills/project-query/SKILL.md +681 -120
  46. package/skills/requirements-writer/SKILL.md +48 -1
  47. package/skills/software-architecture/SKILL.md +73 -3
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: requirements-writer
3
3
  description: "Guide users through writing PRDs and requirements documents with Multi-Agent architecture. 在需要撰写 PRD、需求文档、用户故事时使用。Supports Quick PRD (single feature) and Full PRD (multi-module project). Integrates with project-analyze for code-driven requirement reverse-engineering."
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  category: documentation
6
6
  ---
7
7
 
@@ -413,6 +413,52 @@ Then: 系统删除用户记录,返回 204,列表刷新且不再显示该用
413
413
 
414
414
  ---
415
415
 
416
+ ## Refine Mode(精炼模式 — 由 project-analyze Phase 2.5 调用)
417
+
418
+ ### 触发条件
419
+
420
+ Phase 2.5 通过 sub-agent prompt 内联激活,不由用户手动触发。当 `atool-analysis/modules/{name}/prd.md` 存在时自动进入。
421
+
422
+ ### 输入
423
+
424
+ | 文件 | 用途 |
425
+ |------|------|
426
+ | `atool-analysis/modules/{name}/prd.md` | Phase 2 初稿(4 节结构) |
427
+ | `atool-analysis/modules/{name}/api.md` | 接口定义 → 自动生成 AC |
428
+ | `atool-analysis/modules/{name}/data-model.md` | 数据模型 → 填充 §4 数据需求 |
429
+ | `.atool-docs/modules/{name}/data.json` | 结构化数据 → 提取依赖和业务术语 |
430
+
431
+ ### 精炼逻辑
432
+
433
+ 1. **保留**初稿的 §1 模块概述、§2 功能需求、§3 非功能需求、原 §4 非目标(移至 §6)
434
+ 2. **补全**缺失的 4 节:
435
+ - §4 数据需求:从 `data-model.md` 提取实体字段表 + 从 `api.md` 提取接口 Schema
436
+ - §5 跨模块依赖:从 `data.json` 的 `dependencies` 提取外部 API 契约 + 事件契约
437
+ - §7 风险与假设:从初稿内容推断技术风险 + 业务假设
438
+ - §8 需求追溯矩阵:从 §2 的 FR-ID 和 AC 自动生成 FR → US → AC 映射表
439
+ 3. **增强**已有节:
440
+ - §2 功能需求:补充 FR-{MOD}-NNN 编号 + Given-When-Then AC + UI 交互表(按钮行为/输入字段/四种状态)+ RBAC 矩阵
441
+ - §3 非功能需求:加 NFR-{MOD}-NNN 编号,标注 `[待系统级确认]`
442
+ 4. **输出**:原地覆盖 `atool-analysis/modules/{name}/prd.md`,结构与 Phase 1 MODULE PRD 模板完全一致(8 节)
443
+
444
+ ### 不做的事(硬性)
445
+
446
+ - ❌ 不运行 Phase D(DISCOVERY)— Phase 2 已完成发现
447
+ - ❌ 不运行 Phase 2(USER STORIES)— 精炼只到 PRD 粒度
448
+ - ❌ 不做交互式问答 — 所有信息从 Phase 2 产物中提取
449
+ - ❌ 不修改 README.md / api.md / data-model.md — 只精炼 prd.md
450
+
451
+ ### 输出质量门禁
452
+
453
+ 精炼后的 prd.md 必须通过以下检查(由 Phase 2.5 Gate 2 执行):
454
+ - 8 节结构完整(§1-§8 标题均存在)
455
+ - FR-{MOD}-NNN 编号存在
456
+ - 至少 1 个 Given-When-Then AC
457
+ - NFR-{MOD}-NNN 编号存在
458
+ - 覆盖率评分 ≥ 70%
459
+
460
+ ---
461
+
416
462
  ## 并行 Agent 规则
417
463
 
418
464
  - 每批最多 5 个 Agent 并行
@@ -432,4 +478,5 @@ Then: 系统删除用户记录,返回 204,列表刷新且不再显示该用
432
478
  | project-analyze | atool-analysis/ 存在时 | 读取分析结果作为数据源(后向增强模式) |
433
479
  | doc-standards-enforcer | 所有文档输出 | 验证格式/命名/frontmatter 合规 |
434
480
  | software-architecture | PRD 涉及架构决策 | 建议运行 /software-architecture |
481
+ | software-architecture | NFR-{MOD}-* 不可超出 NFR-SYS-* 范围 | 读取系统级 NFR 约束(Phase 4 生成后回扫确认) |
435
482
  | code-review | PRD 完成后需要验证代码一致性 | 建议运行 /code-review |
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: software-architecture
3
3
  description: Use when designing, reviewing, or scaffolding system architecture — covers architecture style selection, high-concurrency/HA design, DDD, clean architecture, microservice boundaries, and deployment strategy.
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  category: architecture
6
6
  ---
7
7
 
@@ -462,6 +462,76 @@ For existing projects requiring architecture assessment:
462
462
  4. Produce ADR or architecture improvement plan
463
463
  5. Validate output with `doc-standards-enforcer`
464
464
 
465
+ ### project-analyze 数据契约(Refine Mode 输入)
466
+
467
+ 以下文件是 Refine Mode 的输入数据源,project-analyze 必须确保这些文件在 Phase 2.5 调用前存在:
468
+
469
+ | 文件 | 内容 | 生成阶段 |
470
+ |------|------|---------|
471
+ | `.atool-docs/knowledge-graph.json` | 耦合度量、依赖图 | Phase 3 |
472
+ | `.atool-docs/multi-dimensional-analysis.json` | 五维分析数据 | Phase 3 |
473
+ | `.atool-docs/modules/*/data.json` | 模块级结构化数据 | Phase 2 |
474
+ | `atool-analysis/modules/*/prd.md` | 精炼后的模块 PRD(含 NFR-{MOD}-NNN) | Phase 2.5 |
475
+ | `atool-analysis/modules/*/dev-guide.md` | 精炼后的架构文档(含 ADR) | Phase 2.5 |
476
+
477
+ ---
478
+
479
+ ## Refine Mode(精炼模式 — 由 project-analyze Phase 2.5 调用)
480
+
481
+ ### 触发条件
482
+
483
+ Phase 2.5 通过 sub-agent prompt 内联激活,不由用户手动触发。在 requirements-writer Refine Mode 完成后自动进入。
484
+
485
+ ### 输入
486
+
487
+ | 文件 | 用途 |
488
+ |------|------|
489
+ | `atool-analysis/modules/{name}/README.md` | 模块业务概述 |
490
+ | `atool-analysis/modules/{name}/prd.md` | 精炼后的标准 PRD(8 节,含 NFR-{MOD}-NNN) |
491
+ | `atool-analysis/modules/{name}/api.md` | 接口定义 → API 契约设计 |
492
+ | `atool-analysis/modules/{name}/data-model.md` | 数据模型 → 数据所有权 |
493
+ | `atool-analysis/modules/{name}/dev-guide.md` | Phase 2 初稿 → 追加架构章节 |
494
+ | `.atool-docs/modules/{name}/data.json` | 结构化数据(含 refine_hints) |
495
+ | `{stack}-conventions` Architecture + API Design 节 | 栈级架构规范约束 |
496
+
497
+ ### 精炼逻辑
498
+
499
+ 在 `dev-guide.md` 基础上**追加**架构章节(不删除原有内容):
500
+
501
+ 1. **B-subset. 组件设计**(从 Output Format B 裁剪到模块级):
502
+ - 模块内部分层表(层名 / 职责 / 关键类)
503
+ - 边界定义(公开接口 vs 内部实现)
504
+ - 依赖方向约束
505
+
506
+ 2. **C-subset. 数据与交互设计**(从 Output Format C 裁剪到模块级):
507
+ - 数据所有权声明(本模块拥有哪些实体)
508
+ - 同步/异步通信边界表
509
+ - API 契约摘要(引用 api.md)
510
+
511
+ 3. **ADR(架构决策记录)**:
512
+ - 使用 G. ADR Template 的 7 节结构
513
+ - 至少 1 个 ADR(该模块最关键的架构决策)
514
+ - Status / Context / Decision / Options / Consequences / NFR Impact / Related
515
+
516
+ 4. **NFR 对齐**:
517
+ - 确保 prd.md 中的 NFR-{MOD}-NNN 与架构选择一致
518
+ - 首轮标注 `[待系统级确认]`(Phase 4 生成 NFR-SYS-NNN 后回扫替换)
519
+
520
+ ### 不做的事(硬性)
521
+
522
+ - ❌ 不生成 A(Architecture Summary)— 项目级,Phase 4 负责
523
+ - ❌ 不生成 D(Deployment)— 项目级,Phase 4 负责
524
+ - ❌ 不生成 E(Risk)/ F(Roadmap)— 项目级,Phase 4 负责
525
+ - ❌ 不做交互式 6 步决策工作流 — 信息从 Phase 2 产物中提取
526
+ - ❌ 不修改 prd.md / api.md / data-model.md — 只精炼 dev-guide.md
527
+
528
+ ### 输出质量门禁
529
+
530
+ 精炼后的 dev-guide.md 必须通过以下检查(由 Phase 2.5 Gate 3 执行):
531
+ - 包含"组件设计"或"Component Design"章节
532
+ - 包含至少 1 个 ADR 条目
533
+ - ADR 包含 Status + Decision + Consequences(7 节中最关键的 3 节)
534
+
465
535
  ---
466
536
 
467
537
  ## Guardrails
@@ -499,11 +569,11 @@ Do **not**:
499
569
 
500
570
  | 协作 Skill | 触发条件 | 交互方式 |
501
571
  |-----------|---------|---------|
502
- | **project-analyze** | 需要分析现有项目架构 | 先运行 `/project-analyze` 生成知识图谱,再用数据驱动架构评审 |
572
+ | **project-analyze** | Phase 2.5 Refine Mode 调用;Phase 4 聚合时引用 A/E/F 模板结构 | 读取模块文档 + 知识图谱 |
503
573
  | **code-review** | 架构合规性验证 | code-review Dimension 5 验证架构合规;重大违规时建议运行本 skill 深度评审 |
504
574
  | **doc-standards-enforcer** | 产出架构文档(ADR、HLD/LLD) | 架构交付物完成后,用 `doc-standards-enforcer` 验证文档格式 |
505
575
  | **doc-coauthoring** | 协作撰写技术规格或设计文档 | 本 skill 提供技术内容准确性,`doc-coauthoring` 管理协作流程 |
506
576
  | **project-query** | 需要查询架构分析详细数据(层违反、耦合度等) | 建议运行 |
507
- | **requirements-writer** | Architecture NFR 需要传递到模块 PRD | 系统级 NFR(NFR-SYS-*)作为模块级 NFR 的上游约束 |
577
+ | **requirements-writer** | NFR-SYS-* NFR-{MOD}-* 的上游约束 | 系统级 NFR 约束模块级 NFR 范围 |
508
578
  | **java-conventions** | Java/Spring 项目架构设计 | 加载栈级分层/命名/并发规范 |
509
579
  | **web-conventions** | 前端项目架构设计 | 加载前端项目结构/组件规范 |