@chongyan/autospec 1.0.1
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/LICENSE +21 -0
- package/README.en.md +472 -0
- package/README.md +476 -0
- package/bin/autospec.js +3 -0
- package/knowledge/README.md +144 -0
- package/knowledge/checklists/code.md +182 -0
- package/knowledge/checklists/design.md +196 -0
- package/knowledge/checklists/release.md +70 -0
- package/knowledge/checklists/requirement.md +169 -0
- package/knowledge/checklists/test.md +46 -0
- package/knowledge/config/README.en.md +44 -0
- package/knowledge/config/README.md +44 -0
- package/knowledge/config/role-composition.yaml +98 -0
- package/knowledge/config/role-extensions.yaml +140 -0
- package/knowledge/config/skill-compositions.yaml +142 -0
- package/knowledge/config/team-stage.yaml +95 -0
- package/knowledge/config/team-tasks.yaml +139 -0
- package/knowledge/config/team-triggers.yaml +198 -0
- package/knowledge/config/validation-patterns.yaml +137 -0
- package/knowledge/domain/README.md +115 -0
- package/knowledge/domain/flows/README.md +194 -0
- package/knowledge/domain/glossary.md +143 -0
- package/knowledge/domain/rules.md +138 -0
- package/knowledge/environment/README.en.md +36 -0
- package/knowledge/environment/README.md +87 -0
- package/knowledge/environment/component-knowledge.md +316 -0
- package/knowledge/environment/detection-patterns.yaml +502 -0
- package/knowledge/environment/middleware-knowledge.md +237 -0
- package/knowledge/environment/template-registry.md +321 -0
- package/knowledge/guides/domain-driven-design.md +345 -0
- package/knowledge/guides/knowledge-management.md +369 -0
- package/knowledge/guides/requirement-engineering.md +329 -0
- package/knowledge/guides/stages/ai-effect-evaluator.md +93 -0
- package/knowledge/guides/stages/code-implementer.md +205 -0
- package/knowledge/guides/stages/code-reviewer.md +111 -0
- package/knowledge/guides/stages/consistency-checker.md +177 -0
- package/knowledge/guides/stages/design-planner.md +401 -0
- package/knowledge/guides/stages/design-reviewer.md +83 -0
- package/knowledge/guides/stages/integration-test-runner.md +105 -0
- package/knowledge/guides/stages/release-checker.md +205 -0
- package/knowledge/guides/stages/requirement-analyzer.md +195 -0
- package/knowledge/guides/stages/requirement-reviewer.md +83 -0
- package/knowledge/guides/stages/security-reviewer.md +89 -0
- package/knowledge/guides/stages/test-context-analyzer.md +250 -0
- package/knowledge/guides/stages/test-generator.md +241 -0
- package/knowledge/guides/stages/test-planner.md +183 -0
- package/knowledge/guides/stages/test-reviewer.md +76 -0
- package/knowledge/guides/stages/unit-test-runner.md +83 -0
- package/knowledge/guides/support/ai-agent-analyzer.md +362 -0
- package/knowledge/guides/support/ai-anomaly-analyzer.md +213 -0
- package/knowledge/guides/support/ai-artifact-evaluator.md +192 -0
- package/knowledge/guides/support/ai-capability-analyzer.md +193 -0
- package/knowledge/guides/support/ai-component-analyzer.md +169 -0
- package/knowledge/guides/support/ai-data-validator.md +276 -0
- package/knowledge/guides/support/ai-evaluation-planner.md +374 -0
- package/knowledge/guides/support/ai-path-evaluator.md +274 -0
- package/knowledge/guides/support/ai-pipeline-evaluator.md +219 -0
- package/knowledge/guides/support/ai-rag-analyzer.md +339 -0
- package/knowledge/guides/support/ai-task-assessor.md +418 -0
- package/knowledge/guides/support/ai-test-diagnostics.md +133 -0
- package/knowledge/guides/support/complexity-assessor.md +268 -0
- package/knowledge/guides/support/component-discovery.md +183 -0
- package/knowledge/guides/support/environment-scanner.md +207 -0
- package/knowledge/guides/support/environment-validator.md +207 -0
- package/knowledge/guides/support/knowledge-generator.md +234 -0
- package/knowledge/guides/support/methodology-extractor.md +55 -0
- package/knowledge/guides/support/pipeline-protocol.md +438 -0
- package/knowledge/guides/support/practice-logger.md +359 -0
- package/knowledge/guides/support/scope-inference.md +174 -0
- package/knowledge/guides/support/skill-distiller.md +91 -0
- package/knowledge/guides/support/skill-updater.md +45 -0
- package/knowledge/guides/support/skill-validator.md +72 -0
- package/knowledge/guides/support/team-orchestrator.md +323 -0
- package/knowledge/guides/support/tech-stack-analyzer.md +139 -0
- package/knowledge/guides/support/test-runner.md +254 -0
- package/knowledge/guides/system-design.md +352 -0
- package/knowledge/organization/ai-native-team.md +318 -0
- package/knowledge/organization/team-metrics.md +228 -0
- package/knowledge/principles/constitution.md +134 -0
- package/knowledge/principles/core-principles.md +368 -0
- package/knowledge/principles/design-philosophy.md +877 -0
- package/knowledge/principles/evolution.md +553 -0
- package/knowledge/process/01-requirement.md +113 -0
- package/knowledge/process/02-design.md +123 -0
- package/knowledge/process/03-implementation.md +90 -0
- package/knowledge/process/04-review.md +80 -0
- package/knowledge/process/05-testing.md +90 -0
- package/knowledge/process/06-delivery.md +88 -0
- package/knowledge/process/README.en.md +38 -0
- package/knowledge/process/README.md +48 -0
- package/knowledge/process/ai-sdlc.md +475 -0
- package/knowledge/process/overview.md +319 -0
- package/knowledge/standards/code-review.md +876 -0
- package/knowledge/standards/coding-style.md +940 -0
- package/knowledge/standards/data-consistency.md +1085 -0
- package/knowledge/standards/document-versioning.md +210 -0
- package/knowledge/standards/risk-detection.md +186 -0
- package/knowledge/templates/ai-evaluation.md +150 -0
- package/knowledge/templates/api-design.md +117 -0
- package/knowledge/templates/database-design.md +132 -0
- package/knowledge/templates/domain-driven-design.md +321 -0
- package/knowledge/templates/product-proposal.md +201 -0
- package/knowledge/templates/system-design.md +227 -0
- package/knowledge/templates/task-breakdown.md +107 -0
- package/knowledge/templates/test-case.md +170 -0
- package/package.json +53 -0
- package/plugins/.claude-plugin/plugin.json +134 -0
- package/plugins/agents/roles/ai-engineer.md +129 -0
- package/plugins/agents/roles/backend-engineer.md +165 -0
- package/plugins/agents/roles/ceo.md +94 -0
- package/plugins/agents/roles/data-engineer.md +135 -0
- package/plugins/agents/roles/devops-engineer.md +181 -0
- package/plugins/agents/roles/frontend-engineer.md +129 -0
- package/plugins/agents/roles/product-owner.md +98 -0
- package/plugins/agents/roles/quality-engineer.md +129 -0
- package/plugins/agents/roles/security-engineer.md +180 -0
- package/plugins/agents/roles/tech-lead.md +97 -0
- package/plugins/agents/support/blind-comparator.md +88 -0
- package/plugins/agents/support/consistency-checker.md +103 -0
- package/plugins/agents/support/failure-diagnostician.md +141 -0
- package/plugins/agents/support/independent-reviewer.md +80 -0
- package/plugins/agents/support/safety-auditor.md +121 -0
- package/plugins/agents/support/skill-benchmarker.md +86 -0
- package/plugins/agents/support/skill-forger.md +105 -0
- package/plugins/agents/support/stage-gate-evaluator.md +121 -0
- package/plugins/agents/support/test-coverage-reviewer.md +73 -0
- package/plugins/benchmarks/templates/README.md +44 -0
- package/plugins/benchmarks/templates/commands/explore-template.yaml +48 -0
- package/plugins/benchmarks/templates/pipeline/agile-template.yaml +84 -0
- package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +106 -0
- package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +48 -0
- package/plugins/commands/README.en.md +96 -0
- package/plugins/commands/README.md +96 -0
- package/plugins/commands/apply.md +191 -0
- package/plugins/commands/archive.md +76 -0
- package/plugins/commands/env-export.md +79 -0
- package/plugins/commands/env-sync.md +640 -0
- package/plugins/commands/env-template.md +223 -0
- package/plugins/commands/env-update.md +264 -0
- package/plugins/commands/env-validate.md +176 -0
- package/plugins/commands/env.md +79 -0
- package/plugins/commands/explore.md +76 -0
- package/plugins/commands/field-evolve.md +536 -0
- package/plugins/commands/memory.md +249 -0
- package/plugins/commands/project-evolve.md +821 -0
- package/plugins/commands/propose.md +93 -0
- package/plugins/commands/review.md +140 -0
- package/plugins/commands/run.md +224 -0
- package/plugins/commands/status.md +62 -0
- package/plugins/commands/validate.md +108 -0
- package/plugins/hooks/README.en.md +56 -0
- package/plugins/hooks/README.md +56 -0
- package/plugins/hooks/ai-project-guard.js +329 -0
- package/plugins/hooks/artifact-evaluation-hook.js +237 -0
- package/plugins/hooks/constitution-guard.js +211 -0
- package/plugins/hooks/environment-autocommit.js +264 -0
- package/plugins/hooks/environment-manager.js +778 -0
- package/plugins/hooks/execution-tracker.js +354 -0
- package/plugins/hooks/frozen-zone-guard.js +140 -0
- package/plugins/hooks/layer1-validator.js +423 -0
- package/plugins/hooks/lib/artifact-evaluator.js +414 -0
- package/plugins/hooks/lib/benchmarks/change-detector.js +390 -0
- package/plugins/hooks/lib/benchmarks/evaluator.js +605 -0
- package/plugins/hooks/lib/benchmarks/integration-example.js +169 -0
- package/plugins/hooks/lib/data-and-ai-detector.js +275 -0
- package/plugins/hooks/lib/detection-pattern-loader.js +865 -0
- package/plugins/hooks/lib/directory-discovery.js +395 -0
- package/plugins/hooks/lib/environment-config-loader.js +341 -0
- package/plugins/hooks/lib/environment-detector.js +553 -0
- package/plugins/hooks/lib/environment-evolver.js +564 -0
- package/plugins/hooks/lib/environment-registry.js +813 -0
- package/plugins/hooks/lib/execution-path.js +427 -0
- package/plugins/hooks/lib/hook-error-recorder.js +245 -0
- package/plugins/hooks/lib/hook-logger.js +538 -0
- package/plugins/hooks/lib/hook-runner.js +97 -0
- package/plugins/hooks/lib/hook-runner.sh +44 -0
- package/plugins/hooks/lib/hook-state-manager.js +480 -0
- package/plugins/hooks/lib/memory-extractor.js +377 -0
- package/plugins/hooks/lib/memory-manager.js +673 -0
- package/plugins/hooks/lib/metrics-analyzer.js +489 -0
- package/plugins/hooks/lib/project-evolution/auto-fixer.js +511 -0
- package/plugins/hooks/lib/project-evolution/memory-manager.js +346 -0
- package/plugins/hooks/lib/project-evolution/pattern-detector.js +476 -0
- package/plugins/hooks/lib/project-evolution/semantic-indexer.js +480 -0
- package/plugins/hooks/lib/project-structure-detector.js +326 -0
- package/plugins/hooks/lib/rollback-tracker.js +346 -0
- package/plugins/hooks/lib/source-code-scanner.js +596 -0
- package/plugins/hooks/lib/technology-stack-detector.js +374 -0
- package/plugins/hooks/lib/test-failure-analyzer.js +375 -0
- package/plugins/hooks/lib/test-failure-fixer.js +268 -0
- package/plugins/hooks/lib/trace-context.js +277 -0
- package/plugins/hooks/lib/validation-patterns.js +415 -0
- package/plugins/hooks/memory-sync.js +171 -0
- package/plugins/hooks/pipeline-observer.js +413 -0
- package/plugins/hooks/scope-sentinel.js +204 -0
- package/plugins/hooks/trace-initialization.js +169 -0
- package/plugins/memory/templates/code-quality.yaml +149 -0
- package/plugins/memory/templates/multi-system.yaml +155 -0
- package/plugins/memory/templates/team-habits.yaml +119 -0
- package/plugins/memory/templates/testing.yaml +121 -0
- package/plugins/skills/README.en.md +47 -0
- package/plugins/skills/README.md +104 -0
- package/plugins/skills/benchmark-executor/README.md +93 -0
- package/plugins/skills/benchmark-executor/SKILL.md +647 -0
- package/plugins/skills/benchmark-generator/SKILL.md +349 -0
- package/plugins/skills/delivery-stage/SKILL.md +203 -0
- package/plugins/skills/design-stage/SKILL.md +216 -0
- package/plugins/skills/evolution-process/SKILL.md +291 -0
- package/plugins/skills/exploration-phase/SKILL.md +133 -0
- package/plugins/skills/implementation-stage/SKILL.md +179 -0
- package/plugins/skills/layer1-validation/SKILL.md +79 -0
- package/plugins/skills/pending-dashboard/SKILL.md +109 -0
- package/plugins/skills/project-evolution/SKILL.md +847 -0
- package/plugins/skills/requirement-stage/SKILL.md +183 -0
- package/plugins/skills/skill-forge/SKILL.md +223 -0
- package/plugins/skills/skill-forge/references/description-guide.md +92 -0
- package/plugins/skills/skill-forge/references/quality-rubric.md +104 -0
- package/plugins/skills/skill-forge/references/skill-template.md +106 -0
- package/plugins/skills/startup-guard/SKILL.md +38 -0
- package/plugins/skills/testing-stage/SKILL.md +195 -0
- package/scripts/cli/global-init.js +288 -0
- package/scripts/cli/global.js +324 -0
- package/scripts/cli/index.js +55 -0
- package/scripts/cli/init.js +382 -0
- package/scripts/cli/list.js +69 -0
- package/scripts/cli/org.js +340 -0
- package/scripts/cli/update.js +44 -0
- package/scripts/config/commands.config.js +145 -0
- package/scripts/config/hooks.config.js +197 -0
- package/scripts/evolution/evolution-router.js +273 -0
- package/scripts/evolution/evolution-signal-collector.js +307 -0
- package/scripts/evolution/knowledge-loader.js +346 -0
- package/scripts/evolution/marketplace.js +317 -0
- package/scripts/evolution/version-manager.js +371 -0
- package/scripts/install/agents.js +106 -0
- package/scripts/install/commands.js +133 -0
- package/scripts/install/constants.js +424 -0
- package/scripts/install/hook-logger.js +536 -0
- package/scripts/install/hooks.js +110 -0
- package/scripts/install/index.js +39 -0
- package/scripts/install/skills.js +95 -0
- package/scripts/postinstall.js +25 -0
- package/scripts/state.js +376 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "就这么干,方案写下来" — 方案设计阶段。包含技术方案设计。
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AutoSpec Propose — 方案设计
|
|
6
|
+
|
|
7
|
+
## 用户输入
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 前置处理
|
|
16
|
+
|
|
17
|
+
【前置】读取流程协议:
|
|
18
|
+
> **【重要】执行本command前必须先读取流程协议**
|
|
19
|
+
> 1. 读取 `knowledge/guides/support/pipeline-protocol.md` 中的「流程能力」章节
|
|
20
|
+
> 2. 执行以下步骤:
|
|
21
|
+
> - 解析命令与参数
|
|
22
|
+
> - 加载必要文件
|
|
23
|
+
> - 检查前置条件(确认需求分析已完成)
|
|
24
|
+
> 3. 完成后继续执行本命令的具体逻辑
|
|
25
|
+
>
|
|
26
|
+
> **【注意】日志追踪已启用**
|
|
27
|
+
> - 执行日志会自动记录到 `.autospec/logs/execution-{date}.json`
|
|
28
|
+
> - 关键步骤(skill加载、agent调用、产物生成、阶段完成)都会被追踪
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 执行指令
|
|
33
|
+
|
|
34
|
+
### Step 1: 检查上游依赖
|
|
35
|
+
|
|
36
|
+
- 确认需求分析已完成(检查 state.json)
|
|
37
|
+
- 未完成 → 阻断并提示先执行 explore
|
|
38
|
+
|
|
39
|
+
### Step 2: 组织上下文
|
|
40
|
+
|
|
41
|
+
- 加载需求契约(requirements.md)
|
|
42
|
+
- 加载角色profile中的关注点
|
|
43
|
+
|
|
44
|
+
### Step 3: AI技能自动检测
|
|
45
|
+
|
|
46
|
+
- 按需加载 evaluation-planner/rag-analyzer 等
|
|
47
|
+
|
|
48
|
+
### Step 4: 技术方案设计
|
|
49
|
+
|
|
50
|
+
**【强制】必须读取并按照 design-planner 执行**
|
|
51
|
+
- 使用 Read 工具读取 `knowledge/guides/stages/design-planner.md`
|
|
52
|
+
- 生成技术方案到 `.autospec/specs/{feature}/design.md`
|
|
53
|
+
|
|
54
|
+
### Step 5: 双层验证
|
|
55
|
+
|
|
56
|
+
**【强制】必须按顺序执行:**
|
|
57
|
+
|
|
58
|
+
1. **【强制】执行 Layer1 验证**
|
|
59
|
+
- 设计文档完整性检查
|
|
60
|
+
- 验证失败 → 修复后重试
|
|
61
|
+
|
|
62
|
+
2. **【强制】调用 Layer2 审查**
|
|
63
|
+
- 使用 Agent 工具,subagent_type=independent-reviewer
|
|
64
|
+
- 传入审查标准:`knowledge/guides/stages/design-reviewer.md`
|
|
65
|
+
- 传入被审查文档:`.autospec/specs/{feature}/design.md`
|
|
66
|
+
- 等待审查完成后再继续
|
|
67
|
+
|
|
68
|
+
3. **【强制】审查结果处理**
|
|
69
|
+
- 审查通过 → 进入 Step 6
|
|
70
|
+
- 审查不通过 → 执行修复循环(见下方)
|
|
71
|
+
|
|
72
|
+
#### 修复循环机制
|
|
73
|
+
|
|
74
|
+
当 Layer2 审查返回"不通过"时:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
循环直到审查通过(最多3次):
|
|
78
|
+
1. 提取 reviewer 的"必须修复(blocking)"清单
|
|
79
|
+
2. 读取 design-planner.md 并执行修复
|
|
80
|
+
3. 重新执行 Layer1 验证
|
|
81
|
+
4. 重新调用 Layer2 审查
|
|
82
|
+
5. 达到3次上限仍不通过 → 记录问题,标记需要人工介入
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Step 6: 更新 state.json
|
|
86
|
+
|
|
87
|
+
**【强制】更新状态**
|
|
88
|
+
- 记录阶段完成状态
|
|
89
|
+
- 记录关键决策
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
**继续执行**: `/autospec:apply`
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 审查各阶段交付物(需求/设计/代码/测试),评估产出质量
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AutoSpec Review — 独立审查
|
|
6
|
+
|
|
7
|
+
## 用户输入
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 执行指令
|
|
16
|
+
|
|
17
|
+
### Step 1: 解析参数
|
|
18
|
+
|
|
19
|
+
解析用户输入,提取:
|
|
20
|
+
- 审查类型:`requirement` | `design` | `code` | `test`
|
|
21
|
+
- 审查目标:文件或目录路径,或 git 仓库地址
|
|
22
|
+
- 分支名称(可选):--branch <name>
|
|
23
|
+
- 输出位置(可选):--output path
|
|
24
|
+
|
|
25
|
+
**参数格式**:
|
|
26
|
+
```
|
|
27
|
+
[type] [target] [--branch <name>] [--output path]
|
|
28
|
+
|
|
29
|
+
示例:
|
|
30
|
+
- review code ./src/main.js
|
|
31
|
+
- review design ./docs/design.md
|
|
32
|
+
- review requirement ./specs/requirement.md
|
|
33
|
+
- review test ./tests/
|
|
34
|
+
- review code ./src/ --output ./my-review.md
|
|
35
|
+
- review code https://github.com/user/repo # git 仓库
|
|
36
|
+
- review code https://github.com/user/repo --branch develop # 指定分支
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Step 2: 处理目标路径
|
|
40
|
+
|
|
41
|
+
**规则 1:处理 target 类型**
|
|
42
|
+
|
|
43
|
+
1. **如果是 git URL**(以 http://、https://、git@ 开头):
|
|
44
|
+
- 确定目标目录:`/tmp/autospec-review-{repo-name}-{branch}`
|
|
45
|
+
- 克隆仓库:
|
|
46
|
+
- 有分支指定:`git clone -b <branch> <url>`
|
|
47
|
+
- 无分支指定:`git clone --depth 1 <url>`
|
|
48
|
+
- 在克隆目录中查找审查目标
|
|
49
|
+
|
|
50
|
+
2. **如果是本地目录或文件**:
|
|
51
|
+
- 直接使用指定路径
|
|
52
|
+
|
|
53
|
+
**规则 3:如果 type 未指定**:
|
|
54
|
+
1. 读取 `.autospec/runtime/state.json` 获取当前阶段
|
|
55
|
+
2. 根据当前阶段自动推断审查类型:
|
|
56
|
+
- Stage 01(需求分析)→ requirement
|
|
57
|
+
- Stage 02(方案设计)→ design
|
|
58
|
+
- Stage 03/04(编码实施/代码审查)→ code
|
|
59
|
+
- Stage 05(QA测试)→ test
|
|
60
|
+
3. 直接执行审查,无需人类确认
|
|
61
|
+
|
|
62
|
+
**规则 4:如果 target 未指定**:
|
|
63
|
+
1. 根据 type 从标准位置查找产出物:
|
|
64
|
+
- requirement → `.autospec/specs/{feature}/requirement.md`
|
|
65
|
+
- design → `.autospec/specs/{feature}/design.md`
|
|
66
|
+
- code → `./src/`(项目根目录)
|
|
67
|
+
- test → `./tests/` 或 `./test/`
|
|
68
|
+
2. 扫描项目中最新的相关文件
|
|
69
|
+
|
|
70
|
+
**规则 5:如果 output 未指定**:
|
|
71
|
+
- 默认写入:`.autospec/reviews/review-{type}-{timestamp}.md`
|
|
72
|
+
|
|
73
|
+
**规则 6:完全无参数时**:
|
|
74
|
+
1. 读取 state.json 确定当前阶段
|
|
75
|
+
2. 根据阶段自动推断 type 和 target
|
|
76
|
+
3. 直接执行审查,无需人类确认
|
|
77
|
+
|
|
78
|
+
### Step 3: 加载审查标准
|
|
79
|
+
|
|
80
|
+
根据审查类型,加载对应 reviewer skill:
|
|
81
|
+
|
|
82
|
+
| type | 审查标准文件 |
|
|
83
|
+
|------|-------------|
|
|
84
|
+
| requirement | `{{knowledge}}/skills/stages/requirement-reviewer.md` |
|
|
85
|
+
| design | `{{knowledge}}/skills/stages/design-reviewer.md` |
|
|
86
|
+
| code | `{{knowledge}}/skills/stages/code-reviewer.md` |
|
|
87
|
+
| test | `{{knowledge}}/skills/stages/test-reviewer.md` |
|
|
88
|
+
|
|
89
|
+
### Step 4: 执行审查
|
|
90
|
+
|
|
91
|
+
**【强制】** 调用 Agent 工具:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
使用 **independent-reviewer** Agent 执行独立审查:
|
|
95
|
+
prompt: |
|
|
96
|
+
请审查以下产出物。
|
|
97
|
+
|
|
98
|
+
1. 先读取审查标准: {审查标准文件路径}
|
|
99
|
+
2. 被审查目标: {审查目标路径}
|
|
100
|
+
3. 注意:你是独立审查者,只看产出物和标准,不参考生产过程
|
|
101
|
+
|
|
102
|
+
审查完成后,将审查报告写入:{输出路径}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Step 5: 输出报告
|
|
106
|
+
|
|
107
|
+
- 写入指定位置或默认位置 `.autospec/reviews/`
|
|
108
|
+
- 终端输出审查结论摘要
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 输出格式
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## 审查结论:通过 / 不通过
|
|
116
|
+
|
|
117
|
+
### 基本信息
|
|
118
|
+
- 审查类型:{requirement/design/code/test}
|
|
119
|
+
- 审查目标:{文件路径}
|
|
120
|
+
- 审查时间:{ISO 8601}
|
|
121
|
+
- 审查标准:{skill文件路径}
|
|
122
|
+
|
|
123
|
+
### 逐项判定
|
|
124
|
+
| 检查项 | 结论 | 证据 | 备注 |
|
|
125
|
+
|--------|------|------|------|
|
|
126
|
+
| ... | PASS/FAIL | {证据} | {建议} |
|
|
127
|
+
|
|
128
|
+
### 必须修复(blocking)
|
|
129
|
+
- ...
|
|
130
|
+
|
|
131
|
+
### 建议改进(non-blocking)
|
|
132
|
+
- ...
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 相关命令
|
|
138
|
+
|
|
139
|
+
- `/autospec:validate` — Layer 1 确定性验证
|
|
140
|
+
- `/autospec:status` — 查看流程状态
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 启动或恢复AutoSpec自主研发流程。统一控制瀑布迭代/敏捷迭代/实验模式/热修复四种模式,无人值守执行。
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AutoSpec Run — 启动自主流程
|
|
6
|
+
|
|
7
|
+
## 用户输入
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 前置处理
|
|
16
|
+
|
|
17
|
+
【前置】读取流程协议:
|
|
18
|
+
> **【重要】执行本command前必须先读取流程协议**
|
|
19
|
+
> 1. 读取 `knowledge/guides/support/pipeline-protocol.md` 中的「流程能力」章节
|
|
20
|
+
> 2. 执行以下步骤:
|
|
21
|
+
> - 解析命令与参数
|
|
22
|
+
> - 加载必要文件
|
|
23
|
+
> - 检查前置条件
|
|
24
|
+
> 3. 完成后继续执行本命令的具体逻辑
|
|
25
|
+
>
|
|
26
|
+
> **【注意】日志追踪已启用**
|
|
27
|
+
> - 执行日志会自动记录到 `.autospec/logs/execution-{date}.json`
|
|
28
|
+
> - 关键步骤(skill加载、agent调用、产物生成、阶段完成)都会被追踪
|
|
29
|
+
> - 可通过读取日志文件分析执行情况
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 执行指令
|
|
34
|
+
|
|
35
|
+
### Step 0: 任务输入处理
|
|
36
|
+
|
|
37
|
+
**【强制执行】**:
|
|
38
|
+
|
|
39
|
+
1. **检查用户输入**:
|
|
40
|
+
- 如果 `$ARGUMENTS` 非空 → 使用用户提供的任务描述
|
|
41
|
+
- 如果 `$ARGUMENTS` 为空 → 进入上下文检测
|
|
42
|
+
|
|
43
|
+
2. **上下文检测**(仅当参数为空时):
|
|
44
|
+
```
|
|
45
|
+
a. 检查 .autospec/runtime/state.json 是否存在
|
|
46
|
+
b. 检查 .autospec/specs/ 目录是否有需求文档
|
|
47
|
+
c. 检查 state.json 中的 currentStage 字段
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
3. **根据检测结果决定执行策略**:
|
|
51
|
+
|
|
52
|
+
**情况A:有已完成的探索阶段**
|
|
53
|
+
- 读取 `.autospec/specs/{feature}/requirement.md`
|
|
54
|
+
- 读取 `.autospec/runtime/state.json` 获取上下文
|
|
55
|
+
- 基于已有上下文继续执行,无需重新输入
|
|
56
|
+
|
|
57
|
+
**情况B:有中断的流程**
|
|
58
|
+
- 读取 state.json 确定 currentStage
|
|
59
|
+
- 从中断点恢复执行
|
|
60
|
+
|
|
61
|
+
**情况C:全新启动(无历史上下文)**
|
|
62
|
+
- **必须**向用户询问任务描述
|
|
63
|
+
- 格式:
|
|
64
|
+
```
|
|
65
|
+
🚀 AutoSpec 自主流程启动
|
|
66
|
+
|
|
67
|
+
请提供任务描述,例如:
|
|
68
|
+
- 实现用户登录功能
|
|
69
|
+
- 添加订单导出功能
|
|
70
|
+
- 修复支付流程的并发问题
|
|
71
|
+
|
|
72
|
+
💡 提示:可以先运行 /autospec:explore 进行需求探索,
|
|
73
|
+
探索结果将作为自主运行的上下文,执行更精准。
|
|
74
|
+
```
|
|
75
|
+
- 等待用户输入后继续
|
|
76
|
+
|
|
77
|
+
### Step 1: 初始化与迭代模式确认
|
|
78
|
+
|
|
79
|
+
**【强制执行】**:初始化和迭代模式确认在探索阶段之前完成。
|
|
80
|
+
|
|
81
|
+
1. **读取配置文件**:
|
|
82
|
+
- 读取 pipeline/overview.md 选择工作流模板
|
|
83
|
+
- 加载角色profile(roles/{角色}-profile.md)
|
|
84
|
+
- 检查宪法门禁(读取 constitution.md)
|
|
85
|
+
|
|
86
|
+
2. **解析 workflow 参数**:
|
|
87
|
+
- 优先使用 `$ARGUMENTS` 中指定的 `--workflow=` 参数
|
|
88
|
+
- 有效值:waterfall, agile, experiment, hotfix
|
|
89
|
+
|
|
90
|
+
3. **用户确认迭代模式**(未指定参数时):
|
|
91
|
+
- **【重要】** 迭代模式确认必须在探索阶段之前完成
|
|
92
|
+
- 读取 `knowledge/process/overview.md` 了解各模式适用场景
|
|
93
|
+
- 使用 AskUserQuestion 工具向用户确认迭代模式:
|
|
94
|
+
```
|
|
95
|
+
🚀 请选择迭代模式:
|
|
96
|
+
|
|
97
|
+
1. waterfall(瀑布模式)- 完整流程,适合新功能开发
|
|
98
|
+
2. agile(敏捷模式)- 循环迭代,适合用户故事驱动
|
|
99
|
+
3. experiment(实验模式)- 原型验证,适合技术探索/AI
|
|
100
|
+
4. hotfix(热修复)- 快速通道,适合紧急修复
|
|
101
|
+
```
|
|
102
|
+
- 等待用户选择后继续
|
|
103
|
+
|
|
104
|
+
4. **记录到 state.json**:
|
|
105
|
+
- 记录选择的迭代模式
|
|
106
|
+
- 初始化关键假设追踪表
|
|
107
|
+
|
|
108
|
+
### Step 2: 探索阶段 - 团队对齐与需求澄清
|
|
109
|
+
|
|
110
|
+
**【强制执行】**:此阶段必须与人类进行深入交互,完成需求澄清后才能继续。
|
|
111
|
+
|
|
112
|
+
**【重要】** 即使有详细的需求文档,也必须执行多Agent对抗分析和多轮澄清!需求文档是重要输入材料,澄清时要基于文档内容深入探讨,不能忽略文档中的信息。
|
|
113
|
+
|
|
114
|
+
**【复用】** 读取 `plugins/skills/exploration-phase/SKILL.md` 并执行探索阶段逻辑:
|
|
115
|
+
|
|
116
|
+
1. 复杂度评估 → 确定探索轮次上限(简单2-3轮,中等3-4轮,复杂5-6轮)
|
|
117
|
+
2. 检查是否已有澄清记录(clarifications.md)
|
|
118
|
+
3. **【强制】【不可跳过】** 使用 Agent 工具启动 2-3 个独立 Agent 进行对抗分析:
|
|
119
|
+
- Agent A - 乐观视角:支持理由、预期价值
|
|
120
|
+
- Agent B - 质疑视角:潜在问题、风险、伪需求可能性
|
|
121
|
+
- Agent C - 技术视角:技术可行性、实现难点
|
|
122
|
+
4. **【强制】【不可跳过】** 使用 AskUserQuestion 工具进行多轮澄清:
|
|
123
|
+
- 每轮最多5个问题
|
|
124
|
+
- 每个问题附AI推荐答案
|
|
125
|
+
- 支持用户提前终止(说「足够」「清楚了」)
|
|
126
|
+
- **必须至少执行一轮澄清**
|
|
127
|
+
5. 用户确认「足够」或达到轮次上限 → 探索完成
|
|
128
|
+
6. 生成 requirement.md 并通过 Layer1/Layer2 验证
|
|
129
|
+
|
|
130
|
+
**【禁止跳过】** 以下情况必须暂停并使用 AskUserQuestion 向用户确认:
|
|
131
|
+
- 需求有歧义
|
|
132
|
+
- 技术方案有多种选择
|
|
133
|
+
- 涉及安全/性能/成本等关键决策
|
|
134
|
+
- **即使需求文档很详细,也必须执行至少一轮澄清**
|
|
135
|
+
- 用户说「足够」前不得跳过澄清环节
|
|
136
|
+
|
|
137
|
+
**【自动执行】** 探索阶段完成后,自动进入后续阶段,无需人工确认。后续流程全自动执行,仅在以下情况暂停:
|
|
138
|
+
- 安全制动触发(DP10)
|
|
139
|
+
- 3次修复循环失败
|
|
140
|
+
- 宪法门禁违反
|
|
141
|
+
|
|
142
|
+
### Step 3: 阶段执行序列(全自动)
|
|
143
|
+
|
|
144
|
+
**【强制执行】**:每个阶段执行「做→审→修复」循环,直到通过审查。
|
|
145
|
+
|
|
146
|
+
**【自动执行】**:探索阶段完成后,按顺序自动执行以下阶段,无需人工确认。每个阶段完成后立即进入下一阶段:
|
|
147
|
+
|
|
148
|
+
- **阶段1:需求探索** → 已在 Step 2 完成
|
|
149
|
+
- **阶段2:方案设计** → Read design-planner.md → Read design-reviewer.md → 审查通过后自动进入下一阶段
|
|
150
|
+
- **阶段3:编码实施** → Read code-implementer.md → Read code-reviewer.md → 审查通过后自动进入下一阶段
|
|
151
|
+
- **阶段4:QA测试** → Read test-generator.md → Read test-reviewer.md + Agent测试执行(单元测试→集成测试→效果评测)→ 审查通过后自动进入下一阶段
|
|
152
|
+
- **阶段5:交付归档** → Read release-checker.md
|
|
153
|
+
|
|
154
|
+
### Step 4: 阶段执行循环(核心质量保障)
|
|
155
|
+
|
|
156
|
+
**【强制执行】**:每个阶段必须通过「做→Layer1验证→Layer2审查→修复(如需)」循环。
|
|
157
|
+
|
|
158
|
+
#### 4.1 阶段内执行循环
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
循环直到 reviewer 审查通过(最多3次):
|
|
162
|
+
|
|
163
|
+
1. 【做】读取对应的 implementer/analyzer 文件并执行
|
|
164
|
+
→ 生成阶段产出物
|
|
165
|
+
|
|
166
|
+
2. 【Layer1 验证】确定性验证
|
|
167
|
+
→ 编译/测试/lint/类型检查
|
|
168
|
+
→ 验证失败 → 修复后重试(内联重试)
|
|
169
|
+
|
|
170
|
+
3. 【Layer2 审查】使用 Agent 工具进行审查,传入审查标准文件路径
|
|
171
|
+
→ 审查产出物质量
|
|
172
|
+
|
|
173
|
+
4. 【判定】
|
|
174
|
+
→ 审查通过 → 进入下一阶段
|
|
175
|
+
→ 审查不通过 → 执行修复循环
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### 4.2 修复循环(精准回退 DP6)
|
|
179
|
+
|
|
180
|
+
当 reviewer 返回"不通过"时:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
Level 1 - 内联重试(单次):
|
|
184
|
+
- 如果是简单的格式/遗漏问题,reviewer 顺便修复
|
|
185
|
+
- 重新审查
|
|
186
|
+
|
|
187
|
+
Level 2 - 修正循环(最多3次):
|
|
188
|
+
- 提取 reviewer 的"必须修复(blocking)"清单
|
|
189
|
+
- 读取对应的 implementer 文件并执行修复
|
|
190
|
+
- 重新执行 Layer1 验证
|
|
191
|
+
- 重新调用 reviewer 审查
|
|
192
|
+
- 循环直到通过或达到3次上限
|
|
193
|
+
|
|
194
|
+
Level 3 - 升级人工(3次后):
|
|
195
|
+
- 记录无法自动解决的问题
|
|
196
|
+
- 标记需要人工介入
|
|
197
|
+
- 继续执行其他阶段(不阻塞流程)
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### 4.3 审查结果处理
|
|
201
|
+
|
|
202
|
+
**【自动执行】** 审查通过后立即进入下一阶段,无需等待用户确认。
|
|
203
|
+
|
|
204
|
+
reviewer 审查结果处理规则:
|
|
205
|
+
|
|
206
|
+
| 审查结论 | 处理方式 |
|
|
207
|
+
|---------|---------|
|
|
208
|
+
| 通过 | **立即进入下一阶段**(不暂停、不询问) |
|
|
209
|
+
| 不通过(有blocking项) | 触发修复循环 |
|
|
210
|
+
| 不通过(超过3次) | 升级人工标记,继续下一阶段 |
|
|
211
|
+
| 建议改进(non-blocking) | 记录但不阻塞,可后续优化 |
|
|
212
|
+
|
|
213
|
+
### Step 5: 收尾
|
|
214
|
+
|
|
215
|
+
全流程完成后:
|
|
216
|
+
1. 汇总各阶段产出和关键假设最终状态
|
|
217
|
+
2. 输出执行日志(含度量数据:回退次数、人工介入次数、各阶段耗时)
|
|
218
|
+
3. 触发 skill-distiller 检查可沉淀的skills
|
|
219
|
+
4. 触发 methodology-extractor 检查可沉淀的方法论
|
|
220
|
+
5. 记录到 practice-log
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
**继续执行**: `/autospec:explore` 或 `/autospec:propose`
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 查看当前AutoSpec流程的执行状态
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AutoSpec Status — 状态查看
|
|
6
|
+
|
|
7
|
+
## 用户输入
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 执行指令
|
|
16
|
+
|
|
17
|
+
### Step 1: 读取状态
|
|
18
|
+
|
|
19
|
+
- 读取 state.json
|
|
20
|
+
- 读取 metrics.json
|
|
21
|
+
|
|
22
|
+
### Step 2: 展示状态
|
|
23
|
+
|
|
24
|
+
- **单系统模式**:展示当前阶段、验证结果、假设追踪
|
|
25
|
+
- **多系统模式**:展示各子系统状态表、效果指标
|
|
26
|
+
|
|
27
|
+
### Step 3: 提供恢复建议
|
|
28
|
+
|
|
29
|
+
- 根据当前状态给出下一步建议
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 输出格式
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
## AutoSpec 状态
|
|
37
|
+
|
|
38
|
+
### 基本信息
|
|
39
|
+
- 任务: {taskName}
|
|
40
|
+
- 工作流: {workflow}
|
|
41
|
+
- 当前阶段: {currentStage}
|
|
42
|
+
- 执行模式: {executionMode}
|
|
43
|
+
|
|
44
|
+
### 阶段进度
|
|
45
|
+
| 阶段 | 状态 | Layer1 | Layer2 |
|
|
46
|
+
|-----|------|--------|--------|
|
|
47
|
+
| 01-需求分析 | ✅ 完成 | ✅ | ✅ |
|
|
48
|
+
| 02-方案设计 | 🔄 进行中 | ⏳ | - |
|
|
49
|
+
| ... | ... | ... | ... |
|
|
50
|
+
|
|
51
|
+
### 质量指标
|
|
52
|
+
- Layer1 通过率: {layer1PassRate}%
|
|
53
|
+
- Layer2 通过率: {layer2PassRate}%
|
|
54
|
+
- 人工介入次数: {humanInterventions}
|
|
55
|
+
|
|
56
|
+
### 下一步建议
|
|
57
|
+
{nextSteps}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## 相关命令
|
|
61
|
+
|
|
62
|
+
- `/evaluate` — 生成完整评测报告
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 运行AutoSpec Layer 1确定性验证(编译/测试/lint),支持本地目录和git仓库
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AutoSpec Validate — Layer 1验证
|
|
6
|
+
|
|
7
|
+
## 用户输入
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 执行指令
|
|
16
|
+
|
|
17
|
+
### Step 1: 解析参数
|
|
18
|
+
|
|
19
|
+
解析用户输入,提取:
|
|
20
|
+
- 目标路径:本地目录或 git 仓库地址
|
|
21
|
+
- 分支名称(git 仓库时):--branch <name>
|
|
22
|
+
- 验证类型(可选):--build | --test | --lint
|
|
23
|
+
- 输出路径(可选):--output <path>
|
|
24
|
+
|
|
25
|
+
**参数格式**:
|
|
26
|
+
```
|
|
27
|
+
[target] [--branch <name>] [--build|--test|--lint] [--output path]
|
|
28
|
+
|
|
29
|
+
示例:
|
|
30
|
+
- validate # 当前项目
|
|
31
|
+
- validate ./my-project # 本地目录
|
|
32
|
+
- validate https://github.com/user/repo # git 仓库
|
|
33
|
+
- validate https://github.com/user/repo --branch main # 指定分支
|
|
34
|
+
- validate ./src --test # 只运行测试
|
|
35
|
+
- validate ./src --output ./report.md # 指定输出
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 2: 处理目标路径
|
|
39
|
+
|
|
40
|
+
**规则 1:如果 target 未指定**
|
|
41
|
+
- 默认使用当前项目目录(`.`)
|
|
42
|
+
|
|
43
|
+
**规则 2:如果 target 是本地目录**
|
|
44
|
+
- 直接在指定目录执行验证
|
|
45
|
+
|
|
46
|
+
**规则 3:如果 target 是 git URL**
|
|
47
|
+
1. 判断是否为 git 仓库(以 http://、https://、git@ 开头)
|
|
48
|
+
2. 确定目标目录:
|
|
49
|
+
- 有分支指定:`/tmp/autospec-validate-{repo-name}-{branch}`
|
|
50
|
+
- 无分支指定:`/tmp/autospec-validate-{repo-name}-{default-branch}`
|
|
51
|
+
3. 执行克隆:
|
|
52
|
+
- 使用 `git clone --depth 1` 减少克隆时间
|
|
53
|
+
- 指定分支:`git clone -b <branch>`
|
|
54
|
+
4. 在克隆目录执行验证
|
|
55
|
+
|
|
56
|
+
### Step 3: 确定验证模式
|
|
57
|
+
|
|
58
|
+
**规则 4:如果未指定验证类型**
|
|
59
|
+
- 默认执行全部:build + test + lint
|
|
60
|
+
|
|
61
|
+
**规则 5:如果指定验证类型**
|
|
62
|
+
- `--build`:只执行编译检查
|
|
63
|
+
- `--test`:只执行测试
|
|
64
|
+
- `--lint`:只执行 Lint 检查
|
|
65
|
+
|
|
66
|
+
### Step 4: 执行Layer1验证
|
|
67
|
+
|
|
68
|
+
根据 config.json 判断单系统/多系统,执行:
|
|
69
|
+
- 编译检查
|
|
70
|
+
- 测试执行
|
|
71
|
+
- Lint检查
|
|
72
|
+
- 类型检查(如适用)
|
|
73
|
+
|
|
74
|
+
### Step 5: 输出验证报告
|
|
75
|
+
|
|
76
|
+
- 默认写入:`.autospec/validation/validation-{timestamp}.md`
|
|
77
|
+
- 或用户指定的输出路径
|
|
78
|
+
- 每项结果附带执行日志
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 输出格式
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
## 验证结论:通过 / 部分通过 / 失败
|
|
86
|
+
|
|
87
|
+
### 验证目标
|
|
88
|
+
- 目标路径:{本地目录/git URL}
|
|
89
|
+
- 分支:{branch}(如适用)
|
|
90
|
+
- 验证类型:{build/test/lint/all}
|
|
91
|
+
|
|
92
|
+
### 验证结果
|
|
93
|
+
| 验证项 | 状态 | 执行命令 | 结果 |
|
|
94
|
+
|--------|------|---------|------|
|
|
95
|
+
| 编译 | ✅ PASS | npm run build | ... |
|
|
96
|
+
| 测试 | ❌ FAIL | npm test | 3 failed |
|
|
97
|
+
| Lint | ✅ PASS | eslint . | 0 errors |
|
|
98
|
+
|
|
99
|
+
### 执行日志
|
|
100
|
+
{详细日志}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 相关命令
|
|
106
|
+
|
|
107
|
+
- `/autospec:review` — Layer 2 独立审查
|
|
108
|
+
- `/autospec:status` — 查看流程状态
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Hooks Scripts Directory
|
|
2
|
+
|
|
3
|
+
This directory contains all Claude Code hooks scripts, which are copied to `.autospec/plugins/hooks/` during the init process.
|
|
4
|
+
|
|
5
|
+
## Directory Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
hooks/
|
|
9
|
+
├── trace-initialization.js # Trace ID initialization
|
|
10
|
+
├── frozen-zone-guard.js # Frozen zone protection
|
|
11
|
+
├── scope-sentinel.js # Scope drift prevention
|
|
12
|
+
├── constitution-guard.js # Constitution gate
|
|
13
|
+
├── layer1-validator.js # Layer 1 validation
|
|
14
|
+
├── environment-manager.js # Environment management
|
|
15
|
+
├── ai-project-guard.js # AI project security
|
|
16
|
+
├── execution-tracker.js # Execution tracking
|
|
17
|
+
├── artifact-evaluation-hook.js # Artifact evaluation
|
|
18
|
+
├── pipeline-observer.js # Pipeline observation
|
|
19
|
+
├── lib/ # Utility library
|
|
20
|
+
│ ├── source-code-scanner.js
|
|
21
|
+
│ ├── detection-pattern-loader.js
|
|
22
|
+
│ ├── validation-patterns.js
|
|
23
|
+
│ ├── hook-logger.js
|
|
24
|
+
│ ├── hook-state-manager.js
|
|
25
|
+
│ ├── trace-context.js
|
|
26
|
+
│ ├── rollback-tracker.js
|
|
27
|
+
│ ├── artifact-evaluator.js
|
|
28
|
+
│ ├── execution-path.js
|
|
29
|
+
│ └── metrics-analyzer.js
|
|
30
|
+
└── README.md # This file
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Hook Trigger Timing
|
|
34
|
+
|
|
35
|
+
| Hook | PreToolUse | PostToolUse | Stop |
|
|
36
|
+
|------|------------|-------------|------|
|
|
37
|
+
| trace-initialization | ✅ | | |
|
|
38
|
+
| frozen-zone-guard | ✅ | | |
|
|
39
|
+
| scope-sentinel | ✅ | | |
|
|
40
|
+
| constitution-guard | ✅ | | |
|
|
41
|
+
| layer1-validator | ✅ | ✅ | |
|
|
42
|
+
| environment-manager | ✅ | | ✅ |
|
|
43
|
+
| ai-project-guard | ✅ | ✅ | |
|
|
44
|
+
| execution-tracker | | ✅ | |
|
|
45
|
+
| artifact-evaluation-hook | | ✅ | |
|
|
46
|
+
| pipeline-observer | | ✅ | ✅ |
|
|
47
|
+
|
|
48
|
+
## Self-Contained Requirements
|
|
49
|
+
|
|
50
|
+
Scripts in this directory must be self-contained, meeting the following requirements:
|
|
51
|
+
|
|
52
|
+
1. **Only depend on Node.js built-in modules** (fs, path, etc.)
|
|
53
|
+
2. **Only depend on `./lib/` local utility library**
|
|
54
|
+
3. **Do not depend on any scaffolding code**
|
|
55
|
+
|
|
56
|
+
This ensures they can run independently after being copied to `.autospec/plugins/hooks/`.
|