@chongyan/autospec 1.0.1 → 1.0.3

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 (595) hide show
  1. package/LICENSE +242 -21
  2. package/README.md +54 -476
  3. package/dist/README.md +54 -0
  4. package/dist/adapters/claude-code/README.md.enc +6 -0
  5. package/dist/adapters/claude-code/agents.js +1 -0
  6. package/dist/adapters/claude-code/commands.config.js +1 -0
  7. package/dist/adapters/claude-code/commands.js +1 -0
  8. package/dist/adapters/claude-code/hooks.config.js +2 -0
  9. package/dist/adapters/claude-code/hooks.js +1 -0
  10. package/dist/adapters/claude-code/install.js +1 -0
  11. package/dist/adapters/claude-code/skills.js +1 -0
  12. package/dist/adapters/codex/README.md.enc +6 -0
  13. package/dist/adapters/codex/hooks/pre-commit.sh +10 -0
  14. package/dist/adapters/codex/install.js +1 -0
  15. package/dist/adapters/codex/prompts/env-learn.md.enc +6 -0
  16. package/dist/adapters/codex/prompts/review.md.enc +6 -0
  17. package/dist/adapters/codex/wrappers/autospec-cli.sh +118 -0
  18. package/dist/adapters/codex/wrappers/parallel.sh +20 -0
  19. package/dist/adapters/codex/wrappers/post-task.sh +138 -0
  20. package/dist/bin/autospec.js +2 -0
  21. package/dist/knowledge/README.en.md.enc +6 -0
  22. package/dist/knowledge/README.md.enc +6 -0
  23. package/dist/knowledge/change-management.md.enc +6 -0
  24. package/dist/knowledge/cognition-engine.md.enc +6 -0
  25. package/dist/knowledge/config/baseline-permissions.md.enc +6 -0
  26. package/dist/knowledge/config/external-mounts.yaml.enc +6 -0
  27. package/dist/knowledge/config/model-profiles.yaml.enc +6 -0
  28. package/dist/knowledge/config/role-composition.yaml.enc +6 -0
  29. package/dist/knowledge/config/token-optimization.yaml.enc +6 -0
  30. package/dist/knowledge/config/validation-patterns.yaml.enc +6 -0
  31. package/dist/knowledge/constitution.md.enc +6 -0
  32. package/dist/knowledge/core-rules.md.enc +6 -0
  33. package/dist/knowledge/environment/adapters/README.md.enc +6 -0
  34. package/dist/knowledge/environment/detection-patterns.yaml.enc +6 -0
  35. package/dist/knowledge/environment/failure-patterns.json +223 -0
  36. package/dist/knowledge/environment/repair-strategies.json +206 -0
  37. package/dist/knowledge/memory/README.md.enc +6 -0
  38. package/dist/knowledge/memory/field/README.md.enc +6 -0
  39. package/dist/knowledge/memory/project/decisions/README.md.enc +6 -0
  40. package/dist/knowledge/memory/project/evolution-log.md.enc +6 -0
  41. package/dist/knowledge/memory/project/health-metrics.md.enc +6 -0
  42. package/dist/knowledge/memory/team/best-practices.md.enc +6 -0
  43. package/dist/knowledge/pipeline/code.md.enc +6 -0
  44. package/dist/knowledge/pipeline/explore.md.enc +6 -0
  45. package/dist/knowledge/pipeline/plan.md.enc +6 -0
  46. package/dist/knowledge/pipeline/protocol.md.enc +6 -0
  47. package/dist/knowledge/protocol/capabilities.yaml.enc +6 -0
  48. package/dist/knowledge/protocol/evolve-integration.md.enc +6 -0
  49. package/dist/knowledge/skills/README.md.enc +6 -0
  50. package/dist/knowledge/skills/adversarial-review.md.enc +6 -0
  51. package/dist/knowledge/skills/analyze-requirement.md.enc +6 -0
  52. package/dist/knowledge/skills/channel-operations.md.enc +6 -0
  53. package/dist/knowledge/skills/content-operations.md.enc +6 -0
  54. package/dist/knowledge/skills/content-prompts.md.enc +6 -0
  55. package/dist/knowledge/skills/conversion-optimization.md.enc +6 -0
  56. package/dist/knowledge/skills/data-operations.md.enc +6 -0
  57. package/dist/knowledge/skills/design-solution.md.enc +6 -0
  58. package/dist/knowledge/skills/growth-strategies.md.enc +6 -0
  59. package/dist/knowledge/skills/implement-code.md.enc +6 -0
  60. package/dist/knowledge/skills/knowledge-distill.md.enc +6 -0
  61. package/dist/knowledge/skills/parallel-dev.md.enc +6 -0
  62. package/dist/knowledge/skills/private-domain-traffic.md.enc +6 -0
  63. package/dist/knowledge/skills/skill-format.md.enc +6 -0
  64. package/dist/knowledge/skills/social-commerce.md.enc +6 -0
  65. package/dist/knowledge/skills/team-orchestration.md.enc +6 -0
  66. package/dist/knowledge/skills/unified-review.md.enc +6 -0
  67. package/dist/knowledge/skills/user-operations.md.enc +6 -0
  68. package/dist/knowledge/templates/autospec-config.yaml.enc +6 -0
  69. package/dist/knowledge/templates/smoke-test.md.enc +6 -0
  70. package/dist/knowledge/templates/spec/SPEC.md.enc +6 -0
  71. package/dist/knowledge/templates/spec/layers/delta.md.enc +6 -0
  72. package/dist/knowledge/templates/spec/layers/how.md.enc +6 -0
  73. package/dist/knowledge/templates/spec/layers/plan.md.enc +6 -0
  74. package/dist/knowledge/templates/spec/layers/what.md.enc +6 -0
  75. package/dist/knowledge/templates/spec/layers/why.md.enc +6 -0
  76. package/dist/knowledge/templates/wiki/catalog.yaml.enc +6 -0
  77. package/dist/knowledge/templates/wiki/content.md.enc +6 -0
  78. package/dist/knowledge/templates/wiki/meta.yaml.enc +6 -0
  79. package/dist/package.json +62 -0
  80. package/dist/plugins/.claude-plugin/plugin.json +671 -0
  81. package/dist/plugins/agents/roles/ai-engineer.md.enc +6 -0
  82. package/dist/plugins/agents/roles/backend-engineer.md.enc +6 -0
  83. package/dist/plugins/agents/roles/ceo.md.enc +6 -0
  84. package/dist/plugins/agents/roles/channel-ops.md.enc +6 -0
  85. package/dist/plugins/agents/roles/content-ops.md.enc +6 -0
  86. package/dist/plugins/agents/roles/conversion-ops.md.enc +6 -0
  87. package/dist/plugins/agents/roles/data-engineer.md.enc +6 -0
  88. package/dist/plugins/agents/roles/data-ops.md.enc +6 -0
  89. package/dist/plugins/agents/roles/devops-engineer.md.enc +6 -0
  90. package/dist/plugins/agents/roles/frontend-engineer.md.enc +6 -0
  91. package/dist/plugins/agents/roles/marketing-director.md.enc +6 -0
  92. package/dist/plugins/agents/roles/operations-director.md.enc +6 -0
  93. package/dist/plugins/agents/roles/private-traffic.md.enc +6 -0
  94. package/dist/plugins/agents/roles/product-owner.md.enc +6 -0
  95. package/dist/plugins/agents/roles/quality-engineer.md.enc +6 -0
  96. package/dist/plugins/agents/roles/security-engineer.md.enc +6 -0
  97. package/dist/plugins/agents/roles/tech-lead.md.enc +6 -0
  98. package/dist/plugins/agents/roles/user-ops.md.enc +6 -0
  99. package/dist/plugins/agents/support/blind-comparator.md.enc +6 -0
  100. package/dist/plugins/agents/support/consistency-checker.md.enc +6 -0
  101. package/dist/plugins/agents/support/experiment-evaluator.md.enc +6 -0
  102. package/dist/plugins/agents/support/failure-diagnostician.md.enc +6 -0
  103. package/dist/plugins/agents/support/independent-reviewer.md.enc +6 -0
  104. package/dist/plugins/agents/support/memory-curator.md.enc +6 -0
  105. package/dist/plugins/agents/support/monitoring-agent.md.enc +6 -0
  106. package/dist/plugins/agents/support/safety-auditor.md.enc +6 -0
  107. package/dist/plugins/agents/support/skill-benchmarker.md.enc +6 -0
  108. package/dist/plugins/agents/support/skill-forger.md.enc +6 -0
  109. package/dist/plugins/agents/support/stage-gate-evaluator.md.enc +6 -0
  110. package/dist/plugins/agents/support/team-orchestrator.md.enc +6 -0
  111. package/dist/plugins/agents/support/test-coverage-reviewer.md.enc +6 -0
  112. package/dist/plugins/benchmarks/templates/README.en.md.enc +6 -0
  113. package/dist/plugins/benchmarks/templates/README.md.enc +6 -0
  114. package/dist/plugins/benchmarks/templates/commands/code-template.yaml.enc +6 -0
  115. package/dist/plugins/benchmarks/templates/commands/explore-template.yaml.enc +6 -0
  116. package/dist/plugins/benchmarks/templates/commands/field-evolve-template.yaml.enc +6 -0
  117. package/dist/plugins/benchmarks/templates/commands/plan-template.yaml.enc +6 -0
  118. package/dist/plugins/benchmarks/templates/commands/project-evolve-template.yaml.enc +6 -0
  119. package/dist/plugins/benchmarks/templates/commands/review-template.yaml.enc +6 -0
  120. package/dist/plugins/benchmarks/templates/commands/run-template.yaml.enc +6 -0
  121. package/dist/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml.enc +6 -0
  122. package/dist/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml.enc +6 -0
  123. package/dist/plugins/benchmarks/templates/skills/delivery-stage-template.yaml.enc +6 -0
  124. package/dist/plugins/benchmarks/templates/skills/design-stage-template.yaml.enc +6 -0
  125. package/dist/plugins/benchmarks/templates/skills/exploration-phase-template.yaml.enc +6 -0
  126. package/dist/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml.enc +6 -0
  127. package/dist/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml.enc +6 -0
  128. package/dist/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml.enc +6 -0
  129. package/dist/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml.enc +6 -0
  130. package/dist/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml.enc +6 -0
  131. package/dist/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml.enc +6 -0
  132. package/dist/plugins/benchmarks/templates/skills/field-evolve-template.yaml.enc +6 -0
  133. package/dist/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml.enc +6 -0
  134. package/dist/plugins/benchmarks/templates/skills/implementation-stage-template.yaml.enc +6 -0
  135. package/dist/plugins/benchmarks/templates/skills/layer1-validation-template.yaml.enc +6 -0
  136. package/dist/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml.enc +6 -0
  137. package/dist/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml.enc +6 -0
  138. package/dist/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml.enc +6 -0
  139. package/dist/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml.enc +6 -0
  140. package/dist/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml.enc +6 -0
  141. package/dist/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml.enc +6 -0
  142. package/dist/plugins/benchmarks/templates/skills/project-evolve-template.yaml.enc +6 -0
  143. package/dist/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml.enc +6 -0
  144. package/dist/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml.enc +6 -0
  145. package/dist/plugins/benchmarks/templates/skills/skill-forge-template.yaml.enc +6 -0
  146. package/dist/plugins/benchmarks/templates/skills/startup-guard-template.yaml.enc +6 -0
  147. package/dist/plugins/benchmarks/templates/skills/testing-stage-template.yaml.enc +6 -0
  148. package/dist/plugins/commands/README.en.md.enc +6 -0
  149. package/dist/plugins/commands/README.md.enc +6 -0
  150. package/dist/plugins/commands/automation.md.enc +6 -0
  151. package/dist/plugins/commands/code.md.enc +6 -0
  152. package/dist/plugins/commands/contribute.md.enc +6 -0
  153. package/dist/plugins/commands/dashboard.md.enc +6 -0
  154. package/dist/plugins/commands/env.md.enc +6 -0
  155. package/dist/plugins/commands/explore.md.enc +6 -0
  156. package/dist/plugins/commands/field-evolve.md.enc +6 -0
  157. package/dist/plugins/commands/global.md.enc +6 -0
  158. package/dist/plugins/commands/init.md.enc +6 -0
  159. package/dist/plugins/commands/list.md.enc +6 -0
  160. package/dist/plugins/commands/memory.md.enc +6 -0
  161. package/dist/plugins/commands/monitor.md.enc +6 -0
  162. package/dist/plugins/commands/org.md.enc +6 -0
  163. package/dist/plugins/commands/persist.md.enc +6 -0
  164. package/dist/plugins/commands/plan.md.enc +6 -0
  165. package/dist/plugins/commands/plugin.md.enc +6 -0
  166. package/dist/plugins/commands/project-evolve.md.enc +6 -0
  167. package/dist/plugins/commands/review.md.enc +6 -0
  168. package/dist/plugins/commands/run.md.enc +6 -0
  169. package/dist/plugins/commands/status.md.enc +6 -0
  170. package/dist/plugins/commands/sync.md.enc +6 -0
  171. package/dist/plugins/commands/update.md.enc +6 -0
  172. package/dist/plugins/env-capabilities/env-core/plugin.json +33 -0
  173. package/dist/plugins/hooks/README.en.md.enc +6 -0
  174. package/dist/plugins/hooks/README.md.enc +6 -0
  175. package/dist/plugins/hooks/artifact-evaluation-hook.js +2 -0
  176. package/dist/plugins/hooks/cognitive-dreamer.js +2 -0
  177. package/dist/plugins/hooks/cognitive-sync.js +2 -0
  178. package/dist/plugins/hooks/cognitive-tracker.js +2 -0
  179. package/dist/plugins/hooks/config/detection-patterns.yaml.enc +6 -0
  180. package/dist/plugins/hooks/constitution-guard.js +2 -0
  181. package/dist/plugins/hooks/do-review-separation-guard.js +2 -0
  182. package/dist/plugins/hooks/environment-autocommit.js +2 -0
  183. package/dist/plugins/hooks/environment-doctor.js +1 -0
  184. package/dist/plugins/hooks/environment-startup-scan.js +2 -0
  185. package/dist/plugins/hooks/execution-tracker.js +2 -0
  186. package/dist/plugins/hooks/frozen-zone-guard.js +2 -0
  187. package/dist/plugins/hooks/layer1-validator.js +2 -0
  188. package/dist/plugins/hooks/lib/artifact-evaluator.js +1 -0
  189. package/dist/plugins/hooks/lib/auto-fix-loop.js +1 -0
  190. package/dist/plugins/hooks/lib/benchmarks/change-detector.js +1 -0
  191. package/dist/plugins/hooks/lib/benchmarks/evaluator.js +1 -0
  192. package/dist/plugins/hooks/lib/benchmarks/integration-example.js +1 -0
  193. package/dist/plugins/hooks/lib/cognitive/adaptive-matcher.js +1 -0
  194. package/dist/plugins/hooks/lib/cognitive/base-store.js +1 -0
  195. package/dist/plugins/hooks/lib/cognitive/causal-engine.js +1 -0
  196. package/dist/plugins/hooks/lib/cognitive/cognitive-config.js +1 -0
  197. package/dist/plugins/hooks/lib/cognitive/cognitive-fingerprint.js +1 -0
  198. package/dist/plugins/hooks/lib/cognitive/collective-sync.js +1 -0
  199. package/dist/plugins/hooks/lib/cognitive/confidence-engine.js +1 -0
  200. package/dist/plugins/hooks/lib/cognitive/dream-engine.js +1 -0
  201. package/dist/plugins/hooks/lib/cognitive/episodic-store.js +1 -0
  202. package/dist/plugins/hooks/lib/cognitive/index.js +1 -0
  203. package/dist/plugins/hooks/lib/cognitive/kernel.js +1 -0
  204. package/dist/plugins/hooks/lib/cognitive/knowledge-distiller.js +1 -0
  205. package/dist/plugins/hooks/lib/cognitive/memory-transport.js +1 -0
  206. package/dist/plugins/hooks/lib/cognitive/persistence-manager.js +1 -0
  207. package/dist/plugins/hooks/lib/cognitive/priority-store.js +1 -0
  208. package/dist/plugins/hooks/lib/cognitive/procedural-store.js +1 -0
  209. package/dist/plugins/hooks/lib/cognitive/semantic-store.js +1 -0
  210. package/dist/plugins/hooks/lib/cognitive/skill-tuner.js +1 -0
  211. package/dist/plugins/hooks/lib/cognitive/wiki-materializer.js +1 -0
  212. package/dist/plugins/hooks/lib/detection-pattern-loader.js +1 -0
  213. package/dist/plugins/hooks/lib/directory-discovery.js +1 -0
  214. package/dist/plugins/hooks/lib/environment-capability-package.js +1 -0
  215. package/dist/plugins/hooks/lib/environment-capability-probe.js +1 -0
  216. package/dist/plugins/hooks/lib/environment-config-loader.js +1 -0
  217. package/dist/plugins/hooks/lib/environment-executor.js +1 -0
  218. package/dist/plugins/hooks/lib/environment-feedback.js +1 -0
  219. package/dist/plugins/hooks/lib/environment-health-monitor.js +1 -0
  220. package/dist/plugins/hooks/lib/environment-knowledge-synthesizer.js +1 -0
  221. package/dist/plugins/hooks/lib/environment-knowledge-validator.js +1 -0
  222. package/dist/plugins/hooks/lib/environment-learning-discoverer.js +1 -0
  223. package/dist/plugins/hooks/lib/environment-learning-engine.js +1 -0
  224. package/dist/plugins/hooks/lib/environment-module-repository.js +1 -0
  225. package/dist/plugins/hooks/lib/environment-planner.js +1 -0
  226. package/dist/plugins/hooks/lib/environment-plugin-registry.js +1 -0
  227. package/dist/plugins/hooks/lib/environment-readiness.js +1 -0
  228. package/dist/plugins/hooks/lib/environment-route-ranking.js +1 -0
  229. package/dist/plugins/hooks/lib/environment-strategy-overlay.js +1 -0
  230. package/dist/plugins/hooks/lib/execution-path.js +1 -0
  231. package/dist/plugins/hooks/lib/external-mount-adapter.js +1 -0
  232. package/dist/plugins/hooks/lib/external-scanner.js +1 -0
  233. package/dist/plugins/hooks/lib/hook-error-recorder.js +1 -0
  234. package/dist/plugins/hooks/lib/hook-logger.js +1 -0
  235. package/dist/plugins/hooks/lib/hook-runner.js +2 -0
  236. package/dist/plugins/hooks/lib/hook-state-manager.js +1 -0
  237. package/dist/plugins/hooks/lib/memory-extractor.js +1 -0
  238. package/dist/plugins/hooks/lib/memory-manager.js +1 -0
  239. package/dist/plugins/hooks/lib/metrics-analyzer.js +1 -0
  240. package/dist/plugins/hooks/lib/mount-manager.js +1 -0
  241. package/dist/plugins/hooks/lib/plugin-activation-registry.js +1 -0
  242. package/dist/plugins/hooks/lib/plugin-selector.js +1 -0
  243. package/dist/plugins/hooks/lib/plugin-source-registry.js +1 -0
  244. package/dist/plugins/hooks/lib/plugin-workspace-registry.js +1 -0
  245. package/dist/plugins/hooks/lib/project-evolution/auto-fixer.js +1 -0
  246. package/dist/plugins/hooks/lib/project-evolution/memory-manager.js +1 -0
  247. package/dist/plugins/hooks/lib/project-evolution/pattern-detector.js +1 -0
  248. package/dist/plugins/hooks/lib/project-evolution/semantic-indexer.js +1 -0
  249. package/dist/plugins/hooks/lib/rollback-tracker.js +1 -0
  250. package/dist/plugins/hooks/lib/source-code-scanner.js +1 -0
  251. package/dist/plugins/hooks/lib/technology-stack-detector.js +1 -0
  252. package/dist/plugins/hooks/lib/test-failure-analyzer.js +1 -0
  253. package/dist/plugins/hooks/lib/test-failure-fixer.js +1 -0
  254. package/dist/plugins/hooks/lib/trace-context.js +1 -0
  255. package/dist/plugins/hooks/lib/validation-patterns.js +1 -0
  256. package/dist/plugins/hooks/memory-sync.js +1 -0
  257. package/dist/plugins/hooks/pipeline-observer.js +2 -0
  258. package/dist/plugins/hooks/retry-limit-guard.js +2 -0
  259. package/dist/plugins/hooks/scope-sentinel.js +2 -0
  260. package/dist/plugins/hooks/secret-scanner.js +2 -0
  261. package/dist/plugins/hooks/stop-evolve-prompt.js +1 -0
  262. package/dist/plugins/hooks/trace-initialization.js +2 -0
  263. package/dist/plugins/hooks/version-checker.js +2 -0
  264. package/dist/plugins/memory/templates/code-quality.yaml.enc +6 -0
  265. package/dist/plugins/memory/templates/multi-system.yaml.enc +6 -0
  266. package/dist/plugins/memory/templates/team-habits.yaml.enc +6 -0
  267. package/dist/plugins/memory/templates/testing.yaml.enc +6 -0
  268. package/dist/plugins/skills/README.en.md.enc +6 -0
  269. package/dist/plugins/skills/README.md.enc +6 -0
  270. package/dist/plugins/skills/ab-test-executor/SKILL.md.enc +6 -0
  271. package/dist/plugins/skills/benchmark-executor/SKILL.md.enc +6 -0
  272. package/dist/plugins/skills/benchmark-generator/SKILL.md.enc +6 -0
  273. package/dist/plugins/skills/content-prompts/SKILL.md.enc +6 -0
  274. package/dist/plugins/skills/delivery-stage/SKILL.md.enc +6 -0
  275. package/dist/plugins/skills/design-stage/SKILL.md.enc +6 -0
  276. package/dist/plugins/skills/environment-learning/SKILL.md.enc +6 -0
  277. package/dist/plugins/skills/environment-resilience/build-failure-doctor.md.enc +6 -0
  278. package/dist/plugins/skills/environment-resilience/environment-repair.md.enc +6 -0
  279. package/dist/plugins/skills/environment-resilience/pre-flight-check.md.enc +6 -0
  280. package/dist/plugins/skills/experiment-evaluator/SKILL.md.enc +6 -0
  281. package/dist/plugins/skills/exploration-phase/SKILL.md.enc +6 -0
  282. package/dist/plugins/skills/field-evolve-analyzer/SKILL.md.enc +6 -0
  283. package/dist/plugins/skills/field-evolve-distiller/SKILL.md.enc +6 -0
  284. package/dist/plugins/skills/field-evolve-executor/SKILL.md.enc +6 -0
  285. package/dist/plugins/skills/field-evolve-executor/executor.js +2 -0
  286. package/dist/plugins/skills/field-evolve-fixer/SKILL.md.enc +6 -0
  287. package/dist/plugins/skills/field-evolve-learner/SKILL.md.enc +6 -0
  288. package/dist/plugins/skills/field-evolve-scanner/SKILL.md.enc +6 -0
  289. package/dist/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +2 -0
  290. package/dist/plugins/skills/field-evolve-verifier/SKILL.md.enc +6 -0
  291. package/dist/plugins/skills/heartbeat-monitor/SKILL.md.enc +6 -0
  292. package/dist/plugins/skills/implementation-stage/SKILL.md.enc +6 -0
  293. package/dist/plugins/skills/layer1-validation/SKILL.md.enc +6 -0
  294. package/dist/plugins/skills/multi-role-orchestration/SKILL.md.enc +6 -0
  295. package/dist/plugins/skills/ops-content-marketing/SKILL.md.enc +6 -0
  296. package/dist/plugins/skills/ops-conversion/SKILL.md.enc +6 -0
  297. package/dist/plugins/skills/ops-data-driven/SKILL.md.enc +6 -0
  298. package/dist/plugins/skills/ops-growth-strategies/SKILL.md.enc +6 -0
  299. package/dist/plugins/skills/ops-private-domain/SKILL.md.enc +6 -0
  300. package/dist/plugins/skills/ops-social-commerce/SKILL.md.enc +6 -0
  301. package/dist/plugins/skills/ops-user-growth/SKILL.md.enc +6 -0
  302. package/dist/plugins/skills/pending-dashboard/SKILL.md.enc +6 -0
  303. package/dist/plugins/skills/project-evolve-analyzer/SKILL.md.enc +6 -0
  304. package/dist/plugins/skills/project-evolve-fixer/SKILL.md.enc +6 -0
  305. package/dist/plugins/skills/project-evolve-generator/SKILL.md.enc +6 -0
  306. package/dist/plugins/skills/project-evolve-learner/SKILL.md.enc +6 -0
  307. package/dist/plugins/skills/project-evolve-reviewer/SKILL.md.enc +6 -0
  308. package/dist/plugins/skills/project-evolve-scanner/SKILL.md.enc +6 -0
  309. package/dist/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +2 -0
  310. package/dist/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +2 -0
  311. package/dist/plugins/skills/project-evolve-verifier/SKILL.md.enc +6 -0
  312. package/dist/plugins/skills/requirement-stage/SKILL.md.enc +6 -0
  313. package/dist/plugins/skills/secret-scanner/SKILL.md.enc +6 -0
  314. package/dist/plugins/skills/skill-forge/SKILL.md.enc +6 -0
  315. package/dist/plugins/skills/skill-forge/references/description-guide.md.enc +6 -0
  316. package/dist/plugins/skills/skill-forge/references/quality-rubric.md.enc +6 -0
  317. package/dist/plugins/skills/skill-forge/references/skill-template.md.enc +6 -0
  318. package/dist/plugins/skills/startup-guard/SKILL.md.enc +6 -0
  319. package/dist/plugins/skills/tdd-workflow/SKILL.md.enc +6 -0
  320. package/dist/plugins/skills/testing-stage/SKILL.md.enc +6 -0
  321. package/dist/plugins/skills/tracking-validator/SKILL.md.enc +6 -0
  322. package/dist/scripts/build-crypto.js +2 -0
  323. package/dist/scripts/cli/contribute.js +1 -0
  324. package/dist/scripts/cli/dashboard.js +1 -0
  325. package/dist/scripts/cli/env.js +1 -0
  326. package/dist/scripts/cli/global-init.js +1 -0
  327. package/dist/scripts/cli/global.js +1 -0
  328. package/dist/scripts/cli/index.js +1 -0
  329. package/dist/scripts/cli/init.js +1 -0
  330. package/dist/scripts/cli/list.js +1 -0
  331. package/dist/scripts/cli/memory.js +1 -0
  332. package/dist/scripts/cli/org.js +1 -0
  333. package/dist/scripts/cli/plugin.js +1 -0
  334. package/dist/scripts/cli/practice-report.js +1 -0
  335. package/dist/scripts/cli/runtime-governance.js +1 -0
  336. package/dist/scripts/cli/system.js +1 -0
  337. package/dist/scripts/cli/update.js +1 -0
  338. package/dist/scripts/commands/catalog.js +1 -0
  339. package/dist/scripts/commands/slash-command-docs.js +1 -0
  340. package/dist/scripts/config/external-mounts.config.js +2 -0
  341. package/dist/scripts/heartbeat/check.js +2 -0
  342. package/dist/scripts/heartbeat/setup-cron.js +2 -0
  343. package/dist/scripts/install/adapters.js +1 -0
  344. package/dist/scripts/install/constants.js +1 -0
  345. package/dist/scripts/install/file-reader.js +1 -0
  346. package/dist/scripts/install/index.js +1 -0
  347. package/dist/scripts/install/shards/constants-shard.js +1 -0
  348. package/dist/scripts/install/shards/crypto-config-shard.js +1 -0
  349. package/dist/scripts/install/shards/error-messages-shard.js +1 -0
  350. package/dist/scripts/install/shards/reassemble.js +1 -0
  351. package/dist/scripts/install/shards/utils-shard.js +1 -0
  352. package/dist/scripts/install/shards/version-info-shard.js +1 -0
  353. package/dist/scripts/postinstall.js +1 -0
  354. package/dist/scripts/state.js +1 -0
  355. package/package.json +21 -12
  356. package/README.en.md +0 -472
  357. package/bin/autospec.js +0 -3
  358. package/knowledge/README.md +0 -144
  359. package/knowledge/checklists/code.md +0 -182
  360. package/knowledge/checklists/design.md +0 -196
  361. package/knowledge/checklists/release.md +0 -70
  362. package/knowledge/checklists/requirement.md +0 -169
  363. package/knowledge/checklists/test.md +0 -46
  364. package/knowledge/config/README.en.md +0 -44
  365. package/knowledge/config/README.md +0 -44
  366. package/knowledge/config/role-composition.yaml +0 -98
  367. package/knowledge/config/role-extensions.yaml +0 -140
  368. package/knowledge/config/skill-compositions.yaml +0 -142
  369. package/knowledge/config/team-stage.yaml +0 -95
  370. package/knowledge/config/team-tasks.yaml +0 -139
  371. package/knowledge/config/team-triggers.yaml +0 -198
  372. package/knowledge/config/validation-patterns.yaml +0 -137
  373. package/knowledge/domain/README.md +0 -115
  374. package/knowledge/domain/flows/README.md +0 -194
  375. package/knowledge/domain/glossary.md +0 -143
  376. package/knowledge/domain/rules.md +0 -138
  377. package/knowledge/environment/README.en.md +0 -36
  378. package/knowledge/environment/README.md +0 -87
  379. package/knowledge/environment/component-knowledge.md +0 -316
  380. package/knowledge/environment/detection-patterns.yaml +0 -502
  381. package/knowledge/environment/middleware-knowledge.md +0 -237
  382. package/knowledge/environment/template-registry.md +0 -321
  383. package/knowledge/guides/domain-driven-design.md +0 -345
  384. package/knowledge/guides/knowledge-management.md +0 -369
  385. package/knowledge/guides/requirement-engineering.md +0 -329
  386. package/knowledge/guides/stages/ai-effect-evaluator.md +0 -93
  387. package/knowledge/guides/stages/code-implementer.md +0 -205
  388. package/knowledge/guides/stages/code-reviewer.md +0 -111
  389. package/knowledge/guides/stages/consistency-checker.md +0 -177
  390. package/knowledge/guides/stages/design-planner.md +0 -401
  391. package/knowledge/guides/stages/design-reviewer.md +0 -83
  392. package/knowledge/guides/stages/integration-test-runner.md +0 -105
  393. package/knowledge/guides/stages/release-checker.md +0 -205
  394. package/knowledge/guides/stages/requirement-analyzer.md +0 -195
  395. package/knowledge/guides/stages/requirement-reviewer.md +0 -83
  396. package/knowledge/guides/stages/security-reviewer.md +0 -89
  397. package/knowledge/guides/stages/test-context-analyzer.md +0 -250
  398. package/knowledge/guides/stages/test-generator.md +0 -241
  399. package/knowledge/guides/stages/test-planner.md +0 -183
  400. package/knowledge/guides/stages/test-reviewer.md +0 -76
  401. package/knowledge/guides/stages/unit-test-runner.md +0 -83
  402. package/knowledge/guides/support/ai-agent-analyzer.md +0 -362
  403. package/knowledge/guides/support/ai-anomaly-analyzer.md +0 -213
  404. package/knowledge/guides/support/ai-artifact-evaluator.md +0 -192
  405. package/knowledge/guides/support/ai-capability-analyzer.md +0 -193
  406. package/knowledge/guides/support/ai-component-analyzer.md +0 -169
  407. package/knowledge/guides/support/ai-data-validator.md +0 -276
  408. package/knowledge/guides/support/ai-evaluation-planner.md +0 -374
  409. package/knowledge/guides/support/ai-path-evaluator.md +0 -274
  410. package/knowledge/guides/support/ai-pipeline-evaluator.md +0 -219
  411. package/knowledge/guides/support/ai-rag-analyzer.md +0 -339
  412. package/knowledge/guides/support/ai-task-assessor.md +0 -418
  413. package/knowledge/guides/support/ai-test-diagnostics.md +0 -133
  414. package/knowledge/guides/support/complexity-assessor.md +0 -268
  415. package/knowledge/guides/support/component-discovery.md +0 -183
  416. package/knowledge/guides/support/environment-scanner.md +0 -207
  417. package/knowledge/guides/support/environment-validator.md +0 -207
  418. package/knowledge/guides/support/knowledge-generator.md +0 -234
  419. package/knowledge/guides/support/methodology-extractor.md +0 -55
  420. package/knowledge/guides/support/pipeline-protocol.md +0 -438
  421. package/knowledge/guides/support/practice-logger.md +0 -359
  422. package/knowledge/guides/support/scope-inference.md +0 -174
  423. package/knowledge/guides/support/skill-distiller.md +0 -91
  424. package/knowledge/guides/support/skill-updater.md +0 -45
  425. package/knowledge/guides/support/skill-validator.md +0 -72
  426. package/knowledge/guides/support/team-orchestrator.md +0 -323
  427. package/knowledge/guides/support/tech-stack-analyzer.md +0 -139
  428. package/knowledge/guides/support/test-runner.md +0 -254
  429. package/knowledge/guides/system-design.md +0 -352
  430. package/knowledge/organization/ai-native-team.md +0 -318
  431. package/knowledge/organization/team-metrics.md +0 -228
  432. package/knowledge/principles/constitution.md +0 -134
  433. package/knowledge/principles/core-principles.md +0 -368
  434. package/knowledge/principles/design-philosophy.md +0 -877
  435. package/knowledge/principles/evolution.md +0 -553
  436. package/knowledge/process/01-requirement.md +0 -113
  437. package/knowledge/process/02-design.md +0 -123
  438. package/knowledge/process/03-implementation.md +0 -90
  439. package/knowledge/process/04-review.md +0 -80
  440. package/knowledge/process/05-testing.md +0 -90
  441. package/knowledge/process/06-delivery.md +0 -88
  442. package/knowledge/process/README.en.md +0 -38
  443. package/knowledge/process/README.md +0 -48
  444. package/knowledge/process/ai-sdlc.md +0 -475
  445. package/knowledge/process/overview.md +0 -319
  446. package/knowledge/standards/code-review.md +0 -876
  447. package/knowledge/standards/coding-style.md +0 -940
  448. package/knowledge/standards/data-consistency.md +0 -1085
  449. package/knowledge/standards/document-versioning.md +0 -210
  450. package/knowledge/standards/risk-detection.md +0 -186
  451. package/knowledge/templates/ai-evaluation.md +0 -150
  452. package/knowledge/templates/api-design.md +0 -117
  453. package/knowledge/templates/database-design.md +0 -132
  454. package/knowledge/templates/domain-driven-design.md +0 -321
  455. package/knowledge/templates/product-proposal.md +0 -201
  456. package/knowledge/templates/system-design.md +0 -227
  457. package/knowledge/templates/task-breakdown.md +0 -107
  458. package/knowledge/templates/test-case.md +0 -170
  459. package/plugins/.claude-plugin/plugin.json +0 -134
  460. package/plugins/agents/roles/ai-engineer.md +0 -129
  461. package/plugins/agents/roles/backend-engineer.md +0 -165
  462. package/plugins/agents/roles/ceo.md +0 -94
  463. package/plugins/agents/roles/data-engineer.md +0 -135
  464. package/plugins/agents/roles/devops-engineer.md +0 -181
  465. package/plugins/agents/roles/frontend-engineer.md +0 -129
  466. package/plugins/agents/roles/product-owner.md +0 -98
  467. package/plugins/agents/roles/quality-engineer.md +0 -129
  468. package/plugins/agents/roles/security-engineer.md +0 -180
  469. package/plugins/agents/roles/tech-lead.md +0 -97
  470. package/plugins/agents/support/blind-comparator.md +0 -88
  471. package/plugins/agents/support/consistency-checker.md +0 -103
  472. package/plugins/agents/support/failure-diagnostician.md +0 -141
  473. package/plugins/agents/support/independent-reviewer.md +0 -80
  474. package/plugins/agents/support/safety-auditor.md +0 -121
  475. package/plugins/agents/support/skill-benchmarker.md +0 -86
  476. package/plugins/agents/support/skill-forger.md +0 -105
  477. package/plugins/agents/support/stage-gate-evaluator.md +0 -121
  478. package/plugins/agents/support/test-coverage-reviewer.md +0 -73
  479. package/plugins/benchmarks/templates/README.md +0 -44
  480. package/plugins/benchmarks/templates/commands/explore-template.yaml +0 -48
  481. package/plugins/benchmarks/templates/pipeline/agile-template.yaml +0 -84
  482. package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +0 -106
  483. package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +0 -48
  484. package/plugins/commands/README.en.md +0 -96
  485. package/plugins/commands/README.md +0 -96
  486. package/plugins/commands/apply.md +0 -191
  487. package/plugins/commands/archive.md +0 -76
  488. package/plugins/commands/env-export.md +0 -79
  489. package/plugins/commands/env-sync.md +0 -640
  490. package/plugins/commands/env-template.md +0 -223
  491. package/plugins/commands/env-update.md +0 -264
  492. package/plugins/commands/env-validate.md +0 -176
  493. package/plugins/commands/env.md +0 -79
  494. package/plugins/commands/explore.md +0 -76
  495. package/plugins/commands/field-evolve.md +0 -536
  496. package/plugins/commands/memory.md +0 -249
  497. package/plugins/commands/project-evolve.md +0 -821
  498. package/plugins/commands/propose.md +0 -93
  499. package/plugins/commands/review.md +0 -140
  500. package/plugins/commands/run.md +0 -224
  501. package/plugins/commands/status.md +0 -62
  502. package/plugins/commands/validate.md +0 -108
  503. package/plugins/hooks/README.en.md +0 -56
  504. package/plugins/hooks/README.md +0 -56
  505. package/plugins/hooks/ai-project-guard.js +0 -329
  506. package/plugins/hooks/artifact-evaluation-hook.js +0 -237
  507. package/plugins/hooks/constitution-guard.js +0 -211
  508. package/plugins/hooks/environment-autocommit.js +0 -264
  509. package/plugins/hooks/environment-manager.js +0 -778
  510. package/plugins/hooks/execution-tracker.js +0 -354
  511. package/plugins/hooks/frozen-zone-guard.js +0 -140
  512. package/plugins/hooks/layer1-validator.js +0 -423
  513. package/plugins/hooks/lib/artifact-evaluator.js +0 -414
  514. package/plugins/hooks/lib/benchmarks/change-detector.js +0 -390
  515. package/plugins/hooks/lib/benchmarks/evaluator.js +0 -605
  516. package/plugins/hooks/lib/benchmarks/integration-example.js +0 -169
  517. package/plugins/hooks/lib/data-and-ai-detector.js +0 -275
  518. package/plugins/hooks/lib/detection-pattern-loader.js +0 -865
  519. package/plugins/hooks/lib/directory-discovery.js +0 -395
  520. package/plugins/hooks/lib/environment-config-loader.js +0 -341
  521. package/plugins/hooks/lib/environment-detector.js +0 -553
  522. package/plugins/hooks/lib/environment-evolver.js +0 -564
  523. package/plugins/hooks/lib/environment-registry.js +0 -813
  524. package/plugins/hooks/lib/execution-path.js +0 -427
  525. package/plugins/hooks/lib/hook-error-recorder.js +0 -245
  526. package/plugins/hooks/lib/hook-logger.js +0 -538
  527. package/plugins/hooks/lib/hook-runner.js +0 -97
  528. package/plugins/hooks/lib/hook-state-manager.js +0 -480
  529. package/plugins/hooks/lib/memory-extractor.js +0 -377
  530. package/plugins/hooks/lib/memory-manager.js +0 -673
  531. package/plugins/hooks/lib/metrics-analyzer.js +0 -489
  532. package/plugins/hooks/lib/project-evolution/auto-fixer.js +0 -511
  533. package/plugins/hooks/lib/project-evolution/memory-manager.js +0 -346
  534. package/plugins/hooks/lib/project-evolution/pattern-detector.js +0 -476
  535. package/plugins/hooks/lib/project-evolution/semantic-indexer.js +0 -480
  536. package/plugins/hooks/lib/project-structure-detector.js +0 -326
  537. package/plugins/hooks/lib/rollback-tracker.js +0 -346
  538. package/plugins/hooks/lib/source-code-scanner.js +0 -596
  539. package/plugins/hooks/lib/technology-stack-detector.js +0 -374
  540. package/plugins/hooks/lib/test-failure-analyzer.js +0 -375
  541. package/plugins/hooks/lib/test-failure-fixer.js +0 -268
  542. package/plugins/hooks/lib/trace-context.js +0 -277
  543. package/plugins/hooks/lib/validation-patterns.js +0 -415
  544. package/plugins/hooks/memory-sync.js +0 -171
  545. package/plugins/hooks/pipeline-observer.js +0 -413
  546. package/plugins/hooks/scope-sentinel.js +0 -204
  547. package/plugins/hooks/trace-initialization.js +0 -169
  548. package/plugins/memory/templates/code-quality.yaml +0 -149
  549. package/plugins/memory/templates/multi-system.yaml +0 -155
  550. package/plugins/memory/templates/team-habits.yaml +0 -119
  551. package/plugins/memory/templates/testing.yaml +0 -121
  552. package/plugins/skills/README.en.md +0 -47
  553. package/plugins/skills/README.md +0 -104
  554. package/plugins/skills/benchmark-executor/README.md +0 -93
  555. package/plugins/skills/benchmark-executor/SKILL.md +0 -647
  556. package/plugins/skills/benchmark-generator/SKILL.md +0 -349
  557. package/plugins/skills/delivery-stage/SKILL.md +0 -203
  558. package/plugins/skills/design-stage/SKILL.md +0 -216
  559. package/plugins/skills/evolution-process/SKILL.md +0 -291
  560. package/plugins/skills/exploration-phase/SKILL.md +0 -133
  561. package/plugins/skills/implementation-stage/SKILL.md +0 -179
  562. package/plugins/skills/layer1-validation/SKILL.md +0 -79
  563. package/plugins/skills/pending-dashboard/SKILL.md +0 -109
  564. package/plugins/skills/project-evolution/SKILL.md +0 -847
  565. package/plugins/skills/requirement-stage/SKILL.md +0 -183
  566. package/plugins/skills/skill-forge/SKILL.md +0 -223
  567. package/plugins/skills/skill-forge/references/description-guide.md +0 -92
  568. package/plugins/skills/skill-forge/references/quality-rubric.md +0 -104
  569. package/plugins/skills/skill-forge/references/skill-template.md +0 -106
  570. package/plugins/skills/startup-guard/SKILL.md +0 -38
  571. package/plugins/skills/testing-stage/SKILL.md +0 -195
  572. package/scripts/cli/global-init.js +0 -288
  573. package/scripts/cli/global.js +0 -324
  574. package/scripts/cli/index.js +0 -55
  575. package/scripts/cli/init.js +0 -382
  576. package/scripts/cli/list.js +0 -69
  577. package/scripts/cli/org.js +0 -340
  578. package/scripts/cli/update.js +0 -44
  579. package/scripts/config/commands.config.js +0 -145
  580. package/scripts/config/hooks.config.js +0 -197
  581. package/scripts/evolution/evolution-router.js +0 -273
  582. package/scripts/evolution/evolution-signal-collector.js +0 -307
  583. package/scripts/evolution/knowledge-loader.js +0 -346
  584. package/scripts/evolution/marketplace.js +0 -317
  585. package/scripts/evolution/version-manager.js +0 -371
  586. package/scripts/install/agents.js +0 -106
  587. package/scripts/install/commands.js +0 -133
  588. package/scripts/install/constants.js +0 -424
  589. package/scripts/install/hook-logger.js +0 -536
  590. package/scripts/install/hooks.js +0 -110
  591. package/scripts/install/index.js +0 -39
  592. package/scripts/install/skills.js +0 -95
  593. package/scripts/postinstall.js +0 -25
  594. package/scripts/state.js +0 -376
  595. /package/{plugins → dist/plugins}/hooks/lib/hook-runner.sh +0 -0
