@chongyan/autospec 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. package/LICENSE +242 -21
  2. package/README.md +54 -476
  3. package/dist/README.md +54 -0
  4. package/dist/adapters/claude-code/README.md.enc +6 -0
  5. package/dist/adapters/claude-code/agents.js +1 -0
  6. package/dist/adapters/claude-code/commands.config.js +1 -0
  7. package/dist/adapters/claude-code/commands.js +1 -0
  8. package/dist/adapters/claude-code/hooks.config.js +2 -0
  9. package/dist/adapters/claude-code/hooks.js +1 -0
  10. package/dist/adapters/claude-code/install.js +1 -0
  11. package/dist/adapters/claude-code/skills.js +1 -0
  12. package/dist/adapters/codex/README.md.enc +6 -0
  13. package/dist/adapters/codex/hooks/pre-commit.sh +10 -0
  14. package/dist/adapters/codex/install.js +1 -0
  15. package/dist/adapters/codex/prompts/env-learn.md.enc +6 -0
  16. package/dist/adapters/codex/prompts/review.md.enc +6 -0
  17. package/dist/adapters/codex/wrappers/autospec-cli.sh +118 -0
  18. package/dist/adapters/codex/wrappers/parallel.sh +20 -0
  19. package/dist/adapters/codex/wrappers/post-task.sh +138 -0
  20. package/dist/bin/autospec.js +2 -0
  21. package/dist/knowledge/README.en.md.enc +6 -0
  22. package/dist/knowledge/README.md.enc +6 -0
  23. package/dist/knowledge/change-management.md.enc +6 -0
  24. package/dist/knowledge/cognition-engine.md.enc +6 -0
  25. package/dist/knowledge/config/baseline-permissions.md.enc +6 -0
  26. package/dist/knowledge/config/external-mounts.yaml.enc +6 -0
  27. package/dist/knowledge/config/model-profiles.yaml.enc +6 -0
  28. package/dist/knowledge/config/role-composition.yaml.enc +6 -0
  29. package/dist/knowledge/config/token-optimization.yaml.enc +6 -0
  30. package/dist/knowledge/config/validation-patterns.yaml.enc +6 -0
  31. package/dist/knowledge/constitution.md.enc +6 -0
  32. package/dist/knowledge/core-rules.md.enc +6 -0
  33. package/dist/knowledge/environment/adapters/README.md.enc +6 -0
  34. package/dist/knowledge/environment/detection-patterns.yaml.enc +6 -0
  35. package/dist/knowledge/environment/failure-patterns.json +223 -0
  36. package/dist/knowledge/environment/repair-strategies.json +206 -0
  37. package/dist/knowledge/memory/README.md.enc +6 -0
  38. package/dist/knowledge/memory/field/README.md.enc +6 -0
  39. package/dist/knowledge/memory/project/decisions/README.md.enc +6 -0
  40. package/dist/knowledge/memory/project/evolution-log.md.enc +6 -0
  41. package/dist/knowledge/memory/project/health-metrics.md.enc +6 -0
  42. package/dist/knowledge/memory/team/best-practices.md.enc +6 -0
  43. package/dist/knowledge/pipeline/code.md.enc +6 -0
  44. package/dist/knowledge/pipeline/explore.md.enc +6 -0
  45. package/dist/knowledge/pipeline/plan.md.enc +6 -0
  46. package/dist/knowledge/pipeline/protocol.md.enc +6 -0
  47. package/dist/knowledge/protocol/capabilities.yaml.enc +6 -0
  48. package/dist/knowledge/protocol/evolve-integration.md.enc +6 -0
  49. package/dist/knowledge/skills/README.md.enc +6 -0
  50. package/dist/knowledge/skills/adversarial-review.md.enc +6 -0
  51. package/dist/knowledge/skills/analyze-requirement.md.enc +6 -0
  52. package/dist/knowledge/skills/channel-operations.md.enc +6 -0
  53. package/dist/knowledge/skills/content-operations.md.enc +6 -0
  54. package/dist/knowledge/skills/content-prompts.md.enc +6 -0
  55. package/dist/knowledge/skills/conversion-optimization.md.enc +6 -0
  56. package/dist/knowledge/skills/data-operations.md.enc +6 -0
  57. package/dist/knowledge/skills/design-solution.md.enc +6 -0
  58. package/dist/knowledge/skills/growth-strategies.md.enc +6 -0
  59. package/dist/knowledge/skills/implement-code.md.enc +6 -0
  60. package/dist/knowledge/skills/knowledge-distill.md.enc +6 -0
  61. package/dist/knowledge/skills/parallel-dev.md.enc +6 -0
  62. package/dist/knowledge/skills/private-domain-traffic.md.enc +6 -0
  63. package/dist/knowledge/skills/skill-format.md.enc +6 -0
  64. package/dist/knowledge/skills/social-commerce.md.enc +6 -0
  65. package/dist/knowledge/skills/team-orchestration.md.enc +6 -0
  66. package/dist/knowledge/skills/unified-review.md.enc +6 -0
  67. package/dist/knowledge/skills/user-operations.md.enc +6 -0
  68. package/dist/knowledge/templates/autospec-config.yaml.enc +6 -0
  69. package/dist/knowledge/templates/smoke-test.md.enc +6 -0
  70. package/dist/knowledge/templates/spec/SPEC.md.enc +6 -0
  71. package/dist/knowledge/templates/spec/layers/delta.md.enc +6 -0
  72. package/dist/knowledge/templates/spec/layers/how.md.enc +6 -0
  73. package/dist/knowledge/templates/spec/layers/plan.md.enc +6 -0
  74. package/dist/knowledge/templates/spec/layers/what.md.enc +6 -0
  75. package/dist/knowledge/templates/spec/layers/why.md.enc +6 -0
  76. package/dist/knowledge/templates/wiki/catalog.yaml.enc +6 -0
  77. package/dist/knowledge/templates/wiki/content.md.enc +6 -0
  78. package/dist/knowledge/templates/wiki/meta.yaml.enc +6 -0
  79. package/dist/package.json +62 -0
  80. package/dist/plugins/.claude-plugin/plugin.json +671 -0
  81. package/dist/plugins/agents/roles/ai-engineer.md.enc +6 -0
  82. package/dist/plugins/agents/roles/backend-engineer.md.enc +6 -0
  83. package/dist/plugins/agents/roles/ceo.md.enc +6 -0
  84. package/dist/plugins/agents/roles/channel-ops.md.enc +6 -0
  85. package/dist/plugins/agents/roles/content-ops.md.enc +6 -0
  86. package/dist/plugins/agents/roles/conversion-ops.md.enc +6 -0
  87. package/dist/plugins/agents/roles/data-engineer.md.enc +6 -0
  88. package/dist/plugins/agents/roles/data-ops.md.enc +6 -0
  89. package/dist/plugins/agents/roles/devops-engineer.md.enc +6 -0
  90. package/dist/plugins/agents/roles/frontend-engineer.md.enc +6 -0
  91. package/dist/plugins/agents/roles/marketing-director.md.enc +6 -0
  92. package/dist/plugins/agents/roles/operations-director.md.enc +6 -0
  93. package/dist/plugins/agents/roles/private-traffic.md.enc +6 -0
  94. package/dist/plugins/agents/roles/product-owner.md.enc +6 -0
  95. package/dist/plugins/agents/roles/quality-engineer.md.enc +6 -0
  96. package/dist/plugins/agents/roles/security-engineer.md.enc +6 -0
  97. package/dist/plugins/agents/roles/tech-lead.md.enc +6 -0
  98. package/dist/plugins/agents/roles/user-ops.md.enc +6 -0
  99. package/dist/plugins/agents/support/blind-comparator.md.enc +6 -0
  100. package/dist/plugins/agents/support/consistency-checker.md.enc +6 -0
  101. package/dist/plugins/agents/support/experiment-evaluator.md.enc +6 -0
  102. package/dist/plugins/agents/support/failure-diagnostician.md.enc +6 -0
  103. package/dist/plugins/agents/support/independent-reviewer.md.enc +6 -0
  104. package/dist/plugins/agents/support/memory-curator.md.enc +6 -0
  105. package/dist/plugins/agents/support/monitoring-agent.md.enc +6 -0
  106. package/dist/plugins/agents/support/safety-auditor.md.enc +6 -0
  107. package/dist/plugins/agents/support/skill-benchmarker.md.enc +6 -0
  108. package/dist/plugins/agents/support/skill-forger.md.enc +6 -0
  109. package/dist/plugins/agents/support/stage-gate-evaluator.md.enc +6 -0
  110. package/dist/plugins/agents/support/team-orchestrator.md.enc +6 -0
  111. package/dist/plugins/agents/support/test-coverage-reviewer.md.enc +6 -0
  112. package/dist/plugins/benchmarks/templates/README.en.md.enc +6 -0
  113. package/dist/plugins/benchmarks/templates/README.md.enc +6 -0
  114. package/dist/plugins/benchmarks/templates/commands/code-template.yaml.enc +6 -0
  115. package/dist/plugins/benchmarks/templates/commands/explore-template.yaml.enc +6 -0
  116. package/dist/plugins/benchmarks/templates/commands/field-evolve-template.yaml.enc +6 -0
  117. package/dist/plugins/benchmarks/templates/commands/plan-template.yaml.enc +6 -0
  118. package/dist/plugins/benchmarks/templates/commands/project-evolve-template.yaml.enc +6 -0
  119. package/dist/plugins/benchmarks/templates/commands/review-template.yaml.enc +6 -0
  120. package/dist/plugins/benchmarks/templates/commands/run-template.yaml.enc +6 -0
  121. package/dist/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml.enc +6 -0
  122. package/dist/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml.enc +6 -0
  123. package/dist/plugins/benchmarks/templates/skills/delivery-stage-template.yaml.enc +6 -0
  124. package/dist/plugins/benchmarks/templates/skills/design-stage-template.yaml.enc +6 -0
  125. package/dist/plugins/benchmarks/templates/skills/exploration-phase-template.yaml.enc +6 -0
  126. package/dist/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml.enc +6 -0
  127. package/dist/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml.enc +6 -0
  128. package/dist/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml.enc +6 -0
  129. package/dist/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml.enc +6 -0
  130. package/dist/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml.enc +6 -0
  131. package/dist/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml.enc +6 -0
  132. package/dist/plugins/benchmarks/templates/skills/field-evolve-template.yaml.enc +6 -0
  133. package/dist/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml.enc +6 -0
  134. package/dist/plugins/benchmarks/templates/skills/implementation-stage-template.yaml.enc +6 -0
  135. package/dist/plugins/benchmarks/templates/skills/layer1-validation-template.yaml.enc +6 -0
  136. package/dist/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml.enc +6 -0
  137. package/dist/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml.enc +6 -0
  138. package/dist/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml.enc +6 -0
  139. package/dist/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml.enc +6 -0
  140. package/dist/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml.enc +6 -0
  141. package/dist/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml.enc +6 -0
  142. package/dist/plugins/benchmarks/templates/skills/project-evolve-template.yaml.enc +6 -0
  143. package/dist/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml.enc +6 -0
  144. package/dist/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml.enc +6 -0
  145. package/dist/plugins/benchmarks/templates/skills/skill-forge-template.yaml.enc +6 -0
  146. package/dist/plugins/benchmarks/templates/skills/startup-guard-template.yaml.enc +6 -0
  147. package/dist/plugins/benchmarks/templates/skills/testing-stage-template.yaml.enc +6 -0
  148. package/dist/plugins/commands/README.en.md.enc +6 -0
  149. package/dist/plugins/commands/README.md.enc +6 -0
  150. package/dist/plugins/commands/automation.md.enc +6 -0
  151. package/dist/plugins/commands/code.md.enc +6 -0
  152. package/dist/plugins/commands/contribute.md.enc +6 -0
  153. package/dist/plugins/commands/dashboard.md.enc +6 -0
  154. package/dist/plugins/commands/env.md.enc +6 -0
  155. package/dist/plugins/commands/explore.md.enc +6 -0
  156. package/dist/plugins/commands/field-evolve.md.enc +6 -0
  157. package/dist/plugins/commands/global.md.enc +6 -0
  158. package/dist/plugins/commands/init.md.enc +6 -0
  159. package/dist/plugins/commands/list.md.enc +6 -0
  160. package/dist/plugins/commands/memory.md.enc +6 -0
  161. package/dist/plugins/commands/monitor.md.enc +6 -0
  162. package/dist/plugins/commands/org.md.enc +6 -0
  163. package/dist/plugins/commands/persist.md.enc +6 -0
  164. package/dist/plugins/commands/plan.md.enc +6 -0
  165. package/dist/plugins/commands/plugin.md.enc +6 -0
  166. package/dist/plugins/commands/project-evolve.md.enc +6 -0
  167. package/dist/plugins/commands/review.md.enc +6 -0
  168. package/dist/plugins/commands/run.md.enc +6 -0
  169. package/dist/plugins/commands/status.md.enc +6 -0
  170. package/dist/plugins/commands/sync.md.enc +6 -0
  171. package/dist/plugins/commands/update.md.enc +6 -0
  172. package/dist/plugins/env-capabilities/env-core/plugin.json +33 -0
  173. package/dist/plugins/hooks/README.en.md.enc +6 -0
  174. package/dist/plugins/hooks/README.md.enc +6 -0
  175. package/dist/plugins/hooks/artifact-evaluation-hook.js +2 -0
  176. package/dist/plugins/hooks/cognitive-dreamer.js +2 -0
  177. package/dist/plugins/hooks/cognitive-sync.js +2 -0
  178. package/dist/plugins/hooks/cognitive-tracker.js +2 -0
  179. package/dist/plugins/hooks/config/detection-patterns.yaml.enc +6 -0
  180. package/dist/plugins/hooks/constitution-guard.js +2 -0
  181. package/dist/plugins/hooks/do-review-separation-guard.js +2 -0
  182. package/dist/plugins/hooks/environment-autocommit.js +2 -0
  183. package/dist/plugins/hooks/environment-doctor.js +1 -0
  184. package/dist/plugins/hooks/environment-startup-scan.js +2 -0
  185. package/dist/plugins/hooks/execution-tracker.js +2 -0
  186. package/dist/plugins/hooks/frozen-zone-guard.js +2 -0
  187. package/dist/plugins/hooks/layer1-validator.js +2 -0
  188. package/dist/plugins/hooks/lib/artifact-evaluator.js +1 -0
  189. package/dist/plugins/hooks/lib/auto-fix-loop.js +1 -0
  190. package/dist/plugins/hooks/lib/benchmarks/change-detector.js +1 -0
  191. package/dist/plugins/hooks/lib/benchmarks/evaluator.js +1 -0
  192. package/dist/plugins/hooks/lib/benchmarks/integration-example.js +1 -0
  193. package/dist/plugins/hooks/lib/cognitive/adaptive-matcher.js +1 -0
  194. package/dist/plugins/hooks/lib/cognitive/base-store.js +1 -0
  195. package/dist/plugins/hooks/lib/cognitive/causal-engine.js +1 -0
  196. package/dist/plugins/hooks/lib/cognitive/cognitive-config.js +1 -0
  197. package/dist/plugins/hooks/lib/cognitive/cognitive-fingerprint.js +1 -0
  198. package/dist/plugins/hooks/lib/cognitive/collective-sync.js +1 -0
  199. package/dist/plugins/hooks/lib/cognitive/confidence-engine.js +1 -0
  200. package/dist/plugins/hooks/lib/cognitive/dream-engine.js +1 -0
  201. package/dist/plugins/hooks/lib/cognitive/episodic-store.js +1 -0
  202. package/dist/plugins/hooks/lib/cognitive/index.js +1 -0
  203. package/dist/plugins/hooks/lib/cognitive/kernel.js +1 -0
  204. package/dist/plugins/hooks/lib/cognitive/knowledge-distiller.js +1 -0
  205. package/dist/plugins/hooks/lib/cognitive/memory-transport.js +1 -0
  206. package/dist/plugins/hooks/lib/cognitive/persistence-manager.js +1 -0
  207. package/dist/plugins/hooks/lib/cognitive/priority-store.js +1 -0
  208. package/dist/plugins/hooks/lib/cognitive/procedural-store.js +1 -0
  209. package/dist/plugins/hooks/lib/cognitive/semantic-store.js +1 -0
  210. package/dist/plugins/hooks/lib/cognitive/skill-tuner.js +1 -0
  211. package/dist/plugins/hooks/lib/cognitive/wiki-materializer.js +1 -0
  212. package/dist/plugins/hooks/lib/detection-pattern-loader.js +1 -0
  213. package/dist/plugins/hooks/lib/directory-discovery.js +1 -0
  214. package/dist/plugins/hooks/lib/environment-capability-package.js +1 -0
  215. package/dist/plugins/hooks/lib/environment-capability-probe.js +1 -0
  216. package/dist/plugins/hooks/lib/environment-config-loader.js +1 -0
  217. package/dist/plugins/hooks/lib/environment-executor.js +1 -0
  218. package/dist/plugins/hooks/lib/environment-feedback.js +1 -0
  219. package/dist/plugins/hooks/lib/environment-health-monitor.js +1 -0
  220. package/dist/plugins/hooks/lib/environment-knowledge-synthesizer.js +1 -0
  221. package/dist/plugins/hooks/lib/environment-knowledge-validator.js +1 -0
  222. package/dist/plugins/hooks/lib/environment-learning-discoverer.js +1 -0
  223. package/dist/plugins/hooks/lib/environment-learning-engine.js +1 -0
  224. package/dist/plugins/hooks/lib/environment-module-repository.js +1 -0
  225. package/dist/plugins/hooks/lib/environment-planner.js +1 -0
  226. package/dist/plugins/hooks/lib/environment-plugin-registry.js +1 -0
  227. package/dist/plugins/hooks/lib/environment-readiness.js +1 -0
  228. package/dist/plugins/hooks/lib/environment-route-ranking.js +1 -0
  229. package/dist/plugins/hooks/lib/environment-strategy-overlay.js +1 -0
  230. package/dist/plugins/hooks/lib/execution-path.js +1 -0
  231. package/dist/plugins/hooks/lib/external-mount-adapter.js +1 -0
  232. package/dist/plugins/hooks/lib/external-scanner.js +1 -0
  233. package/dist/plugins/hooks/lib/hook-error-recorder.js +1 -0
  234. package/dist/plugins/hooks/lib/hook-logger.js +1 -0
  235. package/dist/plugins/hooks/lib/hook-runner.js +2 -0
  236. package/dist/plugins/hooks/lib/hook-state-manager.js +1 -0
  237. package/dist/plugins/hooks/lib/memory-extractor.js +1 -0
  238. package/dist/plugins/hooks/lib/memory-manager.js +1 -0
  239. package/dist/plugins/hooks/lib/metrics-analyzer.js +1 -0
  240. package/dist/plugins/hooks/lib/mount-manager.js +1 -0
  241. package/dist/plugins/hooks/lib/plugin-activation-registry.js +1 -0
  242. package/dist/plugins/hooks/lib/plugin-selector.js +1 -0
  243. package/dist/plugins/hooks/lib/plugin-source-registry.js +1 -0
  244. package/dist/plugins/hooks/lib/plugin-workspace-registry.js +1 -0
  245. package/dist/plugins/hooks/lib/project-evolution/auto-fixer.js +1 -0
  246. package/dist/plugins/hooks/lib/project-evolution/memory-manager.js +1 -0
  247. package/dist/plugins/hooks/lib/project-evolution/pattern-detector.js +1 -0
  248. package/dist/plugins/hooks/lib/project-evolution/semantic-indexer.js +1 -0
  249. package/dist/plugins/hooks/lib/rollback-tracker.js +1 -0
  250. package/dist/plugins/hooks/lib/source-code-scanner.js +1 -0
  251. package/dist/plugins/hooks/lib/technology-stack-detector.js +1 -0
  252. package/dist/plugins/hooks/lib/test-failure-analyzer.js +1 -0
  253. package/dist/plugins/hooks/lib/test-failure-fixer.js +1 -0
  254. package/dist/plugins/hooks/lib/trace-context.js +1 -0
  255. package/dist/plugins/hooks/lib/validation-patterns.js +1 -0
  256. package/dist/plugins/hooks/memory-sync.js +1 -0
  257. package/dist/plugins/hooks/pipeline-observer.js +2 -0
  258. package/dist/plugins/hooks/retry-limit-guard.js +2 -0
  259. package/dist/plugins/hooks/scope-sentinel.js +2 -0
  260. package/dist/plugins/hooks/secret-scanner.js +2 -0
  261. package/dist/plugins/hooks/stop-evolve-prompt.js +1 -0
  262. package/dist/plugins/hooks/trace-initialization.js +2 -0
  263. package/dist/plugins/hooks/version-checker.js +2 -0
  264. package/dist/plugins/memory/templates/code-quality.yaml.enc +6 -0
  265. package/dist/plugins/memory/templates/multi-system.yaml.enc +6 -0
  266. package/dist/plugins/memory/templates/team-habits.yaml.enc +6 -0
  267. package/dist/plugins/memory/templates/testing.yaml.enc +6 -0
  268. package/dist/plugins/skills/README.en.md.enc +6 -0
  269. package/dist/plugins/skills/README.md.enc +6 -0
  270. package/dist/plugins/skills/ab-test-executor/SKILL.md.enc +6 -0
  271. package/dist/plugins/skills/benchmark-executor/SKILL.md.enc +6 -0
  272. package/dist/plugins/skills/benchmark-generator/SKILL.md.enc +6 -0
  273. package/dist/plugins/skills/content-prompts/SKILL.md.enc +6 -0
  274. package/dist/plugins/skills/delivery-stage/SKILL.md.enc +6 -0
  275. package/dist/plugins/skills/design-stage/SKILL.md.enc +6 -0
  276. package/dist/plugins/skills/environment-learning/SKILL.md.enc +6 -0
  277. package/dist/plugins/skills/environment-resilience/build-failure-doctor.md.enc +6 -0
  278. package/dist/plugins/skills/environment-resilience/environment-repair.md.enc +6 -0
  279. package/dist/plugins/skills/environment-resilience/pre-flight-check.md.enc +6 -0
  280. package/dist/plugins/skills/experiment-evaluator/SKILL.md.enc +6 -0
  281. package/dist/plugins/skills/exploration-phase/SKILL.md.enc +6 -0
  282. package/dist/plugins/skills/field-evolve-analyzer/SKILL.md.enc +6 -0
  283. package/dist/plugins/skills/field-evolve-distiller/SKILL.md.enc +6 -0
  284. package/dist/plugins/skills/field-evolve-executor/SKILL.md.enc +6 -0
  285. package/dist/plugins/skills/field-evolve-executor/executor.js +2 -0
  286. package/dist/plugins/skills/field-evolve-fixer/SKILL.md.enc +6 -0
  287. package/dist/plugins/skills/field-evolve-learner/SKILL.md.enc +6 -0
  288. package/dist/plugins/skills/field-evolve-scanner/SKILL.md.enc +6 -0
  289. package/dist/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +2 -0
  290. package/dist/plugins/skills/field-evolve-verifier/SKILL.md.enc +6 -0
  291. package/dist/plugins/skills/heartbeat-monitor/SKILL.md.enc +6 -0
  292. package/dist/plugins/skills/implementation-stage/SKILL.md.enc +6 -0
  293. package/dist/plugins/skills/layer1-validation/SKILL.md.enc +6 -0
  294. package/dist/plugins/skills/multi-role-orchestration/SKILL.md.enc +6 -0
  295. package/dist/plugins/skills/ops-content-marketing/SKILL.md.enc +6 -0
  296. package/dist/plugins/skills/ops-conversion/SKILL.md.enc +6 -0
  297. package/dist/plugins/skills/ops-data-driven/SKILL.md.enc +6 -0
  298. package/dist/plugins/skills/ops-growth-strategies/SKILL.md.enc +6 -0
  299. package/dist/plugins/skills/ops-private-domain/SKILL.md.enc +6 -0
  300. package/dist/plugins/skills/ops-social-commerce/SKILL.md.enc +6 -0
  301. package/dist/plugins/skills/ops-user-growth/SKILL.md.enc +6 -0
  302. package/dist/plugins/skills/pending-dashboard/SKILL.md.enc +6 -0
  303. package/dist/plugins/skills/project-evolve-analyzer/SKILL.md.enc +6 -0
  304. package/dist/plugins/skills/project-evolve-fixer/SKILL.md.enc +6 -0
  305. package/dist/plugins/skills/project-evolve-generator/SKILL.md.enc +6 -0
  306. package/dist/plugins/skills/project-evolve-learner/SKILL.md.enc +6 -0
  307. package/dist/plugins/skills/project-evolve-reviewer/SKILL.md.enc +6 -0
  308. package/dist/plugins/skills/project-evolve-scanner/SKILL.md.enc +6 -0
  309. package/dist/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +2 -0
  310. package/dist/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +2 -0
  311. package/dist/plugins/skills/project-evolve-verifier/SKILL.md.enc +6 -0
  312. package/dist/plugins/skills/requirement-stage/SKILL.md.enc +6 -0
  313. package/dist/plugins/skills/secret-scanner/SKILL.md.enc +6 -0
  314. package/dist/plugins/skills/skill-forge/SKILL.md.enc +6 -0
  315. package/dist/plugins/skills/skill-forge/references/description-guide.md.enc +6 -0
  316. package/dist/plugins/skills/skill-forge/references/quality-rubric.md.enc +6 -0
  317. package/dist/plugins/skills/skill-forge/references/skill-template.md.enc +6 -0
  318. package/dist/plugins/skills/startup-guard/SKILL.md.enc +6 -0
  319. package/dist/plugins/skills/tdd-workflow/SKILL.md.enc +6 -0
  320. package/dist/plugins/skills/testing-stage/SKILL.md.enc +6 -0
  321. package/dist/plugins/skills/tracking-validator/SKILL.md.enc +6 -0
  322. package/dist/scripts/build-crypto.js +2 -0
  323. package/dist/scripts/cli/contribute.js +1 -0
  324. package/dist/scripts/cli/dashboard.js +1 -0
  325. package/dist/scripts/cli/env.js +1 -0
  326. package/dist/scripts/cli/global-init.js +1 -0
  327. package/dist/scripts/cli/global.js +1 -0
  328. package/dist/scripts/cli/index.js +1 -0
  329. package/dist/scripts/cli/init.js +1 -0
  330. package/dist/scripts/cli/list.js +1 -0
  331. package/dist/scripts/cli/memory.js +1 -0
  332. package/dist/scripts/cli/org.js +1 -0
  333. package/dist/scripts/cli/plugin.js +1 -0
  334. package/dist/scripts/cli/practice-report.js +1 -0
  335. package/dist/scripts/cli/runtime-governance.js +1 -0
  336. package/dist/scripts/cli/system.js +1 -0
  337. package/dist/scripts/cli/update.js +1 -0
  338. package/dist/scripts/commands/catalog.js +1 -0
  339. package/dist/scripts/commands/slash-command-docs.js +1 -0
  340. package/dist/scripts/config/external-mounts.config.js +2 -0
  341. package/dist/scripts/heartbeat/check.js +2 -0
  342. package/dist/scripts/heartbeat/setup-cron.js +2 -0
  343. package/dist/scripts/install/adapters.js +1 -0
  344. package/dist/scripts/install/constants.js +1 -0
  345. package/dist/scripts/install/file-reader.js +1 -0
  346. package/dist/scripts/install/index.js +1 -0
  347. package/dist/scripts/install/shards/constants-shard.js +1 -0
  348. package/dist/scripts/install/shards/crypto-config-shard.js +1 -0
  349. package/dist/scripts/install/shards/error-messages-shard.js +1 -0
  350. package/dist/scripts/install/shards/reassemble.js +1 -0
  351. package/dist/scripts/install/shards/utils-shard.js +1 -0
  352. package/dist/scripts/install/shards/version-info-shard.js +1 -0
  353. package/dist/scripts/postinstall.js +1 -0
  354. package/dist/scripts/state.js +1 -0
  355. package/package.json +21 -12
  356. package/README.en.md +0 -472
  357. package/bin/autospec.js +0 -3
  358. package/knowledge/README.md +0 -144
  359. package/knowledge/checklists/code.md +0 -182
  360. package/knowledge/checklists/design.md +0 -196
  361. package/knowledge/checklists/release.md +0 -70
  362. package/knowledge/checklists/requirement.md +0 -169
  363. package/knowledge/checklists/test.md +0 -46
  364. package/knowledge/config/README.en.md +0 -44
  365. package/knowledge/config/README.md +0 -44
  366. package/knowledge/config/role-composition.yaml +0 -98
  367. package/knowledge/config/role-extensions.yaml +0 -140
  368. package/knowledge/config/skill-compositions.yaml +0 -142
  369. package/knowledge/config/team-stage.yaml +0 -95
  370. package/knowledge/config/team-tasks.yaml +0 -139
  371. package/knowledge/config/team-triggers.yaml +0 -198
  372. package/knowledge/config/validation-patterns.yaml +0 -137
  373. package/knowledge/domain/README.md +0 -115
  374. package/knowledge/domain/flows/README.md +0 -194
  375. package/knowledge/domain/glossary.md +0 -143
  376. package/knowledge/domain/rules.md +0 -138
  377. package/knowledge/environment/README.en.md +0 -36
  378. package/knowledge/environment/README.md +0 -87
  379. package/knowledge/environment/component-knowledge.md +0 -316
  380. package/knowledge/environment/detection-patterns.yaml +0 -502
  381. package/knowledge/environment/middleware-knowledge.md +0 -237
  382. package/knowledge/environment/template-registry.md +0 -321
  383. package/knowledge/guides/domain-driven-design.md +0 -345
  384. package/knowledge/guides/knowledge-management.md +0 -369
  385. package/knowledge/guides/requirement-engineering.md +0 -329
  386. package/knowledge/guides/stages/ai-effect-evaluator.md +0 -93
  387. package/knowledge/guides/stages/code-implementer.md +0 -205
  388. package/knowledge/guides/stages/code-reviewer.md +0 -111
  389. package/knowledge/guides/stages/consistency-checker.md +0 -177
  390. package/knowledge/guides/stages/design-planner.md +0 -401
  391. package/knowledge/guides/stages/design-reviewer.md +0 -83
  392. package/knowledge/guides/stages/integration-test-runner.md +0 -105
  393. package/knowledge/guides/stages/release-checker.md +0 -205
  394. package/knowledge/guides/stages/requirement-analyzer.md +0 -195
  395. package/knowledge/guides/stages/requirement-reviewer.md +0 -83
  396. package/knowledge/guides/stages/security-reviewer.md +0 -89
  397. package/knowledge/guides/stages/test-context-analyzer.md +0 -250
  398. package/knowledge/guides/stages/test-generator.md +0 -241
  399. package/knowledge/guides/stages/test-planner.md +0 -183
  400. package/knowledge/guides/stages/test-reviewer.md +0 -76
  401. package/knowledge/guides/stages/unit-test-runner.md +0 -83
  402. package/knowledge/guides/support/ai-agent-analyzer.md +0 -362
  403. package/knowledge/guides/support/ai-anomaly-analyzer.md +0 -213
  404. package/knowledge/guides/support/ai-artifact-evaluator.md +0 -192
  405. package/knowledge/guides/support/ai-capability-analyzer.md +0 -193
  406. package/knowledge/guides/support/ai-component-analyzer.md +0 -169
  407. package/knowledge/guides/support/ai-data-validator.md +0 -276
  408. package/knowledge/guides/support/ai-evaluation-planner.md +0 -374
  409. package/knowledge/guides/support/ai-path-evaluator.md +0 -274
  410. package/knowledge/guides/support/ai-pipeline-evaluator.md +0 -219
  411. package/knowledge/guides/support/ai-rag-analyzer.md +0 -339
  412. package/knowledge/guides/support/ai-task-assessor.md +0 -418
  413. package/knowledge/guides/support/ai-test-diagnostics.md +0 -133
  414. package/knowledge/guides/support/complexity-assessor.md +0 -268
  415. package/knowledge/guides/support/component-discovery.md +0 -183
  416. package/knowledge/guides/support/environment-scanner.md +0 -207
  417. package/knowledge/guides/support/environment-validator.md +0 -207
  418. package/knowledge/guides/support/knowledge-generator.md +0 -234
  419. package/knowledge/guides/support/methodology-extractor.md +0 -55
  420. package/knowledge/guides/support/pipeline-protocol.md +0 -438
  421. package/knowledge/guides/support/practice-logger.md +0 -359
  422. package/knowledge/guides/support/scope-inference.md +0 -174
  423. package/knowledge/guides/support/skill-distiller.md +0 -91
  424. package/knowledge/guides/support/skill-updater.md +0 -45
  425. package/knowledge/guides/support/skill-validator.md +0 -72
  426. package/knowledge/guides/support/team-orchestrator.md +0 -323
  427. package/knowledge/guides/support/tech-stack-analyzer.md +0 -139
  428. package/knowledge/guides/support/test-runner.md +0 -254
  429. package/knowledge/guides/system-design.md +0 -352
  430. package/knowledge/organization/ai-native-team.md +0 -318
  431. package/knowledge/organization/team-metrics.md +0 -228
  432. package/knowledge/principles/constitution.md +0 -134
  433. package/knowledge/principles/core-principles.md +0 -368
  434. package/knowledge/principles/design-philosophy.md +0 -877
  435. package/knowledge/principles/evolution.md +0 -553
  436. package/knowledge/process/01-requirement.md +0 -113
  437. package/knowledge/process/02-design.md +0 -123
  438. package/knowledge/process/03-implementation.md +0 -90
  439. package/knowledge/process/04-review.md +0 -80
  440. package/knowledge/process/05-testing.md +0 -90
  441. package/knowledge/process/06-delivery.md +0 -88
  442. package/knowledge/process/README.en.md +0 -38
  443. package/knowledge/process/README.md +0 -48
  444. package/knowledge/process/ai-sdlc.md +0 -475
  445. package/knowledge/process/overview.md +0 -319
  446. package/knowledge/standards/code-review.md +0 -876
  447. package/knowledge/standards/coding-style.md +0 -940
  448. package/knowledge/standards/data-consistency.md +0 -1085
  449. package/knowledge/standards/document-versioning.md +0 -210
  450. package/knowledge/standards/risk-detection.md +0 -186
  451. package/knowledge/templates/ai-evaluation.md +0 -150
  452. package/knowledge/templates/api-design.md +0 -117
  453. package/knowledge/templates/database-design.md +0 -132
  454. package/knowledge/templates/domain-driven-design.md +0 -321
  455. package/knowledge/templates/product-proposal.md +0 -201
  456. package/knowledge/templates/system-design.md +0 -227
  457. package/knowledge/templates/task-breakdown.md +0 -107
  458. package/knowledge/templates/test-case.md +0 -170
  459. package/plugins/.claude-plugin/plugin.json +0 -134
  460. package/plugins/agents/roles/ai-engineer.md +0 -129
  461. package/plugins/agents/roles/backend-engineer.md +0 -165
  462. package/plugins/agents/roles/ceo.md +0 -94
  463. package/plugins/agents/roles/data-engineer.md +0 -135
  464. package/plugins/agents/roles/devops-engineer.md +0 -181
  465. package/plugins/agents/roles/frontend-engineer.md +0 -129
  466. package/plugins/agents/roles/product-owner.md +0 -98
  467. package/plugins/agents/roles/quality-engineer.md +0 -129
  468. package/plugins/agents/roles/security-engineer.md +0 -180
  469. package/plugins/agents/roles/tech-lead.md +0 -97
  470. package/plugins/agents/support/blind-comparator.md +0 -88
  471. package/plugins/agents/support/consistency-checker.md +0 -103
  472. package/plugins/agents/support/failure-diagnostician.md +0 -141
  473. package/plugins/agents/support/independent-reviewer.md +0 -80
  474. package/plugins/agents/support/safety-auditor.md +0 -121
  475. package/plugins/agents/support/skill-benchmarker.md +0 -86
  476. package/plugins/agents/support/skill-forger.md +0 -105
  477. package/plugins/agents/support/stage-gate-evaluator.md +0 -121
  478. package/plugins/agents/support/test-coverage-reviewer.md +0 -73
  479. package/plugins/benchmarks/templates/README.md +0 -44
  480. package/plugins/benchmarks/templates/commands/explore-template.yaml +0 -48
  481. package/plugins/benchmarks/templates/pipeline/agile-template.yaml +0 -84
  482. package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +0 -106
  483. package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +0 -48
  484. package/plugins/commands/README.en.md +0 -96
  485. package/plugins/commands/README.md +0 -96
  486. package/plugins/commands/apply.md +0 -191
  487. package/plugins/commands/archive.md +0 -76
  488. package/plugins/commands/env-export.md +0 -79
  489. package/plugins/commands/env-sync.md +0 -640
  490. package/plugins/commands/env-template.md +0 -223
  491. package/plugins/commands/env-update.md +0 -264
  492. package/plugins/commands/env-validate.md +0 -176
  493. package/plugins/commands/env.md +0 -79
  494. package/plugins/commands/explore.md +0 -76
  495. package/plugins/commands/field-evolve.md +0 -536
  496. package/plugins/commands/memory.md +0 -249
  497. package/plugins/commands/project-evolve.md +0 -821
  498. package/plugins/commands/propose.md +0 -93
  499. package/plugins/commands/review.md +0 -140
  500. package/plugins/commands/run.md +0 -224
  501. package/plugins/commands/status.md +0 -62
  502. package/plugins/commands/validate.md +0 -108
  503. package/plugins/hooks/README.en.md +0 -56
  504. package/plugins/hooks/README.md +0 -56
  505. package/plugins/hooks/ai-project-guard.js +0 -329
  506. package/plugins/hooks/artifact-evaluation-hook.js +0 -237
  507. package/plugins/hooks/constitution-guard.js +0 -211
  508. package/plugins/hooks/environment-autocommit.js +0 -264
  509. package/plugins/hooks/environment-manager.js +0 -778
  510. package/plugins/hooks/execution-tracker.js +0 -354
  511. package/plugins/hooks/frozen-zone-guard.js +0 -140
  512. package/plugins/hooks/layer1-validator.js +0 -423
  513. package/plugins/hooks/lib/artifact-evaluator.js +0 -414
  514. package/plugins/hooks/lib/benchmarks/change-detector.js +0 -390
  515. package/plugins/hooks/lib/benchmarks/evaluator.js +0 -605
  516. package/plugins/hooks/lib/benchmarks/integration-example.js +0 -169
  517. package/plugins/hooks/lib/data-and-ai-detector.js +0 -275
  518. package/plugins/hooks/lib/detection-pattern-loader.js +0 -865
  519. package/plugins/hooks/lib/directory-discovery.js +0 -395
  520. package/plugins/hooks/lib/environment-config-loader.js +0 -341
  521. package/plugins/hooks/lib/environment-detector.js +0 -553
  522. package/plugins/hooks/lib/environment-evolver.js +0 -564
  523. package/plugins/hooks/lib/environment-registry.js +0 -813
  524. package/plugins/hooks/lib/execution-path.js +0 -427
  525. package/plugins/hooks/lib/hook-error-recorder.js +0 -245
  526. package/plugins/hooks/lib/hook-logger.js +0 -538
  527. package/plugins/hooks/lib/hook-runner.js +0 -97
  528. package/plugins/hooks/lib/hook-state-manager.js +0 -480
  529. package/plugins/hooks/lib/memory-extractor.js +0 -377
  530. package/plugins/hooks/lib/memory-manager.js +0 -673
  531. package/plugins/hooks/lib/metrics-analyzer.js +0 -489
  532. package/plugins/hooks/lib/project-evolution/auto-fixer.js +0 -511
  533. package/plugins/hooks/lib/project-evolution/memory-manager.js +0 -346
  534. package/plugins/hooks/lib/project-evolution/pattern-detector.js +0 -476
  535. package/plugins/hooks/lib/project-evolution/semantic-indexer.js +0 -480
  536. package/plugins/hooks/lib/project-structure-detector.js +0 -326
  537. package/plugins/hooks/lib/rollback-tracker.js +0 -346
  538. package/plugins/hooks/lib/source-code-scanner.js +0 -596
  539. package/plugins/hooks/lib/technology-stack-detector.js +0 -374
  540. package/plugins/hooks/lib/test-failure-analyzer.js +0 -375
  541. package/plugins/hooks/lib/test-failure-fixer.js +0 -268
  542. package/plugins/hooks/lib/trace-context.js +0 -277
  543. package/plugins/hooks/lib/validation-patterns.js +0 -415
  544. package/plugins/hooks/memory-sync.js +0 -171
  545. package/plugins/hooks/pipeline-observer.js +0 -413
  546. package/plugins/hooks/scope-sentinel.js +0 -204
  547. package/plugins/hooks/trace-initialization.js +0 -169
  548. package/plugins/memory/templates/code-quality.yaml +0 -149
  549. package/plugins/memory/templates/multi-system.yaml +0 -155
  550. package/plugins/memory/templates/team-habits.yaml +0 -119
  551. package/plugins/memory/templates/testing.yaml +0 -121
  552. package/plugins/skills/README.en.md +0 -47
  553. package/plugins/skills/README.md +0 -104
  554. package/plugins/skills/benchmark-executor/README.md +0 -93
  555. package/plugins/skills/benchmark-executor/SKILL.md +0 -647
  556. package/plugins/skills/benchmark-generator/SKILL.md +0 -349
  557. package/plugins/skills/delivery-stage/SKILL.md +0 -203
  558. package/plugins/skills/design-stage/SKILL.md +0 -216
  559. package/plugins/skills/evolution-process/SKILL.md +0 -291
  560. package/plugins/skills/exploration-phase/SKILL.md +0 -133
  561. package/plugins/skills/implementation-stage/SKILL.md +0 -179
  562. package/plugins/skills/layer1-validation/SKILL.md +0 -79
  563. package/plugins/skills/pending-dashboard/SKILL.md +0 -109
  564. package/plugins/skills/project-evolution/SKILL.md +0 -847
  565. package/plugins/skills/requirement-stage/SKILL.md +0 -183
  566. package/plugins/skills/skill-forge/SKILL.md +0 -223
  567. package/plugins/skills/skill-forge/references/description-guide.md +0 -92
  568. package/plugins/skills/skill-forge/references/quality-rubric.md +0 -104
  569. package/plugins/skills/skill-forge/references/skill-template.md +0 -106
  570. package/plugins/skills/startup-guard/SKILL.md +0 -38
  571. package/plugins/skills/testing-stage/SKILL.md +0 -195
  572. package/scripts/cli/global-init.js +0 -288
  573. package/scripts/cli/global.js +0 -324
  574. package/scripts/cli/index.js +0 -55
  575. package/scripts/cli/init.js +0 -382
  576. package/scripts/cli/list.js +0 -69
  577. package/scripts/cli/org.js +0 -340
  578. package/scripts/cli/update.js +0 -44
  579. package/scripts/config/commands.config.js +0 -145
  580. package/scripts/config/hooks.config.js +0 -197
  581. package/scripts/evolution/evolution-router.js +0 -273
  582. package/scripts/evolution/evolution-signal-collector.js +0 -307
  583. package/scripts/evolution/knowledge-loader.js +0 -346
  584. package/scripts/evolution/marketplace.js +0 -317
  585. package/scripts/evolution/version-manager.js +0 -371
  586. package/scripts/install/agents.js +0 -106
  587. package/scripts/install/commands.js +0 -133
  588. package/scripts/install/constants.js +0 -424
  589. package/scripts/install/hook-logger.js +0 -536
  590. package/scripts/install/hooks.js +0 -110
  591. package/scripts/install/index.js +0 -39
  592. package/scripts/install/skills.js +0 -95
  593. package/scripts/postinstall.js +0 -25
  594. package/scripts/state.js +0 -376
  595. /package/{plugins → dist/plugins}/hooks/lib/hook-runner.sh +0 -0
