@chongyan/autospec 1.0.2 → 1.0.4

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 (688) hide show
  1. package/LICENSE +240 -21
  2. package/README.md +47 -608
  3. package/dist/README.md +47 -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.md.enc +6 -0
  22. package/dist/knowledge/change-management.md.enc +6 -0
  23. package/dist/knowledge/cognition-engine.md.enc +6 -0
  24. package/dist/knowledge/config/baseline-permissions.md.enc +6 -0
  25. package/dist/knowledge/config/external-mounts.yaml.enc +6 -0
  26. package/dist/knowledge/config/model-profiles.yaml.enc +6 -0
  27. package/dist/knowledge/config/role-composition.yaml.enc +6 -0
  28. package/dist/knowledge/config/token-optimization.yaml.enc +6 -0
  29. package/dist/knowledge/config/validation-patterns.yaml.enc +6 -0
  30. package/dist/knowledge/constitution.md.enc +6 -0
  31. package/dist/knowledge/core-rules.md.enc +6 -0
  32. package/dist/knowledge/environment/adapters/README.md.enc +6 -0
  33. package/dist/knowledge/environment/detection-patterns.yaml.enc +6 -0
  34. package/dist/knowledge/environment/failure-patterns.json +223 -0
  35. package/dist/knowledge/environment/repair-strategies.json +206 -0
  36. package/dist/knowledge/memory/README.md.enc +6 -0
  37. package/dist/knowledge/memory/field/README.md.enc +6 -0
  38. package/dist/knowledge/memory/project/decisions/README.md.enc +6 -0
  39. package/dist/knowledge/memory/project/evolution-log.md.enc +6 -0
  40. package/dist/knowledge/memory/project/health-metrics.md.enc +6 -0
  41. package/dist/knowledge/memory/team/best-practices.md.enc +6 -0
  42. package/dist/knowledge/pipeline/code.md.enc +6 -0
  43. package/dist/knowledge/pipeline/explore.md.enc +6 -0
  44. package/dist/knowledge/pipeline/plan.md.enc +6 -0
  45. package/dist/knowledge/pipeline/protocol.md.enc +6 -0
  46. package/dist/knowledge/protocol/capabilities.yaml.enc +6 -0
  47. package/dist/knowledge/protocol/evolve-integration.md.enc +6 -0
  48. package/dist/knowledge/skills/README.md.enc +6 -0
  49. package/dist/knowledge/skills/adversarial-review.md.enc +6 -0
  50. package/dist/knowledge/skills/analyze-requirement.md.enc +6 -0
  51. package/dist/knowledge/skills/channel-operations.md.enc +6 -0
  52. package/dist/knowledge/skills/content-operations.md.enc +6 -0
  53. package/dist/knowledge/skills/content-prompts.md.enc +6 -0
  54. package/dist/knowledge/skills/conversion-optimization.md.enc +6 -0
  55. package/dist/knowledge/skills/data-operations.md.enc +6 -0
  56. package/dist/knowledge/skills/design-solution.md.enc +6 -0
  57. package/dist/knowledge/skills/growth-strategies.md.enc +6 -0
  58. package/dist/knowledge/skills/implement-code.md.enc +6 -0
  59. package/dist/knowledge/skills/knowledge-distill.md.enc +6 -0
  60. package/dist/knowledge/skills/parallel-dev.md.enc +6 -0
  61. package/dist/knowledge/skills/private-domain-traffic.md.enc +6 -0
  62. package/dist/knowledge/skills/skill-format.md.enc +6 -0
  63. package/dist/knowledge/skills/social-commerce.md.enc +6 -0
  64. package/dist/knowledge/skills/team-orchestration.md.enc +6 -0
  65. package/dist/knowledge/skills/unified-review.md.enc +6 -0
  66. package/dist/knowledge/skills/user-operations.md.enc +6 -0
  67. package/dist/knowledge/templates/autospec-config.yaml.enc +6 -0
  68. package/dist/knowledge/templates/smoke-test.md.enc +6 -0
  69. package/dist/knowledge/templates/spec/SPEC.md.enc +6 -0
  70. package/dist/knowledge/templates/spec/layers/delta.md.enc +6 -0
  71. package/dist/knowledge/templates/spec/layers/how.md.enc +6 -0
  72. package/dist/knowledge/templates/spec/layers/plan.md.enc +6 -0
  73. package/dist/knowledge/templates/spec/layers/what.md.enc +6 -0
  74. package/dist/knowledge/templates/spec/layers/why.md.enc +6 -0
  75. package/dist/knowledge/templates/wiki/catalog.yaml.enc +6 -0
  76. package/dist/knowledge/templates/wiki/content.md.enc +6 -0
  77. package/dist/knowledge/templates/wiki/meta.yaml.enc +6 -0
  78. package/dist/package.json +54 -0
  79. package/{plugins → dist/plugins}/.claude-plugin/plugin.json +259 -101
  80. package/dist/plugins/agents/roles/ai-engineer.md.enc +6 -0
  81. package/dist/plugins/agents/roles/backend-engineer.md.enc +6 -0
  82. package/dist/plugins/agents/roles/ceo.md.enc +6 -0
  83. package/dist/plugins/agents/roles/channel-ops.md.enc +6 -0
  84. package/dist/plugins/agents/roles/content-ops.md.enc +6 -0
  85. package/dist/plugins/agents/roles/conversion-ops.md.enc +6 -0
  86. package/dist/plugins/agents/roles/data-engineer.md.enc +6 -0
  87. package/dist/plugins/agents/roles/data-ops.md.enc +6 -0
  88. package/dist/plugins/agents/roles/devops-engineer.md.enc +6 -0
  89. package/dist/plugins/agents/roles/frontend-engineer.md.enc +6 -0
  90. package/dist/plugins/agents/roles/marketing-director.md.enc +6 -0
  91. package/dist/plugins/agents/roles/operations-director.md.enc +6 -0
  92. package/dist/plugins/agents/roles/private-traffic.md.enc +6 -0
  93. package/dist/plugins/agents/roles/product-owner.md.enc +6 -0
  94. package/dist/plugins/agents/roles/quality-engineer.md.enc +6 -0
  95. package/dist/plugins/agents/roles/security-engineer.md.enc +6 -0
  96. package/dist/plugins/agents/roles/tech-lead.md.enc +6 -0
  97. package/dist/plugins/agents/roles/user-ops.md.enc +6 -0
  98. package/dist/plugins/agents/support/blind-comparator.md.enc +6 -0
  99. package/dist/plugins/agents/support/consistency-checker.md.enc +6 -0
  100. package/dist/plugins/agents/support/experiment-evaluator.md.enc +6 -0
  101. package/dist/plugins/agents/support/failure-diagnostician.md.enc +6 -0
  102. package/dist/plugins/agents/support/independent-reviewer.md.enc +6 -0
  103. package/dist/plugins/agents/support/memory-curator.md.enc +6 -0
  104. package/dist/plugins/agents/support/monitoring-agent.md.enc +6 -0
  105. package/dist/plugins/agents/support/safety-auditor.md.enc +6 -0
  106. package/dist/plugins/agents/support/skill-benchmarker.md.enc +6 -0
  107. package/dist/plugins/agents/support/skill-forger.md.enc +6 -0
  108. package/dist/plugins/agents/support/stage-gate-evaluator.md.enc +6 -0
  109. package/dist/plugins/agents/support/team-orchestrator.md.enc +6 -0
  110. package/dist/plugins/agents/support/test-coverage-reviewer.md.enc +6 -0
  111. package/dist/plugins/benchmarks/templates/README.md.enc +6 -0
  112. package/dist/plugins/benchmarks/templates/commands/code-template.yaml.enc +6 -0
  113. package/dist/plugins/benchmarks/templates/commands/explore-template.yaml.enc +6 -0
  114. package/dist/plugins/benchmarks/templates/commands/field-evolve-template.yaml.enc +6 -0
  115. package/dist/plugins/benchmarks/templates/commands/plan-template.yaml.enc +6 -0
  116. package/dist/plugins/benchmarks/templates/commands/project-evolve-template.yaml.enc +6 -0
  117. package/dist/plugins/benchmarks/templates/commands/review-template.yaml.enc +6 -0
  118. package/dist/plugins/benchmarks/templates/commands/run-template.yaml.enc +6 -0
  119. package/dist/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml.enc +6 -0
  120. package/dist/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml.enc +6 -0
  121. package/dist/plugins/benchmarks/templates/skills/delivery-stage-template.yaml.enc +6 -0
  122. package/dist/plugins/benchmarks/templates/skills/design-stage-template.yaml.enc +6 -0
  123. package/dist/plugins/benchmarks/templates/skills/exploration-phase-template.yaml.enc +6 -0
  124. package/dist/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml.enc +6 -0
  125. package/dist/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml.enc +6 -0
  126. package/dist/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml.enc +6 -0
  127. package/dist/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml.enc +6 -0
  128. package/dist/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml.enc +6 -0
  129. package/dist/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml.enc +6 -0
  130. package/dist/plugins/benchmarks/templates/skills/field-evolve-template.yaml.enc +6 -0
  131. package/dist/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml.enc +6 -0
  132. package/dist/plugins/benchmarks/templates/skills/implementation-stage-template.yaml.enc +6 -0
  133. package/dist/plugins/benchmarks/templates/skills/layer1-validation-template.yaml.enc +6 -0
  134. package/dist/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml.enc +6 -0
  135. package/dist/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml.enc +6 -0
  136. package/dist/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml.enc +6 -0
  137. package/dist/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml.enc +6 -0
  138. package/dist/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml.enc +6 -0
  139. package/dist/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml.enc +6 -0
  140. package/dist/plugins/benchmarks/templates/skills/project-evolve-template.yaml.enc +6 -0
  141. package/dist/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml.enc +6 -0
  142. package/dist/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml.enc +6 -0
  143. package/dist/plugins/benchmarks/templates/skills/skill-forge-template.yaml.enc +6 -0
  144. package/dist/plugins/benchmarks/templates/skills/startup-guard-template.yaml.enc +6 -0
  145. package/dist/plugins/benchmarks/templates/skills/testing-stage-template.yaml.enc +6 -0
  146. package/dist/plugins/commands/README.md.enc +6 -0
  147. package/dist/plugins/commands/automation.md.enc +6 -0
  148. package/dist/plugins/commands/code.md.enc +6 -0
  149. package/dist/plugins/commands/contribute.md.enc +6 -0
  150. package/dist/plugins/commands/dashboard.md.enc +6 -0
  151. package/dist/plugins/commands/env.md.enc +6 -0
  152. package/dist/plugins/commands/explore.md.enc +6 -0
  153. package/dist/plugins/commands/field-evolve.md.enc +6 -0
  154. package/dist/plugins/commands/global.md.enc +6 -0
  155. package/dist/plugins/commands/init.md.enc +6 -0
  156. package/dist/plugins/commands/list.md.enc +6 -0
  157. package/dist/plugins/commands/memory.md.enc +6 -0
  158. package/dist/plugins/commands/monitor.md.enc +6 -0
  159. package/dist/plugins/commands/org.md.enc +6 -0
  160. package/dist/plugins/commands/persist.md.enc +6 -0
  161. package/dist/plugins/commands/plan.md.enc +6 -0
  162. package/dist/plugins/commands/plugin.md.enc +6 -0
  163. package/dist/plugins/commands/project-evolve.md.enc +6 -0
  164. package/dist/plugins/commands/review.md.enc +6 -0
  165. package/dist/plugins/commands/run.md.enc +6 -0
  166. package/dist/plugins/commands/status.md.enc +6 -0
  167. package/dist/plugins/commands/sync.md.enc +6 -0
  168. package/dist/plugins/commands/update.md.enc +6 -0
  169. package/dist/plugins/env-capabilities/env-core/plugin.json +33 -0
  170. package/dist/plugins/hooks/README.md.enc +6 -0
  171. package/dist/plugins/hooks/artifact-evaluation-hook.js +2 -0
  172. package/dist/plugins/hooks/cognitive-dreamer.js +2 -0
  173. package/dist/plugins/hooks/cognitive-sync.js +2 -0
  174. package/dist/plugins/hooks/cognitive-tracker.js +2 -0
  175. package/dist/plugins/hooks/config/detection-patterns.yaml.enc +6 -0
  176. package/dist/plugins/hooks/constitution-guard.js +2 -0
  177. package/dist/plugins/hooks/do-review-separation-guard.js +2 -0
  178. package/dist/plugins/hooks/environment-autocommit.js +2 -0
  179. package/dist/plugins/hooks/environment-doctor.js +1 -0
  180. package/dist/plugins/hooks/environment-startup-scan.js +2 -0
  181. package/dist/plugins/hooks/execution-tracker.js +2 -0
  182. package/dist/plugins/hooks/frozen-zone-guard.js +2 -0
  183. package/dist/plugins/hooks/layer1-validator.js +2 -0
  184. package/dist/plugins/hooks/lib/artifact-evaluator.js +1 -0
  185. package/dist/plugins/hooks/lib/assets/asset-decision-store.js +1 -0
  186. package/dist/plugins/hooks/lib/assets/asset-graph.js +1 -0
  187. package/dist/plugins/hooks/lib/assets/asset-hydrator.js +1 -0
  188. package/dist/plugins/hooks/lib/assets/asset-outcome-store.js +1 -0
  189. package/dist/plugins/hooks/lib/assets/asset-projection-compiler.js +1 -0
  190. package/dist/plugins/hooks/lib/assets/asset-registry.js +1 -0
  191. package/dist/plugins/hooks/lib/assets/asset-selector.js +1 -0
  192. package/dist/plugins/hooks/lib/assets/index.js +1 -0
  193. package/dist/plugins/hooks/lib/assets/paths.js +1 -0
  194. package/dist/plugins/hooks/lib/assets/projection-targets/claude-code.js +1 -0
  195. package/dist/plugins/hooks/lib/assets/projection-targets/codex.js +1 -0
  196. package/dist/plugins/hooks/lib/auto-fix-loop.js +1 -0
  197. package/dist/plugins/hooks/lib/benchmarks/change-detector.js +1 -0
  198. package/dist/plugins/hooks/lib/benchmarks/evaluator.js +1 -0
  199. package/dist/plugins/hooks/lib/benchmarks/integration-example.js +1 -0
  200. package/dist/plugins/hooks/lib/cognitive/adaptive-matcher.js +1 -0
  201. package/dist/plugins/hooks/lib/cognitive/base-store.js +1 -0
  202. package/dist/plugins/hooks/lib/cognitive/causal-engine.js +1 -0
  203. package/dist/plugins/hooks/lib/cognitive/cognitive-config.js +1 -0
  204. package/dist/plugins/hooks/lib/cognitive/cognitive-fingerprint.js +1 -0
  205. package/dist/plugins/hooks/lib/cognitive/collective-sync.js +1 -0
  206. package/dist/plugins/hooks/lib/cognitive/confidence-engine.js +1 -0
  207. package/dist/plugins/hooks/lib/cognitive/dream-engine.js +1 -0
  208. package/dist/plugins/hooks/lib/cognitive/episodic-store.js +1 -0
  209. package/dist/plugins/hooks/lib/cognitive/index.js +1 -0
  210. package/dist/plugins/hooks/lib/cognitive/kernel.js +1 -0
  211. package/dist/plugins/hooks/lib/cognitive/knowledge-distiller.js +1 -0
  212. package/dist/plugins/hooks/lib/cognitive/memory-transport.js +1 -0
  213. package/dist/plugins/hooks/lib/cognitive/persistence-manager.js +1 -0
  214. package/dist/plugins/hooks/lib/cognitive/priority-store.js +1 -0
  215. package/dist/plugins/hooks/lib/cognitive/procedural-store.js +1 -0
  216. package/dist/plugins/hooks/lib/cognitive/semantic-store.js +1 -0
  217. package/dist/plugins/hooks/lib/cognitive/skill-forge-candidate-loader.js +1 -0
  218. package/dist/plugins/hooks/lib/cognitive/skill-forge-draft.js +1 -0
  219. package/dist/plugins/hooks/lib/cognitive/skill-forge-proposal.js +1 -0
  220. package/dist/plugins/hooks/lib/cognitive/skill-forge-queue.js +1 -0
  221. package/dist/plugins/hooks/lib/cognitive/skill-tuner.js +1 -0
  222. package/dist/plugins/hooks/lib/cognitive/wiki-materializer.js +1 -0
  223. package/dist/plugins/hooks/lib/detection-pattern-loader.js +1 -0
  224. package/dist/plugins/hooks/lib/directory-discovery.js +1 -0
  225. package/dist/plugins/hooks/lib/environment-capability-package.js +1 -0
  226. package/dist/plugins/hooks/lib/environment-capability-probe.js +1 -0
  227. package/dist/plugins/hooks/lib/environment-config-loader.js +1 -0
  228. package/dist/plugins/hooks/lib/environment-executor.js +1 -0
  229. package/dist/plugins/hooks/lib/environment-feedback.js +1 -0
  230. package/dist/plugins/hooks/lib/environment-health-monitor.js +1 -0
  231. package/dist/plugins/hooks/lib/environment-knowledge-synthesizer.js +1 -0
  232. package/dist/plugins/hooks/lib/environment-knowledge-validator.js +1 -0
  233. package/dist/plugins/hooks/lib/environment-learning-discoverer.js +1 -0
  234. package/dist/plugins/hooks/lib/environment-learning-engine.js +1 -0
  235. package/dist/plugins/hooks/lib/environment-module-repository.js +1 -0
  236. package/dist/plugins/hooks/lib/environment-planner.js +1 -0
  237. package/dist/plugins/hooks/lib/environment-plugin-registry.js +1 -0
  238. package/dist/plugins/hooks/lib/environment-readiness.js +1 -0
  239. package/dist/plugins/hooks/lib/environment-route-ranking.js +1 -0
  240. package/dist/plugins/hooks/lib/environment-strategy-overlay.js +1 -0
  241. package/dist/plugins/hooks/lib/execution-path.js +1 -0
  242. package/dist/plugins/hooks/lib/external-mount-adapter.js +1 -0
  243. package/dist/plugins/hooks/lib/external-scanner.js +1 -0
  244. package/dist/plugins/hooks/lib/hook-error-recorder.js +1 -0
  245. package/dist/plugins/hooks/lib/hook-logger.js +1 -0
  246. package/dist/plugins/hooks/lib/hook-runner.js +2 -0
  247. package/dist/plugins/hooks/lib/hook-state-manager.js +1 -0
  248. package/dist/plugins/hooks/lib/memory-extractor.js +1 -0
  249. package/dist/plugins/hooks/lib/memory-manager.js +1 -0
  250. package/dist/plugins/hooks/lib/metrics-analyzer.js +1 -0
  251. package/dist/plugins/hooks/lib/mount-manager.js +1 -0
  252. package/dist/plugins/hooks/lib/plugin-activation-registry.js +1 -0
  253. package/dist/plugins/hooks/lib/plugin-selector.js +1 -0
  254. package/dist/plugins/hooks/lib/plugin-source-registry.js +1 -0
  255. package/dist/plugins/hooks/lib/plugin-workspace-registry.js +1 -0
  256. package/dist/plugins/hooks/lib/project-evolution/auto-fixer.js +1 -0
  257. package/dist/plugins/hooks/lib/project-evolution/memory-manager.js +1 -0
  258. package/dist/plugins/hooks/lib/project-evolution/pattern-detector.js +1 -0
  259. package/dist/plugins/hooks/lib/project-evolution/semantic-indexer.js +1 -0
  260. package/dist/plugins/hooks/lib/rollback-tracker.js +1 -0
  261. package/dist/plugins/hooks/lib/source-code-scanner.js +1 -0
  262. package/dist/plugins/hooks/lib/technology-stack-detector.js +1 -0
  263. package/dist/plugins/hooks/lib/test-failure-analyzer.js +1 -0
  264. package/dist/plugins/hooks/lib/test-failure-fixer.js +1 -0
  265. package/dist/plugins/hooks/lib/trace-context.js +1 -0
  266. package/dist/plugins/hooks/lib/validation-patterns.js +1 -0
  267. package/dist/plugins/hooks/memory-sync.js +1 -0
  268. package/dist/plugins/hooks/pipeline-observer.js +2 -0
  269. package/dist/plugins/hooks/retry-limit-guard.js +2 -0
  270. package/dist/plugins/hooks/scope-sentinel.js +2 -0
  271. package/dist/plugins/hooks/secret-scanner.js +2 -0
  272. package/dist/plugins/hooks/stop-evolve-prompt.js +1 -0
  273. package/dist/plugins/hooks/trace-initialization.js +2 -0
  274. package/dist/plugins/hooks/version-checker.js +2 -0
  275. package/dist/plugins/memory/templates/code-quality.yaml.enc +6 -0
  276. package/dist/plugins/memory/templates/multi-system.yaml.enc +6 -0
  277. package/dist/plugins/memory/templates/team-habits.yaml.enc +6 -0
  278. package/dist/plugins/memory/templates/testing.yaml.enc +6 -0
  279. package/dist/plugins/skills/README.md.enc +6 -0
  280. package/dist/plugins/skills/ab-test-executor/SKILL.md.enc +6 -0
  281. package/dist/plugins/skills/benchmark-executor/SKILL.md.enc +6 -0
  282. package/dist/plugins/skills/benchmark-generator/SKILL.md.enc +6 -0
  283. package/dist/plugins/skills/content-prompts/SKILL.md.enc +6 -0
  284. package/dist/plugins/skills/delivery-stage/SKILL.md.enc +6 -0
  285. package/dist/plugins/skills/design-stage/SKILL.md.enc +6 -0
  286. package/dist/plugins/skills/environment-learning/SKILL.md.enc +6 -0
  287. package/dist/plugins/skills/environment-resilience/build-failure-doctor.md.enc +6 -0
  288. package/dist/plugins/skills/environment-resilience/environment-repair.md.enc +6 -0
  289. package/dist/plugins/skills/environment-resilience/pre-flight-check.md.enc +6 -0
  290. package/dist/plugins/skills/experiment-evaluator/SKILL.md.enc +6 -0
  291. package/dist/plugins/skills/exploration-phase/SKILL.md.enc +6 -0
  292. package/dist/plugins/skills/field-evolve-analyzer/SKILL.md.enc +6 -0
  293. package/dist/plugins/skills/field-evolve-distiller/SKILL.md.enc +6 -0
  294. package/dist/plugins/skills/field-evolve-executor/SKILL.md.enc +6 -0
  295. package/dist/plugins/skills/field-evolve-executor/executor.js +2 -0
  296. package/dist/plugins/skills/field-evolve-fixer/SKILL.md.enc +6 -0
  297. package/dist/plugins/skills/field-evolve-learner/SKILL.md.enc +6 -0
  298. package/dist/plugins/skills/field-evolve-scanner/SKILL.md.enc +6 -0
  299. package/dist/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +2 -0
  300. package/dist/plugins/skills/field-evolve-verifier/SKILL.md.enc +6 -0
  301. package/dist/plugins/skills/heartbeat-monitor/SKILL.md.enc +6 -0
  302. package/dist/plugins/skills/implementation-stage/SKILL.md.enc +6 -0
  303. package/dist/plugins/skills/layer1-validation/SKILL.md.enc +6 -0
  304. package/dist/plugins/skills/multi-role-orchestration/SKILL.md.enc +6 -0
  305. package/dist/plugins/skills/ops-content-marketing/SKILL.md.enc +6 -0
  306. package/dist/plugins/skills/ops-conversion/SKILL.md.enc +6 -0
  307. package/dist/plugins/skills/ops-data-driven/SKILL.md.enc +6 -0
  308. package/dist/plugins/skills/ops-growth-strategies/SKILL.md.enc +6 -0
  309. package/dist/plugins/skills/ops-private-domain/SKILL.md.enc +6 -0
  310. package/dist/plugins/skills/ops-social-commerce/SKILL.md.enc +6 -0
  311. package/dist/plugins/skills/ops-user-growth/SKILL.md.enc +6 -0
  312. package/dist/plugins/skills/pending-dashboard/SKILL.md.enc +6 -0
  313. package/dist/plugins/skills/project-evolve-analyzer/SKILL.md.enc +6 -0
  314. package/dist/plugins/skills/project-evolve-fixer/SKILL.md.enc +6 -0
  315. package/dist/plugins/skills/project-evolve-generator/SKILL.md.enc +6 -0
  316. package/dist/plugins/skills/project-evolve-learner/SKILL.md.enc +6 -0
  317. package/dist/plugins/skills/project-evolve-reviewer/SKILL.md.enc +6 -0
  318. package/dist/plugins/skills/project-evolve-scanner/SKILL.md.enc +6 -0
  319. package/dist/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +2 -0
  320. package/dist/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +2 -0
  321. package/dist/plugins/skills/project-evolve-verifier/SKILL.md.enc +6 -0
  322. package/dist/plugins/skills/requirement-stage/SKILL.md.enc +6 -0
  323. package/dist/plugins/skills/secret-scanner/SKILL.md.enc +6 -0
  324. package/dist/plugins/skills/skill-forge/SKILL.md.enc +6 -0
  325. package/dist/plugins/skills/skill-forge/references/description-guide.md.enc +6 -0
  326. package/dist/plugins/skills/skill-forge/references/quality-rubric.md.enc +6 -0
  327. package/dist/plugins/skills/skill-forge/references/skill-template.md.enc +6 -0
  328. package/dist/plugins/skills/startup-guard/SKILL.md.enc +6 -0
  329. package/dist/plugins/skills/tdd-workflow/SKILL.md.enc +6 -0
  330. package/dist/plugins/skills/testing-stage/SKILL.md.enc +6 -0
  331. package/dist/plugins/skills/tracking-validator/SKILL.md.enc +6 -0
  332. package/dist/scripts/build-crypto.js +2 -0
  333. package/dist/scripts/cli/assets.js +1 -0
  334. package/dist/scripts/cli/contribute.js +1 -0
  335. package/dist/scripts/cli/dashboard.js +1 -0
  336. package/dist/scripts/cli/env.js +1 -0
  337. package/dist/scripts/cli/global-init.js +1 -0
  338. package/dist/scripts/cli/global.js +1 -0
  339. package/dist/scripts/cli/index.js +1 -0
  340. package/dist/scripts/cli/init.js +1 -0
  341. package/dist/scripts/cli/list.js +1 -0
  342. package/dist/scripts/cli/memory.js +1 -0
  343. package/dist/scripts/cli/org.js +1 -0
  344. package/dist/scripts/cli/plugin.js +1 -0
  345. package/dist/scripts/cli/practice-report.js +1 -0
  346. package/dist/scripts/cli/runtime-governance.js +1 -0
  347. package/dist/scripts/cli/system.js +1 -0
  348. package/dist/scripts/cli/update.js +1 -0
  349. package/dist/scripts/commands/catalog.js +1 -0
  350. package/dist/scripts/commands/slash-command-docs.js +1 -0
  351. package/dist/scripts/config/external-mounts.config.js +2 -0
  352. package/dist/scripts/heartbeat/check.js +2 -0
  353. package/dist/scripts/heartbeat/setup-cron.js +2 -0
  354. package/dist/scripts/install/adapters.js +1 -0
  355. package/dist/scripts/install/constants.js +1 -0
  356. package/dist/scripts/install/file-reader.js +1 -0
  357. package/dist/scripts/install/index.js +1 -0
  358. package/dist/scripts/install/shards/constants-shard.js +1 -0
  359. package/dist/scripts/install/shards/crypto-config-shard.js +1 -0
  360. package/dist/scripts/install/shards/error-messages-shard.js +1 -0
  361. package/dist/scripts/install/shards/reassemble.js +1 -0
  362. package/dist/scripts/install/shards/utils-shard.js +1 -0
  363. package/dist/scripts/install/shards/version-info-shard.js +1 -0
  364. package/dist/scripts/postinstall.js +1 -0
  365. package/dist/scripts/state.js +1 -0
  366. package/package.json +22 -21
  367. package/README.en.md +0 -598
  368. package/bin/autospec.js +0 -3
  369. package/knowledge/01-principles/00-principles-hierarchy.md +0 -247
  370. package/knowledge/01-principles/01-first-principles.md +0 -241
  371. package/knowledge/01-principles/02-strategic-principles.md +0 -286
  372. package/knowledge/01-principles/03-tactical-principles.md +0 -385
  373. package/knowledge/01-principles/04-operational-principles.md +0 -275
  374. package/knowledge/01-principles/05-domain-principles.md +0 -539
  375. package/knowledge/01-principles/06-methodology-principles.md +0 -281
  376. package/knowledge/01-principles/07-cognitive-principles.md +0 -277
  377. package/knowledge/01-principles/08-auto-fix-principles.md +0 -320
  378. package/knowledge/01-principles/09-constitution.md +0 -220
  379. package/knowledge/01-principles/10-evolution-mechanism.md +0 -699
  380. package/knowledge/01-principles/README.en.md +0 -385
  381. package/knowledge/01-principles/README.md +0 -385
  382. package/knowledge/02-process/00-overview.md +0 -404
  383. package/knowledge/02-process/01-requirement.md +0 -113
  384. package/knowledge/02-process/02-design.md +0 -123
  385. package/knowledge/02-process/03-implementation.md +0 -90
  386. package/knowledge/02-process/04-review.md +0 -80
  387. package/knowledge/02-process/05-testing.md +0 -90
  388. package/knowledge/02-process/06-delivery.md +0 -88
  389. package/knowledge/02-process/README.en.md +0 -143
  390. package/knowledge/02-process/README.md +0 -186
  391. package/knowledge/03-guides/00-pipeline-protocol.md +0 -438
  392. package/knowledge/03-guides/01-team-orchestrator.md +0 -368
  393. package/knowledge/03-guides/02-analyze-requirement.md +0 -195
  394. package/knowledge/03-guides/03-design-solution.md +0 -401
  395. package/knowledge/03-guides/04-implement-code.md +0 -205
  396. package/knowledge/03-guides/05-plan-testing.md +0 -183
  397. package/knowledge/03-guides/06-generate-tests.md +0 -241
  398. package/knowledge/03-guides/07-check-release.md +0 -205
  399. package/knowledge/03-guides/08-evaluate-ai-effect.md +0 -100
  400. package/knowledge/03-guides/09-review-requirement.md +0 -83
  401. package/knowledge/03-guides/10-review-design.md +0 -83
  402. package/knowledge/03-guides/11-review-code.md +0 -111
  403. package/knowledge/03-guides/12-review-testing.md +0 -76
  404. package/knowledge/03-guides/13-audit-security.md +0 -89
  405. package/knowledge/03-guides/14-check-consistency.md +0 -177
  406. package/knowledge/03-guides/15-run-unit-tests.md +0 -83
  407. package/knowledge/03-guides/16-run-integration-tests.md +0 -105
  408. package/knowledge/03-guides/17-analyze-test-context.md +0 -250
  409. package/knowledge/03-guides/18-log-practice.md +0 -359
  410. package/knowledge/03-guides/19-distill-skill.md +0 -91
  411. package/knowledge/03-guides/20-update-skill.md +0 -45
  412. package/knowledge/03-guides/21-validate-skill.md +0 -72
  413. package/knowledge/03-guides/22-extract-methodology.md +0 -55
  414. package/knowledge/03-guides/23-infer-scope.md +0 -174
  415. package/knowledge/03-guides/24-assess-complexity.md +0 -270
  416. package/knowledge/03-guides/25-discover-component.md +0 -183
  417. package/knowledge/03-guides/26-analyze-tech-stack.md +0 -139
  418. package/knowledge/03-guides/27-scan-environment.md +0 -207
  419. package/knowledge/03-guides/28-validate-environment.md +0 -207
  420. package/knowledge/03-guides/29-generate-knowledge.md +0 -234
  421. package/knowledge/03-guides/30-analyze-ai-capability.md +0 -193
  422. package/knowledge/03-guides/31-analyze-ai-component.md +0 -169
  423. package/knowledge/03-guides/32-analyze-ai-agent.md +0 -362
  424. package/knowledge/03-guides/33-analyze-ai-rag.md +0 -339
  425. package/knowledge/03-guides/34-assess-ai-task.md +0 -418
  426. package/knowledge/03-guides/35-evaluate-ai-pipeline.md +0 -219
  427. package/knowledge/03-guides/36-evaluate-ai-artifact.md +0 -192
  428. package/knowledge/03-guides/37-plan-ai-evaluation.md +0 -374
  429. package/knowledge/03-guides/38-evaluate-ai-path.md +0 -274
  430. package/knowledge/03-guides/39-validate-ai-data.md +0 -276
  431. package/knowledge/03-guides/40-detect-ai-anomaly.md +0 -213
  432. package/knowledge/03-guides/41-diagnose-ai-test.md +0 -133
  433. package/knowledge/03-guides/42-apply-ddd.md +0 -345
  434. package/knowledge/03-guides/43-run-ai-sdlc.md +0 -475
  435. package/knowledge/03-guides/44-manage-knowledge.md +0 -369
  436. package/knowledge/03-guides/45-test-runner.md +0 -254
  437. package/knowledge/03-guides/README.en.md +0 -212
  438. package/knowledge/03-guides/README.md +0 -212
  439. package/knowledge/04-checklists/00-requirement.md +0 -169
  440. package/knowledge/04-checklists/01-design.md +0 -196
  441. package/knowledge/04-checklists/02-code.md +0 -197
  442. package/knowledge/04-checklists/03-test.md +0 -46
  443. package/knowledge/04-checklists/04-release.md +0 -70
  444. package/knowledge/04-checklists/README.en.md +0 -119
  445. package/knowledge/04-checklists/README.md +0 -123
  446. package/knowledge/05-config/00-validation-patterns.yaml +0 -137
  447. package/knowledge/05-config/01-team-stage.yaml +0 -95
  448. package/knowledge/05-config/02-team-tasks.yaml +0 -139
  449. package/knowledge/05-config/03-role-composition.yaml +0 -346
  450. package/knowledge/05-config/04-role-extensions.yaml +0 -140
  451. package/knowledge/05-config/05-skill-compositions.yaml +0 -142
  452. package/knowledge/05-config/README.en.md +0 -54
  453. package/knowledge/05-config/README.md +0 -132
  454. package/knowledge/06-environment/00-template-registry.md +0 -310
  455. package/knowledge/06-environment/01-detection-patterns.yaml +0 -1692
  456. package/knowledge/06-environment/README.en.md +0 -40
  457. package/knowledge/06-environment/README.md +0 -128
  458. package/knowledge/07-standards/00-coding-style.md +0 -1059
  459. package/knowledge/07-standards/01-code-review.md +0 -876
  460. package/knowledge/07-standards/02-data-consistency.md +0 -1085
  461. package/knowledge/07-standards/03-document-versioning.md +0 -210
  462. package/knowledge/07-standards/04-risk-detection.md +0 -186
  463. package/knowledge/07-standards/README.en.md +0 -119
  464. package/knowledge/07-standards/README.md +0 -123
  465. package/knowledge/08-organization/00-vision-mission.md +0 -113
  466. package/knowledge/08-organization/01-ai-native-culture.md +0 -318
  467. package/knowledge/08-organization/02-team-metrics.md +0 -228
  468. package/knowledge/08-organization/03-committee-structure.md +0 -54
  469. package/knowledge/08-organization/04-governance-metrics.md +0 -55
  470. package/knowledge/08-organization/05-improvement-process.md +0 -71
  471. package/knowledge/08-organization/README.en.md +0 -165
  472. package/knowledge/08-organization/README.md +0 -165
  473. package/knowledge/09-templates/00-requirement-proposal.md +0 -344
  474. package/knowledge/09-templates/01-architecture-design.md +0 -494
  475. package/knowledge/09-templates/02-api-design.md +0 -408
  476. package/knowledge/09-templates/03-database-design.md +0 -313
  477. package/knowledge/09-templates/04-product-design.md +0 -237
  478. package/knowledge/09-templates/05-domain-business.md +0 -388
  479. package/knowledge/09-templates/06-test-design.md +0 -268
  480. package/knowledge/09-templates/07-evaluation-design.md +0 -372
  481. package/knowledge/09-templates/08-component-knowledge.md +0 -272
  482. package/knowledge/09-templates/09-best-practices.md +0 -218
  483. package/knowledge/09-templates/10-middleware-knowledge.md +0 -342
  484. package/knowledge/09-templates/README.en.md +0 -222
  485. package/knowledge/09-templates/README.md +0 -216
  486. package/knowledge/README.en.md +0 -372
  487. package/knowledge/README.md +0 -399
  488. package/plugins/agents/roles/ai-engineer.md +0 -129
  489. package/plugins/agents/roles/backend-engineer.md +0 -165
  490. package/plugins/agents/roles/ceo.md +0 -94
  491. package/plugins/agents/roles/data-engineer.md +0 -135
  492. package/plugins/agents/roles/devops-engineer.md +0 -181
  493. package/plugins/agents/roles/frontend-engineer.md +0 -129
  494. package/plugins/agents/roles/product-owner.md +0 -98
  495. package/plugins/agents/roles/quality-engineer.md +0 -129
  496. package/plugins/agents/roles/security-engineer.md +0 -180
  497. package/plugins/agents/roles/tech-lead.md +0 -97
  498. package/plugins/agents/support/blind-comparator.md +0 -88
  499. package/plugins/agents/support/consistency-checker.md +0 -136
  500. package/plugins/agents/support/failure-diagnostician.md +0 -141
  501. package/plugins/agents/support/independent-reviewer.md +0 -80
  502. package/plugins/agents/support/monitoring-agent.md +0 -215
  503. package/plugins/agents/support/safety-auditor.md +0 -121
  504. package/plugins/agents/support/skill-benchmarker.md +0 -86
  505. package/plugins/agents/support/skill-forger.md +0 -105
  506. package/plugins/agents/support/stage-gate-evaluator.md +0 -205
  507. package/plugins/agents/support/test-coverage-reviewer.md +0 -73
  508. package/plugins/benchmarks/templates/README.md +0 -196
  509. package/plugins/benchmarks/templates/commands/apply-template.yaml +0 -108
  510. package/plugins/benchmarks/templates/commands/archive-template.yaml +0 -65
  511. package/plugins/benchmarks/templates/commands/env-export-template.yaml +0 -64
  512. package/plugins/benchmarks/templates/commands/env-sync-template.yaml +0 -104
  513. package/plugins/benchmarks/templates/commands/env-template-template.yaml +0 -96
  514. package/plugins/benchmarks/templates/commands/env-template.yaml +0 -58
  515. package/plugins/benchmarks/templates/commands/env-update-template.yaml +0 -110
  516. package/plugins/benchmarks/templates/commands/env-validate-template.yaml +0 -95
  517. package/plugins/benchmarks/templates/commands/explore-template.yaml +0 -48
  518. package/plugins/benchmarks/templates/commands/field-evolve-template.yaml +0 -104
  519. package/plugins/benchmarks/templates/commands/project-evolve-template.yaml +0 -104
  520. package/plugins/benchmarks/templates/commands/propose-template.yaml +0 -88
  521. package/plugins/benchmarks/templates/commands/review-template.yaml +0 -124
  522. package/plugins/benchmarks/templates/commands/run-template.yaml +0 -127
  523. package/plugins/benchmarks/templates/commands/test-template.yaml +0 -149
  524. package/plugins/benchmarks/templates/pipeline/agile-template.yaml +0 -84
  525. package/plugins/benchmarks/templates/pipeline/experiment-template.yaml +0 -92
  526. package/plugins/benchmarks/templates/pipeline/hotfix-template.yaml +0 -81
  527. package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +0 -106
  528. package/plugins/benchmarks/templates/skills/agile-iteration-template.yaml +0 -78
  529. package/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml +0 -114
  530. package/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml +0 -52
  531. package/plugins/benchmarks/templates/skills/delivery-stage-template.yaml +0 -130
  532. package/plugins/benchmarks/templates/skills/design-stage-template.yaml +0 -131
  533. package/plugins/benchmarks/templates/skills/experiment-iteration-template.yaml +0 -60
  534. package/plugins/benchmarks/templates/skills/exploration-phase-template.yaml +0 -114
  535. package/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml +0 -51
  536. package/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml +0 -34
  537. package/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml +0 -50
  538. package/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml +0 -52
  539. package/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml +0 -33
  540. package/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml +0 -74
  541. package/plugins/benchmarks/templates/skills/field-evolve-template.yaml +0 -71
  542. package/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml +0 -51
  543. package/plugins/benchmarks/templates/skills/hotfix-iteration-template.yaml +0 -54
  544. package/plugins/benchmarks/templates/skills/implementation-stage-template.yaml +0 -127
  545. package/plugins/benchmarks/templates/skills/layer1-validation-template.yaml +0 -121
  546. package/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml +0 -51
  547. package/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml +0 -52
  548. package/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml +0 -34
  549. package/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml +0 -50
  550. package/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml +0 -50
  551. package/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml +0 -75
  552. package/plugins/benchmarks/templates/skills/project-evolve-template.yaml +0 -72
  553. package/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml +0 -51
  554. package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +0 -48
  555. package/plugins/benchmarks/templates/skills/skill-forge-template.yaml +0 -117
  556. package/plugins/benchmarks/templates/skills/startup-guard-template.yaml +0 -103
  557. package/plugins/benchmarks/templates/skills/testing-stage-template.yaml +0 -146
  558. package/plugins/benchmarks/templates/skills/waterfall-iteration-template.yaml +0 -55
  559. package/plugins/commands/README.en.md +0 -96
  560. package/plugins/commands/README.md +0 -96
  561. package/plugins/commands/apply.md +0 -277
  562. package/plugins/commands/archive.md +0 -132
  563. package/plugins/commands/env-export.md +0 -79
  564. package/plugins/commands/env-sync.md +0 -1281
  565. package/plugins/commands/env-template.md +0 -99
  566. package/plugins/commands/env-update.md +0 -264
  567. package/plugins/commands/env-validate.md +0 -176
  568. package/plugins/commands/env.md +0 -79
  569. package/plugins/commands/explore.md +0 -193
  570. package/plugins/commands/field-evolve.md +0 -412
  571. package/plugins/commands/memory.md +0 -249
  572. package/plugins/commands/project-evolve.md +0 -920
  573. package/plugins/commands/propose.md +0 -184
  574. package/plugins/commands/review.md +0 -140
  575. package/plugins/commands/run.md +0 -1052
  576. package/plugins/commands/status.md +0 -183
  577. package/plugins/commands/test.md +0 -389
  578. package/plugins/hooks/README.en.md +0 -56
  579. package/plugins/hooks/README.md +0 -56
  580. package/plugins/hooks/ai-project-guard.js +0 -329
  581. package/plugins/hooks/artifact-evaluation-hook.js +0 -237
  582. package/plugins/hooks/constitution-guard.js +0 -211
  583. package/plugins/hooks/environment-autocommit.js +0 -606
  584. package/plugins/hooks/environment-manager.js +0 -779
  585. package/plugins/hooks/execution-tracker.js +0 -459
  586. package/plugins/hooks/frozen-zone-guard.js +0 -140
  587. package/plugins/hooks/layer1-validator.js +0 -539
  588. package/plugins/hooks/lib/artifact-evaluator.js +0 -414
  589. package/plugins/hooks/lib/auto-fix-loop.js +0 -605
  590. package/plugins/hooks/lib/benchmarks/change-detector.js +0 -390
  591. package/plugins/hooks/lib/benchmarks/evaluator.js +0 -605
  592. package/plugins/hooks/lib/benchmarks/integration-example.js +0 -169
  593. package/plugins/hooks/lib/data-and-ai-detector.js +0 -275
  594. package/plugins/hooks/lib/detection-pattern-loader.js +0 -865
  595. package/plugins/hooks/lib/directory-discovery.js +0 -395
  596. package/plugins/hooks/lib/environment-config-loader.js +0 -345
  597. package/plugins/hooks/lib/environment-detector.js +0 -553
  598. package/plugins/hooks/lib/environment-evolver.js +0 -564
  599. package/plugins/hooks/lib/environment-registry.js +0 -813
  600. package/plugins/hooks/lib/execution-path.js +0 -427
  601. package/plugins/hooks/lib/hook-error-recorder.js +0 -245
  602. package/plugins/hooks/lib/hook-logger.js +0 -538
  603. package/plugins/hooks/lib/hook-runner.js +0 -97
  604. package/plugins/hooks/lib/hook-state-manager.js +0 -578
  605. package/plugins/hooks/lib/memory-extractor.js +0 -399
  606. package/plugins/hooks/lib/memory-manager.js +0 -673
  607. package/plugins/hooks/lib/metrics-analyzer.js +0 -489
  608. package/plugins/hooks/lib/project-evolution/auto-fixer.js +0 -511
  609. package/plugins/hooks/lib/project-evolution/memory-manager.js +0 -346
  610. package/plugins/hooks/lib/project-evolution/pattern-detector.js +0 -476
  611. package/plugins/hooks/lib/project-evolution/semantic-indexer.js +0 -480
  612. package/plugins/hooks/lib/project-structure-detector.js +0 -326
  613. package/plugins/hooks/lib/rollback-tracker.js +0 -346
  614. package/plugins/hooks/lib/source-code-scanner.js +0 -596
  615. package/plugins/hooks/lib/technology-stack-detector.js +0 -374
  616. package/plugins/hooks/lib/test-auto-fix.test.js +0 -194
  617. package/plugins/hooks/lib/test-failure-analyzer.js +0 -375
  618. package/plugins/hooks/lib/test-failure-fixer.js +0 -268
  619. package/plugins/hooks/lib/trace-context.js +0 -277
  620. package/plugins/hooks/lib/validation-patterns.js +0 -415
  621. package/plugins/hooks/memory-sync.js +0 -171
  622. package/plugins/hooks/monitoring-trigger.js +0 -467
  623. package/plugins/hooks/pipeline-observer.js +0 -413
  624. package/plugins/hooks/scope-sentinel.js +0 -204
  625. package/plugins/hooks/trace-initialization.js +0 -169
  626. package/plugins/memory/templates/code-quality.yaml +0 -149
  627. package/plugins/memory/templates/multi-system.yaml +0 -155
  628. package/plugins/memory/templates/team-habits.yaml +0 -119
  629. package/plugins/memory/templates/testing.yaml +0 -121
  630. package/plugins/skills/README.en.md +0 -59
  631. package/plugins/skills/README.md +0 -114
  632. package/plugins/skills/agile-iteration/SKILL.md +0 -187
  633. package/plugins/skills/benchmark-executor/SKILL.md +0 -647
  634. package/plugins/skills/benchmark-generator/SKILL.md +0 -349
  635. package/plugins/skills/delivery-stage/SKILL.md +0 -324
  636. package/plugins/skills/design-stage/SKILL.md +0 -307
  637. package/plugins/skills/experiment-evaluator/SKILL.md +0 -271
  638. package/plugins/skills/experiment-iteration/SKILL.md +0 -154
  639. package/plugins/skills/exploration-phase/SKILL.md +0 -216
  640. package/plugins/skills/field-evolve-analyzer/SKILL.md +0 -65
  641. package/plugins/skills/field-evolve-distiller/SKILL.md +0 -66
  642. package/plugins/skills/field-evolve-executor/SKILL.md +0 -94
  643. package/plugins/skills/field-evolve-executor/executor.js +0 -342
  644. package/plugins/skills/field-evolve-fixer/SKILL.md +0 -69
  645. package/plugins/skills/field-evolve-learner/SKILL.md +0 -65
  646. package/plugins/skills/field-evolve-scanner/SKILL.md +0 -87
  647. package/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +0 -288
  648. package/plugins/skills/field-evolve-verifier/SKILL.md +0 -64
  649. package/plugins/skills/hotfix-iteration/SKILL.md +0 -279
  650. package/plugins/skills/implementation-stage/SKILL.md +0 -320
  651. package/plugins/skills/layer1-validation/SKILL.md +0 -79
  652. package/plugins/skills/pending-dashboard/SKILL.md +0 -110
  653. package/plugins/skills/project-evolve-analyzer/SKILL.md +0 -95
  654. package/plugins/skills/project-evolve-fixer/SKILL.md +0 -99
  655. package/plugins/skills/project-evolve-generator/SKILL.md +0 -149
  656. package/plugins/skills/project-evolve-learner/SKILL.md +0 -103
  657. package/plugins/skills/project-evolve-reviewer/SKILL.md +0 -104
  658. package/plugins/skills/project-evolve-scanner/SKILL.md +0 -95
  659. package/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +0 -395
  660. package/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +0 -315
  661. package/plugins/skills/project-evolve-verifier/SKILL.md +0 -105
  662. package/plugins/skills/requirement-stage/SKILL.md +0 -217
  663. package/plugins/skills/skill-forge/SKILL.md +0 -223
  664. package/plugins/skills/skill-forge/references/description-guide.md +0 -92
  665. package/plugins/skills/skill-forge/references/quality-rubric.md +0 -104
  666. package/plugins/skills/skill-forge/references/skill-template.md +0 -106
  667. package/plugins/skills/startup-guard/SKILL.md +0 -38
  668. package/plugins/skills/testing-stage/SKILL.md +0 -770
  669. package/plugins/skills/waterfall-iteration/SKILL.md +0 -115
  670. package/scripts/cli/global-init.js +0 -288
  671. package/scripts/cli/global.js +0 -324
  672. package/scripts/cli/index.js +0 -55
  673. package/scripts/cli/init.js +0 -408
  674. package/scripts/cli/list.js +0 -70
  675. package/scripts/cli/org.js +0 -340
  676. package/scripts/cli/update.js +0 -44
  677. package/scripts/config/commands.config.js +0 -145
  678. package/scripts/config/hooks.config.js +0 -197
  679. package/scripts/install/agents.js +0 -106
  680. package/scripts/install/commands.js +0 -133
  681. package/scripts/install/constants.js +0 -463
  682. package/scripts/install/hook-logger.js +0 -536
  683. package/scripts/install/hooks.js +0 -110
  684. package/scripts/install/index.js +0 -39
  685. package/scripts/install/skills.js +0 -95
  686. package/scripts/postinstall.js +0 -25
  687. package/scripts/state.js +0 -585
  688. /package/{plugins → dist/plugins}/hooks/lib/hook-runner.sh +0 -0
