mustflow 1.15.97

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 (415) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +422 -0
  3. package/dist/cli/commands/check.js +73 -0
  4. package/dist/cli/commands/classify.js +104 -0
  5. package/dist/cli/commands/context.js +95 -0
  6. package/dist/cli/commands/contract-lint.js +74 -0
  7. package/dist/cli/commands/dashboard.js +654 -0
  8. package/dist/cli/commands/docs.js +382 -0
  9. package/dist/cli/commands/doctor.js +232 -0
  10. package/dist/cli/commands/explain.js +293 -0
  11. package/dist/cli/commands/help.js +148 -0
  12. package/dist/cli/commands/impact.js +120 -0
  13. package/dist/cli/commands/index.js +70 -0
  14. package/dist/cli/commands/init.js +986 -0
  15. package/dist/cli/commands/line-endings.js +102 -0
  16. package/dist/cli/commands/map.js +95 -0
  17. package/dist/cli/commands/run.js +442 -0
  18. package/dist/cli/commands/search.js +166 -0
  19. package/dist/cli/commands/status.js +65 -0
  20. package/dist/cli/commands/update.js +443 -0
  21. package/dist/cli/commands/verify.js +448 -0
  22. package/dist/cli/commands/version-sources.js +79 -0
  23. package/dist/cli/commands/version.js +57 -0
  24. package/dist/cli/i18n/en.js +702 -0
  25. package/dist/cli/i18n/es.js +702 -0
  26. package/dist/cli/i18n/fr.js +702 -0
  27. package/dist/cli/i18n/hi.js +702 -0
  28. package/dist/cli/i18n/ko.js +702 -0
  29. package/dist/cli/i18n/zh.js +702 -0
  30. package/dist/cli/index.js +218 -0
  31. package/dist/cli/lib/agent-context.js +342 -0
  32. package/dist/cli/lib/browser-open.js +58 -0
  33. package/dist/cli/lib/cli-output.js +36 -0
  34. package/dist/cli/lib/command-contract.js +1 -0
  35. package/dist/cli/lib/command-registry.js +107 -0
  36. package/dist/cli/lib/dashboard-html.js +1866 -0
  37. package/dist/cli/lib/dashboard-locale.js +309 -0
  38. package/dist/cli/lib/dashboard-preferences.js +405 -0
  39. package/dist/cli/lib/doc-review-ledger.js +226 -0
  40. package/dist/cli/lib/filesystem.js +125 -0
  41. package/dist/cli/lib/git-changes.js +13 -0
  42. package/dist/cli/lib/i18n.js +55 -0
  43. package/dist/cli/lib/local-index.js +1014 -0
  44. package/dist/cli/lib/locale-tags.js +4 -0
  45. package/dist/cli/lib/manifest-lock.js +131 -0
  46. package/dist/cli/lib/npm-version-check.js +97 -0
  47. package/dist/cli/lib/package-info.js +13 -0
  48. package/dist/cli/lib/preferences-options.js +8 -0
  49. package/dist/cli/lib/project-root.js +23 -0
  50. package/dist/cli/lib/repo-map.js +635 -0
  51. package/dist/cli/lib/reporter.js +8 -0
  52. package/dist/cli/lib/run-receipt.js +1 -0
  53. package/dist/cli/lib/template-i18n.js +265 -0
  54. package/dist/cli/lib/templates.js +188 -0
  55. package/dist/cli/lib/toml.js +1 -0
  56. package/dist/cli/lib/validation.js +1639 -0
  57. package/dist/cli/lib/version-sources.js +1 -0
  58. package/dist/core/authority-resolution.js +155 -0
  59. package/dist/core/change-classification.js +122 -0
  60. package/dist/core/change-verification.js +80 -0
  61. package/dist/core/check-issues.js +67 -0
  62. package/dist/core/command-classification.js +22 -0
  63. package/dist/core/command-contract-rules.js +27 -0
  64. package/dist/core/command-contract-validation.js +197 -0
  65. package/dist/core/command-cwd.js +12 -0
  66. package/dist/core/command-effects.js +182 -0
  67. package/dist/core/command-explanation.js +135 -0
  68. package/dist/core/command-intent-eligibility.js +76 -0
  69. package/dist/core/config-loading.js +54 -0
  70. package/dist/core/contract-lint.js +110 -0
  71. package/dist/core/contract-models.js +53 -0
  72. package/dist/core/dashboard-verification.js +132 -0
  73. package/dist/core/doc-review-triage.js +92 -0
  74. package/dist/core/line-endings.js +144 -0
  75. package/dist/core/public-json-contracts.js +112 -0
  76. package/dist/core/public-surface-explanation.js +49 -0
  77. package/dist/core/release-version-validation.js +53 -0
  78. package/dist/core/retention-explanation.js +74 -0
  79. package/dist/core/retention-policy.js +57 -0
  80. package/dist/core/run-receipt.js +77 -0
  81. package/dist/core/skill-route-alignment.js +100 -0
  82. package/dist/core/skill-route-explanation.js +117 -0
  83. package/dist/core/source-anchor-explanation.js +33 -0
  84. package/dist/core/source-anchor-status.js +269 -0
  85. package/dist/core/source-anchor-symbols.js +181 -0
  86. package/dist/core/source-anchor-validation.js +158 -0
  87. package/dist/core/source-anchors.js +194 -0
  88. package/dist/core/surface-decision-model.js +18 -0
  89. package/dist/core/toml.js +11 -0
  90. package/dist/core/verification-plan.js +41 -0
  91. package/dist/core/verification-scheduler.js +92 -0
  92. package/dist/core/version-impact.js +54 -0
  93. package/dist/core/version-sources.js +235 -0
  94. package/dist/core/version-sync-policy.js +85 -0
  95. package/examples/README.md +13 -0
  96. package/examples/docs-only/README.md +72 -0
  97. package/examples/host-instruction-conflicts/README.md +47 -0
  98. package/examples/minimal-js/README.md +98 -0
  99. package/examples/missing-command-contracts/README.md +70 -0
  100. package/examples/nested-repos/README.md +62 -0
  101. package/package.json +80 -0
  102. package/schemas/README.md +32 -0
  103. package/schemas/change-verification-report.schema.json +319 -0
  104. package/schemas/classify-report.schema.json +113 -0
  105. package/schemas/commands.schema.json +116 -0
  106. package/schemas/context-report.schema.json +341 -0
  107. package/schemas/contract-lint-report.schema.json +61 -0
  108. package/schemas/docs-review-list.schema.json +72 -0
  109. package/schemas/doctor-report.schema.json +175 -0
  110. package/schemas/explain-report.schema.json +471 -0
  111. package/schemas/impact-report.schema.json +121 -0
  112. package/schemas/line-endings-report.schema.json +63 -0
  113. package/schemas/run-receipt.schema.json +75 -0
  114. package/schemas/verify-report.schema.json +67 -0
  115. package/schemas/version-sources-report.schema.json +42 -0
  116. package/templates/default/common/.mustflow/config/commands.toml +251 -0
  117. package/templates/default/common/.mustflow/config/mustflow.toml +424 -0
  118. package/templates/default/common/.mustflow/config/preferences.toml +125 -0
  119. package/templates/default/common/gitignore.mustflow +9 -0
  120. package/templates/default/i18n.toml +483 -0
  121. package/templates/default/locales/en/.mustflow/context/INDEX.md +39 -0
  122. package/templates/default/locales/en/.mustflow/context/PROJECT.md +66 -0
  123. package/templates/default/locales/en/.mustflow/docs/agent-workflow.md +345 -0
  124. package/templates/default/locales/en/.mustflow/skills/INDEX.md +78 -0
  125. package/templates/default/locales/en/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
  126. package/templates/default/locales/en/.mustflow/skills/artifact-integrity-check/SKILL.md +121 -0
  127. package/templates/default/locales/en/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
  128. package/templates/default/locales/en/.mustflow/skills/code-review/SKILL.md +115 -0
  129. package/templates/default/locales/en/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
  130. package/templates/default/locales/en/.mustflow/skills/command-pattern/SKILL.md +247 -0
  131. package/templates/default/locales/en/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
  132. package/templates/default/locales/en/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
  133. package/templates/default/locales/en/.mustflow/skills/date-number-audit/SKILL.md +116 -0
  134. package/templates/default/locales/en/.mustflow/skills/dependency-injection/SKILL.md +161 -0
  135. package/templates/default/locales/en/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
  136. package/templates/default/locales/en/.mustflow/skills/diff-risk-review/SKILL.md +143 -0
  137. package/templates/default/locales/en/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
  138. package/templates/default/locales/en/.mustflow/skills/docs-update/SKILL.md +100 -0
  139. package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +124 -0
  140. package/templates/default/locales/en/.mustflow/skills/facade-pattern/SKILL.md +210 -0
  141. package/templates/default/locales/en/.mustflow/skills/failure-triage/SKILL.md +97 -0
  142. package/templates/default/locales/en/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
  143. package/templates/default/locales/en/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
  144. package/templates/default/locales/en/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
  145. package/templates/default/locales/en/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
  146. package/templates/default/locales/en/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
  147. package/templates/default/locales/en/.mustflow/skills/pattern-scout/SKILL.md +110 -0
  148. package/templates/default/locales/en/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
  149. package/templates/default/locales/en/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
  150. package/templates/default/locales/en/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
  151. package/templates/default/locales/en/.mustflow/skills/readme-authoring/SKILL.md +115 -0
  152. package/templates/default/locales/en/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
  153. package/templates/default/locales/en/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
  154. package/templates/default/locales/en/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
  155. package/templates/default/locales/en/.mustflow/skills/result-option/SKILL.md +186 -0
  156. package/templates/default/locales/en/.mustflow/skills/security-privacy-review/SKILL.md +130 -0
  157. package/templates/default/locales/en/.mustflow/skills/security-regression-tests/SKILL.md +157 -0
  158. package/templates/default/locales/en/.mustflow/skills/skill-authoring/SKILL.md +110 -0
  159. package/templates/default/locales/en/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
  160. package/templates/default/locales/en/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
  161. package/templates/default/locales/en/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
  162. package/templates/default/locales/en/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
  163. package/templates/default/locales/en/.mustflow/skills/test-maintenance/SKILL.md +122 -0
  164. package/templates/default/locales/en/.mustflow/skills/ui-quality-gate/SKILL.md +119 -0
  165. package/templates/default/locales/en/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
  166. package/templates/default/locales/en/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
  167. package/templates/default/locales/en/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
  168. package/templates/default/locales/en/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
  169. package/templates/default/locales/en/AGENTS.md +114 -0
  170. package/templates/default/locales/es/.mustflow/context/INDEX.md +39 -0
  171. package/templates/default/locales/es/.mustflow/context/PROJECT.md +63 -0
  172. package/templates/default/locales/es/.mustflow/docs/agent-workflow.md +365 -0
  173. package/templates/default/locales/es/.mustflow/skills/INDEX.md +78 -0
  174. package/templates/default/locales/es/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
  175. package/templates/default/locales/es/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
  176. package/templates/default/locales/es/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
  177. package/templates/default/locales/es/.mustflow/skills/code-review/SKILL.md +115 -0
  178. package/templates/default/locales/es/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
  179. package/templates/default/locales/es/.mustflow/skills/command-pattern/SKILL.md +247 -0
  180. package/templates/default/locales/es/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
  181. package/templates/default/locales/es/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
  182. package/templates/default/locales/es/.mustflow/skills/date-number-audit/SKILL.md +116 -0
  183. package/templates/default/locales/es/.mustflow/skills/dependency-injection/SKILL.md +161 -0
  184. package/templates/default/locales/es/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
  185. package/templates/default/locales/es/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
  186. package/templates/default/locales/es/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
  187. package/templates/default/locales/es/.mustflow/skills/docs-update/SKILL.md +97 -0
  188. package/templates/default/locales/es/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
  189. package/templates/default/locales/es/.mustflow/skills/facade-pattern/SKILL.md +210 -0
  190. package/templates/default/locales/es/.mustflow/skills/failure-triage/SKILL.md +97 -0
  191. package/templates/default/locales/es/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
  192. package/templates/default/locales/es/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
  193. package/templates/default/locales/es/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
  194. package/templates/default/locales/es/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
  195. package/templates/default/locales/es/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
  196. package/templates/default/locales/es/.mustflow/skills/pattern-scout/SKILL.md +110 -0
  197. package/templates/default/locales/es/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
  198. package/templates/default/locales/es/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
  199. package/templates/default/locales/es/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
  200. package/templates/default/locales/es/.mustflow/skills/readme-authoring/SKILL.md +115 -0
  201. package/templates/default/locales/es/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
  202. package/templates/default/locales/es/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
  203. package/templates/default/locales/es/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
  204. package/templates/default/locales/es/.mustflow/skills/result-option/SKILL.md +186 -0
  205. package/templates/default/locales/es/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
  206. package/templates/default/locales/es/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
  207. package/templates/default/locales/es/.mustflow/skills/skill-authoring/SKILL.md +110 -0
  208. package/templates/default/locales/es/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
  209. package/templates/default/locales/es/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
  210. package/templates/default/locales/es/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
  211. package/templates/default/locales/es/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
  212. package/templates/default/locales/es/.mustflow/skills/test-maintenance/SKILL.md +122 -0
  213. package/templates/default/locales/es/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
  214. package/templates/default/locales/es/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
  215. package/templates/default/locales/es/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
  216. package/templates/default/locales/es/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
  217. package/templates/default/locales/es/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
  218. package/templates/default/locales/es/AGENTS.md +83 -0
  219. package/templates/default/locales/fr/.mustflow/context/INDEX.md +39 -0
  220. package/templates/default/locales/fr/.mustflow/context/PROJECT.md +63 -0
  221. package/templates/default/locales/fr/.mustflow/docs/agent-workflow.md +368 -0
  222. package/templates/default/locales/fr/.mustflow/skills/INDEX.md +78 -0
  223. package/templates/default/locales/fr/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
  224. package/templates/default/locales/fr/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
  225. package/templates/default/locales/fr/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
  226. package/templates/default/locales/fr/.mustflow/skills/code-review/SKILL.md +115 -0
  227. package/templates/default/locales/fr/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
  228. package/templates/default/locales/fr/.mustflow/skills/command-pattern/SKILL.md +247 -0
  229. package/templates/default/locales/fr/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
  230. package/templates/default/locales/fr/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
  231. package/templates/default/locales/fr/.mustflow/skills/date-number-audit/SKILL.md +116 -0
  232. package/templates/default/locales/fr/.mustflow/skills/dependency-injection/SKILL.md +161 -0
  233. package/templates/default/locales/fr/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
  234. package/templates/default/locales/fr/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
  235. package/templates/default/locales/fr/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
  236. package/templates/default/locales/fr/.mustflow/skills/docs-update/SKILL.md +97 -0
  237. package/templates/default/locales/fr/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
  238. package/templates/default/locales/fr/.mustflow/skills/facade-pattern/SKILL.md +210 -0
  239. package/templates/default/locales/fr/.mustflow/skills/failure-triage/SKILL.md +97 -0
  240. package/templates/default/locales/fr/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
  241. package/templates/default/locales/fr/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
  242. package/templates/default/locales/fr/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
  243. package/templates/default/locales/fr/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
  244. package/templates/default/locales/fr/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
  245. package/templates/default/locales/fr/.mustflow/skills/pattern-scout/SKILL.md +110 -0
  246. package/templates/default/locales/fr/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
  247. package/templates/default/locales/fr/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
  248. package/templates/default/locales/fr/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
  249. package/templates/default/locales/fr/.mustflow/skills/readme-authoring/SKILL.md +115 -0
  250. package/templates/default/locales/fr/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
  251. package/templates/default/locales/fr/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
  252. package/templates/default/locales/fr/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
  253. package/templates/default/locales/fr/.mustflow/skills/result-option/SKILL.md +186 -0
  254. package/templates/default/locales/fr/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
  255. package/templates/default/locales/fr/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
  256. package/templates/default/locales/fr/.mustflow/skills/skill-authoring/SKILL.md +110 -0
  257. package/templates/default/locales/fr/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
  258. package/templates/default/locales/fr/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
  259. package/templates/default/locales/fr/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
  260. package/templates/default/locales/fr/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
  261. package/templates/default/locales/fr/.mustflow/skills/test-maintenance/SKILL.md +122 -0
  262. package/templates/default/locales/fr/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
  263. package/templates/default/locales/fr/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
  264. package/templates/default/locales/fr/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
  265. package/templates/default/locales/fr/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
  266. package/templates/default/locales/fr/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
  267. package/templates/default/locales/fr/AGENTS.md +84 -0
  268. package/templates/default/locales/hi/.mustflow/context/INDEX.md +39 -0
  269. package/templates/default/locales/hi/.mustflow/context/PROJECT.md +65 -0
  270. package/templates/default/locales/hi/.mustflow/docs/agent-workflow.md +359 -0
  271. package/templates/default/locales/hi/.mustflow/skills/INDEX.md +78 -0
  272. package/templates/default/locales/hi/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
  273. package/templates/default/locales/hi/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
  274. package/templates/default/locales/hi/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
  275. package/templates/default/locales/hi/.mustflow/skills/code-review/SKILL.md +115 -0
  276. package/templates/default/locales/hi/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
  277. package/templates/default/locales/hi/.mustflow/skills/command-pattern/SKILL.md +247 -0
  278. package/templates/default/locales/hi/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
  279. package/templates/default/locales/hi/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
  280. package/templates/default/locales/hi/.mustflow/skills/date-number-audit/SKILL.md +116 -0
  281. package/templates/default/locales/hi/.mustflow/skills/dependency-injection/SKILL.md +161 -0
  282. package/templates/default/locales/hi/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
  283. package/templates/default/locales/hi/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
  284. package/templates/default/locales/hi/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
  285. package/templates/default/locales/hi/.mustflow/skills/docs-update/SKILL.md +97 -0
  286. package/templates/default/locales/hi/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
  287. package/templates/default/locales/hi/.mustflow/skills/facade-pattern/SKILL.md +210 -0
  288. package/templates/default/locales/hi/.mustflow/skills/failure-triage/SKILL.md +97 -0
  289. package/templates/default/locales/hi/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
  290. package/templates/default/locales/hi/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
  291. package/templates/default/locales/hi/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
  292. package/templates/default/locales/hi/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
  293. package/templates/default/locales/hi/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
  294. package/templates/default/locales/hi/.mustflow/skills/pattern-scout/SKILL.md +110 -0
  295. package/templates/default/locales/hi/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
  296. package/templates/default/locales/hi/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
  297. package/templates/default/locales/hi/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
  298. package/templates/default/locales/hi/.mustflow/skills/readme-authoring/SKILL.md +115 -0
  299. package/templates/default/locales/hi/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
  300. package/templates/default/locales/hi/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
  301. package/templates/default/locales/hi/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
  302. package/templates/default/locales/hi/.mustflow/skills/result-option/SKILL.md +186 -0
  303. package/templates/default/locales/hi/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
  304. package/templates/default/locales/hi/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
  305. package/templates/default/locales/hi/.mustflow/skills/skill-authoring/SKILL.md +110 -0
  306. package/templates/default/locales/hi/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
  307. package/templates/default/locales/hi/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
  308. package/templates/default/locales/hi/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
  309. package/templates/default/locales/hi/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
  310. package/templates/default/locales/hi/.mustflow/skills/test-maintenance/SKILL.md +122 -0
  311. package/templates/default/locales/hi/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
  312. package/templates/default/locales/hi/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
  313. package/templates/default/locales/hi/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
  314. package/templates/default/locales/hi/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
  315. package/templates/default/locales/hi/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
  316. package/templates/default/locales/hi/AGENTS.md +83 -0
  317. package/templates/default/locales/ko/.mustflow/context/INDEX.md +39 -0
  318. package/templates/default/locales/ko/.mustflow/context/PROJECT.md +66 -0
  319. package/templates/default/locales/ko/.mustflow/docs/agent-workflow.md +506 -0
  320. package/templates/default/locales/ko/.mustflow/skills/INDEX.md +78 -0
  321. package/templates/default/locales/ko/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
  322. package/templates/default/locales/ko/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
  323. package/templates/default/locales/ko/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
  324. package/templates/default/locales/ko/.mustflow/skills/code-review/SKILL.md +118 -0
  325. package/templates/default/locales/ko/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
  326. package/templates/default/locales/ko/.mustflow/skills/command-pattern/SKILL.md +247 -0
  327. package/templates/default/locales/ko/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
  328. package/templates/default/locales/ko/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
  329. package/templates/default/locales/ko/.mustflow/skills/date-number-audit/SKILL.md +116 -0
  330. package/templates/default/locales/ko/.mustflow/skills/dependency-injection/SKILL.md +161 -0
  331. package/templates/default/locales/ko/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
  332. package/templates/default/locales/ko/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
  333. package/templates/default/locales/ko/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
  334. package/templates/default/locales/ko/.mustflow/skills/docs-update/SKILL.md +107 -0
  335. package/templates/default/locales/ko/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
  336. package/templates/default/locales/ko/.mustflow/skills/facade-pattern/SKILL.md +210 -0
  337. package/templates/default/locales/ko/.mustflow/skills/failure-triage/SKILL.md +119 -0
  338. package/templates/default/locales/ko/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
  339. package/templates/default/locales/ko/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
  340. package/templates/default/locales/ko/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
  341. package/templates/default/locales/ko/.mustflow/skills/multi-agent-work-coordination/SKILL.md +259 -0
  342. package/templates/default/locales/ko/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
  343. package/templates/default/locales/ko/.mustflow/skills/pattern-scout/SKILL.md +110 -0
  344. package/templates/default/locales/ko/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
  345. package/templates/default/locales/ko/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
  346. package/templates/default/locales/ko/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
  347. package/templates/default/locales/ko/.mustflow/skills/readme-authoring/SKILL.md +115 -0
  348. package/templates/default/locales/ko/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
  349. package/templates/default/locales/ko/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
  350. package/templates/default/locales/ko/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
  351. package/templates/default/locales/ko/.mustflow/skills/result-option/SKILL.md +186 -0
  352. package/templates/default/locales/ko/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
  353. package/templates/default/locales/ko/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
  354. package/templates/default/locales/ko/.mustflow/skills/skill-authoring/SKILL.md +110 -0
  355. package/templates/default/locales/ko/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
  356. package/templates/default/locales/ko/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
  357. package/templates/default/locales/ko/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
  358. package/templates/default/locales/ko/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
  359. package/templates/default/locales/ko/.mustflow/skills/test-maintenance/SKILL.md +130 -0
  360. package/templates/default/locales/ko/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
  361. package/templates/default/locales/ko/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
  362. package/templates/default/locales/ko/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
  363. package/templates/default/locales/ko/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
  364. package/templates/default/locales/ko/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
  365. package/templates/default/locales/ko/AGENTS.md +85 -0
  366. package/templates/default/locales/zh/.mustflow/context/INDEX.md +39 -0
  367. package/templates/default/locales/zh/.mustflow/context/PROJECT.md +64 -0
  368. package/templates/default/locales/zh/.mustflow/docs/agent-workflow.md +310 -0
  369. package/templates/default/locales/zh/.mustflow/skills/INDEX.md +78 -0
  370. package/templates/default/locales/zh/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
  371. package/templates/default/locales/zh/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
  372. package/templates/default/locales/zh/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
  373. package/templates/default/locales/zh/.mustflow/skills/code-review/SKILL.md +115 -0
  374. package/templates/default/locales/zh/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
  375. package/templates/default/locales/zh/.mustflow/skills/command-pattern/SKILL.md +247 -0
  376. package/templates/default/locales/zh/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
  377. package/templates/default/locales/zh/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
  378. package/templates/default/locales/zh/.mustflow/skills/date-number-audit/SKILL.md +116 -0
  379. package/templates/default/locales/zh/.mustflow/skills/dependency-injection/SKILL.md +161 -0
  380. package/templates/default/locales/zh/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
  381. package/templates/default/locales/zh/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
  382. package/templates/default/locales/zh/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
  383. package/templates/default/locales/zh/.mustflow/skills/docs-update/SKILL.md +97 -0
  384. package/templates/default/locales/zh/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
  385. package/templates/default/locales/zh/.mustflow/skills/facade-pattern/SKILL.md +210 -0
  386. package/templates/default/locales/zh/.mustflow/skills/failure-triage/SKILL.md +96 -0
  387. package/templates/default/locales/zh/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
  388. package/templates/default/locales/zh/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
  389. package/templates/default/locales/zh/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
  390. package/templates/default/locales/zh/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
  391. package/templates/default/locales/zh/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
  392. package/templates/default/locales/zh/.mustflow/skills/pattern-scout/SKILL.md +110 -0
  393. package/templates/default/locales/zh/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
  394. package/templates/default/locales/zh/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
  395. package/templates/default/locales/zh/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
  396. package/templates/default/locales/zh/.mustflow/skills/readme-authoring/SKILL.md +115 -0
  397. package/templates/default/locales/zh/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
  398. package/templates/default/locales/zh/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
  399. package/templates/default/locales/zh/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
  400. package/templates/default/locales/zh/.mustflow/skills/result-option/SKILL.md +186 -0
  401. package/templates/default/locales/zh/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
  402. package/templates/default/locales/zh/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
  403. package/templates/default/locales/zh/.mustflow/skills/skill-authoring/SKILL.md +110 -0
  404. package/templates/default/locales/zh/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
  405. package/templates/default/locales/zh/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
  406. package/templates/default/locales/zh/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
  407. package/templates/default/locales/zh/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
  408. package/templates/default/locales/zh/.mustflow/skills/test-maintenance/SKILL.md +122 -0
  409. package/templates/default/locales/zh/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
  410. package/templates/default/locales/zh/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
  411. package/templates/default/locales/zh/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
  412. package/templates/default/locales/zh/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
  413. package/templates/default/locales/zh/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
  414. package/templates/default/locales/zh/AGENTS.md +86 -0
  415. package/templates/default/manifest.toml +339 -0
