universal-dev-standards 4.2.0 → 5.0.0-beta.10

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 (542) hide show
  1. package/README.md +3 -3
  2. package/bin/uds.js +165 -5
  3. package/bundled/core/acceptance-test-driven-development.md +19 -721
  4. package/bundled/core/accessibility-standards.md +862 -0
  5. package/bundled/core/ai-agreement-standards.md +95 -0
  6. package/bundled/core/ai-friendly-architecture.md +2 -0
  7. package/bundled/core/ai-instruction-standards.md +2 -0
  8. package/bundled/core/anti-hallucination.md +90 -637
  9. package/bundled/core/behavior-driven-development.md +20 -735
  10. package/bundled/core/changelog-standards.md +4 -0
  11. package/bundled/core/checkin-standards.md +21 -4
  12. package/bundled/core/code-review-checklist.md +3 -0
  13. package/bundled/core/commit-message-guide.md +14 -3
  14. package/bundled/core/deployment-standards.md +296 -0
  15. package/bundled/core/developer-memory.md +568 -0
  16. package/bundled/core/documentation-structure.md +114 -18
  17. package/bundled/core/documentation-writing-standards.md +272 -2
  18. package/bundled/core/error-code-standards.md +3 -0
  19. package/bundled/core/forward-derivation-standards.md +134 -8
  20. package/bundled/core/git-workflow.md +72 -686
  21. package/bundled/core/guides/anti-hallucination-guide.md +517 -0
  22. package/bundled/core/guides/git-workflow-guide.md +954 -0
  23. package/bundled/core/guides/performance-guide.md +508 -0
  24. package/bundled/core/guides/refactoring-guide.md +608 -0
  25. package/bundled/core/guides/security-guide.md +485 -0
  26. package/bundled/core/logging-standards.md +337 -2
  27. package/bundled/core/performance-standards.md +231 -0
  28. package/bundled/core/project-context-memory.md +180 -0
  29. package/bundled/core/project-structure.md +315 -2
  30. package/bundled/core/refactoring-standards.md +81 -761
  31. package/bundled/core/requirement-engineering.md +39 -0
  32. package/bundled/core/reverse-engineering-standards.md +6 -4
  33. package/bundled/core/security-standards.md +244 -0
  34. package/bundled/core/spec-driven-development.md +20 -319
  35. package/bundled/core/test-completeness-dimensions.md +213 -11
  36. package/bundled/core/test-driven-development.md +22 -978
  37. package/bundled/core/testing-standards.md +222 -2903
  38. package/bundled/core/versioning.md +16 -55
  39. package/bundled/core/virtual-organization-standards.md +85 -0
  40. package/bundled/locales/README.md +4 -4
  41. package/bundled/locales/zh-CN/CHANGELOG.md +18 -18
  42. package/bundled/locales/zh-CN/CLAUDE.md +3 -3
  43. package/bundled/locales/zh-CN/MAINTENANCE.md +7 -7
  44. package/bundled/locales/zh-CN/README.md +2 -2
  45. package/bundled/locales/zh-CN/STANDARDS-MAPPING.md +1 -1
  46. package/bundled/locales/zh-CN/adoption/ADOPTION-GUIDE.md +3 -3
  47. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +66 -7
  48. package/bundled/locales/zh-CN/adoption/STATIC-DYNAMIC-GUIDE.md +22 -22
  49. package/bundled/locales/zh-CN/adoption/checklists/enterprise.md +5 -5
  50. package/bundled/locales/zh-CN/adoption/checklists/minimal.md +4 -4
  51. package/bundled/locales/zh-CN/adoption/checklists/recommended.md +5 -5
  52. package/bundled/locales/zh-CN/ai/MAINTENANCE.md +13 -13
  53. package/bundled/locales/zh-CN/core/ai-instruction-standards.md +1 -1
  54. package/bundled/locales/zh-CN/core/anti-hallucination.md +39 -3
  55. package/bundled/locales/zh-CN/core/checkin-standards.md +18 -5
  56. package/bundled/locales/zh-CN/core/commit-message-guide.md +1 -1
  57. package/bundled/locales/zh-CN/core/developer-memory.md +576 -0
  58. package/bundled/locales/zh-CN/core/documentation-structure.md +43 -5
  59. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +146 -5
  60. package/bundled/locales/zh-CN/core/git-workflow.md +179 -4
  61. package/bundled/locales/zh-CN/core/logging-standards.md +177 -4
  62. package/bundled/locales/zh-CN/core/project-structure.md +117 -5
  63. package/bundled/locales/zh-CN/core/refactoring-standards.md +3 -3
  64. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +6 -6
  65. package/bundled/locales/zh-CN/core/spec-driven-development.md +516 -14
  66. package/bundled/locales/zh-CN/core/test-completeness-dimensions.md +155 -24
  67. package/bundled/locales/zh-CN/core/test-driven-development.md +71 -20
  68. package/bundled/locales/zh-CN/core/testing-standards.md +4 -4
  69. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  70. package/bundled/locales/zh-CN/docs/AI-AGENT-ROADMAP.md +90 -51
  71. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +184 -0
  72. package/bundled/locales/zh-CN/docs/CLI-FLOW.md +239 -0
  73. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +320 -0
  74. package/bundled/locales/zh-CN/docs/OPERATION-WORKFLOW.md +43 -43
  75. package/bundled/locales/zh-CN/docs/STANDARDS-REFERENCE.md +440 -0
  76. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +1 -1
  77. package/bundled/locales/zh-CN/docs/WINDOWS-GUIDE.md +1 -1
  78. package/bundled/locales/zh-CN/integrations/codex/README.md +3 -3
  79. package/bundled/locales/zh-CN/integrations/gemini-cli/README.md +3 -3
  80. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +5 -5
  81. package/bundled/locales/zh-CN/integrations/github-copilot/copilot-instructions.md +9 -9
  82. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +18 -6
  83. package/bundled/locales/zh-CN/integrations/google-antigravity/README.md +2 -2
  84. package/bundled/locales/zh-CN/integrations/opencode/README.md +3 -3
  85. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +22 -10
  86. package/bundled/locales/zh-CN/integrations/openspec/README.md +1 -1
  87. package/bundled/locales/zh-CN/integrations/spec-kit/AGENTS.md +3 -3
  88. package/bundled/locales/zh-CN/integrations/spec-kit/README.md +1 -1
  89. package/bundled/locales/zh-CN/options/commit-message/bilingual.md +1 -1
  90. package/bundled/locales/zh-CN/options/commit-message/english.md +1 -1
  91. package/bundled/locales/zh-CN/options/commit-message/traditional-chinese.md +1 -1
  92. package/bundled/locales/zh-CN/options/git-workflow/gitflow.md +1 -1
  93. package/bundled/locales/zh-CN/options/git-workflow/github-flow.md +1 -1
  94. package/bundled/locales/zh-CN/options/git-workflow/merge-commit.md +1 -1
  95. package/bundled/locales/zh-CN/options/git-workflow/rebase-ff.md +1 -1
  96. package/bundled/locales/zh-CN/options/git-workflow/squash-merge.md +1 -1
  97. package/bundled/locales/zh-CN/options/git-workflow/trunk-based.md +1 -1
  98. package/bundled/locales/zh-CN/options/project-structure/dotnet.md +1 -1
  99. package/bundled/locales/zh-CN/options/project-structure/go.md +1 -1
  100. package/bundled/locales/zh-CN/options/project-structure/java.md +1 -1
  101. package/bundled/locales/zh-CN/options/project-structure/nodejs.md +1 -1
  102. package/bundled/locales/zh-CN/options/project-structure/python.md +1 -1
  103. package/bundled/locales/zh-CN/options/testing/e2e-testing.md +1 -1
  104. package/bundled/locales/zh-CN/options/testing/integration-testing.md +1 -1
  105. package/bundled/locales/zh-CN/options/testing/system-testing.md +1 -1
  106. package/bundled/locales/zh-CN/options/testing/unit-testing.md +1 -1
  107. package/bundled/locales/zh-CN/skills/{claude-code/CONTRIBUTING.template.md → CONTRIBUTING.template.md} +2 -2
  108. package/bundled/locales/zh-CN/skills/README.md +131 -81
  109. package/bundled/locales/zh-CN/skills/agents/README.md +281 -0
  110. package/bundled/locales/zh-CN/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/SKILL.md +10 -10
  111. package/bundled/locales/zh-CN/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/anti-hallucination.md +8 -8
  112. package/bundled/locales/zh-CN/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/certainty-labels.md +8 -8
  113. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +221 -0
  114. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +214 -0
  115. package/bundled/locales/zh-CN/skills/atdd-assistant/SKILL.md +71 -0
  116. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +428 -0
  117. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +484 -0
  118. package/bundled/locales/zh-CN/skills/atdd-assistant/guide.md +368 -0
  119. package/bundled/locales/zh-CN/skills/bdd-assistant/SKILL.md +68 -0
  120. package/bundled/locales/zh-CN/skills/bdd-assistant/bdd-workflow.md +406 -0
  121. package/bundled/locales/zh-CN/skills/bdd-assistant/gherkin-guide.md +454 -0
  122. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +324 -0
  123. package/bundled/locales/zh-CN/skills/changelog-guide/SKILL.md +64 -0
  124. package/bundled/locales/zh-CN/skills/{claude-code/changelog-guide/SKILL.md → changelog-guide/guide.md} +6 -7
  125. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +56 -0
  126. package/bundled/locales/zh-CN/skills/{claude-code/checkin-assistant/SKILL.md → checkin-assistant/guide.md} +6 -7
  127. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +56 -0
  128. package/bundled/locales/zh-CN/skills/{claude-code/code-review-assistant → code-review-assistant}/checkin-checklist.md +4 -4
  129. package/bundled/locales/zh-CN/skills/{claude-code/code-review-assistant/SKILL.md → code-review-assistant/guide.md} +5 -6
  130. package/bundled/locales/zh-CN/skills/{claude-code/code-review-assistant → code-review-assistant}/review-checklist.md +4 -4
  131. package/bundled/locales/zh-CN/skills/{claude-code/commands → commands}/bdd.md +2 -2
  132. package/bundled/locales/zh-CN/skills/{claude-code/commands → commands}/methodology.md +3 -3
  133. package/bundled/locales/zh-CN/skills/{claude-code/commands → commands}/refactor.md +3 -3
  134. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +61 -0
  135. package/bundled/locales/zh-CN/skills/{claude-code/commit-standards → commit-standards}/conventional-commits.md +4 -4
  136. package/bundled/locales/zh-CN/skills/{claude-code/commit-standards/SKILL.md → commit-standards/guide.md} +5 -6
  137. package/bundled/locales/zh-CN/skills/{claude-code/commit-standards → commit-standards}/language-options.md +3 -3
  138. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +59 -0
  139. package/bundled/locales/zh-CN/skills/docs-generator/guide.md +262 -0
  140. package/bundled/locales/zh-CN/skills/{claude-code/documentation-guide → documentation-guide}/SKILL.md +7 -8
  141. package/bundled/locales/zh-CN/skills/{claude-code/documentation-guide → documentation-guide}/documentation-structure.md +4 -4
  142. package/bundled/locales/zh-CN/skills/{claude-code/documentation-guide → documentation-guide}/readme-template.md +3 -3
  143. package/bundled/locales/zh-CN/skills/{claude-code/error-code-guide → error-code-guide}/SKILL.md +6 -6
  144. package/bundled/locales/zh-CN/skills/forward-derivation/SKILL.md +62 -0
  145. package/bundled/locales/zh-CN/skills/forward-derivation/guide.md +130 -0
  146. package/bundled/locales/zh-CN/skills/{claude-code/git-workflow-guide → git-workflow-guide}/SKILL.md +6 -6
  147. package/bundled/locales/zh-CN/skills/{claude-code/git-workflow-guide → git-workflow-guide}/branch-naming.md +3 -3
  148. package/bundled/locales/zh-CN/skills/{claude-code/git-workflow-guide → git-workflow-guide}/git-workflow.md +4 -4
  149. package/bundled/locales/zh-CN/skills/{claude-code/logging-guide → logging-guide}/SKILL.md +6 -6
  150. package/bundled/locales/zh-CN/skills/methodology-system/SKILL.md +78 -0
  151. package/bundled/locales/zh-CN/skills/{claude-code/methodology-system → methodology-system}/create-methodology.md +2 -2
  152. package/bundled/locales/zh-CN/skills/{claude-code/methodology-system/SKILL.md → methodology-system/guide.md} +2 -2
  153. package/bundled/locales/zh-CN/skills/{claude-code/methodology-system → methodology-system}/runtime.md +3 -3
  154. package/bundled/locales/zh-CN/skills/project-discovery/SKILL.md +66 -0
  155. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +371 -0
  156. package/bundled/locales/zh-CN/skills/{claude-code/project-structure-guide → project-structure-guide}/SKILL.md +4 -4
  157. package/bundled/locales/zh-CN/skills/{claude-code/project-structure-guide → project-structure-guide}/language-patterns.md +1 -1
  158. package/bundled/locales/zh-CN/skills/refactoring-assistant/SKILL.md +67 -0
  159. package/bundled/locales/zh-CN/skills/{claude-code/refactoring-assistant/SKILL.md → refactoring-assistant/guide.md} +7 -8
  160. package/bundled/locales/zh-CN/skills/release-standards/SKILL.md +64 -0
  161. package/bundled/locales/zh-CN/skills/{claude-code/release-standards → release-standards}/changelog-format.md +3 -3
  162. package/bundled/locales/zh-CN/skills/{claude-code/release-standards/SKILL.md → release-standards/guide.md} +5 -6
  163. package/bundled/locales/zh-CN/skills/{claude-code/release-standards → release-standards}/release-workflow.md +7 -7
  164. package/bundled/locales/zh-CN/skills/{claude-code/release-standards → release-standards}/semantic-versioning.md +3 -3
  165. package/bundled/locales/zh-CN/skills/requirement-assistant/SKILL.md +67 -0
  166. package/bundled/locales/zh-CN/skills/{claude-code/requirement-assistant/SKILL.md → requirement-assistant/guide.md} +4 -5
  167. package/bundled/locales/zh-CN/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-checklist.md +3 -3
  168. package/bundled/locales/zh-CN/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-writing.md +3 -3
  169. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +67 -0
  170. package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer → reverse-engineer}/bdd-extraction.md +2 -2
  171. package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer/SKILL.md → reverse-engineer/guide.md} +17 -18
  172. package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer → reverse-engineer}/tdd-analysis.md +2 -2
  173. package/bundled/locales/zh-CN/skills/{claude-code/reverse-engineer → reverse-engineer}/workflow.md +3 -3
  174. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +75 -0
  175. package/bundled/locales/zh-CN/skills/{claude-code/spec-driven-dev/SKILL.md → spec-driven-dev/guide.md} +10 -11
  176. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +66 -0
  177. package/bundled/locales/zh-CN/skills/{claude-code/tdd-assistant/SKILL.md → tdd-assistant/guide.md} +12 -16
  178. package/bundled/locales/zh-CN/skills/{claude-code/tdd-assistant → tdd-assistant}/language-examples.md +3 -3
  179. package/bundled/locales/zh-CN/skills/{claude-code/tdd-assistant → tdd-assistant}/tdd-workflow.md +3 -3
  180. package/bundled/locales/zh-CN/skills/test-coverage-assistant/SKILL.md +65 -0
  181. package/bundled/locales/zh-CN/skills/test-coverage-assistant/guide.md +284 -0
  182. package/bundled/locales/zh-CN/skills/{claude-code/testing-guide → testing-guide}/SKILL.md +8 -8
  183. package/bundled/locales/zh-CN/skills/{claude-code/testing-guide → testing-guide}/testing-pyramid.md +4 -4
  184. package/bundled/locales/zh-CN/skills/{cline → tools/cline}/README.md +1 -1
  185. package/bundled/locales/zh-CN/skills/{copilot → tools/copilot}/README.md +1 -1
  186. package/bundled/locales/zh-CN/skills/{copilot → tools/copilot}/copilot-instructions.md +1 -1
  187. package/bundled/locales/zh-CN/skills/{cursor → tools/cursor}/README.md +1 -1
  188. package/bundled/locales/zh-CN/skills/{windsurf → tools/windsurf}/README.md +1 -1
  189. package/bundled/locales/zh-TW/CHANGELOG.md +16 -16
  190. package/bundled/locales/zh-TW/CLAUDE.md +3 -3
  191. package/bundled/locales/zh-TW/MAINTENANCE.md +7 -7
  192. package/bundled/locales/zh-TW/README.md +13 -7
  193. package/bundled/locales/zh-TW/STANDARDS-MAPPING.md +1 -1
  194. package/bundled/locales/zh-TW/adoption/ADOPTION-GUIDE.md +4 -4
  195. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +66 -7
  196. package/bundled/locales/zh-TW/adoption/STATIC-DYNAMIC-GUIDE.md +22 -22
  197. package/bundled/locales/zh-TW/adoption/checklists/enterprise.md +5 -5
  198. package/bundled/locales/zh-TW/adoption/checklists/minimal.md +4 -4
  199. package/bundled/locales/zh-TW/adoption/checklists/recommended.md +5 -5
  200. package/bundled/locales/zh-TW/ai/MAINTENANCE.md +13 -13
  201. package/bundled/locales/zh-TW/ai/standards/anti-hallucination.ai.yaml +3 -2
  202. package/bundled/locales/zh-TW/ai/standards/git-workflow.ai.yaml +4 -3
  203. package/bundled/locales/zh-TW/ai/standards/spec-driven-development.ai.yaml +3 -3
  204. package/bundled/locales/zh-TW/ai/standards/testing.ai.yaml +1 -0
  205. package/bundled/locales/zh-TW/core/ai-instruction-standards.md +1 -1
  206. package/bundled/locales/zh-TW/core/anti-hallucination.md +38 -701
  207. package/bundled/locales/zh-TW/core/changelog-standards.md +1 -1
  208. package/bundled/locales/zh-TW/core/checkin-standards.md +18 -5
  209. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  210. package/bundled/locales/zh-TW/core/commit-message-guide.md +1 -1
  211. package/bundled/locales/zh-TW/core/developer-memory.md +576 -0
  212. package/bundled/locales/zh-TW/core/documentation-structure.md +115 -22
  213. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +126 -5
  214. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +2 -2
  215. package/bundled/locales/zh-TW/core/git-workflow.md +38 -812
  216. package/bundled/locales/zh-TW/core/guides/anti-hallucination-guide.md +779 -0
  217. package/bundled/locales/zh-TW/core/guides/git-workflow-guide.md +1016 -0
  218. package/bundled/locales/zh-TW/core/guides/refactoring-guide.md +864 -0
  219. package/bundled/locales/zh-TW/core/guides/testing-guide.md +2280 -0
  220. package/bundled/locales/zh-TW/core/logging-standards.md +159 -4
  221. package/bundled/locales/zh-TW/core/project-structure.md +102 -9
  222. package/bundled/locales/zh-TW/core/refactoring-standards.md +37 -823
  223. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +6 -6
  224. package/bundled/locales/zh-TW/core/spec-driven-development.md +17 -268
  225. package/bundled/locales/zh-TW/core/test-completeness-dimensions.md +128 -14
  226. package/bundled/locales/zh-TW/core/test-driven-development.md +20 -983
  227. package/bundled/locales/zh-TW/core/testing-standards.md +120 -2105
  228. package/bundled/locales/zh-TW/core/versioning.md +13 -55
  229. package/bundled/locales/zh-TW/docs/AI-AGENT-ROADMAP.md +90 -51
  230. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +184 -0
  231. package/bundled/locales/zh-TW/docs/CLI-FLOW.md +239 -0
  232. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +320 -0
  233. package/bundled/locales/zh-TW/docs/MIGRATION-V5.md +71 -0
  234. package/bundled/locales/zh-TW/docs/OPERATION-WORKFLOW.md +42 -42
  235. package/bundled/locales/zh-TW/docs/STANDARDS-REFERENCE.md +440 -0
  236. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +1 -1
  237. package/bundled/locales/zh-TW/docs/WINDOWS-GUIDE.md +1 -1
  238. package/bundled/locales/zh-TW/integrations/claude-code/README.md +44 -0
  239. package/bundled/locales/zh-TW/integrations/github-copilot/copilot-instructions.md +3 -3
  240. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +18 -6
  241. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +22 -10
  242. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +338 -0
  243. package/bundled/locales/zh-TW/methodologies/guides/tdd-guide.md +1055 -0
  244. package/bundled/locales/zh-TW/options/commit-message/bilingual.md +1 -1
  245. package/bundled/locales/zh-TW/options/commit-message/english.md +1 -1
  246. package/bundled/locales/zh-TW/options/commit-message/traditional-chinese.md +1 -1
  247. package/bundled/locales/zh-TW/options/git-workflow/gitflow.md +1 -1
  248. package/bundled/locales/zh-TW/options/git-workflow/github-flow.md +1 -1
  249. package/bundled/locales/zh-TW/options/git-workflow/merge-commit.md +1 -1
  250. package/bundled/locales/zh-TW/options/git-workflow/rebase-ff.md +1 -1
  251. package/bundled/locales/zh-TW/options/git-workflow/squash-merge.md +1 -1
  252. package/bundled/locales/zh-TW/options/git-workflow/trunk-based.md +1 -1
  253. package/bundled/locales/zh-TW/options/project-structure/dotnet.md +1 -1
  254. package/bundled/locales/zh-TW/options/project-structure/go.md +1 -1
  255. package/bundled/locales/zh-TW/options/project-structure/java.md +1 -1
  256. package/bundled/locales/zh-TW/options/project-structure/nodejs.md +1 -1
  257. package/bundled/locales/zh-TW/options/project-structure/python.md +1 -1
  258. package/bundled/locales/zh-TW/options/testing/e2e-testing.md +1 -1
  259. package/bundled/locales/zh-TW/options/testing/integration-testing.md +1 -1
  260. package/bundled/locales/zh-TW/options/testing/system-testing.md +1 -1
  261. package/bundled/locales/zh-TW/options/testing/unit-testing.md +1 -1
  262. package/bundled/locales/zh-TW/skills/{claude-code/CONTRIBUTING.template.md → CONTRIBUTING.template.md} +2 -2
  263. package/bundled/locales/zh-TW/skills/README.md +131 -79
  264. package/bundled/locales/zh-TW/skills/agents/README.md +281 -0
  265. package/bundled/locales/zh-TW/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/SKILL.md +7 -7
  266. package/bundled/locales/zh-TW/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/anti-hallucination.md +8 -8
  267. package/bundled/locales/zh-TW/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/certainty-labels.md +8 -8
  268. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +221 -0
  269. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +214 -0
  270. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +71 -0
  271. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +428 -0
  272. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +484 -0
  273. package/bundled/locales/zh-TW/skills/atdd-assistant/guide.md +368 -0
  274. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +68 -0
  275. package/bundled/locales/zh-TW/skills/bdd-assistant/bdd-workflow.md +406 -0
  276. package/bundled/locales/zh-TW/skills/bdd-assistant/gherkin-guide.md +454 -0
  277. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +324 -0
  278. package/bundled/locales/zh-TW/skills/changelog-guide/SKILL.md +64 -0
  279. package/bundled/locales/zh-TW/skills/{claude-code/changelog-guide/SKILL.md → changelog-guide/guide.md} +6 -7
  280. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +56 -0
  281. package/bundled/locales/zh-TW/skills/{claude-code/checkin-assistant/SKILL.md → checkin-assistant/guide.md} +6 -7
  282. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +56 -0
  283. package/bundled/locales/zh-TW/skills/{claude-code/code-review-assistant → code-review-assistant}/checkin-checklist.md +4 -4
  284. package/bundled/locales/zh-TW/skills/{claude-code/code-review-assistant/SKILL.md → code-review-assistant/guide.md} +2 -3
  285. package/bundled/locales/zh-TW/skills/{claude-code/code-review-assistant → code-review-assistant}/review-checklist.md +4 -4
  286. package/bundled/locales/zh-TW/skills/{claude-code/commands → commands}/bdd.md +2 -2
  287. package/bundled/locales/zh-TW/skills/{claude-code/commands → commands}/methodology.md +3 -3
  288. package/bundled/locales/zh-TW/skills/{claude-code/commands → commands}/refactor.md +3 -3
  289. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +61 -0
  290. package/bundled/locales/zh-TW/skills/{claude-code/commit-standards → commit-standards}/conventional-commits.md +4 -4
  291. package/bundled/locales/zh-TW/skills/{claude-code/commit-standards/SKILL.md → commit-standards/guide.md} +5 -6
  292. package/bundled/locales/zh-TW/skills/{claude-code/commit-standards → commit-standards}/language-options.md +3 -3
  293. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +59 -0
  294. package/bundled/locales/zh-TW/skills/docs-generator/guide.md +262 -0
  295. package/bundled/locales/zh-TW/skills/{claude-code/documentation-guide → documentation-guide}/SKILL.md +7 -8
  296. package/bundled/locales/zh-TW/skills/{claude-code/documentation-guide → documentation-guide}/documentation-structure.md +4 -4
  297. package/bundled/locales/zh-TW/skills/{claude-code/documentation-guide → documentation-guide}/readme-template.md +3 -3
  298. package/bundled/locales/zh-TW/skills/{claude-code/error-code-guide → error-code-guide}/SKILL.md +6 -6
  299. package/bundled/locales/zh-TW/skills/forward-derivation/SKILL.md +62 -0
  300. package/bundled/locales/zh-TW/skills/{claude-code/forward-derivation/SKILL.md → forward-derivation/guide.md} +24 -19
  301. package/bundled/locales/zh-TW/skills/{claude-code/git-workflow-guide → git-workflow-guide}/SKILL.md +3 -3
  302. package/bundled/locales/zh-TW/skills/{claude-code/git-workflow-guide → git-workflow-guide}/branch-naming.md +3 -3
  303. package/bundled/locales/zh-TW/skills/{claude-code/git-workflow-guide → git-workflow-guide}/git-workflow.md +4 -4
  304. package/bundled/locales/zh-TW/skills/{claude-code/logging-guide → logging-guide}/SKILL.md +6 -6
  305. package/bundled/locales/zh-TW/skills/methodology-system/SKILL.md +78 -0
  306. package/bundled/locales/zh-TW/skills/{claude-code/methodology-system → methodology-system}/create-methodology.md +2 -2
  307. package/bundled/locales/zh-TW/skills/{claude-code/methodology-system/SKILL.md → methodology-system/guide.md} +2 -2
  308. package/bundled/locales/zh-TW/skills/{claude-code/methodology-system → methodology-system}/runtime.md +3 -3
  309. package/bundled/locales/zh-TW/skills/project-discovery/SKILL.md +66 -0
  310. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +371 -0
  311. package/bundled/locales/zh-TW/skills/project-discovery/workflow.md +574 -0
  312. package/bundled/locales/zh-TW/skills/{claude-code/project-structure-guide → project-structure-guide}/SKILL.md +4 -4
  313. package/bundled/locales/zh-TW/skills/{claude-code/project-structure-guide → project-structure-guide}/language-patterns.md +1 -1
  314. package/bundled/locales/zh-TW/skills/refactoring-assistant/SKILL.md +67 -0
  315. package/bundled/locales/zh-TW/skills/{claude-code/refactoring-assistant/SKILL.md → refactoring-assistant/guide.md} +7 -8
  316. package/bundled/locales/zh-TW/skills/release-standards/SKILL.md +64 -0
  317. package/bundled/locales/zh-TW/skills/{claude-code/release-standards → release-standards}/changelog-format.md +3 -3
  318. package/bundled/locales/zh-TW/skills/{claude-code/release-standards/SKILL.md → release-standards/guide.md} +2 -3
  319. package/bundled/locales/zh-TW/skills/{claude-code/release-standards → release-standards}/release-workflow.md +60 -28
  320. package/bundled/locales/zh-TW/skills/{claude-code/release-standards → release-standards}/semantic-versioning.md +3 -3
  321. package/bundled/locales/zh-TW/skills/requirement-assistant/SKILL.md +67 -0
  322. package/bundled/locales/zh-TW/skills/{claude-code/requirement-assistant/SKILL.md → requirement-assistant/guide.md} +2 -3
  323. package/bundled/locales/zh-TW/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-checklist.md +3 -3
  324. package/bundled/locales/zh-TW/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-writing.md +3 -3
  325. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +67 -0
  326. package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer → reverse-engineer}/bdd-extraction.md +2 -2
  327. package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer/SKILL.md → reverse-engineer/guide.md} +17 -18
  328. package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer → reverse-engineer}/tdd-analysis.md +2 -2
  329. package/bundled/locales/zh-TW/skills/{claude-code/reverse-engineer → reverse-engineer}/workflow.md +3 -3
  330. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +75 -0
  331. package/bundled/locales/zh-TW/skills/{claude-code/spec-driven-dev/SKILL.md → spec-driven-dev/guide.md} +9 -10
  332. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +66 -0
  333. package/bundled/locales/zh-TW/skills/{claude-code/tdd-assistant/SKILL.md → tdd-assistant/guide.md} +9 -10
  334. package/bundled/locales/zh-TW/skills/{claude-code/tdd-assistant → tdd-assistant}/language-examples.md +3 -3
  335. package/bundled/locales/zh-TW/skills/{claude-code/tdd-assistant → tdd-assistant}/tdd-workflow.md +3 -3
  336. package/bundled/locales/zh-TW/skills/test-coverage-assistant/SKILL.md +65 -0
  337. package/bundled/locales/zh-TW/skills/{claude-code/test-coverage-assistant/SKILL.md → test-coverage-assistant/guide.md} +27 -24
  338. package/bundled/locales/zh-TW/skills/{claude-code/testing-guide → testing-guide}/SKILL.md +6 -6
  339. package/bundled/locales/zh-TW/skills/{claude-code/testing-guide → testing-guide}/testing-pyramid.md +4 -4
  340. package/bundled/locales/zh-TW/skills/{cline → tools/cline}/README.md +1 -1
  341. package/bundled/locales/zh-TW/skills/{copilot → tools/copilot}/README.md +1 -1
  342. package/bundled/locales/zh-TW/skills/{copilot → tools/copilot}/copilot-instructions.md +1 -1
  343. package/bundled/locales/zh-TW/skills/{cursor → tools/cursor}/README.md +1 -1
  344. package/bundled/locales/zh-TW/skills/{windsurf → tools/windsurf}/README.md +1 -1
  345. package/bundled/skills/INTEGRATION-GUIDE.md +210 -0
  346. package/bundled/skills/README.md +95 -0
  347. package/bundled/skills/_shared/README.md +60 -0
  348. package/bundled/skills/{claude-code/agents → agents}/README.md +2 -2
  349. package/bundled/skills/{claude-code/agents → agents}/code-architect.md +1 -1
  350. package/bundled/skills/{claude-code/agents → agents}/doc-writer.md +1 -1
  351. package/bundled/skills/{claude-code/agents → agents}/reviewer.md +1 -1
  352. package/bundled/skills/{claude-code/agents → agents}/spec-analyst.md +1 -1
  353. package/bundled/skills/{claude-code/agents → agents}/test-specialist.md +1 -1
  354. package/bundled/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/SKILL.md +28 -5
  355. package/bundled/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/anti-hallucination.md +24 -5
  356. package/bundled/skills/{claude-code/ai-collaboration-standards → ai-collaboration-standards}/certainty-labels.md +31 -6
  357. package/bundled/skills/ai-friendly-architecture/SKILL.md +216 -0
  358. package/bundled/skills/ai-instruction-standards/SKILL.md +209 -0
  359. package/bundled/skills/atdd-assistant/SKILL.md +74 -0
  360. package/bundled/skills/{claude-code/atdd-assistant → atdd-assistant}/acceptance-criteria-guide.md +1 -1
  361. package/bundled/skills/{claude-code/atdd-assistant → atdd-assistant}/atdd-workflow.md +1 -1
  362. package/bundled/skills/{claude-code/atdd-assistant/SKILL.md → atdd-assistant/guide.md} +11 -11
  363. package/bundled/skills/bdd-assistant/SKILL.md +70 -0
  364. package/bundled/skills/{claude-code/bdd-assistant → bdd-assistant}/bdd-workflow.md +1 -1
  365. package/bundled/skills/{claude-code/bdd-assistant → bdd-assistant}/gherkin-guide.md +1 -1
  366. package/bundled/skills/{claude-code/bdd-assistant/SKILL.md → bdd-assistant/guide.md} +11 -11
  367. package/bundled/skills/changelog-guide/SKILL.md +66 -0
  368. package/bundled/skills/{claude-code/changelog-guide/SKILL.md → changelog-guide/guide.md} +8 -6
  369. package/bundled/skills/checkin-assistant/SKILL.md +52 -0
  370. package/bundled/skills/{claude-code/checkin-assistant/SKILL.md → checkin-assistant/guide.md} +6 -6
  371. package/bundled/skills/code-review-assistant/SKILL.md +53 -0
  372. package/bundled/skills/{claude-code/code-review-assistant → code-review-assistant}/checkin-checklist.md +3 -3
  373. package/bundled/skills/{claude-code/code-review-assistant/SKILL.md → code-review-assistant/guide.md} +7 -5
  374. package/bundled/skills/{claude-code/code-review-assistant → code-review-assistant}/review-checklist.md +3 -3
  375. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +290 -0
  376. package/bundled/skills/{claude-code/commands → commands}/README.md +13 -3
  377. package/bundled/skills/{claude-code/commands → commands}/atdd.md +3 -3
  378. package/bundled/skills/{claude-code/commands → commands}/bdd.md +2 -2
  379. package/bundled/skills/commands/changelog.md +58 -0
  380. package/bundled/skills/{claude-code/commands → commands}/check.md +1 -1
  381. package/bundled/skills/commands/checkin.md +53 -0
  382. package/bundled/skills/{claude-code/commands → commands}/commit.md +3 -3
  383. package/bundled/skills/{claude-code/commands → commands}/config.md +1 -1
  384. package/bundled/skills/{claude-code/commands → commands}/coverage.md +5 -4
  385. package/bundled/skills/commands/derive-all.md +53 -0
  386. package/bundled/skills/commands/derive-atdd.md +49 -0
  387. package/bundled/skills/commands/derive-bdd.md +47 -0
  388. package/bundled/skills/commands/derive-tdd.md +48 -0
  389. package/bundled/skills/commands/derive.md +72 -0
  390. package/bundled/skills/commands/discover.md +80 -0
  391. package/bundled/skills/commands/docgen.md +61 -0
  392. package/bundled/skills/commands/docs.md +59 -0
  393. package/bundled/skills/commands/guide.md +44 -0
  394. package/bundled/skills/{claude-code/commands → commands}/init.md +2 -2
  395. package/bundled/skills/{claude-code/commands → commands}/methodology.md +32 -16
  396. package/bundled/skills/{claude-code/commands → commands}/refactor.md +2 -2
  397. package/bundled/skills/commands/release.md +56 -0
  398. package/bundled/skills/{claude-code/commands → commands}/requirement.md +3 -3
  399. package/bundled/skills/commands/reverse-bdd.md +47 -0
  400. package/bundled/skills/commands/reverse-sdd.md +51 -0
  401. package/bundled/skills/commands/reverse-tdd.md +51 -0
  402. package/bundled/skills/commands/reverse.md +63 -0
  403. package/bundled/skills/{claude-code/commands → commands}/review.md +3 -3
  404. package/bundled/skills/commands/sdd.md +135 -0
  405. package/bundled/skills/{claude-code/commands → commands}/tdd.md +3 -3
  406. package/bundled/skills/{claude-code/commands → commands}/update.md +2 -2
  407. package/bundled/skills/commit-standards/SKILL.md +60 -0
  408. package/bundled/skills/{claude-code/commit-standards → commit-standards}/conventional-commits.md +3 -3
  409. package/bundled/skills/{claude-code/commit-standards/SKILL.md → commit-standards/guide.md} +17 -5
  410. package/bundled/skills/{claude-code/commit-standards → commit-standards}/language-options.md +2 -2
  411. package/bundled/skills/docs-generator/SKILL.md +69 -0
  412. package/bundled/skills/docs-generator/guide.md +258 -0
  413. package/bundled/skills/{claude-code/documentation-guide → documentation-guide}/SKILL.md +7 -7
  414. package/bundled/skills/{claude-code/documentation-guide → documentation-guide}/documentation-structure.md +3 -3
  415. package/bundled/skills/{claude-code/documentation-guide → documentation-guide}/readme-template.md +2 -2
  416. package/bundled/skills/{claude-code/error-code-guide → error-code-guide}/SKILL.md +7 -5
  417. package/bundled/skills/forward-derivation/SKILL.md +61 -0
  418. package/bundled/skills/{claude-code/forward-derivation/SKILL.md → forward-derivation/guide.md} +44 -29
  419. package/bundled/skills/{claude-code/git-workflow-guide → git-workflow-guide}/SKILL.md +7 -5
  420. package/bundled/skills/{claude-code/git-workflow-guide → git-workflow-guide}/branch-naming.md +2 -2
  421. package/bundled/skills/{claude-code/git-workflow-guide → git-workflow-guide}/git-workflow.md +3 -3
  422. package/bundled/skills/{claude-code/logging-guide → logging-guide}/SKILL.md +7 -5
  423. package/bundled/skills/methodology-system/SKILL.md +75 -0
  424. package/bundled/skills/{claude-code/methodology-system → methodology-system}/create-methodology.md +1 -1
  425. package/bundled/skills/{claude-code/methodology-system/SKILL.md → methodology-system/guide.md} +51 -16
  426. package/bundled/skills/methodology-system/integrated-flow.md +454 -0
  427. package/bundled/skills/{claude-code/methodology-system → methodology-system}/runtime.md +2 -2
  428. package/bundled/skills/project-discovery/SKILL.md +63 -0
  429. package/bundled/skills/project-discovery/guide.md +367 -0
  430. package/bundled/skills/project-discovery/workflow.md +566 -0
  431. package/bundled/skills/{claude-code/project-structure-guide → project-structure-guide}/SKILL.md +14 -4
  432. package/bundled/skills/refactoring-assistant/SKILL.md +78 -0
  433. package/bundled/skills/{claude-code/refactoring-assistant/SKILL.md → refactoring-assistant/guide.md} +7 -7
  434. package/bundled/skills/release-standards/SKILL.md +61 -0
  435. package/bundled/skills/{claude-code/release-standards → release-standards}/changelog-format.md +2 -2
  436. package/bundled/skills/{claude-code/release-standards/SKILL.md → release-standards/guide.md} +7 -5
  437. package/bundled/skills/{claude-code/release-standards → release-standards}/release-workflow.md +59 -24
  438. package/bundled/skills/{claude-code/release-standards → release-standards}/semantic-versioning.md +2 -2
  439. package/bundled/skills/requirement-assistant/SKILL.md +66 -0
  440. package/bundled/skills/{claude-code/requirement-assistant/SKILL.md → requirement-assistant/guide.md} +14 -6
  441. package/bundled/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-checklist.md +2 -2
  442. package/bundled/skills/{claude-code/requirement-assistant → requirement-assistant}/requirement-writing.md +2 -2
  443. package/bundled/skills/reverse-engineer/SKILL.md +64 -0
  444. package/bundled/skills/{claude-code/reverse-engineer → reverse-engineer}/bdd-extraction.md +1 -1
  445. package/bundled/skills/{claude-code/reverse-engineer/SKILL.md → reverse-engineer/guide.md} +21 -18
  446. package/bundled/skills/{claude-code/reverse-engineer → reverse-engineer}/tdd-analysis.md +1 -1
  447. package/bundled/skills/{claude-code/reverse-engineer → reverse-engineer}/workflow.md +2 -2
  448. package/bundled/skills/spec-driven-dev/SKILL.md +80 -0
  449. package/bundled/skills/{claude-code/spec-driven-dev/SKILL.md → spec-driven-dev/guide.md} +50 -8
  450. package/bundled/skills/tdd-assistant/SKILL.md +65 -0
  451. package/bundled/skills/{claude-code/tdd-assistant/SKILL.md → tdd-assistant/guide.md} +10 -10
  452. package/bundled/skills/{claude-code/tdd-assistant → tdd-assistant}/language-examples.md +3 -3
  453. package/bundled/skills/{claude-code/tdd-assistant → tdd-assistant}/tdd-workflow.md +2 -2
  454. package/bundled/skills/test-coverage-assistant/SKILL.md +63 -0
  455. package/bundled/skills/{claude-code/test-coverage-assistant/SKILL.md → test-coverage-assistant/guide.md} +39 -24
  456. package/bundled/skills/{claude-code/testing-guide → testing-guide}/SKILL.md +12 -7
  457. package/bundled/skills/{claude-code/testing-guide → testing-guide}/testing-pyramid.md +3 -3
  458. package/bundled/skills/testing-guide/testing-theory.md +2291 -0
  459. package/bundled/skills/tools/cline/.clinerules +79 -0
  460. package/bundled/skills/tools/cline/README.md +50 -0
  461. package/bundled/skills/tools/copilot/README.md +99 -0
  462. package/bundled/skills/tools/copilot/copilot-instructions.md +71 -0
  463. package/bundled/skills/tools/cursor/.cursorrules +101 -0
  464. package/bundled/skills/tools/cursor/README.md +50 -0
  465. package/bundled/skills/tools/windsurf/.windsurfrules +76 -0
  466. package/bundled/skills/tools/windsurf/README.md +51 -0
  467. package/bundled/skills/{claude-code/workflows → workflows}/README.md +1 -1
  468. package/bundled/skills/workflows/release.workflow.yaml +893 -0
  469. package/package.json +4 -1
  470. package/src/commands/check.js +195 -130
  471. package/src/commands/config.js +1262 -0
  472. package/src/commands/configure.js +3 -950
  473. package/src/commands/fix.js +53 -0
  474. package/src/commands/hitl.js +19 -0
  475. package/src/commands/init.js +320 -1030
  476. package/src/commands/list.js +1 -1
  477. package/src/commands/simulate.js +61 -0
  478. package/src/commands/spec.js +288 -0
  479. package/src/commands/start.js +373 -0
  480. package/src/commands/sweep.js +142 -0
  481. package/src/commands/update.js +136 -19
  482. package/src/commands/workflow.js +265 -1
  483. package/src/config/ai-agent-paths.js +89 -29
  484. package/src/core/constants.js +7 -1
  485. package/src/core/manifest.js +1 -0
  486. package/src/flows/init-flow.js +243 -0
  487. package/src/hitl/checkpoint.js +80 -0
  488. package/src/hitl/classifier.js +54 -0
  489. package/src/hitl/manager.js +88 -0
  490. package/src/i18n/messages.js +907 -99
  491. package/src/index.js +1 -0
  492. package/src/installers/integration-installer.js +237 -0
  493. package/src/installers/manifest-installer.js +131 -0
  494. package/src/installers/skills-installer.js +286 -0
  495. package/src/installers/standards-installer.js +193 -0
  496. package/src/missions/MissionManager.js +501 -0
  497. package/src/prompts/init.js +228 -130
  498. package/src/prompts/integrations.js +13 -1
  499. package/src/schemas/standard.schema.json +117 -0
  500. package/src/utils/agents-installer.js +2 -2
  501. package/src/utils/config-loader.js +47 -0
  502. package/src/utils/config-manager.js +108 -0
  503. package/src/utils/config-merger.js +47 -0
  504. package/src/utils/github.js +22 -18
  505. package/src/utils/inquirer-patch.js +98 -0
  506. package/src/utils/integration-generator.js +392 -58
  507. package/src/utils/reference-sync.js +69 -19
  508. package/src/utils/skills-installer.js +6 -3
  509. package/src/utils/standard-fixer.js +141 -0
  510. package/src/utils/standard-validator.js +329 -0
  511. package/src/utils/workflow-executor.js +886 -0
  512. package/src/utils/workflow-state.js +404 -0
  513. package/src/utils/workflows-installer.js +2 -2
  514. package/src/vibe/auto-sweep.js +349 -0
  515. package/src/vibe/micro-spec.js +428 -0
  516. package/standards-registry.json +278 -102
  517. package/bundled/locales/zh-CN/skills/claude-code/README.md +0 -174
  518. package/bundled/locales/zh-CN/skills/claude-code/test-coverage-assistant/SKILL.md +0 -282
  519. package/bundled/locales/zh-TW/skills/claude-code/README.md +0 -174
  520. package/bundled/skills/claude-code/README.md +0 -215
  521. package/bundled/skills/claude-code/commands/changelog.md +0 -57
  522. package/bundled/skills/claude-code/commands/derive-all.md +0 -214
  523. package/bundled/skills/claude-code/commands/derive-atdd.md +0 -177
  524. package/bundled/skills/claude-code/commands/derive-bdd.md +0 -158
  525. package/bundled/skills/claude-code/commands/derive-tdd.md +0 -259
  526. package/bundled/skills/claude-code/commands/docs.md +0 -75
  527. package/bundled/skills/claude-code/commands/release.md +0 -50
  528. package/bundled/skills/claude-code/commands/reverse-bdd.md +0 -264
  529. package/bundled/skills/claude-code/commands/reverse-spec.md +0 -185
  530. package/bundled/skills/claude-code/commands/reverse-tdd.md +0 -351
  531. package/bundled/skills/claude-code/commands/spec.md +0 -69
  532. package/bundled/skills/claude-code/methodology-system/integrated-flow.md +0 -322
  533. /package/bundled/skills/{claude-code/CONTRIBUTING.template.md → CONTRIBUTING.template.md} +0 -0
  534. /package/bundled/skills/{claude-code/ai → ai}/standards/checkin.ai.yaml +0 -0
  535. /package/bundled/skills/{claude-code/ai → ai}/standards/commit.ai.yaml +0 -0
  536. /package/bundled/skills/{claude-code/ai → ai}/standards/refactoring.ai.yaml +0 -0
  537. /package/bundled/skills/{claude-code/ai → ai}/standards/testing.ai.yaml +0 -0
  538. /package/bundled/skills/{claude-code/project-structure-guide → project-structure-guide}/language-patterns.md +0 -0
  539. /package/bundled/skills/{claude-code/workflows → workflows}/code-review.workflow.yaml +0 -0
  540. /package/bundled/skills/{claude-code/workflows → workflows}/feature-dev.workflow.yaml +0 -0
  541. /package/bundled/skills/{claude-code/workflows → workflows}/integrated-flow.workflow.yaml +0 -0
  542. /package/bundled/skills/{claude-code/workflows → workflows}/large-codebase-analysis.workflow.yaml +0 -0
