@chongyan/autospec 1.0.2 → 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 (677) hide show
  1. package/LICENSE +242 -21
  2. package/README.md +54 -608
  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/{plugins → dist/plugins}/.claude-plugin/plugin.json +259 -101
  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 -598
  357. package/bin/autospec.js +0 -3
  358. package/knowledge/01-principles/00-principles-hierarchy.md +0 -247
  359. package/knowledge/01-principles/01-first-principles.md +0 -241
  360. package/knowledge/01-principles/02-strategic-principles.md +0 -286
  361. package/knowledge/01-principles/03-tactical-principles.md +0 -385
  362. package/knowledge/01-principles/04-operational-principles.md +0 -275
  363. package/knowledge/01-principles/05-domain-principles.md +0 -539
  364. package/knowledge/01-principles/06-methodology-principles.md +0 -281
  365. package/knowledge/01-principles/07-cognitive-principles.md +0 -277
  366. package/knowledge/01-principles/08-auto-fix-principles.md +0 -320
  367. package/knowledge/01-principles/09-constitution.md +0 -220
  368. package/knowledge/01-principles/10-evolution-mechanism.md +0 -699
  369. package/knowledge/01-principles/README.en.md +0 -385
  370. package/knowledge/01-principles/README.md +0 -385
  371. package/knowledge/02-process/00-overview.md +0 -404
  372. package/knowledge/02-process/01-requirement.md +0 -113
  373. package/knowledge/02-process/02-design.md +0 -123
  374. package/knowledge/02-process/03-implementation.md +0 -90
  375. package/knowledge/02-process/04-review.md +0 -80
  376. package/knowledge/02-process/05-testing.md +0 -90
  377. package/knowledge/02-process/06-delivery.md +0 -88
  378. package/knowledge/02-process/README.en.md +0 -143
  379. package/knowledge/02-process/README.md +0 -186
  380. package/knowledge/03-guides/00-pipeline-protocol.md +0 -438
  381. package/knowledge/03-guides/01-team-orchestrator.md +0 -368
  382. package/knowledge/03-guides/02-analyze-requirement.md +0 -195
  383. package/knowledge/03-guides/03-design-solution.md +0 -401
  384. package/knowledge/03-guides/04-implement-code.md +0 -205
  385. package/knowledge/03-guides/05-plan-testing.md +0 -183
  386. package/knowledge/03-guides/06-generate-tests.md +0 -241
  387. package/knowledge/03-guides/07-check-release.md +0 -205
  388. package/knowledge/03-guides/08-evaluate-ai-effect.md +0 -100
  389. package/knowledge/03-guides/09-review-requirement.md +0 -83
  390. package/knowledge/03-guides/10-review-design.md +0 -83
  391. package/knowledge/03-guides/11-review-code.md +0 -111
  392. package/knowledge/03-guides/12-review-testing.md +0 -76
  393. package/knowledge/03-guides/13-audit-security.md +0 -89
  394. package/knowledge/03-guides/14-check-consistency.md +0 -177
  395. package/knowledge/03-guides/15-run-unit-tests.md +0 -83
  396. package/knowledge/03-guides/16-run-integration-tests.md +0 -105
  397. package/knowledge/03-guides/17-analyze-test-context.md +0 -250
  398. package/knowledge/03-guides/18-log-practice.md +0 -359
  399. package/knowledge/03-guides/19-distill-skill.md +0 -91
  400. package/knowledge/03-guides/20-update-skill.md +0 -45
  401. package/knowledge/03-guides/21-validate-skill.md +0 -72
  402. package/knowledge/03-guides/22-extract-methodology.md +0 -55
  403. package/knowledge/03-guides/23-infer-scope.md +0 -174
  404. package/knowledge/03-guides/24-assess-complexity.md +0 -270
  405. package/knowledge/03-guides/25-discover-component.md +0 -183
  406. package/knowledge/03-guides/26-analyze-tech-stack.md +0 -139
  407. package/knowledge/03-guides/27-scan-environment.md +0 -207
  408. package/knowledge/03-guides/28-validate-environment.md +0 -207
  409. package/knowledge/03-guides/29-generate-knowledge.md +0 -234
  410. package/knowledge/03-guides/30-analyze-ai-capability.md +0 -193
  411. package/knowledge/03-guides/31-analyze-ai-component.md +0 -169
  412. package/knowledge/03-guides/32-analyze-ai-agent.md +0 -362
  413. package/knowledge/03-guides/33-analyze-ai-rag.md +0 -339
  414. package/knowledge/03-guides/34-assess-ai-task.md +0 -418
  415. package/knowledge/03-guides/35-evaluate-ai-pipeline.md +0 -219
  416. package/knowledge/03-guides/36-evaluate-ai-artifact.md +0 -192
  417. package/knowledge/03-guides/37-plan-ai-evaluation.md +0 -374
  418. package/knowledge/03-guides/38-evaluate-ai-path.md +0 -274
  419. package/knowledge/03-guides/39-validate-ai-data.md +0 -276
  420. package/knowledge/03-guides/40-detect-ai-anomaly.md +0 -213
  421. package/knowledge/03-guides/41-diagnose-ai-test.md +0 -133
  422. package/knowledge/03-guides/42-apply-ddd.md +0 -345
  423. package/knowledge/03-guides/43-run-ai-sdlc.md +0 -475
  424. package/knowledge/03-guides/44-manage-knowledge.md +0 -369
  425. package/knowledge/03-guides/45-test-runner.md +0 -254
  426. package/knowledge/03-guides/README.en.md +0 -212
  427. package/knowledge/03-guides/README.md +0 -212
  428. package/knowledge/04-checklists/00-requirement.md +0 -169
  429. package/knowledge/04-checklists/01-design.md +0 -196
  430. package/knowledge/04-checklists/02-code.md +0 -197
  431. package/knowledge/04-checklists/03-test.md +0 -46
  432. package/knowledge/04-checklists/04-release.md +0 -70
  433. package/knowledge/04-checklists/README.en.md +0 -119
  434. package/knowledge/04-checklists/README.md +0 -123
  435. package/knowledge/05-config/00-validation-patterns.yaml +0 -137
  436. package/knowledge/05-config/01-team-stage.yaml +0 -95
  437. package/knowledge/05-config/02-team-tasks.yaml +0 -139
  438. package/knowledge/05-config/03-role-composition.yaml +0 -346
  439. package/knowledge/05-config/04-role-extensions.yaml +0 -140
  440. package/knowledge/05-config/05-skill-compositions.yaml +0 -142
  441. package/knowledge/05-config/README.en.md +0 -54
  442. package/knowledge/05-config/README.md +0 -132
  443. package/knowledge/06-environment/00-template-registry.md +0 -310
  444. package/knowledge/06-environment/01-detection-patterns.yaml +0 -1692
  445. package/knowledge/06-environment/README.en.md +0 -40
  446. package/knowledge/06-environment/README.md +0 -128
  447. package/knowledge/07-standards/00-coding-style.md +0 -1059
  448. package/knowledge/07-standards/01-code-review.md +0 -876
  449. package/knowledge/07-standards/02-data-consistency.md +0 -1085
  450. package/knowledge/07-standards/03-document-versioning.md +0 -210
  451. package/knowledge/07-standards/04-risk-detection.md +0 -186
  452. package/knowledge/07-standards/README.en.md +0 -119
  453. package/knowledge/07-standards/README.md +0 -123
  454. package/knowledge/08-organization/00-vision-mission.md +0 -113
  455. package/knowledge/08-organization/01-ai-native-culture.md +0 -318
  456. package/knowledge/08-organization/02-team-metrics.md +0 -228
  457. package/knowledge/08-organization/03-committee-structure.md +0 -54
  458. package/knowledge/08-organization/04-governance-metrics.md +0 -55
  459. package/knowledge/08-organization/05-improvement-process.md +0 -71
  460. package/knowledge/08-organization/README.en.md +0 -165
  461. package/knowledge/08-organization/README.md +0 -165
  462. package/knowledge/09-templates/00-requirement-proposal.md +0 -344
  463. package/knowledge/09-templates/01-architecture-design.md +0 -494
  464. package/knowledge/09-templates/02-api-design.md +0 -408
  465. package/knowledge/09-templates/03-database-design.md +0 -313
  466. package/knowledge/09-templates/04-product-design.md +0 -237
  467. package/knowledge/09-templates/05-domain-business.md +0 -388
  468. package/knowledge/09-templates/06-test-design.md +0 -268
  469. package/knowledge/09-templates/07-evaluation-design.md +0 -372
  470. package/knowledge/09-templates/08-component-knowledge.md +0 -272
  471. package/knowledge/09-templates/09-best-practices.md +0 -218
  472. package/knowledge/09-templates/10-middleware-knowledge.md +0 -342
  473. package/knowledge/09-templates/README.en.md +0 -222
  474. package/knowledge/09-templates/README.md +0 -216
  475. package/knowledge/README.en.md +0 -372
  476. package/knowledge/README.md +0 -399
  477. package/plugins/agents/roles/ai-engineer.md +0 -129
  478. package/plugins/agents/roles/backend-engineer.md +0 -165
  479. package/plugins/agents/roles/ceo.md +0 -94
  480. package/plugins/agents/roles/data-engineer.md +0 -135
  481. package/plugins/agents/roles/devops-engineer.md +0 -181
  482. package/plugins/agents/roles/frontend-engineer.md +0 -129
  483. package/plugins/agents/roles/product-owner.md +0 -98
  484. package/plugins/agents/roles/quality-engineer.md +0 -129
  485. package/plugins/agents/roles/security-engineer.md +0 -180
  486. package/plugins/agents/roles/tech-lead.md +0 -97
  487. package/plugins/agents/support/blind-comparator.md +0 -88
  488. package/plugins/agents/support/consistency-checker.md +0 -136
  489. package/plugins/agents/support/failure-diagnostician.md +0 -141
  490. package/plugins/agents/support/independent-reviewer.md +0 -80
  491. package/plugins/agents/support/monitoring-agent.md +0 -215
  492. package/plugins/agents/support/safety-auditor.md +0 -121
  493. package/plugins/agents/support/skill-benchmarker.md +0 -86
  494. package/plugins/agents/support/skill-forger.md +0 -105
  495. package/plugins/agents/support/stage-gate-evaluator.md +0 -205
  496. package/plugins/agents/support/test-coverage-reviewer.md +0 -73
  497. package/plugins/benchmarks/templates/README.md +0 -196
  498. package/plugins/benchmarks/templates/commands/apply-template.yaml +0 -108
  499. package/plugins/benchmarks/templates/commands/archive-template.yaml +0 -65
  500. package/plugins/benchmarks/templates/commands/env-export-template.yaml +0 -64
  501. package/plugins/benchmarks/templates/commands/env-sync-template.yaml +0 -104
  502. package/plugins/benchmarks/templates/commands/env-template-template.yaml +0 -96
  503. package/plugins/benchmarks/templates/commands/env-template.yaml +0 -58
  504. package/plugins/benchmarks/templates/commands/env-update-template.yaml +0 -110
  505. package/plugins/benchmarks/templates/commands/env-validate-template.yaml +0 -95
  506. package/plugins/benchmarks/templates/commands/explore-template.yaml +0 -48
  507. package/plugins/benchmarks/templates/commands/field-evolve-template.yaml +0 -104
  508. package/plugins/benchmarks/templates/commands/project-evolve-template.yaml +0 -104
  509. package/plugins/benchmarks/templates/commands/propose-template.yaml +0 -88
  510. package/plugins/benchmarks/templates/commands/review-template.yaml +0 -124
  511. package/plugins/benchmarks/templates/commands/run-template.yaml +0 -127
  512. package/plugins/benchmarks/templates/commands/test-template.yaml +0 -149
  513. package/plugins/benchmarks/templates/pipeline/agile-template.yaml +0 -84
  514. package/plugins/benchmarks/templates/pipeline/experiment-template.yaml +0 -92
  515. package/plugins/benchmarks/templates/pipeline/hotfix-template.yaml +0 -81
  516. package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +0 -106
  517. package/plugins/benchmarks/templates/skills/agile-iteration-template.yaml +0 -78
  518. package/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml +0 -114
  519. package/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml +0 -52
  520. package/plugins/benchmarks/templates/skills/delivery-stage-template.yaml +0 -130
  521. package/plugins/benchmarks/templates/skills/design-stage-template.yaml +0 -131
  522. package/plugins/benchmarks/templates/skills/experiment-iteration-template.yaml +0 -60
  523. package/plugins/benchmarks/templates/skills/exploration-phase-template.yaml +0 -114
  524. package/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml +0 -51
  525. package/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml +0 -34
  526. package/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml +0 -50
  527. package/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml +0 -52
  528. package/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml +0 -33
  529. package/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml +0 -74
  530. package/plugins/benchmarks/templates/skills/field-evolve-template.yaml +0 -71
  531. package/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml +0 -51
  532. package/plugins/benchmarks/templates/skills/hotfix-iteration-template.yaml +0 -54
  533. package/plugins/benchmarks/templates/skills/implementation-stage-template.yaml +0 -127
  534. package/plugins/benchmarks/templates/skills/layer1-validation-template.yaml +0 -121
  535. package/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml +0 -51
  536. package/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml +0 -52
  537. package/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml +0 -34
  538. package/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml +0 -50
  539. package/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml +0 -50
  540. package/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml +0 -75
  541. package/plugins/benchmarks/templates/skills/project-evolve-template.yaml +0 -72
  542. package/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml +0 -51
  543. package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +0 -48
  544. package/plugins/benchmarks/templates/skills/skill-forge-template.yaml +0 -117
  545. package/plugins/benchmarks/templates/skills/startup-guard-template.yaml +0 -103
  546. package/plugins/benchmarks/templates/skills/testing-stage-template.yaml +0 -146
  547. package/plugins/benchmarks/templates/skills/waterfall-iteration-template.yaml +0 -55
  548. package/plugins/commands/README.en.md +0 -96
  549. package/plugins/commands/README.md +0 -96
  550. package/plugins/commands/apply.md +0 -277
  551. package/plugins/commands/archive.md +0 -132
  552. package/plugins/commands/env-export.md +0 -79
  553. package/plugins/commands/env-sync.md +0 -1281
  554. package/plugins/commands/env-template.md +0 -99
  555. package/plugins/commands/env-update.md +0 -264
  556. package/plugins/commands/env-validate.md +0 -176
  557. package/plugins/commands/env.md +0 -79
  558. package/plugins/commands/explore.md +0 -193
  559. package/plugins/commands/field-evolve.md +0 -412
  560. package/plugins/commands/memory.md +0 -249
  561. package/plugins/commands/project-evolve.md +0 -920
  562. package/plugins/commands/propose.md +0 -184
  563. package/plugins/commands/review.md +0 -140
  564. package/plugins/commands/run.md +0 -1052
  565. package/plugins/commands/status.md +0 -183
  566. package/plugins/commands/test.md +0 -389
  567. package/plugins/hooks/README.en.md +0 -56
  568. package/plugins/hooks/README.md +0 -56
  569. package/plugins/hooks/ai-project-guard.js +0 -329
  570. package/plugins/hooks/artifact-evaluation-hook.js +0 -237
  571. package/plugins/hooks/constitution-guard.js +0 -211
  572. package/plugins/hooks/environment-autocommit.js +0 -606
  573. package/plugins/hooks/environment-manager.js +0 -779
  574. package/plugins/hooks/execution-tracker.js +0 -459
  575. package/plugins/hooks/frozen-zone-guard.js +0 -140
  576. package/plugins/hooks/layer1-validator.js +0 -539
  577. package/plugins/hooks/lib/artifact-evaluator.js +0 -414
  578. package/plugins/hooks/lib/auto-fix-loop.js +0 -605
  579. package/plugins/hooks/lib/benchmarks/change-detector.js +0 -390
  580. package/plugins/hooks/lib/benchmarks/evaluator.js +0 -605
  581. package/plugins/hooks/lib/benchmarks/integration-example.js +0 -169
  582. package/plugins/hooks/lib/data-and-ai-detector.js +0 -275
  583. package/plugins/hooks/lib/detection-pattern-loader.js +0 -865
  584. package/plugins/hooks/lib/directory-discovery.js +0 -395
  585. package/plugins/hooks/lib/environment-config-loader.js +0 -345
  586. package/plugins/hooks/lib/environment-detector.js +0 -553
  587. package/plugins/hooks/lib/environment-evolver.js +0 -564
  588. package/plugins/hooks/lib/environment-registry.js +0 -813
  589. package/plugins/hooks/lib/execution-path.js +0 -427
  590. package/plugins/hooks/lib/hook-error-recorder.js +0 -245
  591. package/plugins/hooks/lib/hook-logger.js +0 -538
  592. package/plugins/hooks/lib/hook-runner.js +0 -97
  593. package/plugins/hooks/lib/hook-state-manager.js +0 -578
  594. package/plugins/hooks/lib/memory-extractor.js +0 -399
  595. package/plugins/hooks/lib/memory-manager.js +0 -673
  596. package/plugins/hooks/lib/metrics-analyzer.js +0 -489
  597. package/plugins/hooks/lib/project-evolution/auto-fixer.js +0 -511
  598. package/plugins/hooks/lib/project-evolution/memory-manager.js +0 -346
  599. package/plugins/hooks/lib/project-evolution/pattern-detector.js +0 -476
  600. package/plugins/hooks/lib/project-evolution/semantic-indexer.js +0 -480
  601. package/plugins/hooks/lib/project-structure-detector.js +0 -326
  602. package/plugins/hooks/lib/rollback-tracker.js +0 -346
  603. package/plugins/hooks/lib/source-code-scanner.js +0 -596
  604. package/plugins/hooks/lib/technology-stack-detector.js +0 -374
  605. package/plugins/hooks/lib/test-auto-fix.test.js +0 -194
  606. package/plugins/hooks/lib/test-failure-analyzer.js +0 -375
  607. package/plugins/hooks/lib/test-failure-fixer.js +0 -268
  608. package/plugins/hooks/lib/trace-context.js +0 -277
  609. package/plugins/hooks/lib/validation-patterns.js +0 -415
  610. package/plugins/hooks/memory-sync.js +0 -171
  611. package/plugins/hooks/monitoring-trigger.js +0 -467
  612. package/plugins/hooks/pipeline-observer.js +0 -413
  613. package/plugins/hooks/scope-sentinel.js +0 -204
  614. package/plugins/hooks/trace-initialization.js +0 -169
  615. package/plugins/memory/templates/code-quality.yaml +0 -149
  616. package/plugins/memory/templates/multi-system.yaml +0 -155
  617. package/plugins/memory/templates/team-habits.yaml +0 -119
  618. package/plugins/memory/templates/testing.yaml +0 -121
  619. package/plugins/skills/README.en.md +0 -59
  620. package/plugins/skills/README.md +0 -114
  621. package/plugins/skills/agile-iteration/SKILL.md +0 -187
  622. package/plugins/skills/benchmark-executor/SKILL.md +0 -647
  623. package/plugins/skills/benchmark-generator/SKILL.md +0 -349
  624. package/plugins/skills/delivery-stage/SKILL.md +0 -324
  625. package/plugins/skills/design-stage/SKILL.md +0 -307
  626. package/plugins/skills/experiment-evaluator/SKILL.md +0 -271
  627. package/plugins/skills/experiment-iteration/SKILL.md +0 -154
  628. package/plugins/skills/exploration-phase/SKILL.md +0 -216
  629. package/plugins/skills/field-evolve-analyzer/SKILL.md +0 -65
  630. package/plugins/skills/field-evolve-distiller/SKILL.md +0 -66
  631. package/plugins/skills/field-evolve-executor/SKILL.md +0 -94
  632. package/plugins/skills/field-evolve-executor/executor.js +0 -342
  633. package/plugins/skills/field-evolve-fixer/SKILL.md +0 -69
  634. package/plugins/skills/field-evolve-learner/SKILL.md +0 -65
  635. package/plugins/skills/field-evolve-scanner/SKILL.md +0 -87
  636. package/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +0 -288
  637. package/plugins/skills/field-evolve-verifier/SKILL.md +0 -64
  638. package/plugins/skills/hotfix-iteration/SKILL.md +0 -279
  639. package/plugins/skills/implementation-stage/SKILL.md +0 -320
  640. package/plugins/skills/layer1-validation/SKILL.md +0 -79
  641. package/plugins/skills/pending-dashboard/SKILL.md +0 -110
  642. package/plugins/skills/project-evolve-analyzer/SKILL.md +0 -95
  643. package/plugins/skills/project-evolve-fixer/SKILL.md +0 -99
  644. package/plugins/skills/project-evolve-generator/SKILL.md +0 -149
  645. package/plugins/skills/project-evolve-learner/SKILL.md +0 -103
  646. package/plugins/skills/project-evolve-reviewer/SKILL.md +0 -104
  647. package/plugins/skills/project-evolve-scanner/SKILL.md +0 -95
  648. package/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +0 -395
  649. package/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +0 -315
  650. package/plugins/skills/project-evolve-verifier/SKILL.md +0 -105
  651. package/plugins/skills/requirement-stage/SKILL.md +0 -217
  652. package/plugins/skills/skill-forge/SKILL.md +0 -223
  653. package/plugins/skills/skill-forge/references/description-guide.md +0 -92
  654. package/plugins/skills/skill-forge/references/quality-rubric.md +0 -104
  655. package/plugins/skills/skill-forge/references/skill-template.md +0 -106
  656. package/plugins/skills/startup-guard/SKILL.md +0 -38
  657. package/plugins/skills/testing-stage/SKILL.md +0 -770
  658. package/plugins/skills/waterfall-iteration/SKILL.md +0 -115
  659. package/scripts/cli/global-init.js +0 -288
  660. package/scripts/cli/global.js +0 -324
  661. package/scripts/cli/index.js +0 -55
  662. package/scripts/cli/init.js +0 -408
  663. package/scripts/cli/list.js +0 -70
  664. package/scripts/cli/org.js +0 -340
  665. package/scripts/cli/update.js +0 -44
  666. package/scripts/config/commands.config.js +0 -145
  667. package/scripts/config/hooks.config.js +0 -197
  668. package/scripts/install/agents.js +0 -106
  669. package/scripts/install/commands.js +0 -133
  670. package/scripts/install/constants.js +0 -463
  671. package/scripts/install/hook-logger.js +0 -536
  672. package/scripts/install/hooks.js +0 -110
  673. package/scripts/install/index.js +0 -39
  674. package/scripts/install/skills.js +0 -95
  675. package/scripts/postinstall.js +0 -25
  676. package/scripts/state.js +0 -585
  677. /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();