@@ -1,673 +0,0 @@
1
- /**
2
- * Memory Manager - 统一的记忆管理模块
3
- *
4
- * 提供全局 + 项目双模式的记忆读写功能
5
- * 复用 hook-state-manager.js 的设计模式
6
- */
7
-
8
- import fs from 'fs';
9
- import path from 'path';
10
- import os from 'os';
11
- import {
12
- GLOBAL_MEMORY_DIR,
13
- MEMORY_DIRS,
14
- MEMORY_FILES,
15
- MEMORY_SCOPE,
16
- MEMORY_TTL,
17
- MEMORY_LAYERS,
18
- DEFAULT_NORTH_STAR,
19
- DEFAULT_TEAM_PREFERENCES,
20
- DEFAULT_CONSTRAINTS,
21
- DEFAULT_MEMORY_META
22
- } from '../../../scripts/install/constants.js';
23
-
24
- // 缓存
25
- const memoryCache = new Map();
26
- const CACHE_TTL = 5000; // 5秒缓存
27
-
28
- /**
29
- * 获取全局记忆目录路径
30
- * @returns {string} 全局记忆目录路径
31
- */
32
- export function getGlobalMemoryDir() {
33
- return path.join(os.homedir(), GLOBAL_MEMORY_DIR);
34
- }
35
-
36
- /**
37
- * 获取项目记忆目录路径
38
- * @param {string} projectRoot - 项目根目录
39
- * @returns {string} 项目记忆目录路径
40
- */
41
- export function getProjectMemoryDir(projectRoot) {
42
- return path.join(projectRoot, '.autospec', MEMORY_DIRS.ROOT);
43
- }
44
-
45
- /**
46
- * 解析记忆文件路径
47
- * @param {string} scope - 作用域 ('global' | 'project')
48
- * @param {string} relativePath - 相对路径
49
- * @param {string} projectRoot - 项目根目录(project scope 时必需)
50
- * @returns {string} 完整文件路径
51
- */
52
- export function resolveMemoryPath(scope, relativePath, projectRoot = null) {
53
- if (scope === MEMORY_SCOPE.GLOBAL) {
54
- return path.join(getGlobalMemoryDir(), relativePath);
55
- } else {
56
- if (!projectRoot) {
57
- throw new Error('projectRoot is required for project scope');
58
- }
59
- return path.join(getProjectMemoryDir(projectRoot), relativePath);
60
- }
61
- }
62
-
63
- /**
64
- * 安全地读取 JSON 文件
65
- * @param {string} filePath - 文件路径
66
- * @param {any} defaultValue - 默认值
67
- * @returns {any} 解析后的数据或默认值
68
- */
69
- function safeReadJson(filePath, defaultValue = null) {
70
- try {
71
- if (!fs.existsSync(filePath)) {
72
- return defaultValue;
73
- }
74
- const content = fs.readFileSync(filePath, 'utf-8');
75
- return JSON.parse(content);
76
- } catch (e) {
77
- return defaultValue;
78
- }
79
- }
80
-
81
- /**
82
- * 安全地写入 JSON 文件
83
- * @param {string} filePath - 文件路径
84
- * @param {any} data - 要写入的数据
85
- * @returns {boolean} 是否成功
86
- */
87
- function safeWriteJson(filePath, data) {
88
- try {
89
- const dir = path.dirname(filePath);
90
- if (!fs.existsSync(dir)) {
91
- fs.mkdirSync(dir, { recursive: true });
92
- }
93
- fs.writeFileSync(filePath, JSON.stringify(data, null, 2));
94
- return true;
95
- } catch (e) {
96
- if (e.code === 'EACCES') {
97
- console.error(`[AutoSpec memory-manager] ⚠️ 权限错误: 无法写入 ${filePath}`);
98
- console.error(`[AutoSpec memory-manager] 请运行: sudo chown -R $(whoami) ${path.dirname(filePath)}`);
99
- }
100
- return false;
101
- }
102
- }
103
-
104
- // ============================================================
105
- // Memory 读取操作
106
- // ============================================================
107
-
108
- /**
109
- * 获取记忆内容
110
- * @param {string} scope - 作用域 ('global' | 'project')
111
- * @param {string} memoryFile - 记忆文件路径(相对)
112
- * @param {string} projectRoot - 项目根目录(project scope 时必需)
113
- * @param {boolean} useCache - 是否使用缓存
114
- * @returns {Object|null} 记忆内容
115
- */
116
- export function getMemory(scope, memoryFile, projectRoot = null, useCache = false) {
117
- const cacheKey = `${scope}:${memoryFile}:${projectRoot || 'global'}`;
118
-
119
- if (useCache) {
120
- const cached = memoryCache.get(cacheKey);
121
- if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
122
- return cached.data;
123
- }
124
- }
125
-
126
- const filePath = resolveMemoryPath(scope, memoryFile, projectRoot);
127
- const memory = safeReadJson(filePath, null);
128
-
129
- if (useCache && memory) {
130
- memoryCache.set(cacheKey, { data: memory, timestamp: Date.now() });
131
- }
132
-
133
- return memory;
134
- }
135
-
136
- /**
137
- * 更新记忆内容
138
- * @param {string} scope - 作用域 ('global' | 'project')
139
- * @param {string} memoryFile - 记忆文件路径(相对)
140
- * @param {Object} updates - 要更新的内容
141
- * @param {string} projectRoot - 项目根目录(project scope 时必需)
142
- * @returns {boolean} 是否成功
143
- */
144
- export function updateMemory(scope, memoryFile, updates, projectRoot = null) {
145
- const existing = getMemory(scope, memoryFile, projectRoot, false) || {};
146
- const newMemory = {
147
- ...existing,
148
- ...updates,
149
- lastUpdated: new Date().toISOString()
150
- };
151
-
152
- const filePath = resolveMemoryPath(scope, memoryFile, projectRoot);
153
- const success = safeWriteJson(filePath, newMemory);
154
-
155
- if (success) {
156
- const cacheKey = `${scope}:${memoryFile}:${projectRoot || 'global'}`;
157
- memoryCache.set(cacheKey, { data: newMemory, timestamp: Date.now() });
158
- }
159
-
160
- return success;
161
- }
162
-
163
- // ============================================================
164
- // 北极星指标 (项目级)
165
- // ============================================================
166
-
167
- /**
168
- * 获取北极星指标
169
- * @param {string} projectRoot - 项目根目录
170
- * @returns {Object} 北极星指标
171
- */
172
- export function getNorthStar(projectRoot) {
173
- return getMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.NORTH_STAR, projectRoot, true)
174
- || DEFAULT_NORTH_STAR;
175
- }
176
-
177
- /**
178
- * 更新北极星指标
179
- * @param {string} projectRoot - 项目根目录
180
- * @param {Object} updates - 要更新的内容
181
- * @returns {boolean} 是否成功
182
- */
183
- export function updateNorthStar(projectRoot, updates) {
184
- return updateMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.NORTH_STAR, updates, projectRoot);
185
- }
186
-
187
- /**
188
- * 添加关键结果
189
- * @param {string} projectRoot - 项目根目录
190
- * @param {Object} keyResult - 关键结果
191
- * @returns {boolean} 是否成功
192
- */
193
- export function addKeyResult(projectRoot, keyResult) {
194
- const northStar = getNorthStar(projectRoot);
195
- const newKR = {
196
- id: `kr-${Date.now()}`,
197
- ...keyResult,
198
- status: keyResult.status || 'on-track'
199
- };
200
- northStar.keyResults = northStar.keyResults || [];
201
- northStar.keyResults.push(newKR);
202
- return updateNorthStar(projectRoot, { keyResults: northStar.keyResults });
203
- }
204
-
205
- /**
206
- * 添加活跃决策
207
- * @param {string} projectRoot - 项目根目录
208
- * @param {Object} decision - 决策
209
- * @returns {boolean} 是否成功
210
- */
211
- export function addActiveDecision(projectRoot, decision) {
212
- const northStar = getNorthStar(projectRoot);
213
- const newDecision = {
214
- id: `dec-${Date.now()}`,
215
- madeAt: new Date().toISOString().split('T')[0],
216
- ...decision
217
- };
218
- northStar.activeDecisions = northStar.activeDecisions || [];
219
- northStar.activeDecisions.push(newDecision);
220
- return updateNorthStar(projectRoot, { activeDecisions: northStar.activeDecisions });
221
- }
222
-
223
- // ============================================================
224
- // 团队偏好 (全局优先,项目可覆盖)
225
- // ============================================================
226
-
227
- /**
228
- * 获取团队偏好(优先项目覆盖,fallback 全局)
229
- * @param {string} projectRoot - 项目根目录
230
- * @returns {Object} 团队偏好
231
- */
232
- export function getTeamPreferences(projectRoot) {
233
- // 优先读取项目级偏好
234
- const projectPrefs = getMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.TEAM_PREFERENCES, projectRoot, true);
235
- if (projectPrefs && Object.keys(projectPrefs).length > 1) {
236
- return projectPrefs;
237
- }
238
-
239
- // Fallback 到全局偏好
240
- const globalPrefs = getMemory(MEMORY_SCOPE.GLOBAL, MEMORY_FILES.TEAM_PREFERENCES, null, true);
241
- if (globalPrefs && Object.keys(globalPrefs).length > 1) {
242
- return globalPrefs;
243
- }
244
-
245
- return DEFAULT_TEAM_PREFERENCES;
246
- }
247
-
248
- /**
249
- * 更新团队偏好
250
- * @param {string} scope - 作用域 ('global' | 'project')
251
- * @param {Object} updates - 要更新的内容
252
- * @param {string} projectRoot - 项目根目录(project scope 时必需)
253
- * @returns {boolean} 是否成功
254
- */
255
- export function updateTeamPreferences(scope, updates, projectRoot = null) {
256
- return updateMemory(scope, MEMORY_FILES.TEAM_PREFERENCES, updates, projectRoot);
257
- }
258
-
259
- // ============================================================
260
- // 约束条件 (全局优先,项目可覆盖)
261
- // ============================================================
262
-
263
- /**
264
- * 获取约束条件(优先项目覆盖,fallback 全局)
265
- * @param {string} projectRoot - 项目根目录
266
- * @returns {Object} 约束条件
267
- */
268
- export function getConstraints(projectRoot) {
269
- // 优先读取项目级约束
270
- const projectConstraints = getMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.CONSTRAINTS, projectRoot, true);
271
- if (projectConstraints && (projectConstraints.hardConstraints?.length > 0 || projectConstraints.softConstraints?.length > 0)) {
272
- return projectConstraints;
273
- }
274
-
275
- // Fallback 到全局约束
276
- const globalConstraints = getMemory(MEMORY_SCOPE.GLOBAL, MEMORY_FILES.CONSTRAINTS, null, true);
277
- if (globalConstraints && (globalConstraints.hardConstraints?.length > 0 || globalConstraints.softConstraints?.length > 0)) {
278
- return globalConstraints;
279
- }
280
-
281
- return DEFAULT_CONSTRAINTS;
282
- }
283
-
284
- /**
285
- * 添加硬约束
286
- * @param {string} scope - 作用域
287
- * @param {string} constraint - 约束内容
288
- * @param {string} projectRoot - 项目根目录(project scope 时必需)
289
- * @returns {boolean} 是否成功
290
- */
291
- export function addHardConstraint(scope, constraint, projectRoot = null) {
292
- const constraints = getConstraints(projectRoot);
293
- constraints.hardConstraints = constraints.hardConstraints || [];
294
- constraints.hardConstraints.push({
295
- id: `hc-${Date.now()}`,
296
- content: constraint,
297
- addedAt: new Date().toISOString()
298
- });
299
- return updateMemory(scope, MEMORY_FILES.CONSTRAINTS, constraints, projectRoot);
300
- }
301
-
302
- // ============================================================
303
- // 当前上下文 (工作记忆)
304
- // ============================================================
305
-
306
- /**
307
- * 获取当前任务上下文
308
- * @param {string} projectRoot - 项目根目录
309
- * @returns {Object|null} 当前上下文
310
- */
311
- export function getCurrentContext(projectRoot) {
312
- return getMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.CURRENT_CONTEXT, projectRoot, true);
313
- }
314
-
315
- /**
316
- * 更新当前任务上下文
317
- * @param {string} projectRoot - 项目根目录
318
- * @param {Object} updates - 要更新的内容
319
- * @returns {boolean} 是否成功
320
- */
321
- export function updateCurrentContext(projectRoot, updates) {
322
- const existing = getCurrentContext(projectRoot) || {};
323
- const newContext = {
324
- ...existing,
325
- ...updates,
326
- updatedAt: new Date().toISOString()
327
- };
328
- return updateMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.CURRENT_CONTEXT, newContext, projectRoot);
329
- }
330
-
331
- /**
332
- * 清除当前任务上下文
333
- * @param {string} projectRoot - 项目根目录
334
- * @returns {boolean} 是否成功
335
- */
336
- export function clearCurrentContext(projectRoot) {
337
- const filePath = resolveMemoryPath(MEMORY_SCOPE.PROJECT, MEMORY_FILES.CURRENT_CONTEXT, projectRoot);
338
- try {
339
- if (fs.existsSync(filePath)) {
340
- fs.unlinkSync(filePath);
341
- }
342
- const cacheKey = `${MEMORY_SCOPE.PROJECT}:${MEMORY_FILES.CURRENT_CONTEXT}:${projectRoot}`;
343
- memoryCache.delete(cacheKey);
344
- return true;
345
- } catch (e) {
346
- return false;
347
- }
348
- }
349
-
350
- // ============================================================
351
- // 会话记忆
352
- // ============================================================
353
-
354
- /**
355
- * 获取会话索引
356
- * @param {string} projectRoot - 项目根目录
357
- * @returns {Object} 会话索引
358
- */
359
- export function getSessionsIndex(projectRoot) {
360
- return getMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.SESSIONS_INDEX, projectRoot, true)
361
- || { sessions: [], lastIndexed: null };
362
- }
363
-
364
- /**
365
- * 添加会话记录
366
- * @param {string} projectRoot - 项目根目录
367
- * @param {Object} session - 会话信息
368
- * @returns {boolean} 是否成功
369
- */
370
- export function addSession(projectRoot, session) {
371
- const index = getSessionsIndex(projectRoot);
372
- const newSession = {
373
- id: `sess-${Date.now()}`,
374
- date: new Date().toISOString().split('T')[0],
375
- ...session
376
- };
377
-
378
- index.sessions = index.sessions || [];
379
- index.sessions.unshift(newSession); // 最新的在前面
380
- index.lastIndexed = new Date().toISOString();
381
-
382
- // 保留最近 100 条
383
- if (index.sessions.length > 100) {
384
- index.sessions = index.sessions.slice(0, 100);
385
- }
386
-
387
- return updateMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.SESSIONS_INDEX, index, projectRoot);
388
- }
389
-
390
- // ============================================================
391
- // 项目记忆 (技术栈、架构等)
392
- // ============================================================
393
-
394
- /**
395
- * 获取技术栈信息
396
- * @param {string} projectRoot - 项目根目录
397
- * @returns {Object} 技术栈信息
398
- */
399
- export function getTechStack(projectRoot) {
400
- return getMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.TECH_STACK, projectRoot, true) || {
401
- primary: {},
402
- tools: [],
403
- patterns: []
404
- };
405
- }
406
-
407
- /**
408
- * 更新技术栈信息
409
- * @param {string} projectRoot - 项目根目录
410
- * @param {Object} updates - 要更新的内容
411
- * @returns {boolean} 是否成功
412
- */
413
- export function updateTechStack(projectRoot, updates) {
414
- return updateMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.TECH_STACK, updates, projectRoot);
415
- }
416
-
417
- /**
418
- * 获取架构决策记录
419
- * @param {string} projectRoot - 项目根目录
420
- * @returns {Object} 架构决策记录
421
- */
422
- export function getArchitecture(projectRoot) {
423
- return getMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.ARCHITECTURE, projectRoot, true) || {
424
- version: '1.0',
425
- decisions: []
426
- };
427
- }
428
-
429
- /**
430
- * 添加架构决策
431
- * @param {string} projectRoot - 项目根目录
432
- * @param {Object} decision - 决策内容
433
- * @returns {boolean} 是否成功
434
- */
435
- export function addArchitectureDecision(projectRoot, decision) {
436
- const arch = getArchitecture(projectRoot);
437
- const newDecision = {
438
- id: `adr-${Date.now()}`,
439
- status: 'accepted',
440
- decidedAt: new Date().toISOString().split('T')[0],
441
- ...decision
442
- };
443
- arch.decisions = arch.decisions || [];
444
- arch.decisions.unshift(newDecision);
445
- return updateMemory(MEMORY_SCOPE.PROJECT, MEMORY_FILES.ARCHITECTURE, arch, projectRoot);
446
- }
447
-
448
- // ============================================================
449
- // 记忆搜索
450
- // ============================================================
451
-
452
- /**
453
- * 搜索记忆
454
- * @param {string} projectRoot - 项目根目录
455
- * @param {string} query - 搜索关键词
456
- * @param {Array<string>} layers - 搜索层次
457
- * @returns {Object} 搜索结果
458
- */
459
- export function searchMemory(projectRoot, query, layers = ['core', 'project']) {
460
- const results = {
461
- core: [],
462
- project: []
463
- };
464
- const queryLower = query.toLowerCase();
465
-
466
- // 搜索核心记忆
467
- if (layers.includes('core')) {
468
- const northStar = getNorthStar(projectRoot);
469
- if (JSON.stringify(northStar).toLowerCase().includes(queryLower)) {
470
- results.core.push({
471
- file: MEMORY_FILES.NORTH_STAR,
472
- type: 'north-star',
473
- content: northStar
474
- });
475
- }
476
-
477
- const preferences = getTeamPreferences(projectRoot);
478
- if (JSON.stringify(preferences).toLowerCase().includes(queryLower)) {
479
- results.core.push({
480
- file: MEMORY_FILES.TEAM_PREFERENCES,
481
- type: 'preferences',
482
- content: preferences
483
- });
484
- }
485
- }
486
-
487
- // 搜索项目记忆
488
- if (layers.includes('project')) {
489
- const techStack = getTechStack(projectRoot);
490
- if (JSON.stringify(techStack).toLowerCase().includes(queryLower)) {
491
- results.project.push({
492
- file: MEMORY_FILES.TECH_STACK,
493
- type: 'tech-stack',
494
- content: techStack
495
- });
496
- }
497
-
498
- const architecture = getArchitecture(projectRoot);
499
- const matchingDecisions = architecture.decisions?.filter(d =>
500
- JSON.stringify(d).toLowerCase().includes(queryLower)
501
- );
502
- if (matchingDecisions?.length > 0) {
503
- results.project.push({
504
- file: MEMORY_FILES.ARCHITECTURE,
505
- type: 'architecture',
506
- content: matchingDecisions
507
- });
508
- }
509
- }
510
-
511
- return results;
512
- }
513
-
514
- // ============================================================
515
- // 记忆初始化
516
- // ============================================================
517
-
518
- /**
519
- * 初始化全局记忆目录
520
- * @returns {boolean} 是否成功
521
- */
522
- export function initGlobalMemory() {
523
- const globalDir = getGlobalMemoryDir();
524
-
525
- try {
526
- // 创建目录结构
527
- Object.values(MEMORY_DIRS).forEach(dir => {
528
- const fullPath = path.join(globalDir, dir);
529
- if (!fs.existsSync(fullPath)) {
530
- fs.mkdirSync(fullPath, { recursive: true });
531
- }
532
- });
533
-
534
- // 创建默认文件
535
- const defaultFiles = [
536
- { path: MEMORY_FILES.TEAM_PREFERENCES, content: DEFAULT_TEAM_PREFERENCES },
537
- { path: MEMORY_FILES.CONSTRAINTS, content: DEFAULT_CONSTRAINTS },
538
- { path: MEMORY_FILES.MEMORY_META, content: { ...DEFAULT_MEMORY_META, scope: 'global' } }
539
- ];
540
-
541
- defaultFiles.forEach(({ path: relPath, content }) => {
542
- const filePath = path.join(globalDir, relPath);
543
- if (!fs.existsSync(filePath)) {
544
- safeWriteJson(filePath, content);
545
- }
546
- });
547
-
548
- return true;
549
- } catch (e) {
550
- console.error(`[AutoSpec memory-manager] 初始化全局记忆失败: ${e.message}`);
551
- return false;
552
- }
553
- }
554
-
555
- /**
556
- * 初始化项目记忆目录
557
- * @param {string} projectRoot - 项目根目录
558
- * @returns {boolean} 是否成功
559
- */
560
- export function initProjectMemory(projectRoot) {
561
- const projectDir = getProjectMemoryDir(projectRoot);
562
-
563
- try {
564
- // 创建目录结构
565
- Object.values(MEMORY_DIRS).forEach(dir => {
566
- const fullPath = path.join(projectDir, dir);
567
- if (!fs.existsSync(fullPath)) {
568
- fs.mkdirSync(fullPath, { recursive: true });
569
- }
570
- });
571
-
572
- // 创建默认文件
573
- const defaultFiles = [
574
- { path: MEMORY_FILES.NORTH_STAR, content: DEFAULT_NORTH_STAR },
575
- { path: MEMORY_FILES.MEMORY_META, content: { ...DEFAULT_MEMORY_META, scope: 'project' } }
576
- ];
577
-
578
- defaultFiles.forEach(({ path: relPath, content }) => {
579
- const filePath = path.join(projectDir, relPath);
580
- if (!fs.existsSync(filePath)) {
581
- safeWriteJson(filePath, content);
582
- }
583
- });
584
-
585
- return true;
586
- } catch (e) {
587
- console.error(`[AutoSpec memory-manager] 初始化项目记忆失败: ${e.message}`);
588
- return false;
589
- }
590
- }
591
-
592
- /**
593
- * 检查全局记忆是否存在
594
- * @returns {boolean} 是否存在
595
- */
596
- export function hasGlobalMemory() {
597
- const globalDir = getGlobalMemoryDir();
598
- return fs.existsSync(globalDir);
599
- }
600
-
601
- /**
602
- * 检查项目记忆是否存在
603
- * @param {string} projectRoot - 项目根目录
604
- * @returns {boolean} 是否存在
605
- */
606
- export function hasProjectMemory(projectRoot) {
607
- const projectDir = getProjectMemoryDir(projectRoot);
608
- return fs.existsSync(projectDir);
609
- }
610
-
611
- // ============================================================
612
- // 缓存管理
613
- // ============================================================
614
-
615
- /**
616
- * 清除记忆缓存
617
- * @param {string} scope - 作用域(可选,不提供则清除所有)
618
- * @param {string} projectRoot - 项目根目录(可选)
619
- */
620
- export function clearMemoryCache(scope = null, projectRoot = null) {
621
- if (scope && projectRoot) {
622
- const prefix = `${scope}:`;
623
- for (const key of memoryCache.keys()) {
624
- if (key.startsWith(prefix)) {
625
- memoryCache.delete(key);
626
- }
627
- }
628
- } else {
629
- memoryCache.clear();
630
- }
631
- }
632
-
633
- export default {
634
- // 路径解析
635
- getGlobalMemoryDir,
636
- getProjectMemoryDir,
637
- resolveMemoryPath,
638
- // 通用读写
639
- getMemory,
640
- updateMemory,
641
- // 北极星指标
642
- getNorthStar,
643
- updateNorthStar,
644
- addKeyResult,
645
- addActiveDecision,
646
- // 团队偏好
647
- getTeamPreferences,
648
- updateTeamPreferences,
649
- // 约束条件
650
- getConstraints,
651
- addHardConstraint,
652
- // 工作记忆
653
- getCurrentContext,
654
- updateCurrentContext,
655
- clearCurrentContext,
656
- // 会话记忆
657
- getSessionsIndex,
658
- addSession,
659
- // 项目记忆
660
- getTechStack,
661
- updateTechStack,
662
- getArchitecture,
663
- addArchitectureDecision,
664
- // 搜索
665
- searchMemory,
666
- // 初始化
667
- initGlobalMemory,
668
- initProjectMemory,
669
- hasGlobalMemory,
670
- hasProjectMemory,
671
- // 缓存
672
- clearMemoryCache
673
- };