@@ -9,21 +9,26 @@
9
9
  * Based on standards-registry.json and RULE_TEMPLATES in integration-generator.js
10
10
  */
11
11
  export const CATEGORY_TO_STANDARDS = {
12
- 'anti-hallucination': ['core/anti-hallucination.md'],
12
+ 'anti-hallucination': ['core/anti-hallucination.md', 'core/guides/anti-hallucination-guide.md'],
13
13
  'commit-standards': ['core/commit-message-guide.md'],
14
14
  'code-review': ['core/code-review-checklist.md', 'core/checkin-standards.md'],
15
- 'spec-driven-development': ['core/spec-driven-development.md'],
16
- 'testing': ['core/testing-standards.md'],
15
+ 'spec-driven-development': ['core/spec-driven-development.md', 'methodologies/guides/sdd-guide.md'],
16
+ 'testing': ['core/testing-standards.md', 'skills/testing-guide/testing-theory.md'],
17
17
  'documentation': ['core/documentation-structure.md'],
18
- 'git-workflow': ['core/git-workflow.md'],
18
+ 'git-workflow': ['core/git-workflow.md', 'core/guides/git-workflow-guide.md'],
19
19
  'error-handling': ['core/error-code-standards.md', 'core/logging-standards.md'],
20
- 'project-structure': ['core/project-structure.md']
20
+ 'project-structure': ['core/project-structure.md'],
21
+ 'refactoring': ['core/refactoring-standards.md', 'core/guides/refactoring-guide.md'],
22
+ 'requirement': ['core/requirement-engineering.md', 'methodologies/guides/requirement-engineering-guide.md'],
23
+ 'developer-memory': ['core/developer-memory.md'],
24
+ 'project-context-memory': ['core/project-context-memory.md']
21
25
  };
