@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,1059 +0,0 @@
1
- # 通用编码规范
2
-
3
- > **版本**: v1.1
4
- > **最后更新**: 2026-03-27
5
- > **适用范围**: 所有 Java/后端项目
6
- > **设计原则**: 安全第一、可读性优先、预防为主、复用优先
7
-
8
- ---
9
-
10
- ## 📑 目录
11
-
12
- 0. [复用优先与禁止硬编码](#0-复用优先与禁止硬编码)
13
- 1. [数据安全](#1-数据安全)
14
- 2. [异常处理](#2-异常处理)
15
- 3. [多线程](#3-多线程)
16
- 4. [数据库](#4-数据库)
17
- 5. [国际化](#5-国际化)
18
- 6. [安全](#6-安全)
19
- 7. [日志打印](#7-日志打印)
20
- 8. [监控规范](#8-监控规范)
21
- 9. [编码基础](#9-编码基础)
22
- 10. [命名规范](#10-命名规范)
23
- 11. [面向对象设计原则](#11-面向对象设计原则)
24
-
25
- ---
26
-
27
- ## 0. 复用优先与禁止硬编码
28
-
29
- ### 0.1 优先复用项目现有能力
30
-
31
- **说明**: 在实现任何功能或修复问题时,必须先扫描项目已有的框架、工具类、组件。
32
-
33
- **强制要求**:
34
- - 实现前先搜索代码库,查找是否有类似实现
35
- - 优先使用项目已有的 AOP 框架、Helper 工具、Util 类
36
- - 按已有代码的模式和风格实现新功能
37
- - 绝不重复造轮子
38
-
39
- **错误示例**:
40
- ```java
41
- // ❌ 项目已有 TracingHelper,却自己新建埋点类
42
- public class MyTracingHelper {
43
- // 重复实现埋点逻辑
44
- }
45
-
46
- // ❌ 项目已有 LogUtil,却直接使用 logger
47
- private static final Logger logger = LoggerFactory.getLogger(Xxx.class);
48
- logger.info("xxx"); // 没有 TraceId,无法链路追踪
49
- ```
50
-
51
- **正确示例**:
52
- ```java
53
- // ✅ 复用项目已有的 TracingHelper
54
- @Autowired
55
- private TracingHelper tracingHelper;
56
-
57
- // ✅ 使用项目已有的 LogUtil(带 TraceId)
58
- LogUtil.info("key", "value");
59
- ```
60
-
61
- ### 0.2 禁止硬编码
62
-
63
- **说明**: 不可在代码中硬编码目录名、包名、类名、配置项等。
64
-
65
- **强制要求**:
66
- - 路径配置从配置文件或环境知识中读取
67
- - 技术栈信息从项目文件中动态识别
68
- - 支持不同项目的差异化配置
69
-
70
- **错误示例**:
71
- ```java
72
- // ❌ 硬编码路径
73
- String configPath = "/home/user/projects/myapp/config/";
74
-
75
- // ❌ 硬编码包名
76
- String basePackage = "com.example.myapp.service";
77
-
78
- // ❌ 硬编码文件名
79
- String pomFile = "backend/service/pom.xml";
80
- ```
81
-
82
- **正确示例**:
83
- ```java
84
- // ✅ 从配置文件读取
85
- @Value("${app.config.path}")
86
- private String configPath;
87
-
88
- // ✅ 动态扫描识别
89
- File projectRoot = findProjectRoot();
90
- List<String> pomFiles = scanForPattern(projectRoot, "**/pom.xml");
91
- ```
92
-
93
- ### 0.3 设计原则约束
94
-
95
- 自主修复场景下,必须遵循以下面向对象设计原则:
96
-
97
- **单一职责原则 (SRP)**:
98
- - 每个类/方法只负责一项职责
99
- - 修复代码不创建"上帝类"或"万能方法"
100
- - 职责单一便于维护、测试和复用
101
-
102
- **开闭原则 (OCP)**:
103
- - 对扩展开放,对修改关闭
104
- - 新增功能通过扩展实现,不修改已有核心代码
105
- - 通过接口或抽象类约束扩展边界
106
-
107
- **里氏替换原则 (LSP)**:
108
- - 子类必须能够替换其父类,程序行为不变
109
- - 继承必须确保合理,不破坏继承体系
110
- - 避免滥用继承,优先考虑组合
111
-
112
- **依赖倒置原则 (DIP)**:
113
- - 面向接口编程,不依赖具体实现
114
- - 高层模块和低层模块都依赖抽象
115
- - 通过构造函数注入、setter 注入实现依赖注入
116
-
117
- **接口隔离原则 (ISP)**:
118
- - 使用多个专门的接口,不使用单一的总接口
119
- - 将臃肿庞大的接口分解为多个独立的较小接口
120
- - 客户端不应该依赖它不需要的接口
121
-
122
- **迪米特法则 (最少知道原则)**:
123
- - 一个对象应该对其他对象有最少的了解
124
- - 只与直接的朋友通信,不与"陌生人"交谈
125
- - 降低类与类之间的耦合
126
-
127
- **合成/复用原则**:
128
- - 优先使用组合/聚合,其次才是继承
129
- - 组合复用比继承复用更灵活,耦合度更低
130
-
131
- **高内聚低耦合**:
132
- - 模块内部元素应紧密相关(高内聚)
133
- - 模块之间依赖应尽可能少(低耦合)
134
- - 变化点必须封装隔离(面向变化设计)
135
-
136
- **AOP 优先**:
137
- - 涉及跨切面功能(日志、埋点、鉴权、事务等)时,优先使用 AOP 切面方式
138
- - 禁止侵入业务代码,通过切面增强实现
139
- - 保持核心业务逻辑的纯净性
140
-
141
- > 详细说明和代码示例见:[第 11 节 面向对象设计原则](#11-面向对象设计原则)
142
-
143
- ---
144
-
145
- ## 1. 数据安全
146
-
147
- ### 1.1 更新数据前必须加锁(一锁二判三更新)
148
-
149
- **说明**: 在并发场景下,线程读取的数据可能已被其他线程篡改,导致状态机推进错误或重复操作。
150
-
151
- **原则**:
152
- - **一锁**: 锁定单点资源(单条记录),并发请求串行处理
153
- - **二判**: 基于锁定的记录最新状态,判断状态、数值
154
- - **三更新**: 判断通过后的处理
155
-
156
- **错误示例**:
157
- ```java
158
- // ❌ 没有执行二判,直接更新
159
- transactionTemplate.execute((TransactionStatus status) -> {
160
- record = repository.loadWithLock(recordId);
161
- repository.update(record); // 缺少状态检查
162
- return true;
163
- });
164
- ```
165
-
166
- **正确示例**:
167
- ```java
168
- // ✅ 严格遵循一锁二判三更新
169
- transactionTemplate.execute((TransactionStatus status) -> {
170
- // 1. 锁定记录
171
- record = repository.loadWithLock(recordId);
172
- // 2. 状态检查
173
- record.validateState();
174
- // 3. 更新
175
- repository.update(record);
176
- return true;
177
- });
178
- ```
179
-
180
- ### 1.2 禁止使用不安全的数值计算方法
181
-
182
- **说明**: float/double 是浮点数,会损失精度,严禁用于精度敏感的计算(金额、数量等)。
183
-
184
- **错误示例**:
185
- ```java
186
- // ❌ 使用 double 进行精度敏感计算,可能导致精度丢失
187
- double value1 = 100.50;
188
- double value2 = 200.75;
189
- double total = value1 + value2;
190
- ```
191
-
192
- **正确示例**:
193
- ```java
194
- // ✅ 使用专用精度类型(推荐)
195
- import com.example.common.util.Decimal;
196
-
197
- Decimal value1 = new Decimal(100.50);
198
- Decimal value2 = new Decimal(200.75);
199
- Decimal total = value1.add(value2);
200
- ```
201
-
202
- ```java
203
- // ✅ 或使用 BigDecimal(多币种/高精度场景)
204
- import java.math.BigDecimal;
205
-
206
- BigDecimal value1 = new BigDecimal("100.50");
207
- BigDecimal value2 = new BigDecimal("200.75");
208
- BigDecimal total = value1.add(value2);
209
- ```
210
-
211
- ---
212
-
213
- ## 2. 异常处理
214
-
215
- ### 2.1 必须在异步方法中捕获和处理异常
216
-
217
- **说明**: 使用 `@Async`、线程池、Future 等异步机制时,如果没有捕获异常,异常将不会被抛出,上层方法无感知。
218
-
219
- **错误示例**:
220
- ```java
221
- // ❌ 异步方法中没有捕获和处理异常
222
- @Async
223
- public void asyncCheckStatus(List<String> items) {
224
- for (String item : items) {
225
- // do something - 如果抛异常,上层无感知
226
- }
227
- }
228
- ```
229
-
230
- **正确示例**:
231
-
232
- 方式 1:显式捕获异常
233
- ```java
234
- // ✅ 增加 try catch 显式地捕获和处理异常
235
- @Async
236
- public void asyncCheckStatus(List<String> items) {
237
- try {
238
- for (String item : items) {
239
- // do something
240
- }
241
- } catch (Exception e) {
242
- LogUtil.error(e, LOGGER, "异步处理发生异常,items={0}", items);
243
- // 根据情况进行处理
244
- }
245
- }
246
- ```
247
-
248
- 方式 2:使用带返回值的 AsyncResult
249
- ```java
250
- // ✅ 使用 AsyncResult,上层通过 get() 捕获异常
251
- @Async
252
- public AsyncResult<String> asyncCheckStatus(List<String> items) {
253
- for (String item : items) {
254
- // do something
255
- }
256
- return new AsyncResult("success");
257
- }
258
-
259
- // 调用方
260
- public void test() {
261
- try {
262
- Future future = asyncCheckStatus();
263
- future.get(); // 异常会在这里抛出
264
- } catch (Exception e) {
265
- LogUtil.error(e, LOGGER, "异步处理发生异常");
266
- }
267
- }
268
- ```
269
-
270
- ### 2.2 必须处理被捕获的异常
271
-
272
- **说明**: 禁止使用空的 catch 语句块。忽略异常可能吞掉应该被处理或报告的异常,造成系统风险。
273
-
274
- **错误示例**:
275
- ```java
276
- // ❌ 空的 catch 语句块
277
- public void bad() {
278
- try {
279
- // 可能抛出异常的代码
280
- } catch (SpecificException e) {
281
- // 空实现 - 吞掉异常,非常危险!
282
- }
283
- }
284
- ```
285
-
286
- **正确示例**:
287
- ```java
288
- // ✅ 记录异常信息,并采取适当措施
289
- public void good() {
290
- try {
291
- // 可能抛出异常的代码
292
- } catch (SpecificException e) {
293
- LogUtil.error(e, LOGGER, "处理过程中发生异常");
294
- // 提示用户或采取补救措施
295
- notifyUser("发生错误,请重试");
296
- }
297
- }
298
- ```
299
-
300
- ---
301
-
302
- ## 3. 多线程
303
-
304
- ### 3.1 必须及时清理 ThreadLocal
305
-
306
- **说明**: ThreadLocal 使用完毕后不移除,会导致:
307
- - 线程复用时数据污染,影响业务正确性
308
- - 内存泄漏(核心线程不会退出,ThreadLocal 一直被持有)
309
-
310
- **错误示例**:
311
- ```java
312
- // ❌ ThreadLocal 使用完毕后未清理
313
- static ThreadLocal<String> localVar = new ThreadLocal<>();
314
-
315
- public static void bad() {
316
- localVar.set("value");
317
- try {
318
- // 业务代码
319
- } finally {
320
- // 没有清理!
321
- LOGGER.info("finish");
322
- }
323
- }
324
- ```
325
-
326
- **正确示例**:
327
- ```java
328
- // ✅ 在 finally 中调用 remove() 清理
329
- static ThreadLocal<String> localVar = new ThreadLocal<>();
330
-
331
- public static void good() {
332
- localVar.set("value");
333
- try {
334
- // 业务代码
335
- } finally {
336
- localVar.remove(); // 必须清理
337
- LOGGER.info("finish");
338
- }
339
- }
340
- ```
341
-
342
- > ⚠️ **注意**: `localVar.set(null)` 不被视为清理,仍会导致内存泄露,必须使用 `remove()`。
343
-
344
- ### 3.2 禁止使用无界线程池
345
-
346
- **说明**: 无界线程池在极端大流量下会导致:
347
- - 阻塞导致服务响应超时
348
- - 系统资源得不到及时释放
349
- - 内存泄漏 OOM
350
-
351
- **错误示例**:
352
- ```java
353
- // ❌ 无界线程池
354
- Executors.newCachedThreadPool(); // maximumPoolSize 为 Integer.MAX_VALUE
355
-
356
- // ❌ 使用无界队列
357
- Executors.newFixedThreadPool(); // 实际使用 new LinkedBlockingQueue<Runnable>()
358
- ```
359
-
360
- **正确示例**:
361
- ```java
362
- // ✅ 使用有界队列线程池
363
- ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
364
- 10, // corePoolSize
365
- 50, // maximumPoolSize
366
- 60, // keepAliveTime
367
- TimeUnit.SECONDS,
368
- new LinkedBlockingQueue<>(100) // 有界队列
369
- );
370
- ```
371
-
372
- ---
373
-
374
- ## 4. 数据库
375
-
376
- ### 4.1 禁止使用 SELECT *
377
-
378
- **说明**: 使用 `SELECT *` 存在以下问题:
379
- - 性能问题:检索不必要的列,增加网络负载
380
- - 安全性问题:表结构变化可能导致应用错误
381
- - 可读性问题:代码不清晰,难以维护
382
-
383
- **错误示例**:
384
- ```xml
385
- <!-- ❌ 使用 SELECT * -->
386
- <select id="getUser" parameterType="int" resultType="UserInfo">
387
- select * from user_info where id = #{id}
388
- </select>
389
- ```
390
-
391
- **正确示例**:
392
- ```xml
393
- <!-- ✅ 指定具体的列名 -->
394
- <select id="getUser" parameterType="int" resultType="String">
395
- select phone_num, email from user_info where id = #{id}
396
- </select>
397
- ```
398
-
399
- ### 4.2 使用参数化查询防止 SQL 注入
400
-
401
- **说明**: 必须使用参数化查询,禁止字符串拼接 SQL。
402
-
403
- **错误示例**:
404
- ```xml
405
- <!-- ❌ 使用 ${},存在 SQL 注入风险 -->
406
- <select id="getUserById" resultMap="UserMap" parameterType="java.util.String">
407
- select id,username from t_user_info where id='${id}'
408
- </select>
409
- ```
410
-
411
- **正确示例**:
412
- ```xml
413
- <!-- ✅ 使用 #{} 参数化查询 -->
414
- <select id="getUserById" resultMap="UserMap" parameterType="java.util.String">
415
- select id,username from t_user_info where id=#{id}
416
- </select>
417
- ```
418
-
419
- ---
420
-
421
- ## 5. 国际化
422
-
423
- ### 5.1 必须在日期时间转换中设置时区
424
-
425
- **说明**: 如果想支持国际化时间,必须指定时区。
426
-
427
- **错误示例**:
428
- ```java
429
- // ❌ 没有设置时区
430
- public Date bad(final String format, final String dateStr) throws ParseException {
431
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
432
- simpleDateFormat.applyPattern(format);
433
- return simpleDateFormat.parse(dateStr);
434
- }
435
- ```
436
-
437
- **正确示例**:
438
- ```java
439
- // ✅ 通过 setTimeZone 设置时区
440
- public Date good(final String format, final String dateStr) throws ParseException {
441
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
442
- simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
443
- simpleDateFormat.applyPattern(format);
444
- simpleDateFormat.setLenient(false);
445
- return simpleDateFormat.parse(dateStr);
446
- }
447
- ```
448
-
449
- ---
450
-
451
- ## 6. 安全
452
-
453
- ### 6.1 验证反序列化的输入数据
454
-
455
- **说明**: 必须验证要反序列化的不受信任的输入,确保序列化数据仅包含受信任的类,防止远程代码执行漏洞。
456
-
457
- **正确示例**:
458
- ```java
459
- // ✅ 通过白名单验证要反序列化的数据
460
- class WhitelistedObjectInputStream extends ObjectInputStream {
461
- public Set whitelist;
462
-
463
- public WhitelistedObjectInputStream(InputStream inputStream, Set wl) throws IOException {
464
- super(inputStream);
465
- whitelist = wl;
466
- }
467
-
468
- @Override
469
- protected Class<?> resolveClass(ObjectStreamClass cls) throws IOException, ClassNotFoundException {
470
- if (!whitelist.contains(cls.getName())) {
471
- throw new InvalidClassException("Unexpected serialized class", cls.getName());
472
- }
473
- return super.resolveClass(cls);
474
- }
475
- }
476
- ```
477
-
478
- ### 6.2 必须做好接口权限控制
479
-
480
- **说明**: 防范水平越权、垂直越权、未授权访问等漏洞。
481
-
482
- **水平越权防范**:
483
- ```java
484
- // ✅ 增加权限校验
485
- @RequestMapping(value="/delete/{id}")
486
- public Object remove(@PathVariable Long id) {
487
- if (WebUtils.isLogged()) {
488
- // 增加权限校验:判断提交的数据是否属于当前登录用户
489
- if (!checkPermission(id, WebUtils.getLoggedUserId())) {
490
- return error("无权限删除此记录");
491
- }
492
- this.service.remove(id, WebUtils.getLoggedUserId());
493
- return success("删除成功");
494
- }
495
- return error("用户未登录");
496
- }
497
- ```
498
-
499
- ### 6.3 禁止使用存在严重安全风险的组件
500
-
501
- **禁用组件列表**:
502
- - `xalan:xalan`
503
- - `org.jolokia:jolokia-core`
504
- - `org.apache.dubbo:dubbo`
505
- - `com.alibaba:dubbo`
506
- - `com.alibaba.fastjson2:fastjson2`
507
- - `com.alibaba:fastjson`(及其相关变体)
508
- - `org.apache.druid:druid-core`
509
-
510
- ---
511
-
512
- ## 7. 日志打印
513
-
514
- ### 7.1 必须使用 LogUtil 进行日志打印
515
-
516
- **说明**: 监控系统通过日志进行监控配置。为了确保链路追踪和监控的有效性,必须使用 `LogUtil` 工具类进行日志打印,它会自动添加 TraceId。
517
-
518
- **导入路径**:
519
- ```java
520
- import com.example.common.util.log.LogUtil;
521
- import com.alibaba.common.logging.Logger;
522
- import com.alibaba.common.logging.LoggerFactory;
523
- ```
524
-
525
- **Logger 定义**:
526
- ```java
527
- // 使用 LoggerFileNames 定义 Logger(推荐,便于日志分类)
528
- private static final Logger LOGGER = LoggerFactory.getLogger(LoggerFileNames.BIZ_BUSINESS);
529
-
530
- // 或使用类名
531
- private static final Logger LOGGER = LoggerFactory.getLogger(YourClass.class);
532
- ```
533
-
534
- **日志打印方式**:
535
-
536
- ```java
537
- // ✅ info 日志 - 无参数
538
- LogUtil.info(LOGGER, "消息内容");
539
-
540
- // ✅ info 日志 - 带参数(使用 {0}, {1} 占位符)
541
- LogUtil.info(LOGGER, "处理成功,id={0}, userId={1}", id, userId);
542
-
543
- // ✅ warn 日志
544
- LogUtil.warn(LOGGER, "余额不足,userId={0}, balance={1}", userId, balance);
545
-
546
- // ✅ error 日志 - 带异常
547
- LogUtil.error(e, LOGGER, "处理异常,id={0}", id);
548
-
549
- // ✅ error 日志 - 不带异常
550
- LogUtil.error(LOGGER, "参数校验失败,request={0}", request);
551
-
552
- // ✅ debug 日志
553
- LogUtil.debug(LOGGER, "调试信息,data={0}", data);
554
- ```
555
-
556
- **错误示例**:
557
- ```java
558
- // ❌ 直接使用 logger 打印,无 TraceId
559
- LOGGER.info("处理成功,id=" + id);
560
-
561
- // ❌ 使用 System.out
562
- System.out.println("处理成功");
563
-
564
- // ❌ 使用字符串拼接而非占位符
565
- LogUtil.info(LOGGER, "处理成功,id=" + id); // 应使用 {0} 占位符
566
- ```
567
-
568
- ### 7.2 日志打印最佳实践
569
-
570
- **1. 关键业务节点必须打印日志**:
571
- ```java
572
- // 入口日志
573
- LogUtil.info(LOGGER, "【开始处理】id={0}, userId={1}", id, userId);
574
-
575
- // 关键状态变更
576
- LogUtil.info(LOGGER, "【状态变更】id={0}, oldStatus={1}, newStatus={2}",
577
- id, oldStatus, newStatus);
578
-
579
- // 出口日志
580
- LogUtil.info(LOGGER, "【处理完成】id={0}, result={1}", id, result);
581
- ```
582
-
583
- **2. 异常日志必须包含异常堆栈**:
584
- ```java
585
- try {
586
- // 业务代码
587
- } catch (Exception e) {
588
- // ✅ 正确:包含异常对象,会打印完整堆栈
589
- LogUtil.error(e, LOGGER, "处理异常,id={0}", id);
590
-
591
- // ❌ 错误:丢失异常堆栈
592
- LogUtil.error(LOGGER, "处理异常,id={0}, error={1}", id, e.getMessage());
593
- }
594
- ```
595
-
596
- **3. 日志级别使用规范**:
597
-
598
- | 级别 | 使用场景 |
599
- |------|---------|
600
- | ERROR | 影响业务的异常、需要人工介入处理的问题 |
601
- | WARN | 可恢复的异常、不符合预期但不影响业务继续运行 |
602
- | INFO | 关键业务流程、状态变更、外部调用 |
603
- | DEBUG | 详细的调试信息,生产环境一般关闭 |
604
-
605
- **4. 日志内容规范**:
606
- - 使用中文方括号标记模块:`【开始处理】`、`【状态变更】`
607
- - 包含关键业务字段:id、userId、tradeId 等
608
- - 避免打印敏感信息(密码、身份证号、银行卡号等)
609
-
610
- ---
611
-
612
- ## 8. 监控规范
613
-
614
- ### 8.1 监控实现方式
615
-
616
- 监控通过 **监控平台** + **日志打印** 实现:
617
-
618
- 1. **业务代码打印日志**: 使用 `LogUtil` 按规范格式打印
619
- 2. **配置监控规则**: 在监控平台配置日志关键字匹配规则
620
- 3. **告警触发**: 当日志匹配规则时触发告警
621
-
622
- ### 8.2 监控日志打印规范
623
-
624
- **1. 业务监控日志格式**:
625
- ```java
626
- // 成功监控
627
- LogUtil.info(LOGGER, "[MONITOR][SUCCESS] id={0}, amount={1}", id, amount);
628
-
629
- // 失败监控
630
- LogUtil.error(LOGGER, "[MONITOR][FAIL] id={0}, errorCode={1}, errorMsg={2}",
631
- id, errorCode, errorMsg);
632
- ```
633
-
634
- **2. 可监控的关键业务节点**:
635
- - 交易下单成功/失败
636
- - 支付成功/失败
637
- - 确认成功/失败
638
- - 退款成功/失败
639
- - 外部接口调用超时/失败
640
- - 数值核对异常
641
- - 状态机异常流转
642
-
643
- ---
644
-
645
- ## 9. 编码基础
646
-
647
- ### 9.1 禁止在父子类中存在同名属性
648
-
649
- **说明**: 父子类存在同名属性时,可能导致:
650
- - 框架注入时仅注入子类属性,父类属性为 null,造成 NPE
651
- - 父类方法访问父类属性(未注入),子类方法访问子类属性(已注入),行为不一致
652
-
653
- **错误示例**:
654
- ```java
655
- // ❌ 父子类存在同名属性
656
- public class Task {
657
- private String name;
658
- }
659
-
660
- public class PATask extends Task {
661
- private String name; // 同名!
662
- }
663
- ```
664
-
665
- **正确示例**:
666
- ```java
667
- // ✅ 使用不同的属性名
668
- public class Task {
669
- private String taskName;
670
- }
671
-
672
- public class PATask extends Task {
673
- private String subTaskName;
674
- }
675
- ```
676
-
677
- ---
678
-
679
- ## 10. 命名规范
680
-
681
- ### 10.1 基本命名规则
682
-
683
- | 类型 | 规则 | 示例 |
684
- |------|------|------|
685
- | 类名 | PascalCase | `TradeOrder`, `UserService` |
686
- | 方法名 | camelCase | `createOrder`, `validateUser` |
687
- | 变量名 | camelCase | `orderId`, `userBalance` |
688
- | 常量 | UPPER_SNAKE_CASE | `MAX_RETRY_COUNT`, `DEFAULT_TIMEOUT` |
689
- | 包名 | 全小写 | `com.example.trade.biz` |
690
-
691
- ### 10.2 有意义的命名
692
-
693
- - 类名应该是名词:`Order`, `UserService`
694
- - 方法名应该是动词或动词短语:`createOrder`, `isValid`
695
- - 布尔变量应该使用 is/has/can 前缀:`isSuccess`, `hasPermission`
696
- - 避免使用缩写(除非是通用缩写如 id, url)
697
-
698
- ---
699
-
700
- ## 附录:禁止事项速查表
701
-
702
- | 类型 | 禁止事项 | 正确做法 |
703
- |------|---------|---------|
704
- | 数值计算 | 使用 float/double | 使用 Decimal/BigDecimal 类 |
705
- | 数据更新 | 不加锁直接更新 | 一锁二判三更新 |
706
- | 异常处理 | 空 catch 块 | 记录日志并处理 |
707
- | 异步方法 | 不捕获异常 | try-catch 或 AsyncResult |
708
- | ThreadLocal | 不清理 | finally 中 remove() |
709
- | 线程池 | 无界线程池 | 有界线程池 (队列≤100) |
710
- | SQL | SELECT * | 指定列名 |
711
- | SQL | 使用 ${} | 使用 #{} |
712
- | 日志 | 直接用 logger | 使用 LogUtil |
713
- | 父子类 | 同名属性 | 使用不同属性名 |
714
-
715
- ---
716
-
717
- ## 11. 面向对象设计原则
718
-
719
- > **说明**: 遵循 SOLID 原则和领域驱动设计 (DDD),编写高内聚、低耦合、易维护的代码
720
-
721
- ### 11.1 单一职责原则 (SRP - Single Responsibility Principle)
722
-
723
- **原则**: 一个类只负责一个功能领域中的一项职责,只有一个引起它变化的原因。
724
-
725
- **错误示例**:
726
- ```java
727
- // ❌ 一个类承担多种职责
728
- public class OrderService {
729
- public void createOrder(Order order) { /* 创建订单 */ }
730
- public void sendEmail(Order order) { /* 发送邮件 */ }
731
- public String generateReport(List<Order> orders) { /* 生成报表 */ }
732
- public void exportToExcel(List<Order> orders) { /* 导出 Excel */ }
733
- }
734
- ```
735
-
736
- **正确示例**:
737
- ```java
738
- // ✅ 职责分离
739
- public class OrderService {
740
- public void createOrder(Order order) { /* 创建订单 */ }
741
- }
742
-
743
- public class OrderNotificationService {
744
- public void sendOrderEmail(Order order) { /* 发送订单邮件 */ }
745
- }
746
-
747
- public class OrderReportService {
748
- public String generateReport(List<Order> orders) { /* 生成报表 */ }
749
- public void exportToExcel(List<Order> orders) { /* 导出 Excel */ }
750
- }
751
- ```
752
-
753
- ### 11.2 开闭原则 (OCP - Open/Closed Principle)
754
-
755
- **原则**: 对扩展开放,对修改关闭。新增功能通过扩展实现,而非修改现有代码。
756
-
757
- **错误示例**:
758
- ```java
759
- // ❌ 每新增支付方式都要修改这个方法
760
- public class PaymentService {
761
- public void pay(String payType, Money amount) {
762
- if ("THIRD_PARTY".equals(payType)) {
763
- // 第三方支付
764
- } else if ("SCAN_CODE".equals(payType)) {
765
- // 扫码支付
766
- } else if ("BANK".equals(payType)) {
767
- // 银行卡支付
768
- }
769
- // 新增支付方式需要修改此处...
770
- }
771
- }
772
- ```
773
-
774
- **正确示例**:
775
- ```java
776
- // ✅ 使用策略模式,新增支付方式只需添加新的实现类
777
- public interface PaymentStrategy {
778
- void pay(Money amount);
779
- String getPayType();
780
- }
781
-
782
- @Component
783
- public class ThirdPartyPayStrategy implements PaymentStrategy {
784
- @Override
785
- public void pay(Money amount) { /* 第三方支付 */ }
786
- @Override
787
- public String getPayType() { return "THIRD_PARTY"; }
788
- }
789
-
790
- @Component
791
- public class ScanCodePayStrategy implements PaymentStrategy {
792
- @Override
793
- public void pay(Money amount) { /* 扫码支付 */ }
794
- @Override
795
- public String getPayType() { return "SCAN_CODE"; }
796
- }
797
-
798
- @Service
799
- public class PaymentService {
800
- private final Map<String, PaymentStrategy> strategies;
801
-
802
- public PaymentService(List<PaymentStrategy> strategyList) {
803
- this.strategies = strategyList.stream()
804
- .collect(Collectors.toMap(PaymentStrategy::getPayType, s -> s));
805
- }
806
-
807
- public void pay(String payType, Money amount) {
808
- PaymentStrategy strategy = strategies.get(payType);
809
- if (strategy == null) {
810
- throw new BusinessException("不支持的支付方式:" + payType);
811
- }
812
- strategy.pay(amount);
813
- }
814
- }
815
- ```
816
-
817
- ### 11.3 里氏替换原则 (LSP - Liskov Substitution Principle)
818
-
819
- **原则**: 子类必须能够替换其父类,程序行为不变。
820
-
821
- **错误示例**:
822
- ```java
823
- // ❌ 正方形继承矩形,违反里氏替换
824
- public class Rectangle {
825
- protected int width;
826
- protected int height;
827
-
828
- public void setWidth(int width) { this.width = width; }
829
- public void setHeight(int height) { this.height = height; }
830
- public int getArea() { return width * height; }
831
- }
832
-
833
- public class Square extends Rectangle {
834
- @Override
835
- public void setWidth(int width) {
836
- this.width = width;
837
- this.height = width; // 违反父类行为预期
838
- }
839
- @Override
840
- public void setHeight(int height) {
841
- this.width = height;
842
- this.height = height; // 违反父类行为预期
843
- }
844
- }
845
- ```
846
-
847
- **正确示例**:
848
- ```java
849
- // ✅ 使用组合或独立抽象
850
- public interface Shape {
851
- int getArea();
852
- }
853
-
854
- public class Rectangle implements Shape {
855
- private int width;
856
- private int height;
857
-
858
- public Rectangle(int width, int height) {
859
- this.width = width;
860
- this.height = height;
861
- }
862
-
863
- @Override
864
- public int getArea() { return width * height; }
865
- }
866
-
867
- public class Square implements Shape {
868
- private int side;
869
-
870
- public Square(int side) { this.side = side; }
871
-
872
- @Override
873
- public int getArea() { return side * side; }
874
- }
875
- ```
876
-
877
- ### 11.4 接口隔离原则 (ISP - Interface Segregation Principle)
878
-
879
- **原则**: 客户端不应该依赖它不需要的接口。接口应细粒度,避免"胖接口"。
880
-
881
- **错误示例**:
882
- ```java
883
- // ❌ 胖接口,强迫实现类实现不需要的方法
884
- public interface OrderService {
885
- void createOrder(Order order);
886
- void cancelOrder(Long orderId);
887
- void queryOrder(Long orderId);
888
- void exportOrderReport(List<Long> orderIds); // 不是所有实现都需要
889
- void syncOrderToThirdParty(Order order); // 不是所有实现都需要
890
- }
891
- ```
892
-
893
- **正确示例**:
894
- ```java
895
- // ✅ 接口细粒度拆分
896
- public interface OrderCommandService {
897
- void createOrder(Order order);
898
- void cancelOrder(Long orderId);
899
- }
900
-
901
- public interface OrderQueryService {
902
- Order queryOrder(Long orderId);
903
- }
904
-
905
- public interface OrderReportService {
906
- void exportOrderReport(List<Long> orderIds);
907
- }
908
-
909
- public interface OrderSyncService {
910
- void syncOrderToThirdParty(Order order);
911
- }
912
- ```
913
-
914
- ### 11.5 依赖倒置原则 (DIP - Dependency Inversion Principle)
915
-
916
- **原则**: 高层模块不依赖低层模块,都依赖抽象。面向接口编程。
917
-
918
- **错误示例**:
919
- ```java
920
- // ❌ 高层模块直接依赖低层具体实现
921
- public class OrderService {
922
- private MySQLOrderRepository repository = new MySQLOrderRepository(); // 直接依赖具体实现
923
-
924
- public void createOrder(Order order) {
925
- repository.save(order);
926
- }
927
- }
928
- ```
929
-
930
- **正确示例**:
931
- ```java
932
- // ✅ 依赖抽象,通过依赖注入
933
- public interface OrderRepository {
934
- void save(Order order);
935
- Order findById(Long id);
936
- }
937
-
938
- @Repository
939
- public class MySQLOrderRepository implements OrderRepository {
940
- @Override
941
- public void save(Order order) { /* MySQL 实现 */ }
942
- @Override
943
- public Order findById(Long id) { /* MySQL 实现 */ }
944
- }
945
-
946
- @Service
947
- public class OrderService {
948
- private final OrderRepository repository; // 依赖抽象
949
-
950
- public OrderService(OrderRepository repository) { // 构造器注入
951
- this.repository = repository;
952
- }
953
-
954
- public void createOrder(Order order) {
955
- repository.save(order);
956
- }
957
- }
958
- ```
959
-
960
- ### 11.6 领域驱动设计原则 (DDD)
961
-
962
- #### 11.6.1 聚合根设计
963
-
964
- **聚合根 (Aggregate Root)**: 作为事务一致性边界,外部只能通过聚合根访问内部实体。
965
-
966
- ```java
967
- // ✅ 聚合根示例:交易订单
968
- public class TradeOrder {
969
- private Long orderId;
970
- private String userId;
971
- private OrderStatus status;
972
- private Money amount;
973
- private List<TradePay> payments; // 内部实体,外部不直接访问
974
-
975
- // 业务方法内聚到领域对象
976
- public void confirm() {
977
- if (this.status != OrderStatus.PAYING) {
978
- throw new BusinessException("订单状态不允许确认");
979
- }
980
- this.status = OrderStatus.SUCCESS;
981
- }
982
-
983
- public void addPayment(TradePay payment) {
984
- // 通过聚合根管理内部实体
985
- this.payments.add(payment);
986
- }
987
- }
988
- ```
989
-
990
- #### 11.6.2 业务逻辑内聚
991
-
992
- **原则**: 核心业务逻辑放在领域对象中,而非 Service 层。Service 层负责编排和协调。
993
-
994
- **错误示例**:
995
- ```java
996
- // ❌ 贫血模型:领域对象只有 getter/setter,业务逻辑在 Service
997
- public class Order {
998
- private Long id;
999
- private OrderStatus status;
1000
- // 只有 getter/setter,无业务逻辑
1001
- }
1002
-
1003
- public class OrderService {
1004
- public void confirmOrder(Long orderId) {
1005
- Order order = repository.findById(orderId);
1006
- if (order.getStatus() != OrderStatus.PAYING) { // 业务逻辑泄露到 Service
1007
- throw new BusinessException("订单状态不允许确认");
1008
- }
1009
- order.setStatus(OrderStatus.SUCCESS); // 直接修改状态
1010
- repository.save(order);
1011
- }
1012
- }
1013
- ```
1014
-
1015
- **正确示例**:
1016
- ```java
1017
- // ✅ 充血模型:业务逻辑内聚到领域对象
1018
- public class Order {
1019
- private Long id;
1020
- private OrderStatus status;
1021
-
1022
- // 业务逻辑内聚
1023
- public void confirm() {
1024
- if (this.status != OrderStatus.PAYING) {
1025
- throw new BusinessException("订单状态不允许确认");
1026
- }
1027
- this.status = OrderStatus.SUCCESS;
1028
- }
1029
-
1030
- public boolean canCancel() {
1031
- return this.status == OrderStatus.INIT || this.status == OrderStatus.PAYING;
1032
- }
1033
- }
1034
-
1035
- public class OrderService {
1036
- public void confirmOrder(Long orderId) {
1037
- Order order = repository.findById(orderId);
1038
- order.confirm(); // 调用领域对象的业务方法
1039
- repository.save(order);
1040
- }
1041
- }
1042
- ```
1043
-
1044
- ### 11.7 面向对象设计速查表
1045
-
1046
- | 原则 | 核心要点 | 违反信号 |
1047
- |------|---------|---------|
1048
- | SRP | 一个类一个职责 | 类过大 (>500 行)、方法过多 (>20 个)、职责不相关 |
1049
- | OCP | 扩展而非修改 | 新增功能需修改核心类、大量 if-else/switch |
1050
- | LSP | 子类可替换父类 | 子类覆盖父类方法改变行为、子类抛出父类不抛的异常 |
1051
- | ISP | 接口细粒度 | 接口方法过多、实现类有空方法或抛 UnsupportedOperationException |
1052
- | DIP | 依赖抽象 | new 具体类、直接依赖第三方 SDK 类 |
1053
- | DDD | 业务逻辑内聚 | 贫血模型 (只有 getter/setter)、Service 层过重 |
1054
-
1055
- ---
1056
-
1057
- **维护者**: AutoSpec 团队
1058
- **反馈渠道**: 知识库 Git 仓库 Issue
1059
- **关联文档**: `knowledge/07-standards/02-data-consistency.md`, `knowledge/07-standards/01-code-review.md`