@chongyan/autospec 1.0.1 → 1.0.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.
Files changed (283) hide show
  1. package/LICENSE +21 -21
  2. package/README.en.md +447 -321
  3. package/README.md +418 -286
  4. package/knowledge/01-principles/00-principles-hierarchy.md +247 -0
  5. package/knowledge/01-principles/01-first-principles.md +241 -0
  6. package/knowledge/01-principles/02-strategic-principles.md +286 -0
  7. package/knowledge/01-principles/03-tactical-principles.md +385 -0
  8. package/knowledge/01-principles/04-operational-principles.md +275 -0
  9. package/knowledge/01-principles/05-domain-principles.md +539 -0
  10. package/knowledge/01-principles/06-methodology-principles.md +281 -0
  11. package/knowledge/01-principles/07-cognitive-principles.md +277 -0
  12. package/knowledge/01-principles/08-auto-fix-principles.md +320 -0
  13. package/knowledge/01-principles/09-constitution.md +220 -0
  14. package/knowledge/{principles/evolution.md → 01-principles/10-evolution-mechanism.md} +160 -14
  15. package/knowledge/01-principles/README.en.md +385 -0
  16. package/knowledge/01-principles/README.md +385 -0
  17. package/knowledge/{process/overview.md → 02-process/00-overview.md} +90 -5
  18. package/knowledge/02-process/README.en.md +143 -0
  19. package/knowledge/02-process/README.md +186 -0
  20. package/knowledge/{guides/support/pipeline-protocol.md → 03-guides/00-pipeline-protocol.md} +10 -10
  21. package/knowledge/{guides/support/team-orchestrator.md → 03-guides/01-team-orchestrator.md} +53 -8
  22. package/knowledge/{guides/stages/requirement-analyzer.md → 03-guides/02-analyze-requirement.md} +3 -3
  23. package/knowledge/{guides/stages/ai-effect-evaluator.md → 03-guides/08-evaluate-ai-effect.md} +14 -7
  24. package/knowledge/{guides/support/skill-distiller.md → 03-guides/19-distill-skill.md} +3 -3
  25. package/knowledge/{guides/support/skill-updater.md → 03-guides/20-update-skill.md} +1 -1
  26. package/knowledge/{guides/support/methodology-extractor.md → 03-guides/22-extract-methodology.md} +2 -2
  27. package/knowledge/{guides/support/complexity-assessor.md → 03-guides/24-assess-complexity.md} +6 -4
  28. package/knowledge/{guides/support/tech-stack-analyzer.md → 03-guides/26-analyze-tech-stack.md} +1 -1
  29. package/knowledge/{guides/domain-driven-design.md → 03-guides/42-apply-ddd.md} +1 -1
  30. package/knowledge/{process/ai-sdlc.md → 03-guides/43-run-ai-sdlc.md} +1 -1
  31. package/knowledge/{guides/knowledge-management.md → 03-guides/44-manage-knowledge.md} +4 -4
  32. package/knowledge/03-guides/README.en.md +212 -0
  33. package/knowledge/03-guides/README.md +212 -0
  34. package/knowledge/{checklists/requirement.md → 04-checklists/00-requirement.md} +1 -1
  35. package/knowledge/{checklists/design.md → 04-checklists/01-design.md} +1 -1
  36. package/knowledge/{checklists/code.md → 04-checklists/02-code.md} +16 -1
  37. package/knowledge/{checklists/release.md → 04-checklists/04-release.md} +1 -1
  38. package/knowledge/04-checklists/README.en.md +119 -0
  39. package/knowledge/04-checklists/README.md +123 -0
  40. package/knowledge/{config/validation-patterns.yaml → 05-config/00-validation-patterns.yaml} +1 -1
  41. package/knowledge/{config/team-tasks.yaml → 05-config/02-team-tasks.yaml} +2 -2
  42. package/knowledge/05-config/03-role-composition.yaml +346 -0
  43. package/knowledge/{config/skill-compositions.yaml → 05-config/05-skill-compositions.yaml} +24 -24
  44. package/knowledge/05-config/README.en.md +54 -0
  45. package/knowledge/05-config/README.md +132 -0
  46. package/knowledge/06-environment/00-template-registry.md +310 -0
  47. package/knowledge/06-environment/01-detection-patterns.yaml +1692 -0
  48. package/knowledge/{environment → 06-environment}/README.en.md +4 -0
  49. package/knowledge/{environment → 06-environment}/README.md +66 -25
  50. package/knowledge/{standards/coding-style.md → 07-standards/00-coding-style.md} +123 -4
  51. package/knowledge/{standards/code-review.md → 07-standards/01-code-review.md} +3 -3
  52. package/knowledge/{standards/data-consistency.md → 07-standards/02-data-consistency.md} +1 -1
  53. package/knowledge/{standards/document-versioning.md → 07-standards/03-document-versioning.md} +1 -1
  54. package/knowledge/{standards/risk-detection.md → 07-standards/04-risk-detection.md} +5 -5
  55. package/knowledge/07-standards/README.en.md +119 -0
  56. package/knowledge/07-standards/README.md +123 -0
  57. package/knowledge/08-organization/00-vision-mission.md +113 -0
  58. package/knowledge/{organization/ai-native-team.md → 08-organization/01-ai-native-culture.md} +1 -1
  59. package/knowledge/{organization/team-metrics.md → 08-organization/02-team-metrics.md} +1 -1
  60. package/knowledge/08-organization/03-committee-structure.md +54 -0
  61. package/knowledge/08-organization/04-governance-metrics.md +55 -0
  62. package/knowledge/08-organization/05-improvement-process.md +71 -0
  63. package/knowledge/08-organization/README.en.md +165 -0
  64. package/knowledge/08-organization/README.md +165 -0
  65. package/knowledge/09-templates/00-requirement-proposal.md +344 -0
  66. package/knowledge/09-templates/01-architecture-design.md +494 -0
  67. package/knowledge/09-templates/02-api-design.md +408 -0
  68. package/knowledge/09-templates/03-database-design.md +313 -0
  69. package/knowledge/09-templates/04-product-design.md +237 -0
  70. package/knowledge/09-templates/05-domain-business.md +388 -0
  71. package/knowledge/09-templates/06-test-design.md +268 -0
  72. package/knowledge/09-templates/07-evaluation-design.md +372 -0
  73. package/knowledge/09-templates/08-component-knowledge.md +272 -0
  74. package/knowledge/09-templates/09-best-practices.md +218 -0
  75. package/knowledge/{environment/middleware-knowledge.md → 09-templates/10-middleware-knowledge.md} +106 -1
  76. package/knowledge/09-templates/README.en.md +222 -0
  77. package/knowledge/09-templates/README.md +216 -0
  78. package/knowledge/README.en.md +372 -0
  79. package/knowledge/README.md +354 -99
  80. package/package.json +1 -1
  81. package/plugins/.claude-plugin/plugin.json +460 -81
  82. package/plugins/agents/roles/ceo.md +1 -1
  83. package/plugins/agents/roles/product-owner.md +1 -1
  84. package/plugins/agents/roles/tech-lead.md +1 -1
  85. package/plugins/agents/support/consistency-checker.md +36 -3
  86. package/plugins/agents/support/monitoring-agent.md +215 -0
  87. package/plugins/agents/support/safety-auditor.md +2 -2
  88. package/plugins/agents/support/stage-gate-evaluator.md +95 -11
  89. package/plugins/agents/support/test-coverage-reviewer.md +1 -1
  90. package/plugins/benchmarks/templates/README.md +165 -13
  91. package/plugins/benchmarks/templates/commands/apply-template.yaml +108 -0
  92. package/plugins/benchmarks/templates/commands/archive-template.yaml +65 -0
  93. package/plugins/benchmarks/templates/commands/env-export-template.yaml +64 -0
  94. package/plugins/benchmarks/templates/commands/env-sync-template.yaml +104 -0
  95. package/plugins/benchmarks/templates/commands/env-template-template.yaml +96 -0
  96. package/plugins/benchmarks/templates/commands/env-template.yaml +58 -0
  97. package/plugins/benchmarks/templates/commands/env-update-template.yaml +110 -0
  98. package/plugins/benchmarks/templates/commands/env-validate-template.yaml +95 -0
  99. package/plugins/benchmarks/templates/commands/field-evolve-template.yaml +104 -0
  100. package/plugins/benchmarks/templates/commands/project-evolve-template.yaml +104 -0
  101. package/plugins/benchmarks/templates/commands/propose-template.yaml +88 -0
  102. package/plugins/benchmarks/templates/commands/review-template.yaml +124 -0
  103. package/plugins/benchmarks/templates/commands/run-template.yaml +127 -0
  104. package/plugins/benchmarks/templates/commands/test-template.yaml +149 -0
  105. package/plugins/benchmarks/templates/pipeline/experiment-template.yaml +92 -0
  106. package/plugins/benchmarks/templates/pipeline/hotfix-template.yaml +81 -0
  107. package/plugins/benchmarks/templates/skills/agile-iteration-template.yaml +78 -0
  108. package/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml +114 -0
  109. package/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml +52 -0
  110. package/plugins/benchmarks/templates/skills/delivery-stage-template.yaml +130 -0
  111. package/plugins/benchmarks/templates/skills/design-stage-template.yaml +131 -0
  112. package/plugins/benchmarks/templates/skills/experiment-iteration-template.yaml +60 -0
  113. package/plugins/benchmarks/templates/skills/exploration-phase-template.yaml +114 -0
  114. package/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml +51 -0
  115. package/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml +34 -0
  116. package/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml +50 -0
  117. package/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml +52 -0
  118. package/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml +33 -0
  119. package/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml +74 -0
  120. package/plugins/benchmarks/templates/skills/field-evolve-template.yaml +71 -0
  121. package/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml +51 -0
  122. package/plugins/benchmarks/templates/skills/hotfix-iteration-template.yaml +54 -0
  123. package/plugins/benchmarks/templates/skills/implementation-stage-template.yaml +127 -0
  124. package/plugins/benchmarks/templates/skills/layer1-validation-template.yaml +121 -0
  125. package/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml +51 -0
  126. package/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml +52 -0
  127. package/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml +34 -0
  128. package/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml +50 -0
  129. package/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml +50 -0
  130. package/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml +75 -0
  131. package/plugins/benchmarks/templates/skills/project-evolve-template.yaml +72 -0
  132. package/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml +51 -0
  133. package/plugins/benchmarks/templates/skills/skill-forge-template.yaml +117 -0
  134. package/plugins/benchmarks/templates/skills/startup-guard-template.yaml +103 -0
  135. package/plugins/benchmarks/templates/skills/testing-stage-template.yaml +146 -0
  136. package/plugins/benchmarks/templates/skills/waterfall-iteration-template.yaml +55 -0
  137. package/plugins/commands/README.en.md +2 -2
  138. package/plugins/commands/README.md +2 -2
  139. package/plugins/commands/apply.md +102 -16
  140. package/plugins/commands/archive.md +60 -4
  141. package/plugins/commands/env-sync.md +1047 -406
  142. package/plugins/commands/env-template.md +11 -135
  143. package/plugins/commands/env-update.md +1 -1
  144. package/plugins/commands/env-validate.md +3 -3
  145. package/plugins/commands/explore.md +118 -1
  146. package/plugins/commands/field-evolve.md +51 -175
  147. package/plugins/commands/project-evolve.md +167 -68
  148. package/plugins/commands/propose.md +97 -6
  149. package/plugins/commands/review.md +5 -5
  150. package/plugins/commands/run.md +841 -13
  151. package/plugins/commands/status.md +138 -17
  152. package/plugins/commands/test.md +389 -0
  153. package/plugins/hooks/constitution-guard.js +1 -1
  154. package/plugins/hooks/environment-autocommit.js +366 -24
  155. package/plugins/hooks/environment-manager.js +3 -2
  156. package/plugins/hooks/execution-tracker.js +109 -4
  157. package/plugins/hooks/layer1-validator.js +117 -1
  158. package/plugins/hooks/lib/auto-fix-loop.js +605 -0
  159. package/plugins/hooks/lib/environment-config-loader.js +11 -7
  160. package/plugins/hooks/lib/hook-state-manager.js +98 -0
  161. package/plugins/hooks/lib/memory-extractor.js +27 -5
  162. package/plugins/hooks/lib/memory-manager.js +1 -1
  163. package/plugins/hooks/lib/test-auto-fix.test.js +194 -0
  164. package/plugins/hooks/monitoring-trigger.js +467 -0
  165. package/plugins/skills/README.en.md +15 -3
  166. package/plugins/skills/README.md +21 -11
  167. package/plugins/skills/agile-iteration/SKILL.md +187 -0
  168. package/plugins/skills/delivery-stage/SKILL.md +133 -12
  169. package/plugins/skills/design-stage/SKILL.md +103 -12
  170. package/plugins/skills/experiment-evaluator/SKILL.md +271 -0
  171. package/plugins/skills/experiment-iteration/SKILL.md +154 -0
  172. package/plugins/skills/exploration-phase/SKILL.md +93 -10
  173. package/plugins/skills/field-evolve-analyzer/SKILL.md +65 -0
  174. package/plugins/skills/field-evolve-distiller/SKILL.md +66 -0
  175. package/plugins/skills/field-evolve-executor/SKILL.md +94 -0
  176. package/plugins/skills/field-evolve-executor/executor.js +342 -0
  177. package/plugins/skills/field-evolve-fixer/SKILL.md +69 -0
  178. package/plugins/skills/field-evolve-learner/SKILL.md +65 -0
  179. package/plugins/skills/field-evolve-scanner/SKILL.md +87 -0
  180. package/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +288 -0
  181. package/plugins/skills/field-evolve-verifier/SKILL.md +64 -0
  182. package/plugins/skills/hotfix-iteration/SKILL.md +279 -0
  183. package/plugins/skills/implementation-stage/SKILL.md +156 -15
  184. package/plugins/skills/layer1-validation/SKILL.md +1 -1
  185. package/plugins/skills/pending-dashboard/SKILL.md +9 -8
  186. package/plugins/skills/project-evolve-analyzer/SKILL.md +95 -0
  187. package/plugins/skills/project-evolve-fixer/SKILL.md +99 -0
  188. package/plugins/skills/project-evolve-generator/SKILL.md +149 -0
  189. package/plugins/skills/project-evolve-learner/SKILL.md +103 -0
  190. package/plugins/skills/project-evolve-reviewer/SKILL.md +104 -0
  191. package/plugins/skills/project-evolve-scanner/SKILL.md +95 -0
  192. package/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +395 -0
  193. package/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +315 -0
  194. package/plugins/skills/project-evolve-verifier/SKILL.md +105 -0
  195. package/plugins/skills/requirement-stage/SKILL.md +47 -13
  196. package/plugins/skills/skill-forge/SKILL.md +2 -2
  197. package/plugins/skills/testing-stage/SKILL.md +583 -8
  198. package/plugins/skills/waterfall-iteration/SKILL.md +115 -0
  199. package/scripts/cli/index.js +1 -1
  200. package/scripts/cli/init.js +30 -4
  201. package/scripts/cli/list.js +3 -2
  202. package/scripts/config/commands.config.js +8 -8
  203. package/scripts/config/hooks.config.js +1 -1
  204. package/scripts/install/constants.js +204 -165
  205. package/scripts/state.js +210 -1
  206. package/knowledge/config/README.en.md +0 -44
  207. package/knowledge/config/README.md +0 -44
  208. package/knowledge/config/role-composition.yaml +0 -98
  209. package/knowledge/config/team-triggers.yaml +0 -198
  210. package/knowledge/domain/README.md +0 -115
  211. package/knowledge/domain/flows/README.md +0 -194
  212. package/knowledge/domain/glossary.md +0 -143
  213. package/knowledge/domain/rules.md +0 -138
  214. package/knowledge/environment/component-knowledge.md +0 -316
  215. package/knowledge/environment/detection-patterns.yaml +0 -502
  216. package/knowledge/environment/template-registry.md +0 -321
  217. package/knowledge/guides/requirement-engineering.md +0 -329
  218. package/knowledge/guides/system-design.md +0 -352
  219. package/knowledge/principles/constitution.md +0 -134
  220. package/knowledge/principles/core-principles.md +0 -368
  221. package/knowledge/principles/design-philosophy.md +0 -877
  222. package/knowledge/process/README.en.md +0 -38
  223. package/knowledge/process/README.md +0 -48
  224. package/knowledge/templates/ai-evaluation.md +0 -150
  225. package/knowledge/templates/api-design.md +0 -117
  226. package/knowledge/templates/database-design.md +0 -132
  227. package/knowledge/templates/domain-driven-design.md +0 -321
  228. package/knowledge/templates/product-proposal.md +0 -201
  229. package/knowledge/templates/system-design.md +0 -227
  230. package/knowledge/templates/task-breakdown.md +0 -107
  231. package/knowledge/templates/test-case.md +0 -170
  232. package/plugins/commands/validate.md +0 -108
  233. package/plugins/skills/benchmark-executor/README.md +0 -93
  234. package/plugins/skills/evolution-process/SKILL.md +0 -291
  235. package/plugins/skills/project-evolution/SKILL.md +0 -847
  236. package/scripts/evolution/evolution-router.js +0 -273
  237. package/scripts/evolution/evolution-signal-collector.js +0 -307
  238. package/scripts/evolution/knowledge-loader.js +0 -346
  239. package/scripts/evolution/marketplace.js +0 -317
  240. package/scripts/evolution/version-manager.js +0 -371
  241. /package/knowledge/{process → 02-process}/01-requirement.md +0 -0
  242. /package/knowledge/{process → 02-process}/02-design.md +0 -0
  243. /package/knowledge/{process → 02-process}/03-implementation.md +0 -0
  244. /package/knowledge/{process → 02-process}/04-review.md +0 -0
  245. /package/knowledge/{process → 02-process}/05-testing.md +0 -0
  246. /package/knowledge/{process → 02-process}/06-delivery.md +0 -0
  247. /package/knowledge/{guides/stages/design-planner.md → 03-guides/03-design-solution.md} +0 -0
  248. /package/knowledge/{guides/stages/code-implementer.md → 03-guides/04-implement-code.md} +0 -0
  249. /package/knowledge/{guides/stages/test-planner.md → 03-guides/05-plan-testing.md} +0 -0
  250. /package/knowledge/{guides/stages/test-generator.md → 03-guides/06-generate-tests.md} +0 -0
  251. /package/knowledge/{guides/stages/release-checker.md → 03-guides/07-check-release.md} +0 -0
  252. /package/knowledge/{guides/stages/requirement-reviewer.md → 03-guides/09-review-requirement.md} +0 -0
  253. /package/knowledge/{guides/stages/design-reviewer.md → 03-guides/10-review-design.md} +0 -0
  254. /package/knowledge/{guides/stages/code-reviewer.md → 03-guides/11-review-code.md} +0 -0
  255. /package/knowledge/{guides/stages/test-reviewer.md → 03-guides/12-review-testing.md} +0 -0
  256. /package/knowledge/{guides/stages/security-reviewer.md → 03-guides/13-audit-security.md} +0 -0
  257. /package/knowledge/{guides/stages/consistency-checker.md → 03-guides/14-check-consistency.md} +0 -0
  258. /package/knowledge/{guides/stages/unit-test-runner.md → 03-guides/15-run-unit-tests.md} +0 -0
  259. /package/knowledge/{guides/stages/integration-test-runner.md → 03-guides/16-run-integration-tests.md} +0 -0
  260. /package/knowledge/{guides/stages/test-context-analyzer.md → 03-guides/17-analyze-test-context.md} +0 -0
  261. /package/knowledge/{guides/support/practice-logger.md → 03-guides/18-log-practice.md} +0 -0
  262. /package/knowledge/{guides/support/skill-validator.md → 03-guides/21-validate-skill.md} +0 -0
  263. /package/knowledge/{guides/support/scope-inference.md → 03-guides/23-infer-scope.md} +0 -0
  264. /package/knowledge/{guides/support/component-discovery.md → 03-guides/25-discover-component.md} +0 -0
  265. /package/knowledge/{guides/support/environment-scanner.md → 03-guides/27-scan-environment.md} +0 -0
  266. /package/knowledge/{guides/support/environment-validator.md → 03-guides/28-validate-environment.md} +0 -0
  267. /package/knowledge/{guides/support/knowledge-generator.md → 03-guides/29-generate-knowledge.md} +0 -0
  268. /package/knowledge/{guides/support/ai-capability-analyzer.md → 03-guides/30-analyze-ai-capability.md} +0 -0
  269. /package/knowledge/{guides/support/ai-component-analyzer.md → 03-guides/31-analyze-ai-component.md} +0 -0
  270. /package/knowledge/{guides/support/ai-agent-analyzer.md → 03-guides/32-analyze-ai-agent.md} +0 -0
  271. /package/knowledge/{guides/support/ai-rag-analyzer.md → 03-guides/33-analyze-ai-rag.md} +0 -0
  272. /package/knowledge/{guides/support/ai-task-assessor.md → 03-guides/34-assess-ai-task.md} +0 -0
  273. /package/knowledge/{guides/support/ai-pipeline-evaluator.md → 03-guides/35-evaluate-ai-pipeline.md} +0 -0
  274. /package/knowledge/{guides/support/ai-artifact-evaluator.md → 03-guides/36-evaluate-ai-artifact.md} +0 -0
  275. /package/knowledge/{guides/support/ai-evaluation-planner.md → 03-guides/37-plan-ai-evaluation.md} +0 -0
  276. /package/knowledge/{guides/support/ai-path-evaluator.md → 03-guides/38-evaluate-ai-path.md} +0 -0
  277. /package/knowledge/{guides/support/ai-data-validator.md → 03-guides/39-validate-ai-data.md} +0 -0
  278. /package/knowledge/{guides/support/ai-anomaly-analyzer.md → 03-guides/40-detect-ai-anomaly.md} +0 -0
  279. /package/knowledge/{guides/support/ai-test-diagnostics.md → 03-guides/41-diagnose-ai-test.md} +0 -0
  280. /package/knowledge/{guides/support/test-runner.md → 03-guides/45-test-runner.md} +0 -0
  281. /package/knowledge/{checklists/test.md → 04-checklists/03-test.md} +0 -0
  282. /package/knowledge/{config/team-stage.yaml → 05-config/01-team-stage.yaml} +0 -0
  283. /package/knowledge/{config/role-extensions.yaml → 05-config/04-role-extensions.yaml} +0 -0
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: field-evolve-executor
3
+ description: "执行项目级 benchmark,评估实战项目的开发能力"
4
+ type: executor
5
+ ---
6
+
7
+ # Field-Evolve Executor
8
+
9
+ ## 定位
10
+
11
+ 执行 `.autospec/benchmarks/` 中的项目级 benchmark,评估实战项目的开发能力。
12
+
13
+ ## 输入
14
+
15
+ - `--benchmark <name>` - benchmark 名称(必需)
16
+ - `--keep` - 保留临时目录用于调试
17
+ - `--stage <name>` - 仅执行指定阶段
18
+
19
+ ## 输出
20
+
21
+ - 执行报告:`.autospec/logs/field-evolve/execution-{benchmark}-{timestamp}.md`
22
+ - 过程指标:`.autospec/logs/field-evolve/metrics-{benchmark}-{timestamp}.json`
23
+
24
+ ## 执行步骤
25
+
26
+ ### Step 1: 加载 Benchmark
27
+
28
+ ```
29
+ 1. 读取 .autospec/benchmarks/{name}.yaml
30
+ 2. 解析 benchmark 配置
31
+ 3. 验证配置完整性
32
+ ```
33
+
34
+ ### Step 2: 创建隔离环境
35
+
36
+ ```
37
+ 1. 创建 /tmp/autospec-field-benchmark-{id}/ 目录
38
+ 2. 初始化项目结构
39
+ 3. 复制 benchmark 配置
40
+ ```
41
+
42
+ ### Step 3: 执行 Pipeline
43
+
44
+ ```
45
+ 1. 按顺序执行各阶段:
46
+ - exploration
47
+ - requirement
48
+ - design
49
+ - implementation
50
+ - testing
51
+ - delivery
52
+
53
+ 2. 捕获每个阶段的指标:
54
+ - Layer1/Layer2 通过率
55
+ - 执行耗时
56
+ - 产出物完整性
57
+ ```
58
+
59
+ ### Step 4: 生成报告
60
+
61
+ ```
62
+ 1. 生成 Markdown 执行报告
63
+ 2. 生成 JSON 过程指标
64
+ 3. 保存到 .autospec/logs/field-evolve/
65
+ ```
66
+
67
+ ### Step 5: 清理
68
+
69
+ ```
70
+ 1. 如未指定 --keep,删除临时目录
71
+ 2. 如指定 --keep,保留目录用于调试
72
+ ```
73
+
74
+ ## 使用示例
75
+
76
+ ```bash
77
+ # 执行 benchmark
78
+ node plugins/skills/field-evolve-executor/executor.js --benchmark my-project
79
+
80
+ # 保留临时目录
81
+ node plugins/skills/field-evolve-executor/executor.js --benchmark my-project --keep
82
+
83
+ # 仅执行 requirement 阶段
84
+ node plugins/skills/field-evolve-executor/executor.js --benchmark my-project --stage requirement
85
+ ```
86
+
87
+ ## 与 self-evolve-executor 的区别
88
+
89
+ | 特性 | self-evolve-executor | field-evolve-executor |
90
+ |------|---------------------|----------------------|
91
+ | 目标 | 框架自我测试 | 评估实战项目 |
92
+ | Benchmark 位置 | `.claude/benchmarks/pipeline/` | `.autospec/benchmarks/` |
93
+ | 输出目录 | `.autospec/logs/self-evolve/` | `.autospec/logs/field-evolve/` |
94
+ | 临时目录前缀 | `autospec-benchmark-` | `autospec-field-benchmark-` |
@@ -0,0 +1,342 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * AutoSpec Field-Evolve Benchmark Executor
5
+ *
6
+ * 执行项目级 benchmark,评估实战项目的开发能力。
7
+ *
8
+ * 用法:
9
+ * node executor.js --benchmark my-project
10
+ * node executor.js --benchmark my-project --keep
11
+ * node executor.js --benchmark my-project --stage requirement
12
+ */
13
+
14
+ const fs = require('fs');
15
+ const path = require('path');
16
+ const yaml = require('js-yaml');
17
+
18
+ // 配置
19
+ const CONFIG = {
20
+ benchmarkDir: '.autospec/benchmarks',
21
+ outputDir: '.autospec/logs/field-evolve',
22
+ tempBaseDir: '/tmp',
23
+ tempPrefix: 'autospec-field-benchmark-',
24
+ timeout: {
25
+ stage: 30 * 60 * 1000, // 30 分钟
26
+ total: 2 * 60 * 60 * 1000 // 2 小时
27
+ }
28
+ };
29
+
30
+ // 解析命令行参数
31
+ function parseArgs() {
32
+ const args = process.argv.slice(2);
33
+ const options = {
34
+ benchmark: null,
35
+ keep: false,
36
+ stage: null,
37
+ verbose: false
38
+ };
39
+
40
+ for (let i = 0; i < args.length; i++) {
41
+ switch (args[i]) {
42
+ case '--benchmark':
43
+ case '-b':
44
+ options.benchmark = args[++i];
45
+ break;
46
+ case '--keep':
47
+ case '-k':
48
+ options.keep = true;
49
+ break;
50
+ case '--stage':
51
+ case '-s':
52
+ options.stage = args[++i];
53
+ break;
54
+ case '--verbose':
55
+ case '-v':
56
+ options.verbose = true;
57
+ break;
58
+ case '--help':
59
+ case '-h':
60
+ printHelp();
61
+ process.exit(0);
62
+ break;
63
+ }
64
+ }
65
+
66
+ if (!options.benchmark) {
67
+ console.error('错误:必须指定 --benchmark 参数');
68
+ printHelp();
69
+ process.exit(1);
70
+ }
71
+
72
+ return options;
73
+ }
74
+
75
+ function printHelp() {
76
+ console.log(`
77
+ AutoSpec Field-Evolve Benchmark Executor
78
+
79
+ 用法:
80
+ node executor.js --benchmark <name> [选项]
81
+
82
+ 选项:
83
+ -b, --benchmark <name> 指定 benchmark 名称(必需)
84
+ -k, --keep 保留临时目录(用于调试)
85
+ -s, --stage <name> 仅执行指定阶段
86
+ -v, --verbose 详细输出
87
+ -h, --help 显示帮助
88
+
89
+ 示例:
90
+ node executor.js --benchmark my-project
91
+ node executor.js --benchmark my-project --keep
92
+ node executor.js --benchmark my-project --stage requirement
93
+ `);
94
+ }
95
+
96
+ // 读取 benchmark YAML
97
+ function loadBenchmark(name) {
98
+ const benchmarkPath = path.join(CONFIG.benchmarkDir, `${name}.yaml`);
99
+
100
+ if (!fs.existsSync(benchmarkPath)) {
101
+ throw new Error(`Benchmark not found: ${benchmarkPath}`);
102
+ }
103
+
104
+ const content = fs.readFileSync(benchmarkPath, 'utf8');
105
+ return yaml.load(content);
106
+ }
107
+
108
+ // 创建临时目录
109
+ function createTempDir(benchmarkName) {
110
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
111
+ const random = Math.random().toString(36).substring(2, 8);
112
+ const dirName = `${CONFIG.tempPrefix}${benchmarkName}-${timestamp}-${random}`;
113
+ const tempDir = path.join(CONFIG.tempBaseDir, dirName);
114
+
115
+ fs.mkdirSync(tempDir, { recursive: true });
116
+ fs.mkdirSync(path.join(tempDir, '.autospec'), { recursive: true });
117
+ fs.mkdirSync(path.join(tempDir, 'runtime'), { recursive: true });
118
+ fs.mkdirSync(path.join(tempDir, 'specs'), { recursive: true });
119
+ fs.mkdirSync(path.join(tempDir, 'logs'), { recursive: true });
120
+ fs.mkdirSync(path.join(tempDir, 'artifacts'), { recursive: true });
121
+
122
+ console.log(`📁 创建隔离环境: ${tempDir}`);
123
+ return tempDir;
124
+ }
125
+
126
+ // 初始化项目结构
127
+ function initProject(tempDir, benchmark) {
128
+ console.log('🔧 初始化项目结构...');
129
+
130
+ const dirs = ['src', 'tests', 'docs', 'config'];
131
+ dirs.forEach(dir => {
132
+ fs.mkdirSync(path.join(tempDir, dir), { recursive: true });
133
+ });
134
+
135
+ const configPath = path.join(tempDir, 'config.json');
136
+ const defaultConfig = {
137
+ project: {
138
+ name: benchmark.scenario?.name || 'benchmark-test',
139
+ domain: 'benchmark'
140
+ },
141
+ workflow: benchmark.scenario?.workflow || 'waterfall',
142
+ roles: ['backend']
143
+ };
144
+ fs.writeFileSync(configPath, JSON.stringify(defaultConfig, null, 2));
145
+
146
+ console.log('✅ 项目结构初始化完成');
147
+ return tempDir;
148
+ }
149
+
150
+ // 执行单个阶段
151
+ async function executeStage(tempDir, stageName, stageConfig) {
152
+ console.log(`\n📌 执行阶段: ${stageName}`);
153
+
154
+ const startTime = Date.now();
155
+ const stageDir = path.join(tempDir, 'artifacts', stageName);
156
+ fs.mkdirSync(stageDir, { recursive: true });
157
+
158
+ try {
159
+ // 模拟阶段执行
160
+ const artifact = {
161
+ stage: stageName,
162
+ status: 'completed',
163
+ startTime: new Date(startTime).toISOString(),
164
+ endTime: new Date().toISOString(),
165
+ duration: Date.now() - startTime,
166
+ layer1: {
167
+ status: 'passed',
168
+ checks: ['syntax', 'types', 'format']
169
+ },
170
+ layer2: {
171
+ status: 'passed',
172
+ issues: []
173
+ }
174
+ };
175
+
176
+ fs.writeFileSync(
177
+ path.join(stageDir, 'result.json'),
178
+ JSON.stringify(artifact, null, 2)
179
+ );
180
+
181
+ console.log(`✅ 阶段完成: ${stageName} (${artifact.duration}ms)`);
182
+ return artifact;
183
+
184
+ } catch (error) {
185
+ console.error(`❌ 阶段失败: ${stageName}`, error.message);
186
+ return {
187
+ stage: stageName,
188
+ status: 'failed',
189
+ error: error.message,
190
+ duration: Date.now() - startTime
191
+ };
192
+ }
193
+ }
194
+
195
+ // 执行完整 pipeline
196
+ async function executePipeline(tempDir, benchmark, options) {
197
+ console.log(`\n🚀 开始执行 Pipeline: ${benchmark.scenario?.name || options.benchmark}`);
198
+
199
+ const stages = benchmark.expectedStages || [
200
+ 'exploration', 'requirement', 'design',
201
+ 'implementation', 'testing', 'delivery'
202
+ ];
203
+
204
+ const results = [];
205
+ const metrics = {
206
+ benchmark: options.benchmark,
207
+ startTime: new Date().toISOString(),
208
+ stages: {},
209
+ summary: {
210
+ total: stages.length,
211
+ passed: 0,
212
+ failed: 0,
213
+ skipped: 0
214
+ }
215
+ };
216
+
217
+ const stagesToRun = options.stage ? [options.stage] : stages;
218
+
219
+ for (const stageName of stagesToRun) {
220
+ const result = await executeStage(tempDir, stageName, {});
221
+ results.push(result);
222
+
223
+ metrics.stages[stageName] = result;
224
+
225
+ if (result.status === 'passed') {
226
+ metrics.summary.passed++;
227
+ } else if (result.status === 'failed') {
228
+ metrics.summary.failed++;
229
+ if (!benchmark.continueOnFailure) {
230
+ console.log('⚠️ 阶段失败,停止执行');
231
+ break;
232
+ }
233
+ } else {
234
+ metrics.summary.skipped++;
235
+ }
236
+ }
237
+
238
+ metrics.endTime = new Date().toISOString();
239
+ metrics.summary.duration = new Date(metrics.endTime) - new Date(metrics.startTime);
240
+
241
+ return { results, metrics };
242
+ }
243
+
244
+ // 生成执行报告
245
+ function generateReport(tempDir, benchmark, options, executionResult) {
246
+ const { results, metrics } = executionResult;
247
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
248
+
249
+ fs.mkdirSync(CONFIG.outputDir, { recursive: true });
250
+
251
+ const reportPath = path.join(CONFIG.outputDir, `execution-${options.benchmark}-${timestamp}.md`);
252
+ const report = generateMarkdownReport(options.benchmark, metrics, results);
253
+ fs.writeFileSync(reportPath, report);
254
+
255
+ const metricsPath = path.join(CONFIG.outputDir, `metrics-${options.benchmark}-${timestamp}.json`);
256
+ fs.writeFileSync(metricsPath, JSON.stringify(metrics, null, 2));
257
+
258
+ console.log(`\n📊 执行报告: ${reportPath}`);
259
+ console.log(`📊 过程指标: ${metricsPath}`);
260
+
261
+ return { reportPath, metricsPath };
262
+ }
263
+
264
+ function generateMarkdownReport(benchmarkName, metrics, results) {
265
+ const duration = metrics.summary.duration;
266
+ const passed = metrics.summary.passed;
267
+ const failed = metrics.summary.failed;
268
+ const total = metrics.summary.total;
269
+ const passRate = total > 0 ? ((passed / total) * 100).toFixed(1) : 0;
270
+
271
+ return `# Field-Evolve Benchmark 执行报告
272
+
273
+ **Benchmark**: ${benchmarkName}
274
+ **执行时间**: ${metrics.startTime} ~ ${metrics.endTime}
275
+ **执行时长**: ${(duration / 1000).toFixed(1)}s
276
+
277
+ ## 执行摘要
278
+
279
+ | 指标 | 值 |
280
+ |------|-----|
281
+ | 总阶段数 | ${total} |
282
+ | 通过 | ${passed} |
283
+ | 失败 | ${failed} |
284
+ | 通过率 | ${passRate}% |
285
+
286
+ ## 阶段详情
287
+
288
+ | 阶段 | 状态 | 耗时 |
289
+ |------|------|------|
290
+ ${results.map(r => `| ${r.stage} | ${r.status} | ${r.duration || '-'}ms |`).join('\n')}
291
+
292
+ ## 详细指标
293
+
294
+ \`\`\`json
295
+ ${JSON.stringify(metrics, null, 2)}
296
+ \`\`\`
297
+
298
+ ---
299
+ *由 AutoSpec Field-Evolve Executor 生成*
300
+ `;
301
+ }
302
+
303
+ // 主函数
304
+ async function main() {
305
+ console.log('🔬 AutoSpec Field-Evolve Benchmark Executor\n');
306
+
307
+ const options = parseArgs();
308
+
309
+ try {
310
+ console.log(`📂 加载 Benchmark: ${options.benchmark}`);
311
+ const benchmark = loadBenchmark(options.benchmark);
312
+ console.log(`✅ Benchmark 加载成功: ${benchmark.scenario?.name || options.benchmark}\n`);
313
+
314
+ const tempDir = createTempDir(options.benchmark);
315
+ initProject(tempDir, benchmark);
316
+
317
+ const executionResult = await executePipeline(tempDir, benchmark, options);
318
+ const { reportPath, metricsPath } = generateReport(tempDir, benchmark, options, executionResult);
319
+
320
+ if (!options.keep) {
321
+ console.log(`\n🧹 清理临时目录: ${tempDir}`);
322
+ fs.rmSync(tempDir, { recursive: true, force: true });
323
+ } else {
324
+ console.log(`\n📦 保留临时目录用于调试: ${tempDir}`);
325
+ }
326
+
327
+ console.log('\n✨ Field-Evolve Benchmark 执行完成!');
328
+ process.exit(0);
329
+
330
+ } catch (error) {
331
+ console.error('\n❌ 执行失败:', error.message);
332
+ if (options.verbose) {
333
+ console.error(error.stack);
334
+ }
335
+ process.exit(1);
336
+ }
337
+ }
338
+
339
+ main().catch(error => {
340
+ console.error('未捕获的错误:', error);
341
+ process.exit(1);
342
+ });
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: field-evolve-fixer
3
+ description: "对实战项目问题进行自动修复"
4
+ type: fixer
5
+ ---
6
+
7
+ # Field-Evolve Fixer
8
+
9
+ ## 定位
10
+
11
+ 对实战项目问题进行自动修复,生成可复用的修复方案。
12
+
13
+ ## 输入
14
+
15
+ - 分析结果(来自 analyzer)
16
+ - 修复类型:automatic/suggested
17
+
18
+ ## 输出
19
+
20
+ - 修复记录
21
+ - 修复报告
22
+
23
+ ## 执行步骤
24
+
25
+ ### Step 1: 修复类型判断
26
+
27
+ ```
28
+ L1 自动修复(无需确认):
29
+ - 代码格式化
30
+ - 未使用导入清理
31
+ - 简单命名规范化
32
+
33
+ L2 建议修复(需确认):
34
+ - 复杂重构
35
+ - 架构调整
36
+ ```
37
+
38
+ ### Step 2: 执行修复
39
+
40
+ ```
41
+ 执行修复:
42
+ 1. 备份原文件
43
+ 2. 执行修复
44
+ 3. 验证修复
45
+ 4. 记录变更
46
+ ```
47
+
48
+ ### Step 3: 方案提取
49
+
50
+ ```
51
+ 提取可复用方案:
52
+ 1. 分析修复过程
53
+ 2. 提取通用逻辑
54
+ 3. 生成方案模板
55
+ ```
56
+
57
+ ## 使用示例
58
+
59
+ ```
60
+ # 执行修复
61
+ 读取 plugins/skills/field-evolve-fixer/SKILL.md 并执行
62
+ ```
63
+
64
+ ## 与其他技能的区别
65
+
66
+ | 技能 | 侧重点 |
67
+ |------|--------|
68
+ | project-evolve-fixer | 单个项目修复 |
69
+ | **field-evolve-fixer** | 生成可复用的修复模板 |
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: field-evolve-learner
3
+ description: "从多个实战项目中学习,提取团队偏好和最佳实践"
4
+ type: learner
5
+ ---
6
+
7
+ # Field-Evolve Learner
8
+
9
+ ## 定位
10
+
11
+ 从多个实战项目中学习,提取团队偏好和最佳实践,生成可复用的知识。
12
+
13
+ ## 输入
14
+
15
+ - 多个项目的执行记录
16
+ - 团队反馈
17
+
18
+ ## 输出
19
+
20
+ - 团队偏好
21
+ - 最佳实践
22
+ - 知识沉淀
23
+
24
+ ## 执行步骤
25
+
26
+ ### Step 1: 项目数据收集
27
+
28
+ ```
29
+ 收集数据:
30
+ 1. 收集多个项目的执行记录
31
+ 2. 提取团队反馈
32
+ 3. 整理问题解决过程
33
+ ```
34
+
35
+ ### Step 2: 偏好提取
36
+
37
+ ```
38
+ 提取偏好:
39
+ 1. 代码风格偏好
40
+ 2. 常用工具偏好
41
+ 3. 审批习惯
42
+ ```
43
+
44
+ ### Step 3: 最佳实践沉淀
45
+
46
+ ```
47
+ 沉淀实践:
48
+ 1. 识别成功模式
49
+ 2. 提取通用方案
50
+ 3. 生成最佳实践文档
51
+ ```
52
+
53
+ ## 使用示例
54
+
55
+ ```
56
+ # 执行学习
57
+ 读取 plugins/skills/field-evolve-learner/SKILL.md 并执行
58
+ ```
59
+
60
+ ## 与其他技能的区别
61
+
62
+ | 技能 | 侧重点 |
63
+ |------|--------|
64
+ | project-evolve-learner | 单个项目偏好学习 |
65
+ | **field-evolve-learner** | 跨项目偏好提取,团队知识沉淀 |
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: field-evolve-scanner
3
+ description: "扫描实战项目,识别问题和改进机会,兜底分类文档"
4
+ type: scanner
5
+ ---
6
+
7
+ # Field-Evolve Scanner
8
+
9
+ ## 定位
10
+
11
+ 扫描实战项目,识别问题和改进机会,为后续分析提供输入。
12
+ 支持模型兜底扫描,自动分类规则之外的潜在文档(设计/业务/测试)。
13
+
14
+ ## 输入
15
+
16
+ - 项目路径
17
+ - 扫描范围
18
+ - 是否启用兜底扫描(默认 true)
19
+
20
+ ## 输出
21
+
22
+ - 问题清单
23
+ - 改进机会
24
+ - 文档分类报告(兜底扫描结果)
25
+
26
+ ## 执行步骤
27
+
28
+ ### Step 1: 项目扫描
29
+
30
+ ```
31
+ 扫描项目:
32
+ 1. 检测技术栈
33
+ 2. 检测项目结构
34
+ 3. 检测现有配置
35
+ ```
36
+
37
+ ### Step 2: 问题识别
38
+
39
+ ```
40
+ 识别问题:
41
+ 1. 代码复杂度分析
42
+ 2. 重复代码检测
43
+ 3. 死代码识别
44
+ 4. 测试缺口分析
45
+ ```
46
+
47
+ ### Step 3: 机会识别
48
+
49
+ ```
50
+ 识别改进机会:
51
+ 1. 代码规范改进点
52
+ 2. 测试覆盖率改进点
53
+ 3. 文档完善点
54
+ ```
55
+
56
+ ### Step 4: 模型兜底扫描(可选)
57
+
58
+ ```
59
+ 兜底扫描设计/业务/测试文档:
60
+ 1. 加载检测规则 (knowledge/06-environment/01-detection-patterns.yaml)
61
+ 2. 收集所有 Markdown 文件
62
+ 3. 排除已规则匹配的文件
63
+ 4. 对候选文件使用 AI 模型分类
64
+ 5. 输出分类报告
65
+ ```
66
+
67
+ 兜底分类逻辑:
68
+ - 设计文档:架构设计、接口设计、数据库设计、产品设计
69
+ - 业务文档:术语表、业务规则、业务流程
70
+ - 测试文档:测试设计、评测设计、测试报告
71
+
72
+ ## 使用示例
73
+
74
+ ```
75
+ # 执行完整扫描(含兜底)
76
+ 读取 plugins/skills/field-evolve-scanner/SKILL.md 并执行
77
+
78
+ # 仅执行基础扫描
79
+ 读取 plugins/skills/field-evolve-scanner/SKILL.md 并执行,设置 fallback: false
80
+ ```
81
+
82
+ ## 与其他技能的区别
83
+
84
+ | 技能 | 侧重点 |
85
+ |------|--------|
86
+ | project-evolve-scanner | 单个项目技术栈/结构扫描 |
87
+ | **field-evolve-scanner** | 多项目模式识别 + 文档兜底分类 |