@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,865 +0,0 @@
1
- /**
2
- * Detection Pattern Loader
3
- *
4
- * 加载和管理检测模式配置
5
- *
6
- * 此文件是 hooks 模块的一部分,可独立运行于目标项目中。
7
- */
8
-
9
- import fs from 'fs';
10
- import path from 'path';
11
-
12
- // 动态加载 js-yaml(延迟加载,避免 top-level await 导致模块加载失败)
13
- let yaml = null;
14
- let yamlLoadAttempted = false;
15
-
16
- /**
17
- * 确保 js-yaml 已加载(延迟加载)
18
- * 将 top-level await 改为函数内动态导入,避免模块初始化失败
19
- */
20
- async function ensureYaml() {
21
- if (yamlLoadAttempted) return yaml;
22
- yamlLoadAttempted = true;
23
- try {
24
- yaml = await import('js-yaml');
25
- } catch (e) {
26
- // js-yaml 不可用,使用降级方案 parseYamlSimple / dumpYamlSimple
27
- }
28
- return yaml;
29
- }
30
-
31
- /**
32
- * 简单的 YAML 解析器(降级方案)
33
- * 支持多层嵌套、数组、行内数组等基本结构
34
- */
35
- function parseYamlSimple(content) {
36
- const lines = content.split('\n');
37
- const result = {};
38
-
39
- const stack = [{ obj: result, indent: -1, isArrayItem: false }];
40
-
41
- for (let i = 0; i < lines.length; i++) {
42
- const line = lines[i];
43
- const trimmed = line.trim();
44
- if (!trimmed || trimmed.startsWith('#')) continue;
45
-
46
- const indent = line.search(/\S/);
47
-
48
- while (stack.length > 1 && stack[stack.length - 1].indent >= indent) {
49
- stack.pop();
50
- }
51
-
52
- const top = stack[stack.length - 1];
53
- let current = top.obj;
54
-
55
- if (trimmed.startsWith('- ')) {
56
- const itemStr = trimmed.substring(2).trim();
57
-
58
- if (!Array.isArray(current)) {
59
- const parent = stack[stack.length - 2]?.obj;
60
- if (parent && typeof parent === 'object') {
61
- const keys = Object.keys(parent);
62
- const lastKey = keys[keys.length - 1];
63
- if (lastKey && typeof parent[lastKey] === 'object' && !Array.isArray(parent[lastKey])) {
64
- const existing = parent[lastKey];
65
- if (Object.keys(existing).length === 0) {
66
- parent[lastKey] = [];
67
- current = parent[lastKey];
68
- stack[stack.length - 1] = { obj: current, indent: top.indent, isArrayItem: true };
69
- }
70
- }
71
- }
72
- }
73
-
74
- if (Array.isArray(current)) {
75
- const colonIndex = itemStr.indexOf(':');
76
- if (colonIndex > 0) {
77
- const item = {};
78
- const key = itemStr.substring(0, colonIndex).trim();
79
- let value = itemStr.substring(colonIndex + 1).trim();
80
- item[key] = parseYamlValue(value);
81
- current.push(item);
82
- stack.push({ obj: item, indent, isArrayItem: true });
83
- } else {
84
- current.push(parseYamlValue(itemStr));
85
- }
86
- }
87
- continue;
88
- }
89
-
90
- const colonIndex = trimmed.indexOf(':');
91
- if (colonIndex > 0) {
92
- const key = trimmed.substring(0, colonIndex).trim();
93
- let value = trimmed.substring(colonIndex + 1).trim();
94
-
95
- if (value.startsWith('[') && value.endsWith(']')) {
96
- current[key] = parseInlineArray(value);
97
- } else if (value) {
98
- current[key] = parseYamlValue(value);
99
- } else {
100
- current[key] = {};
101
- stack.push({ obj: current[key], indent, isArrayItem: false });
102
- }
103
- }
104
- }
105
-
106
- return result;
107
- }
108
-
109
- /**
110
- * 解析行内数组
111
- */
112
- function parseInlineArray(value) {
113
- const inner = value.slice(1, -1).trim();
114
- if (!inner) return [];
115
-
116
- const items = [];
117
- let current = '';
118
- let depth = 0;
119
-
120
- for (const char of inner) {
121
- if (char === '[') depth++;
122
- if (char === ']') depth--;
123
- if (char === ',' && depth === 0) {
124
- items.push(parseYamlValue(current.trim()));
125
- current = '';
126
- } else {
127
- current += char;
128
- }
129
- }
130
- if (current.trim()) {
131
- items.push(parseYamlValue(current.trim()));
132
- }
133
-
134
- return items;
135
- }
136
-
137
- /**
138
- * 解析 YAML 值
139
- */
140
- function parseYamlValue(value) {
141
- if (!value) return value;
142
-
143
- if (value.startsWith('[') && value.endsWith(']')) {
144
- return parseInlineArray(value);
145
- }
146
-
147
- if ((value.startsWith('"') && value.endsWith('"')) ||
148
- (value.startsWith("'") && value.endsWith("'"))) {
149
- return value.slice(1, -1);
150
- }
151
-
152
- if (value === 'true') return true;
153
- if (value === 'false') return false;
154
- if (/^-?\d+$/.test(value)) return parseInt(value, 10);
155
- if (/^-?\d+\.\d+$/.test(value)) return parseFloat(value);
156
-
157
- return value;
158
- }
159
-
160
- /**
161
- * 简单的 YAML 序列化(降级方案)
162
- */
163
- function dumpYamlSimple(obj, indent = 0) {
164
- const spaces = ' '.repeat(indent);
165
- let result = '';
166
-
167
- for (const [key, value] of Object.entries(obj)) {
168
- if (value === null || value === undefined) continue;
169
-
170
- if (typeof value === 'object' && !Array.isArray(value)) {
171
- result += `${spaces}${key}:\n`;
172
- result += dumpYamlSimple(value, indent + 1);
173
- } else if (Array.isArray(value)) {
174
- result += `${spaces}${key}:\n`;
175
- for (const item of value) {
176
- if (typeof item === 'object' && item !== null) {
177
- const entries = Object.entries(item);
178
- if (entries.length > 0) {
179
- result += `${spaces} - ${entries[0][0]}: ${serializeValue(entries[0][1])}\n`;
180
- for (let i = 1; i < entries.length; i++) {
181
- result += `${spaces} ${entries[i][0]}: ${serializeValue(entries[i][1])}\n`;
182
- }
183
- }
184
- } else {
185
- result += `${spaces} - ${serializeValue(item)}\n`;
186
- }
187
- }
188
- } else {
189
- result += `${spaces}${key}: ${serializeValue(value)}\n`;
190
- }
191
- }
192
-
193
- return result;
194
- }
195
-
196
- /**
197
- * 序列化 YAML 值
198
- */
199
- function serializeValue(value) {
200
- if (typeof value === 'string') {
201
- if (value.includes(':') || value.includes('#') || value.includes('\n')) {
202
- return `"${value}"`;
203
- }
204
- return value;
205
- }
206
- if (value === true) return 'true';
207
- if (value === false) return 'false';
208
- if (value === null) return 'null';
209
- return String(value);
210
- }
211
-
212
- /**
213
- * 解析 YAML 内容(异步版本,推荐使用)
214
- */
215
- async function parseYamlAsync(content) {
216
- await ensureYaml();
217
- if (yaml) {
218
- return yaml.load(content);
219
- }
220
- return parseYamlSimple(content);
221
- }
222
-
223
- /**
224
- * 解析 YAML 内容(同步版本,用于非 async 上下文)
225
- */
226
- function parseYaml(content) {
227
- if (yaml) {
228
- return yaml.load(content);
229
- }
230
- return parseYamlSimple(content);
231
- }
232
-
233
- /**
234
- * 序列化为 YAML(异步版本,推荐使用)
235
- */
236
- async function dumpYamlAsync(obj, options = {}) {
237
- await ensureYaml();
238
- if (yaml) {
239
- return yaml.dump(obj, options);
240
- }
241
- return dumpYamlSimple(obj);
242
- }
243
-
244
- /**
245
- * 序列化为 YAML(同步版本,用于非 async 上下文)
246
- */
247
- function dumpYaml(obj, options = {}) {
248
- if (yaml) {
249
- return yaml.dump(obj, options);
250
- }
251
- return dumpYamlSimple(obj);
252
- }
253
-
254
- // ============================================================
255
- // 内联常量(来自 constants.js,仅保留 hooks 需要的部分)
256
- // ============================================================
257
-
258
- const ENV_DIRS = {
259
- ROOT: 'environment',
260
- ENV_KNOWLEDGE: 'environment/env-knowledge',
261
- MIDDLEWARE: 'environment/env-knowledge/middleware',
262
- INFRASTRUCTURE: 'environment/env-knowledge/infrastructure',
263
- ENV_VARIABLES: 'environment/env-knowledge/env-variables',
264
- COMPONENT_LIB: 'environment/component-lib',
265
- COMPONENTS: 'environment/component-lib/components',
266
- BEST_PRACTICES: 'environment/component-lib/best-practices',
267
- DOMAIN_MODELS: 'environment/component-lib/domain-models',
268
- INTEGRATION: 'environment/integration',
269
- CI_CD: 'environment/integration/ci-cd',
270
- TESTING: 'environment/integration/testing',
271
- DEPLOYMENT: 'environment/integration/deployment',
272
- };
273
-
274
- const ENV_FILES = {
275
- REGISTRY: 'registry.json',
276
- DETECTION_PATTERNS: 'detection-patterns.yaml',
277
- ENVIRONMENT_CONTEXT: 'environment-context.json',
278
- };
279
-
280
- // ============================================================
281
- // 内置检测模式
282
- // ============================================================
283
-
284
- /**
285
- * 内置检测模式
286
- * 当项目没有自定义模式时使用
287
- */
288
- const BUILTIN_PATTERNS = {
289
- apiVersion: 'autospec/v1',
290
- kind: 'DetectionPatterns',
291
- meta: {
292
- name: 'builtin-patterns',
293
- version: '1.0.0',
294
- source: 'framework',
295
- },
296
- spec: {
297
- middleware: {
298
- mysql: {
299
- dependencies: [
300
- { pattern: 'mysql2', packageManager: 'npm' },
301
- { pattern: 'pymysql', packageManager: 'pip' },
302
- { pattern: 'mysql-connector-python', packageManager: 'pip' },
303
- { pattern: 'mysql-connector-java', packageManager: 'maven' },
304
- ],
305
- codePatterns: [
306
- { pattern: 'createPool\\s*\\(', language: 'javascript', confidence: 0.9 },
307
- { pattern: 'mysql\\.connector', language: 'python', confidence: 0.85 },
308
- { pattern: 'mysql2/promise', language: 'javascript', confidence: 0.95 },
309
- { pattern: 'pymysql\\.connect', language: 'python', confidence: 0.95 },
310
- { pattern: 'com\\.mysql\\.cj', language: 'java', confidence: 0.9 },
311
- ],
312
- envVarPatterns: [
313
- { pattern: 'MYSQL_\\w+', extract: true },
314
- ],
315
- filePatterns: ['**/*.py', '**/*.js', '**/*.ts', '**/*.java'],
316
- knowledgeTemplate: 'middleware/mysql.yaml',
317
- },
318
- redis: {
319
- dependencies: [
320
- { pattern: 'ioredis', packageManager: 'npm' },
321
- { pattern: 'redis', packageManager: 'npm' },
322
- { pattern: 'redis-py', packageManager: 'pip' },
323
- { pattern: 'redis', packageManager: 'pip' },
324
- ],
325
- codePatterns: [
326
- { pattern: 'new Redis\\s*\\(', language: 'javascript', confidence: 0.9 },
327
- { pattern: 'redis\\.Redis', language: 'python', confidence: 0.85 },
328
- { pattern: 'createClient\\s*\\(', language: 'javascript', confidence: 0.85 },
329
- { pattern: 'ioredis', language: 'javascript', confidence: 0.95 },
330
- ],
331
- envVarPatterns: [
332
- { pattern: 'REDIS_\\w+', extract: true },
333
- ],
334
- filePatterns: ['**/*.py', '**/*.js', '**/*.ts', '**/*.java'],
335
- knowledgeTemplate: 'middleware/redis.yaml',
336
- },
337
- kafka: {
338
- dependencies: [
339
- { pattern: 'kafkajs', packageManager: 'npm' },
340
- { pattern: 'confluent-kafka', packageManager: 'pip' },
341
- { pattern: 'kafka-python', packageManager: 'pip' },
342
- { pattern: 'org.apache.kafka', packageManager: 'maven' },
343
- ],
344
- codePatterns: [
345
- { pattern: 'Kafka\\(|KafkaJS', language: 'javascript', confidence: 0.9 },
346
- { pattern: 'KafkaConsumer|KafkaProducer', language: 'python', confidence: 0.9 },
347
- { pattern: 'KafkaProducer|KafkaConsumer', language: 'java', confidence: 0.95 },
348
- ],
349
- envVarPatterns: [
350
- { pattern: 'KAFKA_\\w+', extract: true },
351
- ],
352
- filePatterns: ['**/*.py', '**/*.js', '**/*.ts', '**/*.java'],
353
- knowledgeTemplate: 'middleware/kafka.yaml',
354
- },
355
- mongodb: {
356
- dependencies: [
357
- { pattern: 'mongoose', packageManager: 'npm' },
358
- { pattern: 'mongodb', packageManager: 'npm' },
359
- { pattern: 'pymongo', packageManager: 'pip' },
360
- ],
361
- codePatterns: [
362
- { pattern: 'mongoose\\.connect', language: 'javascript', confidence: 0.95 },
363
- { pattern: 'MongoClient', language: 'javascript', confidence: 0.9 },
364
- { pattern: 'pymongo\\.MongoClient', language: 'python', confidence: 0.95 },
365
- ],
366
- envVarPatterns: [
367
- { pattern: 'MONGO\\w*', extract: true },
368
- ],
369
- filePatterns: ['**/*.py', '**/*.js', '**/*.ts', '**/*.java'],
370
- knowledgeTemplate: 'middleware/mongodb.yaml',
371
- },
372
- elasticsearch: {
373
- dependencies: [
374
- { pattern: '@elastic/elasticsearch', packageManager: 'npm' },
375
- { pattern: 'elasticsearch', packageManager: 'pip' },
376
- ],
377
- codePatterns: [
378
- { pattern: 'Client\\s*\\(', language: 'javascript', confidence: 0.7 },
379
- { pattern: 'Elasticsearch\\s*\\(', language: 'python', confidence: 0.85 },
380
- { pattern: '@elastic/elasticsearch', language: 'javascript', confidence: 0.95 },
381
- ],
382
- envVarPatterns: [
383
- { pattern: 'ELASTIC\\w*', extract: true },
384
- ],
385
- filePatterns: ['**/*.py', '**/*.js', '**/*.ts', '**/*.java'],
386
- knowledgeTemplate: 'middleware/elasticsearch.yaml',
387
- },
388
- postgresql: {
389
- dependencies: [
390
- { pattern: 'pg', packageManager: 'npm' },
391
- { pattern: 'psycopg2', packageManager: 'pip' },
392
- { pattern: 'psycopg', packageManager: 'pip' },
393
- { pattern: 'org.postgresql', packageManager: 'maven' },
394
- ],
395
- codePatterns: [
396
- { pattern: 'pg\\.Pool|pg\\.Client', language: 'javascript', confidence: 0.9 },
397
- { pattern: 'psycopg2\\.connect', language: 'python', confidence: 0.95 },
398
- { pattern: 'postgresql://', language: 'any', confidence: 0.8 },
399
- ],
400
- envVarPatterns: [
401
- { pattern: 'POSTGRES_\\w+|PG_\\w+', extract: true },
402
- ],
403
- filePatterns: ['**/*.py', '**/*.js', '**/*.ts', '**/*.java'],
404
- knowledgeTemplate: 'middleware/postgresql.yaml',
405
- },
406
- rabbitmq: {
407
- dependencies: [
408
- { pattern: 'amqplib', packageManager: 'npm' },
409
- { pattern: 'pika', packageManager: 'pip' },
410
- { pattern: 'rabbitmq', packageManager: 'pip' },
411
- ],
412
- codePatterns: [
413
- { pattern: 'amqp\\.connect', language: 'javascript', confidence: 0.9 },
414
- { pattern: 'pika\\.BlockingConnection', language: 'python', confidence: 0.95 },
415
- { pattern: 'amqplib', language: 'javascript', confidence: 0.9 },
416
- ],
417
- envVarPatterns: [
418
- { pattern: 'RABBITMQ_\\w+|AMQP_\\w+', extract: true },
419
- ],
420
- filePatterns: ['**/*.py', '**/*.js', '**/*.ts', '**/*.java'],
421
- knowledgeTemplate: 'middleware/rabbitmq.yaml',
422
- },
423
- },
424
- components: {
425
- // 通用组件模式,可被组织配置覆盖
426
- },
427
- bestPractices: {
428
- 'connection-pool': {
429
- pattern: 'poolSize|connectionLimit|maxConnections|pool_size',
430
- description: '连接池配置检测',
431
- appliesTo: ['mysql', 'redis', 'postgresql', 'mongodb'],
432
- },
433
- 'error-handling': {
434
- pattern: 'try\\s*\\{|catch\\s*\\(|\\.catch\\s*\\(',
435
- description: '错误处理模式',
436
- appliesTo: ['*'],
437
- },
438
- 'retry-mechanism': {
439
- pattern: 'retry|maxRetry|retryTimes|backoff',
440
- description: '重试机制',
441
- appliesTo: ['*'],
442
- },
443
- },
444
- },
445
- };
446
-
447
- /**
448
- * 检测模式加载器
449
- */
450
- export class PatternLoader {
451
- constructor(autospecDir) {
452
- this.autospecDir = autospecDir;
453
- this.envDir = path.join(autospecDir, ENV_DIRS.ROOT);
454
- this.patternsPath = path.join(this.envDir, ENV_FILES.DETECTION_PATTERNS);
455
- this.patterns = null;
456
- }
457
-
458
- /**
459
- * 加载检测模式
460
- * 合并内置模式和组织自定义模式
461
- */
462
- load() {
463
- // 1. 从内置模式开始
464
- let patterns = JSON.parse(JSON.stringify(BUILTIN_PATTERNS));
465
-
466
- // 2. 加载组织自定义模式(如果存在)
467
- // 注意:同步版本会使用降级方案 parseYamlSimple
468
- const orgPatterns = this.loadOrganizationPatterns();
469
-
470
- if (orgPatterns) {
471
- // 深度合并:组织模式可覆盖内置模式
472
- patterns = this.mergePatterns(patterns, orgPatterns);
473
- }
474
-
475
- this.patterns = patterns;
476
- return this.patterns;
477
- }
478
-
479
- /**
480
- * 异步加载检测模式(推荐使用)
481
- * 合并内置模式和组织自定义模式
482
- * 会尝试加载 js-yaml 以获得更好的 YAML 解析能力
483
- */
484
- async loadAsync() {
485
- // 确保 js-yaml 已加载(如果可用)
486
- await ensureYaml();
487
-
488
- // 1. 从内置模式开始
489
- let patterns = JSON.parse(JSON.stringify(BUILTIN_PATTERNS));
490
-
491
- // 2. 加载组织自定义模式(如果存在)
492
- const orgPatterns = await this.loadOrganizationPatternsAsync();
493
-
494
- if (orgPatterns) {
495
- // 深度合并:组织模式可覆盖内置模式
496
- patterns = this.mergePatterns(patterns, orgPatterns);
497
- }
498
-
499
- this.patterns = patterns;
500
- return this.patterns;
501
- }
502
-
503
- /**
504
- * 加载组织自定义模式(同步版本,使用降级方案)
505
- */
506
- loadOrganizationPatterns() {
507
- if (!fs.existsSync(this.patternsPath)) {
508
- return null;
509
- }
510
-
511
- try {
512
- const content = fs.readFileSync(this.patternsPath, 'utf-8');
513
- return parseYaml(content); // 同步版本,可能使用降级方案
514
- } catch (e) {
515
- console.warn('Failed to load organization patterns:', e.message);
516
- return null;
517
- }
518
- }
519
-
520
- /**
521
- * 加载组织自定义模式(异步版本,推荐使用)
522
- */
523
- async loadOrganizationPatternsAsync() {
524
- if (!fs.existsSync(this.patternsPath)) {
525
- return null;
526
- }
527
-
528
- try {
529
- const content = fs.readFileSync(this.patternsPath, 'utf-8');
530
- return await parseYamlAsync(content); // 异步版本,尝试使用 js-yaml
531
- } catch (e) {
532
- console.warn('Failed to load organization patterns:', e.message);
533
- return null;
534
- }
535
- }
536
-
537
- /**
538
- * 深度合并模式
539
- */
540
- mergePatterns(base, override) {
541
- const result = { ...base };
542
-
543
- if (override.metadata) {
544
- result.metadata = { ...base.metadata, ...override.metadata };
545
- }
546
-
547
- if (override.spec) {
548
- result.spec = { ...base.spec };
549
-
550
- // 合并中间件模式
551
- if (override.spec.middleware) {
552
- result.spec.middleware = { ...base.spec.middleware, ...override.spec.middleware };
553
- }
554
-
555
- // 合并组件模式
556
- if (override.spec.components) {
557
- result.spec.components = { ...base.spec.components, ...override.spec.components };
558
- }
559
-
560
- // 合并最佳实践模式
561
- if (override.spec.bestPractices) {
562
- result.spec.bestPractices = { ...base.spec.bestPractices, ...override.spec.bestPractices };
563
- }
564
- }
565
-
566
- return result;
567
- }
568
-
569
- /**
570
- * 获取中间件检测模式
571
- */
572
- getMiddlewarePatterns() {
573
- if (!this.patterns) {
574
- this.load();
575
- }
576
- return this.patterns.spec.middleware || {};
577
- }
578
-
579
- /**
580
- * 获取特定中间件的检测模式
581
- */
582
- getMiddlewarePattern(name) {
583
- const patterns = this.getMiddlewarePatterns();
584
- return patterns[name] || null;
585
- }
586
-
587
- /**
588
- * 获取组件检测模式
589
- */
590
- getComponentPatterns() {
591
- if (!this.patterns) {
592
- this.load();
593
- }
594
- return this.patterns.spec.components || {};
595
- }
596
-
597
- /**
598
- * 获取最佳实践检测模式
599
- */
600
- getBestPracticePatterns() {
601
- if (!this.patterns) {
602
- this.load();
603
- }
604
- return this.patterns.spec.bestPractices || {};
605
- }
606
-
607
- /**
608
- * 获取所有检测模式
609
- */
610
- getAllPatterns() {
611
- if (!this.patterns) {
612
- this.load();
613
- }
614
- return this.patterns;
615
- }
616
-
617
- /**
618
- * 添加自定义中间件模式
619
- */
620
- addMiddlewarePattern(name, pattern) {
621
- if (!this.patterns) {
622
- this.load();
623
- }
624
-
625
- if (!this.patterns.spec.middleware) {
626
- this.patterns.spec.middleware = {};
627
- }
628
-
629
- this.patterns.spec.middleware[name] = pattern;
630
- this.saveOrganizationPatterns();
631
- }
632
-
633
- /**
634
- * 添加自定义组件模式
635
- */
636
- addComponentPattern(name, pattern) {
637
- if (!this.patterns) {
638
- this.load();
639
- }
640
-
641
- if (!this.patterns.spec.components) {
642
- this.patterns.spec.components = {};
643
- }
644
-
645
- this.patterns.spec.components[name] = pattern;
646
- this.saveOrganizationPatterns();
647
- }
648
-
649
- /**
650
- * 保存组织自定义模式
651
- */
652
- saveOrganizationPatterns() {
653
- if (!fs.existsSync(this.envDir)) {
654
- fs.mkdirSync(this.envDir, { recursive: true });
655
- }
656
-
657
- // 只保存非内置的模式(标记为组织自定义)
658
- const orgPatterns = {
659
- apiVersion: 'autospec/v1',
660
- kind: 'DetectionPatterns',
661
- meta: {
662
- name: 'organization-patterns',
663
- version: '1.0.0',
664
- source: 'organization',
665
- },
666
- spec: {
667
- middleware: {},
668
- components: {},
669
- bestPractices: {},
670
- },
671
- };
672
-
673
- // 过滤出非内置的模式
674
- const builtinMiddleware = Object.keys(BUILTIN_PATTERNS.spec.middleware);
675
- for (const [name, pattern] of Object.entries(this.patterns.spec.middleware || {})) {
676
- if (!builtinMiddleware.includes(name) || this.isPatternModified(name, pattern, 'middleware')) {
677
- orgPatterns.spec.middleware[name] = pattern;
678
- }
679
- }
680
-
681
- for (const [name, pattern] of Object.entries(this.patterns.spec.components || {})) {
682
- orgPatterns.spec.components[name] = pattern;
683
- }
684
-
685
- for (const [name, pattern] of Object.entries(this.patterns.spec.bestPractices || {})) {
686
- if (this.isPatternModified(name, pattern, 'bestPractices')) {
687
- orgPatterns.spec.bestPractices[name] = pattern;
688
- }
689
- }
690
-
691
- fs.writeFileSync(this.patternsPath, dumpYaml(orgPatterns, { lineWidth: -1 }));
692
- }
693
-
694
- /**
695
- * 检查模式是否被修改
696
- */
697
- isPatternModified(name, pattern, category) {
698
- const builtin = BUILTIN_PATTERNS.spec[category]?.[name];
699
- if (!builtin) return true;
700
- return JSON.stringify(builtin) !== JSON.stringify(pattern);
701
- }
702
-
703
- /**
704
- * 验证模式配置
705
- */
706
- validatePattern(pattern) {
707
- const errors = [];
708
-
709
- if (!pattern.dependencies && !pattern.codePatterns && !pattern.envVarPatterns) {
710
- errors.push('至少需要定义 dependencies、codePatterns 或 envVarPatterns 之一');
711
- }
712
-
713
- if (pattern.dependencies) {
714
- for (const dep of pattern.dependencies) {
715
- if (!dep.pattern) {
716
- errors.push('dependency 必须包含 pattern 字段');
717
- }
718
- }
719
- }
720
-
721
- if (pattern.codePatterns) {
722
- for (const cp of pattern.codePatterns) {
723
- if (!cp.pattern) {
724
- errors.push('codePattern 必须包含 pattern 字段');
725
- }
726
- // 验证正则表达式
727
- try {
728
- new RegExp(cp.pattern);
729
- } catch (e) {
730
- errors.push(`无效的正则表达式: ${cp.pattern}`);
731
- }
732
- }
733
- }
734
-
735
- return {
736
- valid: errors.length === 0,
737
- errors,
738
- };
739
- }
740
-
741
- /**
742
- * 从依赖文件检测中间件
743
- * @param {string} packageJsonPath - package.json 路径
744
- * @param {string} requirementsPath - requirements.txt 路径
745
- * @param {string} pomXmlPath - pom.xml 路径
746
- */
747
- detectFromDependencies(packageJsonPath, requirementsPath, pomXmlPath) {
748
- const detected = [];
749
- const patterns = this.getMiddlewarePatterns();
750
-
751
- // 检测 npm 依赖
752
- if (packageJsonPath && fs.existsSync(packageJsonPath)) {
753
- try {
754
- const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
755
- const deps = { ...pkg.dependencies, ...pkg.devDependencies };
756
-
757
- for (const [depName] of Object.entries(deps)) {
758
- for (const [mwName, mwPattern] of Object.entries(patterns)) {
759
- if (mwPattern.dependencies) {
760
- for (const dep of mwPattern.dependencies) {
761
- if (dep.packageManager === 'npm' && this.matchDependency(dep.pattern, depName)) {
762
- detected.push({
763
- name: mwName,
764
- source: 'npm',
765
- dependency: depName,
766
- confidence: 0.9,
767
- });
768
- }
769
- }
770
- }
771
- }
772
- }
773
- } catch (e) {
774
- // 忽略解析错误
775
- }
776
- }
777
-
778
- // 检测 pip 依赖
779
- if (requirementsPath && fs.existsSync(requirementsPath)) {
780
- try {
781
- const content = fs.readFileSync(requirementsPath, 'utf-8');
782
- const lines = content.split('\n');
783
-
784
- for (const line of lines) {
785
- const depName = line.split(/[=<>]/)[0].trim();
786
- if (!depName || depName.startsWith('#')) continue;
787
-
788
- for (const [mwName, mwPattern] of Object.entries(patterns)) {
789
- if (mwPattern.dependencies) {
790
- for (const dep of mwPattern.dependencies) {
791
- if (dep.packageManager === 'pip' && this.matchDependency(dep.pattern, depName)) {
792
- detected.push({
793
- name: mwName,
794
- source: 'pip',
795
- dependency: depName,
796
- confidence: 0.9,
797
- });
798
- }
799
- }
800
- }
801
- }
802
- }
803
- } catch (e) {
804
- // 忽略解析错误
805
- }
806
- }
807
-
808
- // 检测 maven 依赖
809
- if (pomXmlPath && fs.existsSync(pomXmlPath)) {
810
- try {
811
- const content = fs.readFileSync(pomXmlPath, 'utf-8');
812
- // 简单的 XML 解析,提取 groupId:artifactId
813
- const depMatches = content.matchAll(/<dependency>[\s\S]*?<groupId>([^<]+)<\/groupId>[\s\S]*?<artifactId>([^<]+)<\/artifactId>[\s\S]*?<\/dependency>/g);
814
-
815
- for (const match of depMatches) {
816
- const depName = `${match[1]}:${match[2]}`;
817
-
818
- for (const [mwName, mwPattern] of Object.entries(patterns)) {
819
- if (mwPattern.dependencies) {
820
- for (const dep of mwPattern.dependencies) {
821
- if (dep.packageManager === 'maven' && this.matchDependency(dep.pattern, depName)) {
822
- detected.push({
823
- name: mwName,
824
- source: 'maven',
825
- dependency: depName,
826
- confidence: 0.9,
827
- });
828
- }
829
- }
830
- }
831
- }
832
- }
833
- } catch (e) {
834
- // 忽略解析错误
835
- }
836
- }
837
-
838
- // 去重
839
- const unique = [];
840
- const seen = new Set();
841
- for (const item of detected) {
842
- const key = item.name;
843
- if (!seen.has(key)) {
844
- seen.add(key);
845
- unique.push(item);
846
- }
847
- }
848
-
849
- return unique;
850
- }
851
-
852
- /**
853
- * 匹配依赖名称
854
- */
855
- matchDependency(pattern, depName) {
856
- if (pattern.startsWith('^') || pattern.includes('*')) {
857
- // 简单的通配符匹配
858
- const regex = new RegExp('^' + pattern.replace(/\*/g, '.*') + '$');
859
- return regex.test(depName);
860
- }
861
- return depName === pattern || depName.includes(pattern);
862
- }
863
- }
864
-
865
- export default PatternLoader;