22
26
 
23
27
  /**
24
28
  * Reverse mapping from standard filename to category ID
25
29
  */
26
30
  export const STANDARD_TO_CATEGORY = {
31
+ // Core Rules (human .md format)
27
32
  'anti-hallucination.md': 'anti-hallucination',
28
33
  'commit-message-guide.md': 'commit-standards',
29
34
  'code-review-checklist.md': 'code-review',
@@ -34,7 +39,34 @@ export const STANDARD_TO_CATEGORY = {
34
39
  'git-workflow.md': 'git-workflow',
35
40
  'error-code-standards.md': 'error-handling',
36
41
  'logging-standards.md': 'error-handling',
37
- 'project-structure.md': 'project-structure'
42
+ 'project-structure.md': 'project-structure',
43
+ 'refactoring-standards.md': 'refactoring',
44
+ 'requirement-engineering.md': 'requirement',
45
+ 'developer-memory.md': 'developer-memory',
46
+ 'project-context-memory.md': 'project-context-memory',
47
+ // Core Rules (AI .ai.yaml format)
48
+ 'anti-hallucination.ai.yaml': 'anti-hallucination',
49
+ 'commit-message.ai.yaml': 'commit-standards',
50
+ 'code-review.ai.yaml': 'code-review',
51
+ 'checkin-standards.ai.yaml': 'code-review',
52
+ 'spec-driven-development.ai.yaml': 'spec-driven-development',
53
+ 'testing.ai.yaml': 'testing',
54
+ 'documentation-structure.ai.yaml': 'documentation',
55
+ 'git-workflow.ai.yaml': 'git-workflow',
56
+ 'error-codes.ai.yaml': 'error-handling',
57
+ 'logging.ai.yaml': 'error-handling',
58
+ 'project-structure.ai.yaml': 'project-structure',
59
+ 'refactoring-standards.ai.yaml': 'refactoring',
60
+ 'requirement-engineering.ai.yaml': 'requirement',
61
+ 'developer-memory.ai.yaml': 'developer-memory',
62
+ 'project-context-memory.ai.yaml': 'project-context-memory',
63
+ // Guides (educational content)
64
+ 'anti-hallucination-guide.md': 'anti-hallucination',
65
+ 'sdd-guide.md': 'spec-driven-development',
66
+ 'testing-theory.md': 'testing',
67
+ 'git-workflow-guide.md': 'git-workflow',
68
+ 'refactoring-guide.md': 'refactoring',
69
+ 'requirement-engineering-guide.md': 'requirement'
38
70
  };
39
71
 
40
72
  /**
@@ -92,26 +124,43 @@ export function getStandardCategory(sourcePath) {
92
124
  * - syncedRefs: Standards that are properly synced
93
125
  */
94
126
  export function compareStandardsWithReferences(manifestStandards, integrationReferences) {
95
- // Get filenames from manifest standards (only those that have category mappings)
96
- const manifestFileNames = new Set();
127
+ // Compare at category level to handle .md vs .ai.yaml format differences
128
+ // e.g., manifest has 'anti-hallucination.ai.yaml' but integration references 'anti-hallucination.md'
129
+ const manifestCategories = new Set();
97
130
  for (const std of manifestStandards) {
98
131
  const fileName = std.split('/').pop();
99
- // Only include standards that are part of the category system
100
- if (STANDARD_TO_CATEGORY[fileName]) {
101
- manifestFileNames.add(fileName);
132
+ const category = STANDARD_TO_CATEGORY[fileName];
133
+ if (category) {
134
+ manifestCategories.add(category);
102
135
  }
103
136
  }
104
137
 
105
- const refSet = new Set(integrationReferences);
106
-
107
- // References in integration file but not in manifest
108
- const orphanedRefs = integrationReferences.filter(ref => !manifestFileNames.has(ref));
138
+ // References in integration file but not backed by any manifest standard (by category)
139
+ const orphanedRefs = integrationReferences.filter(ref => {
140
+ const category = STANDARD_TO_CATEGORY[ref];
141
+ return !category || !manifestCategories.has(category);
142
+ });
109
143
 
110
- // Standards in manifest but not referenced
111
- const missingRefs = [...manifestFileNames].filter(fileName => !refSet.has(fileName));
144
+ // Categories in manifest but not referenced in integration file
145
+ const refCategories = new Set();
146
+ for (const ref of integrationReferences) {
147
+ const category = STANDARD_TO_CATEGORY[ref];
148
+ if (category) {
149
+ refCategories.add(category);
150
+ }
151
+ }
152
+ const missingCategories = [...manifestCategories].filter(cat => !refCategories.has(cat));
153
+ // Convert missing categories back to representative filenames for reporting
154
+ const missingRefs = missingCategories.flatMap(cat => {
155
+ const paths = CATEGORY_TO_STANDARDS[cat] || [];
156
+ return paths.map(p => p.split('/').pop());
157
+ });
112
158
 
113
159
  // Properly synced references
114
- const syncedRefs = integrationReferences.filter(ref => manifestFileNames.has(ref));
160
+ const syncedRefs = integrationReferences.filter(ref => {
161
+ const category = STANDARD_TO_CATEGORY[ref];
162
+ return category && manifestCategories.has(category);
163
+ });
115
164
 
116
165
  return { orphanedRefs, missingRefs, syncedRefs };
117
166
  }
@@ -182,7 +231,8 @@ export function getToolFromPath(integrationPath) {
182
231
  '.github/copilot-instructions.md': 'copilot',
183
232
  'INSTRUCTIONS.md': 'antigravity',
184
233
  'CLAUDE.md': 'claude-code',
185
- '.standards/CLAUDE.md': 'claude-code'
234
+ '.standards/CLAUDE.md': 'claude-code',
235
+ 'AGENTS.md': 'codex'
186
236
  };
187
237
 
188
238
  return pathToTool[integrationPath] || null;
@@ -29,12 +29,12 @@ const BUNDLED_DIR = join(CLI_ROOT, 'bundled');
29
29
  * @returns {string} Path to skills source directory
30
30
  */
31
31
  function getSkillsSourceDir() {
32
- const bundledPath = join(BUNDLED_DIR, 'skills', 'claude-code');
32
+ const bundledPath = join(BUNDLED_DIR, 'skills');
33
33
  if (existsSync(bundledPath)) {
34
34
  return bundledPath;
35
35
  }
36
36
  // Development environment fallback
37
- return join(CLI_ROOT, '..', 'skills', 'claude-code');
37
+ return join(CLI_ROOT, '..', 'skills');
38
38
  }
39
39
 
40
40
  const SKILLS_LOCAL_DIR = getSkillsSourceDir();
@@ -75,9 +75,12 @@ export function getAvailableCommandNames() {
75
75
  return [];
76
76
  }
77
77
 
78
+ // Files to exclude from command list
79
+ const EXCLUDED_FILES = ['README.md', 'COMMAND-FAMILY-OVERVIEW.md'];
80
+
78
81
  try {
79
82
  return readdirSync(COMMANDS_LOCAL_DIR)
80
- .filter(file => file.endsWith('.md') && file !== 'README.md')
83
+ .filter(file => file.endsWith('.md') && !EXCLUDED_FILES.includes(file))
81
84
  .map(file => basename(file, '.md'));
82
85
  } catch {
83
86
  return [];
@@ -0,0 +1,141 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import yaml from 'js-yaml';
4
+ import { exec } from 'child_process';
5
+ import util from 'util';
6
+ import { pathToFileURL } from 'node:url';
7
+ import { StandardValidator } from './standard-validator.js';
8
+
9
+ const execAsync = util.promisify(exec);
10
+
11
+ export class StandardFixer {
12
+ constructor(projectPath) {
13
+ this.projectPath = projectPath;
14
+ this.validator = new StandardValidator(projectPath);
15
+ this.standardsDir = path.join(projectPath, '.standards');
16
+ }
17
+
18
+ /**
19
+ * Attempt to fix a standard violation
20
+ * @param {string} standardId - The ID of the standard
21
+ * @returns {Promise<Object>} Fix result
22
+ */
23
+ async fix(standardId) {
24
+ // 1. Check if already valid
25
+ const preCheck = await this.validator.validate(standardId);
26
+ if (preCheck.success) {
27
+ return { success: true, message: 'Standard is already valid.', status: 'skipped' };
28
+ }
29
+
30
+ // 2. Find standard file
31
+ const standardFile = this.validator.findStandardFile(standardId);
32
+ if (!standardFile) {
33
+ return { success: false, message: `Standard '${standardId}' not found.` };
34
+ }
35
+
36
+ // 3. Load config
37
+ let standardConfig;
38
+ try {
39
+ standardConfig = yaml.load(fs.readFileSync(standardFile, 'utf-8'));
40
+ } catch (e) {
41
+ return { success: false, message: `Failed to parse standard: ${e.message}` };
42
+ }
43
+
44
+ if (!standardConfig.physical_spec || !standardConfig.physical_spec.fixer) {
45
+ return {
46
+ success: false,
47
+ message: `Standard '${standardId}' does not have a fixer defined.`,
48
+ status: 'no_fixer'
49
+ };
50
+ }
51
+
52
+ const { fixer } = standardConfig.physical_spec;
53
+
54
+ // 4. Execute Fixer
55
+ try {
56
+ if (fixer.type === 'command') {
57
+ if (!fixer.command) throw new Error('Fixer type is command but no command provided');
58
+ await execAsync(fixer.command, { cwd: this.projectPath });
59
+ } else if (fixer.type === 'copy_template') {
60
+ await this.executeCopyTemplate(fixer);
61
+ } else if (fixer.type === 'script_file') {
62
+ await this.executeScriptFixer(fixer, standardConfig);
63
+ } else {
64
+ throw new Error(`Unknown fixer type: ${fixer.type}`);
65
+ }
66
+ } catch (e) {
67
+ return {
68
+ success: false,
69
+ message: `Fix execution failed: ${e.message}`,
70
+ details: e.stderr || e.stdout || e.stack
71
+ };
72
+ }
73
+
74
+ // 5. Verify Fix
75
+ const postCheck = await this.validator.validate(standardId);
76
+ if (postCheck.success) {
77
+ return { success: true, message: 'Fix applied and verified successfully.', status: 'fixed' };
78
+ } else {
79
+ return {
80
+ success: false,
81
+ message: 'Fix applied but validation still failed.',
82
+ details: postCheck.message,
83
+ status: 'partial'
84
+ };
85
+ }
86
+ }
87
+
88
+ async executeScriptFixer(fixerConfig, standardConfig) {
89
+ const { script_path } = fixerConfig;
90
+ if (!script_path) throw new Error('Missing script_path for script_file fixer');
91
+
92
+ // Resolve script path
93
+ let fullScriptPath = path.join(this.standardsDir, 'fixers', script_path);
94
+ if (!fs.existsSync(fullScriptPath)) {
95
+ fullScriptPath = path.join(this.projectPath, script_path);
96
+ }
97
+
98
+ if (!fs.existsSync(fullScriptPath)) {
99
+ throw new Error(`Fixer script not found: ${fullScriptPath}`);
100
+ }
101
+
102
+ // Dynamic import
103
+ const module = await import(pathToFileURL(fullScriptPath).href);
104
+ if (typeof module.fix !== 'function') {
105
+ throw new Error('Fixer script must export a fix() function');
106
+ }
107
+
108
+ await module.fix({
109
+ projectPath: this.projectPath,
110
+ config: standardConfig
111
+ });
112
+ }
113
+
114
+ async executeCopyTemplate(fixer) {
115
+ if (!fixer.template_file || !fixer.destination) {
116
+ throw new Error('Missing template_file or destination for copy_template fixer');
117
+ }
118
+
119
+ // Resolve template path
120
+ // Priority: 1. Project .standards/templates/ 2. Absolute/Relative from standards dir
121
+ let templatePath = path.join(this.standardsDir, 'templates', fixer.template_file);
122
+ if (!fs.existsSync(templatePath)) {
123
+ // Fallback: try relative to standard file location? Or just relative to project root?
124
+ templatePath = path.join(this.projectPath, fixer.template_file);
125
+ }
126
+
127
+ if (!fs.existsSync(templatePath)) {
128
+ throw new Error(`Template file not found: ${templatePath}`);
129
+ }
130
+
131
+ const destPath = path.join(this.projectPath, fixer.destination);
132
+
133
+ // Ensure dest dir exists
134
+ const destDir = path.dirname(destPath);
135
+ if (!fs.existsSync(destDir)) {
136
+ fs.mkdirSync(destDir, { recursive: true });
137
+ }
138
+
139
+ fs.copyFileSync(templatePath, destPath);
140
+ }
141
+ }
@@ -0,0 +1,329 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import yaml from 'js-yaml';
4
+ import { exec } from 'child_process';
5
+ import util from 'util';
6
+ import { pathToFileURL } from 'node:url';
7
+ import { readManifest } from './copier.js';
8
+
9
+ const execAsync = util.promisify(exec);
10
+
11
+ export class StandardValidator {
12
+ constructor(projectPath) {
13
+ this.projectPath = projectPath;
14
+ this.standardsDir = path.join(projectPath, '.standards');
15
+ }
16
+
17
+ /**
18
+ * Validate a specific standard by ID
19
+ * @param {string} standardId - The ID of the standard (e.g., 'project-structure')
20
+ * @returns {Promise<Object>} Validation result { success: boolean, message: string, details: any }
21
+ */
22
+ async validate(standardId) {
23
+ // 1. Find the standard file
24
+ const standardFile = this.findStandardFile(standardId);
25
+ if (!standardFile) {
26
+ return {
27
+ success: false,
28
+ message: `Standard '${standardId}' is not installed in this project.`
29
+ };
30
+ }
31
+
32
+ // 2. Parse the standard
33
+ let standardConfig;
34
+ try {
35
+ const content = fs.readFileSync(standardFile, 'utf-8');
36
+ standardConfig = yaml.load(content);
37
+ } catch (e) {
38
+ return {
39
+ success: false,
40
+ message: `Failed to parse standard file: ${e.message}`
41
+ };
42
+ }
43
+
44
+ // 3. Check for physical_spec
45
+ // Support both root-level (legacy v2 draft) and standard-level (v2 spec) physical_spec?
46
+ // Spec says: { standard: ..., physical_spec: ... } at root.
47
+ if (!standardConfig.physical_spec) {
48
+ return {
49
+ success: true,
50
+ message: `Standard '${standardId}' does not have a Physical Spec defined. Skipped validation.`,
51
+ skipped: true
52
+ };
53
+ }
54
+
55
+ const { type, validator, schema } = standardConfig.physical_spec;
56
+
57
+ // 4. Execute Validation Logic based on type
58
+ try {
59
+ switch (type) {
60
+ case 'filesystem_schema':
61
+ return await this.validateFilesystem(schema, validator);
62
+ case 'json_schema':
63
+ return { success: false, message: 'JSON Schema validation not yet implemented' };
64
+ case 'script_file':
65
+ return await this.executeScriptValidator(validator, standardConfig);
66
+ default:
67
+ // If a generic command validator is present, use it
68
+ if (validator && validator.command) {
69
+ return await this.runCommandValidator(validator);
70
+ }
71
+ return { success: false, message: `Unknown physical spec type: ${type}` };
72
+ }
73
+ } catch (error) {
74
+ return {
75
+ success: false,
76
+ message: `Validation execution failed: ${error.message}`
77
+ };
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Check if a filename potentially matches the requested standardId
83
+ * @param {string} basename - File basename (without extension)
84
+ * @param {string} standardId - Requested standard ID
85
+ * @returns {boolean} True if potential match
86
+ */
87
+ _isPotentialMatch(basename, standardId) {
88
+ // Clean basename: remove .ai suffix if present
89
+ const cleanBasename = basename.endsWith('.ai')
90
+ ? basename.slice(0, -3)
91
+ : basename;
92
+
93
+ // 1. Exact match
94
+ if (cleanBasename === standardId) {
95
+ return true;
96
+ }
97
+
98
+ // 2. Suffix-removed match: e.g., "security" matches "security-standards"
99
+ const suffixes = ['-standards', '-guide'];
100
+ for (const suffix of suffixes) {
101
+ if (cleanBasename.endsWith(suffix)) {
102
+ const withoutSuffix = cleanBasename.slice(0, -suffix.length);
103
+ if (withoutSuffix === standardId) {
104
+ return true;
105
+ }
106
+ }
107
+ }
108
+
109
+ // 3. Prefix match: basename starts with standardId followed by dash
110
+ if (cleanBasename.startsWith(`${standardId}-`)) {
111
+ return true;
112
+ }
113
+
114
+ return false;
115
+ }
116
+
117
+ /**
118
+ * Verify if the file's internal standard.id matches the requested ID
119
+ * @param {string} filePath - Full path to the standard file
120
+ * @param {string} standardId - Requested standard ID
121
+ * @returns {boolean} True if internal ID matches
122
+ */
123
+ _verifyInternalId(filePath, standardId) {
124
+ try {
125
+ const content = fs.readFileSync(filePath, 'utf-8');
126
+ const data = yaml.load(content);
127
+
128
+ // Check standard.id field (Ground Truth)
129
+ if (data && data.standard && data.standard.id === standardId) {
130
+ return true;
131
+ }
132
+
133
+ // Also accept if no internal ID is defined (backward compatibility)
134
+ // In this case, rely on filename matching
135
+ if (!data || !data.standard || !data.standard.id) {
136
+ return true;
137
+ }
138
+
139
+ return false;
140
+ } catch {
141
+ // If file cannot be parsed, rely on filename matching
142
+ return true;
143
+ }
144
+ }
145
+
146
+ findStandardFile(standardId) {
147
+ // 1. Try to locate via manifest first (Smart ID Resolution)
148
+ const manifest = readManifest(this.projectPath);
149
+ if (manifest) {
150
+ // Combine standards and extensions arrays for searching
151
+ const allFiles = [
152
+ ...(Array.isArray(manifest.standards) ? manifest.standards : []),
153
+ ...(Array.isArray(manifest.extensions) ? manifest.extensions : [])
154
+ ];
155
+
156
+ for (const filePath of allFiles) {
157
+ const basename = path.basename(filePath, path.extname(filePath));
158
+
159
+ // Check if this file is a potential match
160
+ if (this._isPotentialMatch(basename, standardId)) {
161
+ const fullPath = path.join(this.projectPath, filePath);
162
+
163
+ if (fs.existsSync(fullPath)) {
164
+ // Verify via internal standard.id (Ground Truth)
165
+ if (this._verifyInternalId(fullPath, standardId)) {
166
+ return fullPath;
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+
173
+ // 2. Fallback: direct name check in .standards/ directory
174
+ // Try exact match first
175
+ const exactAiPath = path.join(this.standardsDir, `${standardId}.ai.yaml`);
176
+ if (fs.existsSync(exactAiPath)) return exactAiPath;
177
+
178
+ // Try with common suffixes
179
+ const suffixes = ['-standards', '-guide'];
180
+ for (const suffix of suffixes) {
181
+ const suffixedPath = path.join(this.standardsDir, `${standardId}${suffix}.ai.yaml`);
182
+ if (fs.existsSync(suffixedPath)) {
183
+ if (this._verifyInternalId(suffixedPath, standardId)) {
184
+ return suffixedPath;
185
+ }
186
+ }
187
+ }
188
+
189
+ // Try .md (less likely to have physical spec, but possible in hybrid future)
190
+ const mdPath = path.join(this.standardsDir, `${standardId}.md`);
191
+ if (fs.existsSync(mdPath)) return mdPath;
192
+
193
+ return null;
194
+ }
195
+
196
+ async runCommandValidator(validator) {
197
+ const { command, rule } = validator;
198
+ try {
199
+ const { stdout } = await execAsync(command, { cwd: this.projectPath });
200
+ return {
201
+ success: true,
202
+ message: `Passed rule: ${rule}`,
203
+ details: stdout.trim()
204
+ };
205
+ } catch (e) {
206
+ return {
207
+ success: false,
208
+ message: `Failed rule: ${rule}`,
209
+ details: e.message + (e.stderr ? `\nStderr: ${e.stderr}` : '')
210
+ };
211
+ }
212
+ }
213
+
214
+ async validateFilesystem(schema, validator) {
215
+ // If validator command is provided, use it primarily
216
+ if (validator && validator.command) {
217
+ return await this.runCommandValidator(validator);
218
+ }
219
+
220
+ // Native Node.js validation for cross-platform stability
221
+ const missing = [];
222
+
223
+ // Check required directories
224
+ if (schema && schema.root && schema.root.required) {
225
+ for (const dir of schema.root.required) {
226
+ if (!fs.existsSync(path.join(this.projectPath, dir))) {
227
+ missing.push(dir);
228
+ }
229
+ }
230
+ } else if (!schema) {
231
+ return { success: false, message: 'No filesystem schema defined' };
232
+ }
233
+
234
+ if (missing.length > 0) {
235
+ return {
236
+ success: false,
237
+ message: `Missing required directories: ${missing.join(', ')}`
238
+ };
239
+ }
240
+
241
+ return {
242
+ success: true,
243
+ message: 'Project structure matches required schema.'
244
+ };
245
+ }
246
+
247
+ async executeScriptValidator(validatorConfig, standardConfig) {
248
+ const { script_path } = validatorConfig;
249
+ if (!script_path) throw new Error('Missing script_path for script_file validator');
250
+
251
+ // Resolve script path
252
+ let fullScriptPath = path.join(this.standardsDir, 'validators', script_path);
253
+ if (!fs.existsSync(fullScriptPath)) {
254
+ fullScriptPath = path.join(this.projectPath, script_path);
255
+ }
256
+
257
+ if (!fs.existsSync(fullScriptPath)) {
258
+ throw new Error(`Validator script not found: ${fullScriptPath}`);
259
+ }
260
+
261
+ try {
262
+ // Dynamic import
263
+ const module = await import(pathToFileURL(fullScriptPath).href);
264
+ if (typeof module.validate !== 'function') {
265
+ throw new Error('Validator script must export a validate() function');
266
+ }
267
+
268
+ return await module.validate({
269
+ projectPath: this.projectPath,
270
+ config: standardConfig
271
+ });
272
+ } catch (e) {
273
+ return {
274
+ success: false,
275
+ message: `Script execution error: ${e.message}`,
276
+ details: e.stack
277
+ };
278
+ }
279
+ }
280
+
281
+ /**
282
+ * Run a simulation to predict compliance with a standard
283
+ * @param {string} standardId - Standard ID
284
+ * @param {string} input - Input to test (e.g. commit message)
285
+ * @returns {Promise<Object>} Simulation result
286
+ */
287
+ async simulate(standardId, input) {
288
+ const standardFile = this.findStandardFile(standardId);
289
+ if (!standardFile) {
290
+ return { success: false, message: `Standard '${standardId}' not found.` };
291
+ }
292
+
293
+ let standardConfig;
294
+ try {
295
+ standardConfig = yaml.load(fs.readFileSync(standardFile, 'utf-8'));
296
+ } catch (e) {
297
+ return { success: false, message: `Failed to parse standard: ${e.message}` };
298
+ }
299
+
300
+ if (!standardConfig.physical_spec || !standardConfig.physical_spec.simulator) {
301
+ return {
302
+ success: false,
303
+ message: `Standard '${standardId}' does not support simulation (no 'simulator' spec defined).`
304
+ };
305
+ }
306
+
307
+ const { command } = standardConfig.physical_spec.simulator;
308
+
309
+ // Sanitization: Escape double quotes to prevent breaking the echo command
310
+ // This is a basic implementation. For production, consider using spawn with stdin stream.
311
+ const sanitizedInput = input.replace(/"/g, '\\"');
312
+ const finalCommand = command.replace('{input}', sanitizedInput);
313
+
314
+ try {
315
+ const { stdout } = await execAsync(finalCommand, { cwd: this.projectPath });
316
+ return {
317
+ success: true,
318
+ message: 'Simulation passed',
319
+ details: stdout.trim()
320
+ };
321
+ } catch (e) {
322
+ return {
323
+ success: false,
324
+ message: 'Simulation failed',
325
+ details: e.message + (e.stdout ? `\nOutput: ${e.stdout}` : '')
326
+ };
327
+ }
328
+ }
329
+ }