package/LICENSE ADDED
@@ -0,0 +1,16 @@
1
+ MIT No Attribution
2
+
3
+ Copyright 2026 mustflow contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this
6
+ software and associated documentation files (the "Software"), to deal in the Software
7
+ without restriction, including without limitation the rights to use, copy, modify,
8
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
12
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
14
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
15
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
16
+ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,422 @@
1
+ # mustflow
2
+
3
+ Languages: [English](README.md) · [한국어](docs/i18n/ko/README.md) · [中文](docs/i18n/zh/README.md) · [Español](docs/i18n/es/README.md) · [Français](docs/i18n/fr/README.md) · [हिन्दी](docs/i18n/hi/README.md)
4
+
5
+ mustflow is a workflow CLI designed for LLM coding agents. It guides agents to enter a repository, understand the correct operating context, run only authorized commands, and verify their work without guessing.
6
+
7
+ The core concept is straightforward: place `AGENTS.md` at the project root and keep detailed workflows under `.mustflow/`. Agents start from `AGENTS.md` and then follow the command contract, skills, project context, and verification rules in sequence.
8
+
9
+ - Documentation site: <https://0disoft.github.io/mustflow/>
10
+ - Human-readable project examples: [`examples/`](examples/)
11
+ - Repository: <https://github.com/0disoft/mustflow>
12
+ - Issues: <https://github.com/0disoft/mustflow/issues>
13
+ - Contributing: [CONTRIBUTING.md](https://github.com/0disoft/mustflow/blob/main/CONTRIBUTING.md)
14
+ - Security: [SECURITY.md](https://github.com/0disoft/mustflow/blob/main/SECURITY.md)
15
+ - Changelog: [CHANGELOG.md](https://github.com/0disoft/mustflow/blob/main/CHANGELOG.md)
16
+
17
+ ## No-guessing workflow
18
+
19
+ The initial mustflow path is deliberately narrow.
20
+
21
+ ```sh
22
+ npm install -D mustflow
23
+ npx mf init --yes
24
+ npx mf check --strict
25
+ ```
26
+
27
+ After changes to code, templates, schemas, or documentation, classify the changed paths and review the verification plan before running any commands.
28
+
29
+ ```sh
30
+ npx mf classify --changed --json > .mustflow/state/change-plan.json
31
+ npx mf verify --from-plan .mustflow/state/change-plan.json --plan-only --json
32
+ npx mf verify --from-plan .mustflow/state/change-plan.json --json
33
+ ```
34
+
35
+ The plan is based on change classification and the `required_after` metadata in `.mustflow/config/commands.toml`. A command runs only if its declared intent is configured, one-shot, agent-allowed, closed-stdin, bounded by a timeout, and backed by an explicit command source.
36
+
37
+ Source anchors, maps, and SQLite search results serve as navigation aids only. They do not grant command permission, bypass validation, or override `AGENTS.md` and `.mustflow/config/commands.toml`.
38
+
39
+ ## Agent Read Flow
40
+
41
+ ```mermaid
42
+ flowchart TD
43
+ A["AGENTS.md"] --> B["Workflow"]
44
+ B --> C["Config files"]
45
+ C --> D["Command rules"]
46
+ D --> E{"preferences.toml?"}
47
+ E -->|yes| F["preferences.toml"]
48
+ E -->|no| G["Skills index"]
49
+ F --> G
50
+ G --> H{"Need task context?"}
51
+ H -->|yes| I["Context files, matching skill, or REPO_MAP.md"]
52
+ H -->|no| J["Source, tests, docs"]
53
+ I --> J
54
+ ```
55
+
56
+ `read_order` defines the required reading sequence, while `optional_read_order` and `[context]` control how task-specific context loads. The `[refresh]` policy sets when agents reread the same instructions.
57
+
58
+ The skills index acts as an active routing step: agents compare the task with `.mustflow/skills/INDEX.md` and read matching `SKILL.md` files before editing that scope. Skills guide procedure only; command execution still comes from `.mustflow/config/commands.toml`.
59
+
60
+ ## Quick start
61
+
62
+ Node.js 20 or newer is required. mustflow is distributed as an npm package with the CLI named `mf`.
63
+
64
+ ```sh
65
+ npm install -D mustflow
66
+ npx mf init --yes
67
+ npx mf check --strict
68
+ ```
69
+
70
+ In an interactive terminal, `mf init` prompts you to choose the document language, project profile, and agent report language. Use `mf init --yes` to install English defaults without prompts.
71
+
72
+ Run `mf init --dry-run` to preview the installation plan before writing files.
73
+
74
+ pnpm and Bun can use the same npm package:
75
+
76
+ ```sh
77
+ pnpm add -D mustflow
78
+ pnpm exec mf init --yes
79
+
80
+ bun add -d mustflow
81
+ bunx mf init --yes
82
+ ```
83
+
84
+ Deno `npm:` execution is experimental until separately verified.
85
+
86
+ ## What it does
87
+
88
+ mustflow installs and validates an agent workflow for user projects.
89
+
90
+ - Installs `AGENTS.md` and `.mustflow/**` workflow files.
91
+ - Declares runnable command rules in `.mustflow/config/commands.toml`.
92
+ - Checks installation health and configuration structure with `mf check` and `mf doctor`.
93
+ - Classifies changed files, public surfaces, and validation reasons with `mf classify`.
94
+ - Prints execution-free verification plans with `mf verify --plan-only --json`.
95
+ - Runs only allowed one-shot commands within a timeout via `mf run <intent>` or `mf verify` when the selected intent is runnable.
96
+ - Writes command receipts to `.mustflow/state/runs/latest.json`.
97
+ - Generates a concise repository navigation map, `REPO_MAP.md`, with `mf map`.
98
+ - Indexes and searches mustflow docs, skills, skill routes, command rules, command-effect locks, and opt-in source anchor metadata with SQLite via `mf index` and `mf search`. The local SQLite file is a rebuildable lookup cache, not a memory store, audit log, command transcript store, or source-content database.
99
+ - Tracks agent-created or agent-modified documentation needing prose review with `mf docs review`.
100
+ - Previews and applies bundled template updates safely with `mf update`.
101
+ - Publishes JSON Schemas for automation-facing reports and command contracts in `schemas/`.
102
+
103
+ ## What it does not do
104
+
105
+ mustflow is not an automatic project editor and is not tied to a single agent product.
106
+
107
+ - It does not generate or modify application source code.
108
+ - It does not change project files just by being installed. Files are created only when `mf init` runs.
109
+ - It does not enforce tool-specific filenames such as `CLAUDE.md` or `GEMINI.md`.
110
+ - It does not replace a build system, test runner, package manager, or CI/CD setup.
111
+ - It does not add platform-specific files for GitHub, GitLab, or similar tools to the default template.
112
+ - It does not create a `justfile`, `Makefile`, or `Taskfile.yml` by default.
113
+ - `mf dashboard` inspects status, verification recommendations, command intents, release/version-source status, template update readiness, latest run receipts, skill routes, safe preferences, and documentation review state. It can copy or explain workflow information but does not run commands, apply fixes, start agents, merge branches, push changes, or update files automatically.
114
+
115
+ ## Installed files
116
+
117
+ `mf init` installs only the agent workflow into the current directory.
118
+
119
+ ```text
120
+ your-project/
121
+ ├─ AGENTS.md
122
+ ├─ .gitignore
123
+ └─ .mustflow/
124
+ ├─ config/
125
+ │ ├─ commands.toml
126
+ │ ├─ manifest.lock.toml
127
+ │ ├─ mustflow.toml
128
+ │ └─ preferences.toml
129
+ ├─ context/
130
+ │ ├─ INDEX.md
131
+ │ └─ PROJECT.md
132
+ ├─ docs/
133
+ │ └─ agent-workflow.md
134
+ └─ skills/
135
+ ├─ INDEX.md
136
+ ├─ artifact-integrity-check/
137
+ │ └─ SKILL.md
138
+ ├─ behavior-preserving-refactor/
139
+ │ └─ SKILL.md
140
+ ├─ code-review/
141
+ │ └─ SKILL.md
142
+ ├─ codebase-orientation/
143
+ │ └─ SKILL.md
144
+ ├─ contract-sync-check/
145
+ │ └─ SKILL.md
146
+ ├─ date-number-audit/
147
+ │ └─ SKILL.md
148
+ ├─ dependency-reality-check/
149
+ │ └─ SKILL.md
150
+ ├─ diff-risk-review/
151
+ │ └─ SKILL.md
152
+ ├─ docs-prose-review/
153
+ │ └─ SKILL.md
154
+ ├─ docs-update/
155
+ │ └─ SKILL.md
156
+ ├─ external-prompt-injection-defense/
157
+ │ └─ SKILL.md
158
+ ├─ failure-triage/
159
+ │ └─ SKILL.md
160
+ ├─ instruction-conflict-scope-check/
161
+ │ └─ SKILL.md
162
+ ├─ migration-safety-check/
163
+ │ └─ SKILL.md
164
+ ├─ multi-agent-work-coordination/
165
+ │ └─ SKILL.md
166
+ ├─ performance-budget-check/
167
+ │ └─ SKILL.md
168
+ ├─ project-context-authoring/
169
+ │ └─ SKILL.md
170
+ ├─ pattern-scout/
171
+ │ └─ SKILL.md
172
+ ├─ repo-improvement-loop/
173
+ │ └─ SKILL.md
174
+ ├─ requirement-regression-guard/
175
+ │ └─ SKILL.md
176
+ ├─ repro-first-debug/
177
+ │ └─ SKILL.md
178
+ ├─ security-privacy-review/
179
+ │ └─ SKILL.md
180
+ ├─ source-freshness-check/
181
+ │ └─ SKILL.md
182
+ ├─ structure-discovery-gate/
183
+ │ └─ SKILL.md
184
+ ├─ security-regression-tests/
185
+ │ └─ SKILL.md
186
+ ├─ skill-authoring/
187
+ │ └─ SKILL.md
188
+ ├─ test-maintenance/
189
+ │ └─ SKILL.md
190
+ ├─ ui-quality-gate/
191
+ │ └─ SKILL.md
192
+ ├─ visual-review-artifact/
193
+ │ ├─ SKILL.md
194
+ │ ├─ resources.toml
195
+ │ └─ assets/
196
+ │ └─ review-template.html
197
+ └─ web-asset-optimization/
198
+ └─ SKILL.md
199
+ ```
200
+
201
+ The default template does not create project-owned root documents or contract files such as `README.md`, `PROJECT.md`, `ROADMAP.md`, `DESIGN.md`, `GOVERNANCE.md`, `TESTING.md`, `API.md`, `project.contract.json`, or `openapi.yaml`. It also does not create CI configuration, general `docs/`, or general `skills/`. User projects may already use those names for their own files.
202
+
203
+ `mf init` creates `.gitignore` if it is missing. If `.gitignore` exists, mustflow updates only its managed block and preserves user rules.
204
+
205
+ `REPO_MAP.md` is not copied from the template. Generate it when needed with `mf map --write`. `.mustflow/cache/mustflow.sqlite` is also a regenerable local index created by `mf index`. `.mustflow/review/docs.toml` is not copied from the template; `mf docs review` creates it only when a document is added to the review queue.
206
+
207
+ If a project already has optional root Markdown files such as `README.md`, `PROJECT.md`, `ROADMAP.md`, `DESIGN.md`, `GOVERNANCE.md`, `TESTING.md`, `DEPLOYMENT.md`, `ARCHITECTURE.md`, or `API.md`, the repository map can use them as navigation anchors. It can also discover purpose-specific machine-readable contracts such as `project.contract.json`, `project.constants.json`, `design-tokens.json`, `openapi.yaml`, `asyncapi.yaml`, `schema.graphql`, and `schema.prisma`. Generic catch-all names like `SSOT.json` are not default anchors. `mf init` does not create or overwrite those project-owned files by default.
208
+
209
+ ## Basic workflow
210
+
211
+ ```sh
212
+ npx mf init --yes
213
+ npx mf doctor
214
+ npx mf check --strict
215
+ npx mf classify --changed --json > .mustflow/state/change-plan.json
216
+ npx mf verify --from-plan .mustflow/state/change-plan.json --plan-only --json
217
+ npx mf verify --from-plan .mustflow/state/change-plan.json --json
218
+ ```
219
+
220
+ Create the optional local search index if search capabilities are needed.
221
+
222
+ ```sh
223
+ npx mf index --dry-run --json
224
+ npx mf index
225
+ npx mf search mustflow_check
226
+ ```
227
+
228
+ Preview template updates before applying them. Files marked as customized in `.mustflow/config/manifest.lock.toml` remain as repository-specific baselines while their current content matches the lock.
229
+
230
+ ```sh
231
+ npx mf status
232
+ npx mf update --dry-run
233
+ npx mf update --apply
234
+ ```
235
+
236
+ Agents should prefer the configured update intents so the repository receives a run receipt.
237
+
238
+ ```sh
239
+ mf run mustflow_update_dry_run
240
+ mf run mustflow_update_apply
241
+ ```
242
+
243
+ ## Commands
244
+
245
+ | Command | Purpose |
246
+ | --- | --- |
247
+ | `mf init` | Install `AGENTS.md` and `.mustflow/**`. |
248
+ | `mf init --dry-run` | Show which files would be created without writing files. |
249
+ | `mf init --merge` | Merge the mustflow managed block into an existing `AGENTS.md`. |
250
+ | `mf init --force` | Back up conflicting files, then overwrite them. |
251
+ | `mf check` | Validate mustflow files, TOML configuration, and skill document shape. |
252
+ | `mf check --strict` | Run additional safety checks for document identity, authority/lifecycle metadata, skill index/body alignment, skill metadata, command boundaries, version-source discovery, retention policy, output limits, raw logs, and secret-like context. |
253
+ | `mf classify --changed` | Classify changed paths, public surfaces, and validation reasons without modifying files. |
254
+ | `mf contract-lint` | Inspect `.mustflow/config/commands.toml` for command-contract errors and warnings without running commands. |
255
+ | `mf doctor` | Inspect the current mustflow root without writing files. |
256
+ | `mf docs review list` | Show documents still waiting for prose review after agent edits. |
257
+ | `mf docs review add <path>` | Add or refresh a document review queue entry. |
258
+ | `mf docs review comment <path>` | Add multiline review guidance to an existing queue entry. |
259
+ | `mf docs review approve <path>` | Mark review complete and hide the document from the default queue. |
260
+ | `mf context --json` | Print read order, command rules, available capabilities, and recent run summary as JSON. |
261
+ | `mf map --stdout` | Print the current mustflow root map to stdout. |
262
+ | `mf map --write` | Create or update `REPO_MAP.md`. |
263
+ | `mf run <intent>` | Run an allowed one-shot command. |
264
+ | `mf index` | Build a SQLite index for mustflow docs, skill routes, command rules, and command-effect locks. |
265
+ | `mf search <query>` | Search docs, skills, skill routes, command rules, and command-effect locks in the SQLite index. |
266
+ | `mf status` | Inspect installed state and changed or missing files. |
267
+ | `mf update --dry-run` | Calculate a template update plan without writing files. |
268
+ | `mf update --apply` | Apply template updates when nothing is blocked. |
269
+ | `mf help <topic>` | Show installed mustflow help. |
270
+ | `mf dashboard` | Start a local inspection dashboard for status, verification recommendations, release/version-source status, template update readiness, latest run receipt, skill routes, safe preferences, and documentation review. It does not execute commands or apply fixes. |
271
+ | `mf version` | Print the installed mustflow package version. |
272
+ | `mf version --check` | Compare the installed package version with the latest npm release and print an update command if a newer version exists. |
273
+ | `mf version-sources` | Inspect detected package, template, and declared version sources without modifying files. |
274
+ | `mf impact --changed` | Report whether changed paths require a package or template version decision. |
275
+ | `mf verify --reason <event>` | Run configured verification intents selected by `required_after` metadata. |
276
+ | `mf verify --reason <event> --plan-only --json` | Print the required verification plan without running commands. |
277
+ | `mf explain authority [path]` | Explain managed Markdown authority decisions without modifying files. |
278
+ | `mf explain skill <skill_id>` | Explain the trigger, scope, risk, checks, and output contract for one skill route. |
279
+ | `mf explain skills` | Explain the strict skill index/body alignment summary used by `mf doctor --strict`. |
280
+ | `mf explain surface [path]` | Explain how a path maps to public-surface and validation categories. |
281
+
282
+ Automation and agents should use `--json` output instead of parsing human-facing text. Published JSON Schemas for stable outputs live in `schemas/`.
283
+
284
+ ## Command execution policy
285
+
286
+ Runnable work is declared in `.mustflow/config/commands.toml` so agents do not guess commands.
287
+
288
+ `mf run` executes only commands that meet all these conditions:
289
+
290
+ - `status = "configured"`
291
+ - `lifecycle = "oneshot"`
292
+ - `run_policy = "agent_allowed"`
293
+ - `stdin = "closed"`
294
+
295
+ Development servers, watch modes, browser UIs, interactive commands, and background processes do not run directly.
296
+
297
+ Use `mf verify --reason <event> --plan-only --json` to inspect matching verification intents and missing runnable coverage without executing commands.
298
+
299
+ Each command run writes the latest run record to `.mustflow/state/runs/latest.json`. The record includes the intent name, working directory, timeout, exit code, timeout status, and the tail of stdout and stderr.
300
+
301
+ ## Language and profiles
302
+
303
+ Installed workflow language, agent response language, and product-facing locale are separate settings.
304
+
305
+ ```sh
306
+ npx mf init --profile product --locale ko --agent-lang ko
307
+ npx mf init --product-source-locale en --product-locale ko-KR
308
+ npx mf init --set git.auto_commit=true
309
+ ```
310
+
311
+ - `--profile`: Project profile. The default is `minimal`. Profiles also select the installed skill surface: `minimal` installs core everyday coding skills, while `oss`, `team`, `product`, and `library` add opt-in skill groups without removing optional skill files from the package.
312
+ - `--locale`: Installed mustflow document language. The default template currently supports `en`, `ko`, `zh`, `es`, `fr`, and `hi`. The default template includes localized documents for all these locales.
313
+ - `--agent-lang`: Default language for final agent reports.
314
+ - `--interactive`: Choose init settings via prompts.
315
+ - `--yes`: Use default English init settings without prompts.
316
+ - `--set`: Set an allowed preference during installation. Supported keys include `git.auto_stage`, `git.auto_commit`, `git.auto_push=false`, `git.commit_message.style`, `git.commit_message.language`, `git.commit_message.max_suggestions`, `git.commit_message.include_body`, `git.commit_message.split_when_multiple_concerns`, `reporting.commit_suggestion.enabled`, `language.memory.summary`, and boolean `release.versioning.*` fields such as `release.versioning.suggest_bump=false`, `verification.selection.*` fields, and `testing.authoring.*` fields. Versioning preferences do not assume a fixed version file; agents must locate the repository-specific version source before suggesting or editing versions. Repositories needing an explicit version source can add `.mustflow/config/versioning.toml`; `mf init` does not install this optional file by default. `git.commit_message.style` accepts `conventional`, `descriptive`, or `gitmoji`; `gitmoji` only changes the suggested message format. `git.commit_message.language` accepts `preserve_existing`, `agent_response`, `docs`, or a locale tag such as `ja`, `de`, or `pt-BR`. `testing.authoring.new_test_policy` accepts `evidence_required`, `manual_approval`, or `broad`.
317
+ - `--product-source-locale`, `--product-locale`: Source and target locales for user-facing product strings.
318
+ - `--lang`: CLI output language. Current values are `en`, `ko`, `zh`, `es`, `fr`, and `hi`.
319
+
320
+ ## Repository structure
321
+
322
+ The mustflow repository contains the CLI, templates, contract specifications, documentation site, and repository-level translation docs.
323
+
324
+ ```text
325
+ mustflow/
326
+ ├─ README.md
327
+ ├─ ROADMAP.md
328
+ ├─ LICENSE
329
+ ├─ package.json
330
+ ├─ schemas/
331
+ ├─ tsconfig.json
332
+ ├─ docs/
333
+ │ ├─ spec/
334
+ │ └─ i18n/
335
+ ├─ docs-site/
336
+ ├─ src/
337
+ │ └─ cli/
338
+ ├─ templates/
339
+ │ └─ default/
340
+ └─ tests/
341
+ ```
342
+
343
+ Files copied into user projects come from `templates/default/common/` and `templates/default/locales/<locale>/`.
344
+
345
+ Versioned contract specifications live in `docs/spec/`. The documentation site links them under Design -> Contract specifications.
346
+
347
+ ## Candidate features
348
+
349
+ These are ideas not yet officially supported:
350
+
351
+ - Community skill registry and skill pack installs
352
+ - Optional `.mustflow/work-items/`
353
+ - `mf orient`, `mf refresh`
354
+ - Tool-specific adapters
355
+
356
+ ## Development
357
+
358
+ Development commands in this repository use Bun. Users do not need Bun to run `mf` in their own projects.
359
+
360
+ ```sh
361
+ bun install
362
+ bun run check
363
+ bun run docs:check:fast
364
+ bun run docs:check
365
+ bun run check:install
366
+ ```
367
+
368
+ Agents working in this repository should prefer the configured mustflow intents for routine verification.
369
+
370
+ ```sh
371
+ mf run build
372
+ mf run test_fast
373
+ mf run test_related
374
+ mf run test
375
+ mf run test_coverage
376
+ mf run test_release
377
+ mf run docs_validate_fast
378
+ mf run docs_validate
379
+ mf run mustflow_check
380
+ ```
381
+
382
+ The Bun scripts remain available for human maintainers and release packaging. `test_fast` runs the fast CLI regression baseline, `test_related` selects tests from changed files and falls back to the fast baseline, and `test_release` keeps package metadata and packaging checks out of routine local edits. `test_coverage` runs the fast CLI baseline through Node's built-in coverage report with no enforced threshold; set `MUSTFLOW_TEST_COVERAGE_CONCURRENCY=1`, `2`, or another positive integer to adjust worker count on local machines. `lint` and test-audit are configured as narrow repository-local gates. `docs_validate_fast` checks documentation navigation and localized content links without building the entire static site; `docs_validate` performs the full static documentation build, search index, and sitemap gate for release-sensitive changes.
383
+
384
+ `dist/` is a generated build output and is not committed. `npm pack` and `npm publish` run `npm run build` via `prepack`, so the npm package contains the built CLI.
385
+
386
+ Run the full release check before publishing:
387
+
388
+ ```sh
389
+ bun run release:check
390
+ ```
391
+
392
+ `release:check` validates the CLI, builds the documentation site, packs the npm tarball, installs it into a temporary project, and runs the public `mf` workflow. Maintainer npm publishing uses the `Publish npm package` GitHub Actions workflow from a published GitHub Release. The release tag must match the `package.json` version, with an optional leading `v`. npm Trusted Publishing must be configured for the workflow before maintainers publish through it.
393
+
394
+ ## Documentation site
395
+
396
+ The documentation site lives in `docs-site/`.
397
+
398
+ ```sh
399
+ bun run docs:dev
400
+ bun run docs:build
401
+ bun run docs:preview
402
+ ```
403
+
404
+ GitHub Pages builds the `docs-site/` source from the `main` branch using GitHub Actions and deploys `docs-site/dist` as the Pages artifact. Do not commit `docs-site/dist`.
405
+
406
+ ## Package contents
407
+
408
+ The npm package includes only:
409
+
410
+ ```text
411
+ dist/
412
+ templates/
413
+ schemas/
414
+ README.md
415
+ LICENSE
416
+ ```
417
+
418
+ `docs/`, `docs-site/`, `tests/`, `src/`, and work notes are not included in the npm package.
419
+
420
+ ## License
421
+
422
+ MIT-0
@@ -0,0 +1,73 @@
1
+ import { printUsageError, renderHelp } from '../lib/cli-output.js';
2
+ import { t } from '../lib/i18n.js';
3
+ import { resolveMustflowRoot } from '../lib/project-root.js';
4
+ import { checkMustflowProjectReport, describeCheckIssues } from '../lib/validation.js';
5
+ export function getCheckHelp(lang = 'en') {
6
+ return renderHelp({
7
+ usage: 'mf check [options]',
8
+ summary: t(lang, 'check.help.summary'),
9
+ options: [
10
+ { label: '--json', description: t(lang, 'cli.option.json') },
11
+ {
12
+ label: '--strict',
13
+ description: t(lang, 'check.help.option.strict'),
14
+ },
15
+ { label: '-h, --help', description: t(lang, 'cli.option.help') },
16
+ ],
17
+ examples: ['mf check', 'mf check --strict', 'mf check --strict --json'],
18
+ exitCodes: [
19
+ {
20
+ label: '0',
21
+ description: t(lang, 'check.help.exit.ok'),
22
+ },
23
+ {
24
+ label: '1',
25
+ description: t(lang, 'check.help.exit.fail'),
26
+ },
27
+ ],
28
+ }, lang);
29
+ }
30
+ export function runCheck(args, reporter, lang = 'en') {
31
+ if (args.includes('--help') || args.includes('-h')) {
32
+ reporter.stdout(getCheckHelp(lang));
33
+ return 0;
34
+ }
35
+ const supported = new Set(['--json', '--strict']);
36
+ const unsupported = args.filter((arg) => !supported.has(arg));
37
+ if (unsupported.length > 0) {
38
+ printUsageError(reporter, t(lang, 'cli.error.unknownOption', { option: unsupported[0] }), 'mf check --help', getCheckHelp(lang), lang);
39
+ return 1;
40
+ }
41
+ const strict = args.includes('--strict');
42
+ const report = checkMustflowProjectReport(resolveMustflowRoot(), { strict });
43
+ const issues = report.issues;
44
+ const warnings = report.warnings;
45
+ const ok = issues.length === 0;
46
+ if (args.includes('--json')) {
47
+ reporter.stdout(JSON.stringify({
48
+ ok,
49
+ strict,
50
+ issueCount: issues.length,
51
+ issues,
52
+ warningCount: warnings.length,
53
+ warnings,
54
+ issueDetails: describeCheckIssues([...issues, ...warnings]),
55
+ }, null, 2));
56
+ return ok ? 0 : 1;
57
+ }
58
+ if (ok) {
59
+ for (const warning of warnings) {
60
+ reporter.stderr(warning);
61
+ }
62
+ if (strict) {
63
+ reporter.stdout(t(lang, 'check.result.strictPassed'));
64
+ return 0;
65
+ }
66
+ reporter.stdout(t(lang, 'check.result.passed'));
67
+ return 0;
68
+ }
69
+ for (const issue of issues) {
70
+ reporter.stderr(issue);
71
+ }
72
+ return 1;
73
+ }
@@ -0,0 +1,104 @@
1
+ import { createChangeClassificationReport, } from '../../core/change-classification.js';
2
+ import { printUsageError, renderHelp } from '../lib/cli-output.js';
3
+ import { readGitChangedFiles } from '../lib/git-changes.js';
4
+ import { t } from '../lib/i18n.js';
5
+ import { resolveMustflowRoot } from '../lib/project-root.js';
6
+ const CLASSIFY_SCHEMA_VERSION = '1';
7
+ export function getClassifyHelp(lang = 'en') {
8
+ return renderHelp({
9
+ usage: 'mf classify --changed [options] | mf classify <path...> [options]',
10
+ summary: t(lang, 'classify.help.summary'),
11
+ options: [
12
+ { label: '--changed', description: t(lang, 'classify.help.option.changed') },
13
+ { label: '--json', description: t(lang, 'cli.option.json') },
14
+ { label: '-h, --help', description: t(lang, 'cli.option.help') },
15
+ ],
16
+ examples: ['mf classify --changed', 'mf classify README.md schemas/verify-report.schema.json --json'],
17
+ exitCodes: [
18
+ { label: '0', description: t(lang, 'classify.help.exit.ok') },
19
+ { label: '1', description: t(lang, 'cli.common.invalidInput') },
20
+ ],
21
+ }, lang);
22
+ }
23
+ function parseClassifyArgs(args) {
24
+ const paths = [];
25
+ let json = false;
26
+ let changed = false;
27
+ for (const arg of args) {
28
+ if (arg === '--json') {
29
+ json = true;
30
+ continue;
31
+ }
32
+ if (arg === '--changed') {
33
+ changed = true;
34
+ continue;
35
+ }
36
+ if (arg.startsWith('-')) {
37
+ return { json, changed, paths, error: arg };
38
+ }
39
+ paths.push(arg);
40
+ }
41
+ return { json, changed, paths };
42
+ }
43
+ function getClassifyOutput(projectRoot, parsed) {
44
+ const source = parsed.changed ? 'changed' : 'paths';
45
+ const files = parsed.changed ? readGitChangedFiles(projectRoot) : parsed.paths;
46
+ return {
47
+ schema_version: CLASSIFY_SCHEMA_VERSION,
48
+ command: 'classify',
49
+ mustflow_root: projectRoot,
50
+ ...createChangeClassificationReport(source, files),
51
+ };
52
+ }
53
+ function renderList(values, lang) {
54
+ return values.length > 0 ? values.join(', ') : t(lang, 'value.none');
55
+ }
56
+ function renderClassifyOutput(output, lang) {
57
+ const sourceLabel = output.source === 'changed' ? t(lang, 'classify.source.changed') : t(lang, 'classify.source.paths');
58
+ const lines = [
59
+ t(lang, 'classify.title'),
60
+ `${t(lang, 'label.mustflowRoot')}: ${output.mustflow_root}`,
61
+ `${t(lang, 'classify.label.source')}: ${sourceLabel}`,
62
+ `${t(lang, 'classify.label.files')}: ${output.summary.fileCount}`,
63
+ `${t(lang, 'classify.label.publicSurfaces')}: ${output.summary.publicSurfaceCount}`,
64
+ `${t(lang, 'classify.label.validationReasons')}: ${renderList(output.summary.validationReasons, lang)}`,
65
+ `${t(lang, 'classify.label.updatePolicies')}: ${renderList(output.summary.updatePolicies, lang)}`,
66
+ `${t(lang, 'classify.label.driftChecks')}: ${renderList(output.summary.driftChecks, lang)}`,
67
+ '',
68
+ t(lang, 'classify.label.classifications'),
69
+ ];
70
+ if (output.classifications.length === 0) {
71
+ lines.push(`- ${t(lang, 'value.none')}`);
72
+ return lines.join('\n');
73
+ }
74
+ for (const classification of output.classifications) {
75
+ lines.push(`- ${classification.path}: ${classification.surface.kind} / ${classification.surface.category}`, ` ${t(lang, 'classify.label.changeKinds')}: ${renderList(classification.changeKinds, lang)}`, ` ${t(lang, 'classify.label.validationReasons')}: ${renderList(classification.surface.validationReasons, lang)}`, ` ${t(lang, 'classify.label.updatePolicy')}: ${classification.surface.updatePolicy}`, ` ${t(lang, 'classify.label.driftChecks')}: ${renderList(classification.surface.driftChecks, lang)}`);
76
+ }
77
+ return lines.join('\n');
78
+ }
79
+ export function runClassify(args, reporter, lang = 'en') {
80
+ if (args.includes('--help') || args.includes('-h')) {
81
+ reporter.stdout(getClassifyHelp(lang));
82
+ return 0;
83
+ }
84
+ const parsed = parseClassifyArgs(args);
85
+ if (parsed.error) {
86
+ printUsageError(reporter, t(lang, 'cli.error.unknownOption', { option: parsed.error }), 'mf classify --help', getClassifyHelp(lang), lang);
87
+ return 1;
88
+ }
89
+ if (parsed.changed && parsed.paths.length > 0) {
90
+ printUsageError(reporter, t(lang, 'cli.error.unexpectedArgument', { argument: parsed.paths[0] }), 'mf classify --help', getClassifyHelp(lang), lang);
91
+ return 1;
92
+ }
93
+ if (!parsed.changed && parsed.paths.length === 0) {
94
+ printUsageError(reporter, t(lang, 'classify.error.missingInput'), 'mf classify --help', getClassifyHelp(lang), lang);
95
+ return 1;
96
+ }
97
+ const output = getClassifyOutput(resolveMustflowRoot(), parsed);
98
+ if (parsed.json) {
99
+ reporter.stdout(JSON.stringify(output, null, 2));
100
+ return 0;
101
+ }
102
+ reporter.stdout(renderClassifyOutput(output, lang));
103
+ return 0;
104
+ }