@@ -1,779 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * AutoSpec Hook: Environment Manager
5
- *
6
- * 环境知识管理 Hook,合并了验证和进化功能:
7
- * - PreToolUse: 环境知识验证(原 environment-validator.js)
8
- * - Stop: 环境进化检查(原 environment-evolution.js)
9
- *
10
- * 职责:
11
- * 1. 验证环境知识 YAML 文件的结构和内容
12
- * 2. 检测敏感信息(密码、API Key 等)
13
- * 3. 会话结束时检查可沉淀的环境知识
14
- */
15
-
16
- import fs from 'fs';
17
- import path from 'path';
18
- import { PatternLoader } from './lib/detection-pattern-loader.js';
19
- import { createHookLogger, safeJsonParse, handleHookError, readStdin, findProjectRootAsync, fileExists } from './lib/hook-logger.js';
20
- import {
21
- discoverSourceDirsSimple,
22
- scanCodePatternsFast,
23
- scanEnvVarPatternsFast,
24
- scanDependenciesFast,
25
- } from './lib/source-code-scanner.js';
26
-
27
- const logger = createHookLogger('environment-manager');
28
-
29
- // 动态加载 js-yaml(延迟加载,避免 top-level await 导致模块加载失败)
30
- let yaml = null;
31
- let yamlLoadAttempted = false;
32
-
33
- /**
34
- * 确保 js-yaml 已加载(延迟加载)
35
- * 将 top-level await 改为函数内动态导入,避免模块初始化失败
36
- */
37
- async function ensureYaml() {
38
- if (yamlLoadAttempted) return yaml;
39
- yamlLoadAttempted = true;
40
- try {
41
- yaml = await import('js-yaml');
42
- } catch (e) {
43
- // js-yaml 不可用,使用降级方案 parseYamlSimple
44
- logger.debug('js-yaml not available, using fallback YAML parser');
45
- }
46
- return yaml;
47
- }
48
-
49
- /**
50
- * 简单的 YAML 解析器(降级方案)
51
- * 支持多层嵌套、数组、行内数组等基本结构
52
- */
53
- function parseYamlSimple(content) {
54
- const lines = content.split('\n');
55
- const result = {};
56
-
57
- // 使用栈来跟踪嵌套层级
58
- const stack = [{ obj: result, indent: -1, isArrayItem: false }];
59
-
60
- for (let i = 0; i < lines.length; i++) {
61
- const line = lines[i];
62
- // 跳过空行和注释
63
- const trimmed = line.trim();
64
- if (!trimmed || trimmed.startsWith('#')) continue;
65
-
66
- const indent = line.search(/\S/);
67
-
68
- // 弹出栈中缩进大于等于当前行的元素
69
- while (stack.length > 1 && stack[stack.length - 1].indent >= indent) {
70
- stack.pop();
71
- }
72
-
73
- const top = stack[stack.length - 1];
74
- let current = top.obj;
75
-
76
- // 处理数组项
77
- if (trimmed.startsWith('- ')) {
78
- const itemStr = trimmed.substring(2).trim();
79
-
80
- // 如果当前是对象但遇到数组项,需要转换为数组
81
- if (!Array.isArray(current)) {
82
- const parent = stack[stack.length - 2]?.obj;
83
- if (parent && typeof parent === 'object') {
84
- const keys = Object.keys(parent);
85
- const lastKey = keys[keys.length - 1];
86
- if (lastKey && typeof parent[lastKey] === 'object' && !Array.isArray(parent[lastKey])) {
87
- const existing = parent[lastKey];
88
- if (Object.keys(existing).length === 0) {
89
- parent[lastKey] = [];
90
- current = parent[lastKey];
91
- stack[stack.length - 1] = { obj: current, indent: top.indent, isArrayItem: true };
92
- }
93
- }
94
- }
95
- }
96
-
97
- if (Array.isArray(current)) {
98
- const colonIndex = itemStr.indexOf(':');
99
- if (colonIndex > 0) {
100
- const item = {};
101
- const key = itemStr.substring(0, colonIndex).trim();
102
- let value = itemStr.substring(colonIndex + 1).trim();
103
- item[key] = parseYamlValue(value);
104
- current.push(item);
105
- stack.push({ obj: item, indent, isArrayItem: true });
106
- } else {
107
- current.push(parseYamlValue(itemStr));
108
- }
109
- }
110
- continue;
111
- }
112
-
113
- // 解析键值对
114
- const colonIndex = trimmed.indexOf(':');
115
- if (colonIndex > 0) {
116
- const key = trimmed.substring(0, colonIndex).trim();
117
- let value = trimmed.substring(colonIndex + 1).trim();
118
-
119
- if (value.startsWith('[') && value.endsWith(']')) {
120
- current[key] = parseInlineArray(value);
121
- } else if (value) {
122
- current[key] = parseYamlValue(value);
123
- } else {
124
- current[key] = {};
125
- stack.push({ obj: current[key], indent, isArrayItem: false });
126
- }
127
- }
128
- }
129
-
130
- return result;
131
- }
132
-
133
- /**
134
- * 解析行内数组
135
- */
136
- function parseInlineArray(value) {
137
- const inner = value.slice(1, -1).trim();
138
- if (!inner) return [];
139
-
140
- const items = [];
141
- let current = '';
142
- let depth = 0;
143
-
144
- for (const char of inner) {
145
- if (char === '[') depth++;
146
- if (char === ']') depth--;
147
- if (char === ',' && depth === 0) {
148
- items.push(parseYamlValue(current.trim()));
149
- current = '';
150
- } else {
151
- current += char;
152
- }
153
- }
154
- if (current.trim()) {
155
- items.push(parseYamlValue(current.trim()));
156
- }
157
-
158
- return items;
159
- }
160
-
161
- /**
162
- * 解析 YAML 值
163
- */
164
- function parseYamlValue(value) {
165
- if (!value) return value;
166
-
167
- // 行内数组
168
- if (value.startsWith('[') && value.endsWith(']')) {
169
- return parseInlineArray(value);
170
- }
171
-
172
- // 移除引号
173
- if ((value.startsWith('"') && value.endsWith('"')) ||
174
- (value.startsWith("'") && value.endsWith("'"))) {
175
- return value.slice(1, -1);
176
- }
177
-
178
- // 布尔值
179
- if (value === 'true') return true;
180
- if (value === 'false') return false;
181
-
182
- // 数字
183
- if (/^-?\d+$/.test(value)) return parseInt(value, 10);
184
- if (/^-?\d+\.\d+$/.test(value)) return parseFloat(value);
185
-
186
- return value;
187
- }
188
-
189
- /**
190
- * 解析 YAML 内容(异步版本,推荐使用)
191
- */
192
- async function parseYamlAsync(content) {
193
- await ensureYaml();
194
- if (yaml) {
195
- return yaml.load(content);
196
- }
197
- return parseYamlSimple(content);
198
- }
199
-
200
- /**
201
- * 解析 YAML 内容(同步版本,用于非 async 上下文)
202
- */
203
- function parseYaml(content) {
204
- if (yaml) {
205
- return yaml.load(content);
206
- }
207
- return parseYamlSimple(content);
208
- }
209
-
210
- // ========== 验证函数(PreToolUse)==========
211
-
212
- /**
213
- * 验证环境知识结构
214
- */
215
- function validateKnowledgeStructure(knowledge) {
216
- const errors = [];
217
-
218
- if (!knowledge.apiVersion) {
219
- errors.push('缺少必需字段:apiVersion');
220
- }
221
-
222
- if (!knowledge.kind) {
223
- errors.push('缺少必需字段:kind');
224
- }
225
-
226
- if (!knowledge.metadata && !knowledge.meta) {
227
- errors.push('缺少必需字段:metadata 或 meta');
228
- }
229
-
230
- if (!knowledge.spec) {
231
- errors.push('缺少必需字段:spec');
232
- }
233
-
234
- return errors;
235
- }
236
-
237
- /**
238
- * 验证中间件知识
239
- */
240
- function validateMiddlewareKnowledge(knowledge) {
241
- const errors = [];
242
- const spec = knowledge.spec;
243
- const meta = knowledge.metadata || knowledge.meta;
244
-
245
- if (!spec.type) {
246
- errors.push('中间件知识缺少 type 字段');
247
- }
248
-
249
- if (!meta?.name) {
250
- errors.push('中间件知识缺少 metadata.name 字段');
251
- }
252
-
253
- if (spec.connection && !spec.connection.template) {
254
- errors.push('中间件知识缺少 connection.template 字段');
255
- }
256
-
257
- // 检查危险命令
258
- if (spec.validation?.healthCheck) {
259
- const dangerousPatterns = [/rm\s+-rf/, /sudo/, /mkfs/, /dd\s+if=/];
260
- for (const pattern of dangerousPatterns) {
261
- if (pattern.test(spec.validation.healthCheck)) {
262
- errors.push('healthCheck 包含潜在危险的命令');
263
- break;
264
- }
265
- }
266
- }
267
-
268
- return errors;
269
- }
270
-
271
- /**
272
- * 验证组件知识
273
- */
274
- function validateComponentKnowledge(knowledge) {
275
- const errors = [];
276
- const spec = knowledge.spec;
277
- const meta = knowledge.metadata || knowledge.meta;
278
-
279
- if (!spec.type) {
280
- errors.push('组件知识缺少 type 字段');
281
- }
282
-
283
- if (!meta?.name) {
284
- errors.push('组件知识缺少 metadata.name 字段');
285
- }
286
-
287
- if (!spec.description) {
288
- errors.push('组件知识缺少 description 字段');
289
- }
290
-
291
- if (spec.interfaces && Array.isArray(spec.interfaces)) {
292
- for (const iface of spec.interfaces) {
293
- if (!iface.name) {
294
- errors.push('接口定义缺少 name 字段');
295
- }
296
- }
297
- }
298
-
299
- return errors;
300
- }
301
-
302
- /**
303
- * 验证集成知识
304
- */
305
- function validateIntegrationKnowledge(knowledge) {
306
- const errors = [];
307
- const spec = knowledge.spec;
308
- const meta = knowledge.metadata || knowledge.meta;
309
-
310
- if (!spec.type) {
311
- errors.push('集成知识缺少 type 字段');
312
- }
313
-
314
- if (!meta?.name) {
315
- errors.push('集成知识缺少 metadata.name 字段');
316
- }
317
-
318
- return errors;
319
- }
320
-
321
- /**
322
- * 检查硬编码敏感信息
323
- */
324
- function checkSensitiveInfo(content) {
325
- const sensitivePatterns = [
326
- /password\s*[:=]\s*['"][^'"]+['"]/i,
327
- /secret\s*[:=]\s*['"][^'"]+['"]/i,
328
- /api[_-]?key\s*[:=]\s*['"][^'"]+['"]/i,
329
- ];
330
-
331
- for (const pattern of sensitivePatterns) {
332
- if (pattern.test(content)) {
333
- return true;
334
- }
335
- }
336
- return false;
337
- }
338
-
339
- /**
340
- * 处理 PreToolUse 事件:环境知识验证
341
- */
342
- async function handlePreToolUse(input) {
343
- // 确保 js-yaml 已加载(如果可用)
344
- await ensureYaml();
345
-
346
- const toolName = input.tool_name;
347
- const toolInput = input.tool_input || {};
348
-
349
- // 只检查 Write 和 Edit 操作
350
- if (!['Write', 'Edit'].includes(toolName)) {
351
- process.exit(0);
352
- }
353
-
354
- const filePath = toolInput.file_path || '';
355
-
356
- // 只检查 environment 目录下的文件
357
- if (!filePath.includes('/environment/') && !filePath.includes('\\environment\\')) {
358
- process.exit(0);
359
- }
360
-
361
- // 只检查 YAML 文件
362
- if (!filePath.endsWith('.yaml') && !filePath.endsWith('.yml')) {
363
- process.exit(0);
364
- }
365
-
366
- // 获取文件内容
367
- const content = toolInput.content || toolInput.new_string || '';
368
-
369
- if (!content) {
370
- process.exit(0);
371
- }
372
-
373
- // 检查硬编码敏感信息
374
- if (checkSensitiveInfo(content)) {
375
- const output = {
376
- hookSpecificOutput: {
377
- hookEventName: 'PreToolUse',
378
- permissionDecision: 'deny',
379
- permissionDecisionReason:
380
- 'ENVIRONMENT SECURITY: 检测到可能的硬编码敏感信息。请使用环境变量替代。',
381
- },
382
- };
383
- process.stdout.write(JSON.stringify(output));
384
- process.exit(0);
385
- }
386
-
387
- // 解析 YAML
388
- let knowledge;
389
- try {
390
- knowledge = parseYaml(content);
391
- } catch (e) {
392
- const output = {
393
- hookSpecificOutput: {
394
- hookEventName: 'PreToolUse',
395
- permissionDecision: 'deny',
396
- permissionDecisionReason: `ENVIRONMENT YAML ERROR: YAML 解析失败 - ${e.message}`,
397
- },
398
- };
399
- process.stdout.write(JSON.stringify(output));
400
- process.exit(0);
401
- }
402
-
403
- // 验证基本结构
404
- const structureErrors = validateKnowledgeStructure(knowledge);
405
- if (structureErrors.length > 0) {
406
- const output = {
407
- hookSpecificOutput: {
408
- hookEventName: 'PreToolUse',
409
- permissionDecision: 'deny',
410
- permissionDecisionReason: `ENVIRONMENT STRUCTURE ERROR: ${structureErrors.join('; ')}`,
411
- },
412
- };
413
- process.stdout.write(JSON.stringify(output));
414
- process.exit(0);
415
- }
416
-
417
- // 根据 kind 进行专项验证
418
- let errors = [];
419
- switch (knowledge.kind) {
420
- case 'MiddlewareKnowledge':
421
- errors = validateMiddlewareKnowledge(knowledge);
422
- break;
423
- case 'ComponentKnowledge':
424
- errors = validateComponentKnowledge(knowledge);
425
- break;
426
- case 'IntegrationKnowledge':
427
- errors = validateIntegrationKnowledge(knowledge);
428
- break;
429
- default:
430
- // 未知类型,允许通过
431
- break;
432
- }
433
-
434
- if (errors.length > 0) {
435
- const output = {
436
- hookSpecificOutput: {
437
- hookEventName: 'PreToolUse',
438
- permissionDecision: 'deny',
439
- permissionDecisionReason: `ENVIRONMENT VALIDATION ERROR: ${errors.join('; ')}`,
440
- },
441
- };
442
- process.stdout.write(JSON.stringify(output));
443
- process.exit(0);
444
- }
445
-
446
- // 验证通过
447
- process.exit(0);
448
- }
449
-
450
- // ========== 进化检查(Stop)==========
451
-
452
- /**
453
- * 使用 PatternLoader 检测中间件 - 使用公共模块
454
- */
455
- async function detectMiddlewareWithPatternLoader(projectRoot, patternLoader) {
456
- const middlewarePatterns = patternLoader.getMiddlewarePatterns();
457
- const detected = [];
458
- const sourceDirs = discoverSourceDirsSimple(projectRoot);
459
-
460
- if (sourceDirs.length === 0) {
461
- sourceDirs.push('src');
462
- }
463
-
464
- for (const dir of sourceDirs) {
465
- const dirPath = path.join(projectRoot, dir);
466
- if (!fs.existsSync(dirPath)) continue;
467
-
468
- for (const [name, pattern] of Object.entries(middlewarePatterns)) {
469
- if (detected.includes(name)) continue;
470
-
471
- // 检测代码模式
472
- if (pattern.codePatterns) {
473
- const found = scanCodePatternsFast(dirPath, pattern.codePatterns);
474
- if (found) {
475
- detected.push(name);
476
- continue;
477
- }
478
- }
479
-
480
- // 检测环境变量模式
481
- if (pattern.envVarPatterns) {
482
- const found = scanEnvVarPatternsFast(dirPath, pattern.envVarPatterns);
483
- if (found) {
484
- detected.push(name);
485
- }
486
- }
487
- }
488
- }
489
-
490
- // 从依赖文件检测
491
- const depDetected = scanDependenciesFast(projectRoot, middlewarePatterns);
492
- for (const name of depDetected) {
493
- if (!detected.includes(name)) {
494
- detected.push(name);
495
- }
496
- }
497
-
498
- return detected;
499
- }
500
-
501
- /**
502
- * 检查中间件是否已注册
503
- */
504
- function checkRegisteredMiddleware(projectRoot, middlewareNames) {
505
- const registryPath = path.join(projectRoot, '.autospec', 'environment', 'registry.json');
506
-
507
- if (!fs.existsSync(registryPath)) {
508
- return middlewareNames.map(name => ({ name, registered: false, active: false }));
509
- }
510
-
511
- try {
512
- const registry = JSON.parse(fs.readFileSync(registryPath, 'utf-8'));
513
- const registered = registry.environmentKnowledge?.middleware?.map(m => m.name) || [];
514
- const active = registry.activeProfiles?.middleware || [];
515
-
516
- return middlewareNames.map(name => ({
517
- name,
518
- registered: registered.includes(name),
519
- active: active.includes(name),
520
- }));
521
- } catch (e) {
522
- return middlewareNames.map(name => ({ name, registered: false, active: false }));
523
- }
524
- }
525
-
526
- /**
527
- * 检测组件 - 扫描 package.json 中的组织内部组件
528
- */
529
- function detectComponents(projectRoot) {
530
- const detected = [];
531
- const packageJsonPath = path.join(projectRoot, 'package.json');
532
-
533
- if (!fs.existsSync(packageJsonPath)) {
534
- return detected;
535
- }
536
-
537
- try {
538
- const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
539
- const allDeps = {
540
- ...pkg.dependencies,
541
- ...pkg.devDependencies
542
- };
543
-
544
- // 检测以 @org/ 或组织特定前缀开头的包
545
- const orgPrefix = '@'; // 可配置
546
- for (const dep of Object.keys(allDeps)) {
547
- if (dep.startsWith('@') && dep.includes('/')) {
548
- // 跳过标准作用域包
549
- const scope = dep.split('/')[0];
550
- if (!['@types', '@babel', '@eslint', '@angular', '@vue', '@react'].includes(scope)) {
551
- detected.push(dep);
552
- }
553
- }
554
- }
555
- } catch (e) {
556
- // 忽略解析错误
557
- }
558
-
559
- return detected;
560
- }
561
-
562
- /**
563
- * 检测设计文档变更 - 扫描 specs/ 和 docs/ 目录
564
- */
565
- function detectDesignDocChanges(projectRoot) {
566
- const changes = [];
567
- const dirsToCheck = [
568
- 'specs',
569
- 'docs/architecture',
570
- 'docs/api',
571
- 'docs/database',
572
- 'docs/product'
573
- ];
574
-
575
- for (const dir of dirsToCheck) {
576
- const dirPath = path.join(projectRoot, dir);
577
- if (fs.existsSync(dirPath)) {
578
- try {
579
- const files = fs.readdirSync(dirPath);
580
- if (files.length > 0) {
581
- changes.push({ type: 'design', path: dir, count: files.length });
582
- }
583
- } catch (e) {
584
- // 忽略错误
585
- }
586
- }
587
- }
588
-
589
- return changes;
590
- }
591
-
592
- /**
593
- * 检测业务知识变更 - 扫描业务知识目录
594
- */
595
- function detectBusinessKnowledgeChanges(projectRoot) {
596
- const changes = [];
597
- const dirsToCheck = [
598
- 'knowledge/09-templates/05-business-glossary.md',
599
- 'knowledge/09-templates/06-business-rules.md',
600
- 'docs/business'
601
- ];
602
-
603
- for (const dir of dirsToCheck) {
604
- const dirPath = path.join(projectRoot, dir);
605
- if (fs.existsSync(dirPath)) {
606
- try {
607
- const files = fs.readdirSync(dirPath);
608
- if (files.length > 0) {
609
- changes.push({ type: 'business', path: dir, count: files.length });
610
- }
611
- } catch (e) {
612
- // 忽略错误
613
- }
614
- }
615
- }
616
-
617
- return changes;
618
- }
619
-
620
- /**
621
- * 检查组件是否已注册
622
- */
623
- function checkRegisteredComponents(projectRoot, componentNames) {
624
- const registryPath = path.join(projectRoot, '.autospec', 'environment', 'registry.json');
625
-
626
- if (!fs.existsSync(registryPath)) {
627
- return componentNames.map(name => ({ name, registered: false, active: false }));
628
- }
629
-
630
- try {
631
- const registry = JSON.parse(fs.readFileSync(registryPath, 'utf-8'));
632
- const registered = registry.componentKnowledge?.components?.map(c => c.name) || [];
633
- const active = registry.activeProfiles?.components || [];
634
-
635
- return componentNames.map(name => ({
636
- name,
637
- registered: registered.includes(name),
638
- active: active.includes(name),
639
- }));
640
- } catch (e) {
641
- return componentNames.map(name => ({ name, registered: false, active: false }));
642
- }
643
- }
644
-
645
- /**
646
- * 处理 Stop 事件:环境进化检查
647
- */
648
- async function handleStop(projectRoot) {
649
- const envDir = path.join(projectRoot, '.autospec', 'environment');
650
-
651
- // 如果环境目录不存在,跳过
652
- if (!fs.existsSync(envDir)) {
653
- process.exit(0);
654
- }
655
-
656
- // 使用 PatternLoader 检测中间件(异步版本,尝试加载 js-yaml)
657
- const autospecDir = path.join(projectRoot, '.autospec');
658
- const patternLoader = new PatternLoader(autospecDir);
659
- await patternLoader.loadAsync();
660
-
661
- // 1. 检测中间件
662
- const detectedMiddleware = await detectMiddlewareWithPatternLoader(projectRoot, patternLoader);
663
- const middlewareStatus = checkRegisteredMiddleware(projectRoot, detectedMiddleware);
664
- const middlewareNeedAction = middlewareStatus.filter(m => !m.registered || !m.active);
665
-
666
- // 2. 检测组件
667
- const detectedComponents = detectComponents(projectRoot);
668
- const componentStatus = checkRegisteredComponents(projectRoot, detectedComponents);
669
- const componentNeedAction = componentStatus.filter(c => !c.registered || !c.active);
670
-
671
- // 3. 检测设计文档变更
672
- const designDocChanges = detectDesignDocChanges(projectRoot);
673
-
674
- // 4. 检测业务知识变更
675
- const businessKnowledgeChanges = detectBusinessKnowledgeChanges(projectRoot);
676
-
677
- // 汇总需要处理的事项
678
- const hasMiddlewareAction = middlewareNeedAction.length > 0;
679
- const hasComponentAction = componentNeedAction.length > 0;
680
- const hasDesignChanges = designDocChanges.length > 0;
681
- const hasBusinessChanges = businessKnowledgeChanges.length > 0;
682
-
683
- if (!hasMiddlewareAction && !hasComponentAction && !hasDesignChanges && !hasBusinessChanges) {
684
- process.exit(0);
685
- }
686
-
687
- // 生成提醒消息
688
- let message = '[AutoSpec Environment] ';
689
- const actions = [];
690
-
691
- // 中间件提醒
692
- if (hasMiddlewareAction) {
693
- const unregistered = middlewareNeedAction.filter(m => !m.registered).map(m => m.name);
694
- const inactive = middlewareNeedAction.filter(m => m.registered && !m.active).map(m => m.name);
695
-
696
- if (unregistered.length > 0) {
697
- actions.push(`新中间件:${unregistered.join(', ')}`);
698
- }
699
- if (inactive.length > 0) {
700
- actions.push(`未激活中间件:${inactive.join(', ')}`);
701
- }
702
- }
703
-
704
- // 组件提醒
705
- if (hasComponentAction) {
706
- const unregistered = componentNeedAction.filter(c => !c.registered).map(c => c.name);
707
- const inactive = componentNeedAction.filter(c => c.registered && !c.active).map(c => c.name);
708
-
709
- if (unregistered.length > 0) {
710
- actions.push(`新组件:${unregistered.join(', ')}`);
711
- }
712
- if (inactive.length > 0) {
713
- actions.push(`未激活组件:${inactive.join(', ')}`);
714
- }
715
- }
716
-
717
- // 设计文档变更提醒
718
- if (hasDesignChanges) {
719
- const paths = designDocChanges.map(d => d.path).join(', ');
720
- actions.push(`设计文档变更:${paths}`);
721
- }
722
-
723
- // 业务知识变更提醒
724
- if (hasBusinessChanges) {
725
- const paths = businessKnowledgeChanges.map(b => b.path).join(', ');
726
- actions.push(`业务知识变更:${paths}`);
727
- }
728
-
729
- message += actions.join(';') + '。运行 autospec env:sync 可同步最新知识。';
730
-
731
- const output = {
732
- hookSpecificOutput: {
733
- hookEventName: 'Stop',
734
- additionalContext: message,
735
- },
736
- };
737
-
738
- process.stdout.write(JSON.stringify(output));
739
- }
740
-
741
- /**
742
- * 主函数
743
- */
744
- async function main() {
745
- try {
746
- const inputRaw = await readStdin(1000);
747
- const input = JSON.parse(inputRaw);
748
-
749
- const eventName = input.event_name;
750
-
751
- // 根据事件类型分发
752
- if (eventName === 'PreToolUse') {
753
- await handlePreToolUse(input);
754
- } else if (eventName === 'Stop') {
755
- const cwd = input.cwd || process.cwd();
756
- const projectRoot = await findProjectRootAsync(cwd);
757
-
758
- if (!projectRoot) {
759
- process.exit(0);
760
- }
761
-
762
- await handleStop(projectRoot);
763
- } else {
764
- logger.debug('Unknown event type, skipping', { eventName });
765
- }
766
-
767
- process.exit(0);
768
-
769
- } catch (e) {
770
- // 输出错误信息,使用 handleHookError
771
- const result = handleHookError('environment-manager', e, {
772
- eventName: 'Unknown'
773
- });
774
- process.stdout.write(JSON.stringify(result.hookSpecificOutput));
775
- process.exit(0);
776
- }
777
- }
778
-
779
- main();