@@ -1,56 +0,0 @@
1
- # Hooks 脚本目录
2
-
3
- 本目录包含所有 Claude Code hooks 脚本,随 init 过程复制到 `.autospec/plugins/hooks/` 目录。
4
-
5
- ## 目录结构
6
-
7
- ```
8
- hooks/
9
- ├── trace-initialization.js # Trace ID 初始化
10
- ├── frozen-zone-guard.js # 冻结区保护
11
- ├── scope-sentinel.js # 范围防漂移
12
- ├── constitution-guard.js # 宪法门禁
13
- ├── layer1-validator.js # Layer 1 检查
14
- ├── environment-manager.js # 环境管理
15
- ├── ai-project-guard.js # AI 项目安全
16
- ├── execution-tracker.js # 执行追踪
17
- ├── artifact-evaluation-hook.js # 产出物评测
18
- ├── pipeline-observer.js # 流程观察
19
- ├── lib/ # 工具库
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 # 本文件
31
- ```
32
-
33
- ## Hook 触发时机
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
- ## 自闭环要求
49
-
50
- 本目录中的脚本必须自闭环,满足以下要求:
51
-
52
- 1. **只依赖 Node.js 内置模块**(fs, path 等)
53
- 2. **只依赖 `./lib/` 本地工具库**
54
- 3. **不依赖任何脚手架代码**
55
-
56
- 这样确保复制到 `.autospec/plugins/hooks/` 后可以独立运行。
@@ -1,329 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * AutoSpec Hook: AI Project Guard
5
- *
6
- * AI 项目专项保护 Hook,合并了安全和效果验证功能:
7
- * - PostToolUse: AI 安全检查(原 ai-security-guard.js)
8
- * - PostToolUse: AI 效果验证(原 ai-effect-validator.js)
9
- *
10
- * 职责:
11
- * 1. 检测 AI 项目(依赖/目录)
12
- * 2. 安全检查:敏感操作、依赖安装、网络请求
13
- * 3. 效果验证:测试/评估命令结果捕获
14
- */
15
-
16
- import { createHookLogger, safeJsonParse, handleHookError, readStdin, findProjectRootAsync, fileExists, globalHookCache } from './lib/hook-logger.js';
17
- import {
18
- checkCommandSecurity,
19
- detectEvalCommands,
20
- detectTestFramework,
21
- extractTestMetrics,
22
- extractLintMetrics,
23
- extractTypeMetrics,
24
- } from './lib/validation-patterns.js';
25
-
26
- const logger = createHookLogger('ai-project-guard');
27
- const projectTypeCache = globalHookCache;
28
-
29
- // ========== AI 项目检测 ==========
30
-
31
- const AI_PROJECT_INDICATORS = [
32
- 'requirements.txt', 'pyproject.toml', 'Pipfile',
33
- 'ml/', 'ai/', 'model/', 'rag/', 'agents/', 'prompts/',
34
- 'embeddings/', 'vectorstore/'
35
- ];
36
-
37
- const AI_DEPENDENCIES = [
38
- 'langchain', 'llamaindex', 'openai', 'anthropic',
39
- 'transformers', 'torch', 'tensorflow', 'huggingface',
40
- 'crewai', 'autogen', 'vanna'
41
- ];
42
-
43
- const AI_DIRECTORIES = ['ml', 'ai', 'model', 'rag', 'agents', 'prompts', 'embeddings', 'vectorstore'];
44
-
45
- /**
46
- * 快速检测是否为 AI 项目
47
- */
48
- async function detectAIProject(projectRoot) {
49
- // 检查 AI 相关依赖文件
50
- const aiDependencyFiles = ['requirements.txt', 'pyproject.toml', 'Pipfile', 'package.json'];
51
-
52
- for (const file of aiDependencyFiles) {
53
- const filePath = `${projectRoot}/${file}`;
54
- if (await fileExists(filePath)) {
55
- try {
56
- const fs = await import('fs');
57
- const content = await fs.promises.readFile(filePath, 'utf-8');
58
-
59
- if (AI_DEPENDENCIES.some(ind => content.toLowerCase().includes(ind))) {
60
- logger.debug('AI dependency detected', { file });
61
- return true;
62
- }
63
- } catch (err) {
64
- logger.debug('Failed to read dependency file', { file, error: err.message });
65
- }
66
- }
67
- }
68
-
69
- // 检查 AI 相关目录
70
- for (const dir of AI_DIRECTORIES) {
71
- if (await fileExists(`${projectRoot}/${dir}`)) {
72
- logger.debug('AI directory detected', { dir });
73
- return true;
74
- }
75
- }
76
-
77
- return false;
78
- }
79
-
80
- /**
81
- * 检查项目类型(带缓存)
82
- */
83
- async function checkProjectType(projectRoot) {
84
- const cacheKey = `ai-project:${projectRoot}`;
85
- let isAIProject = projectTypeCache.get(cacheKey);
86
-
87
- if (isAIProject === undefined) {
88
- isAIProject = await detectAIProject(projectRoot);
89
- projectTypeCache.set(cacheKey, isAIProject, 5 * 60 * 1000);
90
- logger.debug('Project type detected', { isAIProject, projectRoot });
91
- } else {
92
- logger.debug('Using cached project type', { isAIProject });
93
- }
94
-
95
- return isAIProject;
96
- }
97
-
98
- // ========== 安全检查 ==========
99
- // 使用 validation-patterns.js 中的 checkCommandSecurity 函数
100
-
101
- /**
102
- * 格式化安全报告
103
- */
104
- function formatSecurityReport(issues, command) {
105
- let report = `[AutoSpec AI-Security] 检测到 ${issues.length} 个安全问题\n`;
106
- report += `命令:${command.slice(0, 80)}${command.length > 80 ? '...' : ''}\n\n`;
107
-
108
- const bySeverity = { HIGH: [], MEDIUM: [], LOW: [] };
109
- for (const issue of issues) {
110
- bySeverity[issue.severity].push(issue);
111
- }
112
-
113
- for (const severity of ['HIGH', 'MEDIUM', 'LOW']) {
114
- if (bySeverity[severity].length > 0) {
115
- const icons = { HIGH: '🚨', MEDIUM: '⚠️', LOW: 'ℹ️' };
116
- report += `${icons[severity]} **${severity}** (${bySeverity[severity].length}个):\n`;
117
- for (const issue of bySeverity[severity]) {
118
- report += ` • ${issue.message}\n`;
119
- report += ` 建议:${issue.recommendation}\n`;
120
- }
121
- report += '\n';
122
- }
123
- }
124
-
125
- return report;
126
- }
127
-
128
- /**
129
- * 处理安全检查
130
- */
131
- async function handleSecurityCheck(input, projectRoot) {
132
- const command = input.tool_input?.command || '';
133
- if (!command) {
134
- logger.debug('Empty command, skipping');
135
- return;
136
- }
137
-
138
- logger.debug('Checking AI project command', { command: command.slice(0, 100) });
139
-
140
- const securityIssues = checkCommandSecurity(command, projectRoot);
141
-
142
- if (securityIssues.length === 0) {
143
- logger.debug('No security issues detected');
144
- return;
145
- }
146
-
147
- logger.info('Security issues detected', { count: securityIssues.length });
148
-
149
- const output = {
150
- hookSpecificOutput: {
151
- hookEventName: 'PostToolUse',
152
- additionalContext: formatSecurityReport(securityIssues, command)
153
- }
154
- };
155
-
156
- process.stdout.write(JSON.stringify(output));
157
- }
158
-
159
- // ========== 效果验证 ==========
160
- // 使用 validation-patterns.js 中的检测函数
161
-
162
- /**
163
- * 收集评估结果 - 使用公共模块的指标提取函数
164
- */
165
- function collectEvalResults(evalCommands, response) {
166
- const results = [];
167
- const exitCode = response.exitCode ?? (response.error ? 1 : 0);
168
- const stdout = response.stdout || '';
169
- const stderr = response.stderr || '';
170
-
171
- for (const cmd of evalCommands) {
172
- const result = {
173
- type: cmd.type,
174
- framework: cmd.framework,
175
- pass: exitCode === 0,
176
- exitCode: exitCode,
177
- details: extractDetails(stdout, stderr)
178
- };
179
-
180
- if (cmd.type === 'test') {
181
- result.metrics = extractTestMetrics(stdout, stderr);
182
- } else if (cmd.type === 'lint') {
183
- result.metrics = extractLintMetrics(stdout, stderr);
184
- } else if (cmd.type === 'type_check') {
185
- result.metrics = extractTypeMetrics(stdout, stderr);
186
- }
187
-
188
- results.push(result);
189
- }
190
-
191
- return results;
192
- }
193
-
194
- /**
195
- * 提取详细信息
196
- */
197
- function extractDetails(stdout, stderr) {
198
- const output = (stdout || '') + (stderr || '');
199
- const lines = output.split('\n').filter(l => l.trim());
200
- return lines.slice(-5).join('\n');
201
- }
202
-
203
- /**
204
- * 格式化评估报告
205
- */
206
- function formatEvalReport(results) {
207
- let report = '[AutoSpec AI-Effect] AI 效果验证\n';
208
- report += `检测到 ${results.length} 个评估命令\n\n`;
209
-
210
- let allPass = true;
211
- for (const result of results) {
212
- const status = result.pass ? '✅ PASS' : '❌ FAIL';
213
- report += `### ${result.type.toUpperCase()}: ${status}\n`;
214
- report += `Exit Code: ${result.exitCode}\n`;
215
-
216
- if (result.framework) {
217
- report += `Framework: ${result.framework}\n`;
218
- }
219
-
220
- if (result.metrics && Object.keys(result.metrics).length > 0) {
221
- report += '指标:\n';
222
- for (const [key, value] of Object.entries(result.metrics)) {
223
- report += ` - ${key}: ${value}\n`;
224
- }
225
- }
226
-
227
- if (!result.pass && result.details) {
228
- report += '失败详情:\n```\n';
229
- report += result.details.substring(0, 500) + '\n```\n';
230
- }
231
-
232
- report += '\n';
233
-
234
- if (!result.pass) allPass = false;
235
- }
236
-
237
- if (allPass && results.length > 0) {
238
- report += '✅ 所有效果验证通过\n';
239
- report += '可进入下一阶段或进行 Layer 2 审查\n';
240
- } else if (results.length > 0) {
241
- report += '❌ 效果验证未通过\n';
242
- report += '[CP6] 错误即信号 - 请分析失败原因后再重试\n';
243
- }
244
-
245
- return report;
246
- }
247
-
248
- /**
249
- * 处理效果验证
250
- */
251
- async function handleEffectValidation(input, projectRoot) {
252
- const command = input.tool_input?.command || '';
253
- const response = input.tool_response || {};
254
-
255
- const evalCommands = detectEvalCommands(command);
256
-
257
- if (evalCommands.length === 0) {
258
- logger.debug('No evaluation commands detected, skipping');
259
- return;
260
- }
261
-
262
- logger.debug('Evaluation commands detected', { count: evalCommands.length });
263
-
264
- const evalResults = collectEvalResults(evalCommands, response);
265
-
266
- const output = {
267
- hookSpecificOutput: {
268
- hookEventName: 'PostToolUse',
269
- additionalContext: formatEvalReport(evalResults)
270
- }
271
- };
272
-
273
- process.stdout.write(JSON.stringify(output));
274
- }
275
-
276
- /**
277
- * 主函数
278
- */
279
- async function main() {
280
- let input;
281
- try {
282
- const rawInput = await readStdin(1000);
283
- input = safeJsonParse(rawInput, null, 'hook input');
284
-
285
- if (!input) {
286
- logger.debug('Empty or invalid input, skipping');
287
- process.exit(0);
288
- }
289
- } catch (err) {
290
- logger.error('Failed to parse input', { error: err.message });
291
- process.exit(0);
292
- }
293
-
294
- // 只处理 Bash 命令
295
- if (input.tool_name !== 'Bash') {
296
- logger.debug('Not a Bash command, skipping', { toolName: input.tool_name });
297
- process.exit(0);
298
- }
299
-
300
- // Find project root
301
- const cwd = input.cwd || process.cwd();
302
- const projectRoot = await findProjectRootAsync(cwd);
303
-
304
- if (!projectRoot) {
305
- logger.debug('No project root found, skipping');
306
- process.exit(0);
307
- }
308
-
309
- // 检查是否为 AI 项目
310
- const isAIProject = await checkProjectType(projectRoot);
311
- if (!isAIProject) {
312
- logger.debug('Not an AI project, skipping');
313
- process.exit(0);
314
- }
315
-
316
- // 执行安全检查和效果验证
317
- await handleSecurityCheck(input, projectRoot);
318
- await handleEffectValidation(input, projectRoot);
319
-
320
- process.exit(0);
321
- }
322
-
323
- main().catch((err) => {
324
- const result = handleHookError('ai-project-guard', err, {
325
- eventName: 'PostToolUse'
326
- });
327
- process.stdout.write(JSON.stringify(result.hookSpecificOutput));
328
- process.exit(0);
329
- });
@@ -1,237 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * AutoSpec PostToolUse Hook: Artifact Evaluator
5
- *
6
- * 产出物评测 Hook
7
- * - 触发时机:关键产出物生成后
8
- * - 执行策略:
9
- * - 结构检查:100% 执行
10
- * - 一致性检测:100% 执行
11
- * - AI 质量评估:采样执行(首次必评,后续 30% 采样)
12
- */
13
-
14
- import { createHookLogger, safeJsonParse, handleHookError, readStdin, findProjectRootAsync } from './lib/hook-logger.js';
15
- import {
16
- isKeyArtifact,
17
- detectArtifactType,
18
- checkStructure,
19
- recordArtifactEval,
20
- calculateArtifactScore,
21
- updateArtifactSummary,
22
- shouldRunQualityEval
23
- } from './lib/artifact-evaluator.js';
24
- import { getTraceId, recordEvent } from './lib/trace-context.js';
25
- import { getState, getMetrics, updateMetrics } from './lib/hook-state-manager.js';
26
-
27
- const logger = createHookLogger('artifact-evaluation-hook');
28
-
29
- /**
30
- * 执行产出物评测
31
- * @param {string} projectRoot - 项目根目录
32
- * @param {string} artifactPath - 产出物路径
33
- * @param {string} artifactType - 产出物类型
34
- */
35
- async function evaluateArtifact(projectRoot, artifactPath, artifactType) {
36
- const evaluations = {};
37
-
38
- // 1. 结构完整性检查(100% 执行)
39
- logger.info('执行结构完整性检查', { artifactPath, artifactType });
40
- const structureResult = checkStructure(artifactPath, artifactType);
41
- evaluations.structure = structureResult;
42
-
43
- // 2. 一致性检测(如果有上游产物)
44
- // 注:一致性检测需要多个产物,这里只标记需要检测
45
- // 实际的一致性检测由 consistency-checker skill 执行
46
- if (artifactType !== 'REQUIREMENT') {
47
- evaluations.consistency = {
48
- score: null,
49
- status: 'pending',
50
- message: '等待一致性检测'
51
- };
52
- }
53
-
54
- // 3. AI 质量评估(采样执行)
55
- const qualityDecision = shouldRunQualityEval(projectRoot, artifactType);
56
- if (qualityDecision.shouldEval) {
57
- logger.info('触发 AI 质量评估', { reason: qualityDecision.reason });
58
- evaluations.quality = {
59
- score: null,
60
- status: 'pending',
61
- message: '等待 AI 评估',
62
- triggerReason: qualityDecision.reason
63
- };
64
-
65
- // 输出提示,让主流程知道需要执行 AI 评估
66
- outputQualityEvalPrompt(artifactPath, artifactType);
67
- } else {
68
- logger.debug('跳过 AI 质量评估', { reason: qualityDecision.reason });
69
- }
70
-
71
- // 4. 下游反馈(标记为待评估)
72
- evaluations.feedback = {
73
- score: null,
74
- status: 'pending',
75
- message: '等待下游阶段反馈'
76
- };
77
-
78
- // 记录评测结果
79
- recordArtifactEval(projectRoot, artifactPath, artifactType, evaluations);
80
-
81
- // 计算当前可用评分
82
- const currentScore = calculateArtifactScore(evaluations, artifactType);
83
-
84
- // 更新产出物质量汇总
85
- updateArtifactSummary(projectRoot);
86
-
87
- // 低分告警
88
- if (structureResult.score < 60) {
89
- outputLowScoreWarning(artifactPath, structureResult.score, 'structure');
90
- }
91
-
92
- return {
93
- evaluations,
94
- currentScore
95
- };
96
- }
97
-
98
- /**
99
- * 输出 AI 质量评估提示
100
- */
101
- function outputQualityEvalPrompt(artifactPath, artifactType) {
102
- const prompt = `
103
- [AutoSpec] 产出物质量评估触发
104
-
105
- 产出物: ${artifactPath}
106
- 类型: ${artifactType}
107
-
108
- 建议执行 AI 质量评估:
109
- 1. 读取 framework/skills/support/ai-artifact-evaluator.md
110
- 2. 使用 Agent 工具执行评估
111
- 3. 将结果记录到 metrics.json
112
-
113
- 评估维度:
114
- - 内容质量评分
115
- - 与历史优秀案例对比
116
- - 改进建议
117
- `;
118
-
119
- process.stdout.write(JSON.stringify({
120
- hookSpecificOutput: {
121
- hookEventName: 'PostToolUse',
122
- additionalContext: prompt
123
- }
124
- }));
125
- }
126
-
127
- /**
128
- * 输出低分告警
129
- */
130
- function outputLowScoreWarning(artifactPath, score, evalType) {
131
- const isSevere = score < 40;
132
- const level = isSevere ? '🚨 严重' : '⚠️ 警告';
133
-
134
- const warning = `
135
- [AutoSpec ${level}] 产出物质量评分较低
136
-
137
- 产出物: ${artifactPath}
138
- 评测类型: ${evalType}
139
- 评分: ${score}/100
140
-
141
- ${isSevere ? `
142
- **建议暂停当前流程**,产出物结构严重不完整:
143
- - 检查产出物是否符合模板要求
144
- - 确保必要章节完整
145
- - 建议重新生成后再继续下一阶段
146
-
147
- 执行 /autospec:evaluate 获取详细评测报告。
148
- ` : `
149
- 建议:
150
- - 检查产出物是否符合模板要求
151
- - 确保必要章节完整
152
- - 考虑重新生成或人工审查
153
- `}
154
- `;
155
-
156
- process.stdout.write(JSON.stringify({
157
- hookSpecificOutput: {
158
- hookEventName: 'PostToolUse',
159
- additionalContext: warning
160
- }
161
- }));
162
- }
163
-
164
- async function main() {
165
- let input;
166
- try {
167
- const rawInput = await readStdin(1000);
168
- input = safeJsonParse(rawInput, null, 'hook input');
169
-
170
- if (!input) {
171
- logger.debug('Empty or invalid input, skipping');
172
- process.exit(0);
173
- }
174
- } catch (err) {
175
- logger.error('Failed to parse input', { error: err.message });
176
- process.exit(0);
177
- }
178
-
179
- const toolName = input.tool_name;
180
-
181
- // 只处理 Write 操作
182
- if (toolName !== 'Write') {
183
- process.exit(0);
184
- }
185
-
186
- const filePath = input.tool_input?.file_path || '';
187
-
188
- // 检查是否为关键产出物
189
- if (!isKeyArtifact(filePath)) {
190
- logger.debug('Not a key artifact, skipping', { filePath });
191
- process.exit(0);
192
- }
193
-
194
- const cwd = input.cwd || process.cwd();
195
- const projectRoot = await findProjectRootAsync(cwd);
196
-
197
- if (!projectRoot) {
198
- logger.debug('No .autospec directory found, skipping');
199
- process.exit(0);
200
- }
201
-
202
- // 检测产出物类型
203
- const artifactType = detectArtifactType(filePath);
204
- if (!artifactType) {
205
- logger.debug('Unknown artifact type, skipping', { filePath });
206
- process.exit(0);
207
- }
208
-
209
- logger.info('Detected key artifact for evaluation', { filePath, artifactType });
210
-
211
- // 执行评测
212
- await evaluateArtifact(projectRoot, filePath, artifactType);
213
-
214
- // 记录事件到 trace 日志
215
- const traceId = getTraceId(projectRoot);
216
- if (traceId) {
217
- recordEvent(projectRoot, 'artifact_created', {
218
- source: 'artifact-evaluation-hook',
219
- tool: 'Write',
220
- action: 'create_artifact',
221
- data: {
222
- artifactPath: filePath,
223
- artifactType
224
- }
225
- });
226
- }
227
-
228
- process.exit(0);
229
- }
230
-
231
- main().catch((err) => {
232
- const result = handleHookError('artifact-evaluation-hook', err, {
233
- eventName: 'PostToolUse'
234
- });
235
- process.stdout.write(JSON.stringify(result.hookSpecificOutput));
236
- process.exit(0);
237
- });