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
@@ -0,0 +1,210 @@
1
+ ---
2
+ mustflow_doc: skill.facade-pattern
3
+ locale: ko
4
+ canonical: false
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: facade-pattern
9
+ description: Apply this skill when a controller, handler, command, service, or UI event needs a stable high-level entry point over a complex subsystem, repeated multi-step workflow, multiple dependencies, external services, repositories, queues, caches, file storage, transactions, idempotency, retries, logging, or normalized results, without turning that entry point into a god service or hiding domain rules.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.facade-pattern
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - test_related
19
+ - test
20
+ - lint
21
+ - build
22
+ - docs_validate_fast
23
+ - test_release
24
+ - mustflow_check
25
+ ---
26
+
27
+ # Facade Pattern
28
+
29
+ <!-- mustflow-section: purpose -->
30
+ ## Purpose
31
+
32
+ Provide one simple, stable public entry point in front of a complex subsystem or repeated workflow.
33
+
34
+ A facade is not a convenient name for a large service class. It is a thin application-level coordinator that hides internal ordering, external provider details, retries, transactions, logging, idempotency, and result normalization from callers while keeping domain decisions visible in domain objects, pure functions, policies, strategies, commands, or state machines.
35
+
36
+ Use this skill to make callers say what they want done while the facade controls where the subsystem complexity lives.
37
+
38
+ <!-- mustflow-section: use-when -->
39
+ ## Use When
40
+
41
+ - One user or system action requires three or more internal steps.
42
+ - One operation coordinates two or more dependencies such as repositories, gateways, storage, queues, caches, validators, scanners, compressors, event publishers, or external services.
43
+ - The same internal sequence is repeated across controllers, handlers, workers, UI event handlers, or services.
44
+ - Callers know too much about implementation order, provider SDKs, database records, file storage, cache keys, queues, or external response shapes.
45
+ - Failure handling, retry, timeout, logging, transactions, idempotency, cache invalidation, or event publishing differs between call sites for the same operation.
46
+ - A controller, route, job, command handler, or UI event handler directly performs subsystem orchestration instead of delegating to a stable entry point.
47
+ - The internal implementation is likely to change while the caller-facing operation should remain stable.
48
+
49
+ <!-- mustflow-section: do-not-use-when -->
50
+ ## Do Not Use When
51
+
52
+ - The facade would only call one method with a different name.
53
+ - The caller is already simple and does not know internal subsystem details.
54
+ - The intent is to hide messy code without clarifying ownership, tests, or boundaries.
55
+ - Domain rules, pricing, permissions, eligibility, validation policy, or state transitions are the main problem; use `pure-core-imperative-shell`, `strategy-pattern`, or `state-machine-pattern` as appropriate.
56
+ - Several interchangeable algorithms or policies are the main problem; use `strategy-pattern`.
57
+ - A single external API or protocol needs translation into an internal shape; use `adapter-boundary`.
58
+ - One state-changing intent needs payload, context, transaction, idempotency, audit, retry, outbox, and traceability semantics; use `command-pattern`, and place a facade below it only when there is a real subsystem workflow to simplify.
59
+ - The proposed facade would become `AppFacade`, `SystemFacade`, `CommonService`, `Manager`, `Helper`, or another catch-all container.
60
+
61
+ <!-- mustflow-section: required-inputs -->
62
+ ## Required Inputs
63
+
64
+ - The caller surface that should become simpler: controller, router, UI handler, command handler, worker, job, or service.
65
+ - The high-level operation name and the user or system purpose it represents.
66
+ - The current internal sequence, repeated call sites, or leaked subsystem details.
67
+ - Dependencies involved and whether each is a domain service, pure policy, repository port, gateway port, adapter, queue, cache, transaction manager, idempotency store, logger, or event publisher.
68
+ - Expected success response and expected failure cases.
69
+ - Authorization, idempotency, retry, transaction, observability, security, and performance requirements.
70
+ - Local conventions for request objects, context objects, `Result` values, ports, adapters, dependency injection, commands, events, and tests.
71
+ - Relevant command-intent contract entries for verification.
72
+
73
+ <!-- mustflow-section: preconditions -->
74
+ ## Preconditions
75
+
76
+ - Higher-priority instructions and `.mustflow/config/commands.toml` have been checked for the current scope.
77
+ - The operation has enough real subsystem complexity to justify a facade.
78
+ - The facade boundary is a feature area or workflow boundary, not a whole application boundary.
79
+ - If preserving existing behavior, `behavior-preserving-refactor` has been applied before moving orchestration.
80
+ - If external systems cross the boundary, `adapter-boundary` and `dependency-injection` have been applied so the facade depends on internal ports rather than SDK clients.
81
+ - If expected failure or absence is part of the contract, `result-option` has been applied to the return shape.
82
+ - If the operation is a traceable state-changing intent, `command-pattern` has been considered so the facade does not replace command semantics.
83
+
84
+ <!-- mustflow-section: allowed-edits -->
85
+ ## Allowed Edits
86
+
87
+ - Add or update a narrow facade in an application or feature boundary.
88
+ - Add request, response, context, and facade error types.
89
+ - Add or update ports, injected collaborators, mapper functions, error normalizers, idempotency handling, transaction orchestration, retry policy calls, event publishing, cache invalidation, and logging directly needed by the facade.
90
+ - Move repeated subsystem ordering out of controllers, handlers, workers, command handlers, or UI event handlers into the facade.
91
+ - Add tests with fake dependencies for success, validation, permission, dependency failure, error normalization, idempotency, event publishing, transaction behavior, and sensitive-log protection.
92
+ - Do not move domain rules into the facade just because the facade coordinates the operation.
93
+ - Do not expose private subsystem steps as public facade methods.
94
+
95
+ <!-- mustflow-section: procedure -->
96
+ ## Procedure
97
+
98
+ 1. Classify the need.
99
+ - Use a facade when the caller needs one stable high-level operation but currently knows internal ordering or multiple subsystem details.
100
+ - Do not use a facade for a one-line wrapper, a pure policy, a provider translation, a lifecycle transition table, or a command execution unit by itself.
101
+ 2. Name the facade by feature area or workflow.
102
+ - Prefer names such as `FileUploadFacade`, `CheckoutFacade`, `BillingFacade`, `ReportExportFacade`, or `SignupFacade`.
103
+ - Avoid broad names such as `AppFacade`, `SystemFacade`, `CommonService`, `Manager`, `Helper`, and `Util`.
104
+ 3. Name public methods by caller intent.
105
+ - Use names such as `uploadImage`, `checkout`, `createInvoice`, `refundPayment`, `exportReport`, or `sendWelcomeNotification`.
106
+ - Avoid public methods named after internal steps such as `compress`, `scan`, `saveMetadata`, `publishEvent`, or `invalidateCache`.
107
+ - Keep public methods few. A facade with many public methods probably owns more than one workflow.
108
+ 4. Define request and context shapes.
109
+ - Accept one request object for operation data.
110
+ - Accept a separate context object for actor, request identifier, correlation identifier, tenant or account scope, idempotency key, source, and trusted server-side execution facts.
111
+ - Do not pass long primitive parameter lists, framework request objects, response objects, ORM entities, SDK clients, database connections, file streams, or loggers as request payload.
112
+ 5. Define normalized response and failure shapes.
113
+ - Return the minimum caller-needed success facts.
114
+ - Return expected failures as `Result` values or the local equivalent.
115
+ - Do not return provider SDK responses, ORM models, full database rows, internal domain entities, raw exception objects, secrets, internal file paths, or unnecessary metadata.
116
+ 6. Keep dependencies explicit and replaceable.
117
+ - Inject collaborators through constructors or function parameters.
118
+ - Depend on role interfaces or ports, not concrete SDK clients or framework objects.
119
+ - Wrap external SDKs in adapters before they reach the facade.
120
+ - Avoid facade-to-facade dependency chains. If two facades need the same lower-level behavior, extract a shared lower-level service, port, or pure function.
121
+ 7. Keep the facade stateless per request.
122
+ - Store injected dependencies, immutable configuration, and read-only policy objects only.
123
+ - Do not store current user, current request, current file, current transaction, intermediate result, last response, or mutable request-specific collections in facade fields.
124
+ 8. Delegate domain decisions.
125
+ - The facade may perform basic input checks, call validators, pass context, check permissions through a policy, coordinate dependencies, normalize errors, and return results.
126
+ - It must not become the home for pricing formulas, eligibility rules, permission policy, lifecycle transitions, state mutation rules, or complex calculations.
127
+ - Use pure core functions, policies, strategies, commands, or state machines for domain decisions and have the facade call them.
128
+ 9. Control transactions carefully.
129
+ - Use transactions for fast local persistence that must commit together.
130
+ - Do not hold a database transaction open while calling slow external APIs, email, webhooks, file uploads, payment providers, AI calls, or other long network work.
131
+ - When local state and external work must coordinate, use idempotency keys, pending states, action ledgers, outbox records, sagas, compensation commands, or worker jobs.
132
+ 10. Make harmful duplicate execution safe.
133
+ - Require idempotency for payments, refunds, order creation, account creation, file uploads, email sends, coupon use, point grants, external sync, and webhook handling.
134
+ - Scope idempotency by actor, tenant, workspace, account, owner, or other trust boundary.
135
+ - Store stable payload hashes rather than raw sensitive payloads.
136
+ - Return existing results for the same key and same payload hash, and return conflicts for the same key with different payload.
137
+ 11. Apply retry only when safe.
138
+ - Retry transient network, timeout, rate-limit, provider outage, and read operations when the operation is safe or idempotent.
139
+ - Do not retry invalid input, denied access, unsupported formats, domain-rule failures, terminal state transitions, or unsafe writes without idempotency.
140
+ - Return retryability in failure results when callers or workers need it.
141
+ 12. Add safe observability.
142
+ - Log high-level operation start, success, failure, duration, request identifier, actor identifier, resource identifier, error code, retry count, and idempotency-key presence when useful.
143
+ - Do not log passwords, tokens, cookies, API keys, raw card data, raw personal data, raw file content, full provider responses, full request bodies, or raw external exceptions.
144
+ - Use consistent event names such as `<domain>.<operation>.started`, `<domain>.<operation>.succeeded`, and `<domain>.<operation>.failed`.
145
+ 13. Keep performance visible.
146
+ - If the operation is expensive or long-running, name it with words such as `request`, `schedule`, `enqueue`, or `start`, then return a job identifier or queued status.
147
+ - Add timeouts to external calls.
148
+ - Avoid hidden N+1 behavior behind a simple facade method.
149
+ - Limit response data to what the caller needs.
150
+ 14. Document the public facade contract when the method is new or changed.
151
+ - Include purpose, input, output, failure codes, side effects, idempotency, transaction behavior, external dependencies, synchronous or asynchronous behavior, and security requirements.
152
+ - Keep comments concise and attached to public API surfaces rather than private implementation details.
153
+ 15. Test at the facade boundary.
154
+ - Use fake repositories, gateways, storage, scanners, event publishers, idempotency stores, transaction runners, and loggers.
155
+ - Cover success, validation failure, permission denial, missing resource, dependency failure, error normalization, event or outbox creation, idempotency hit, idempotency conflict, dangerous missing key, transaction rollback when relevant, and no sensitive logging.
156
+ - Do not call real external APIs, real payments, real email, real large uploads, or private methods directly in facade unit tests.
157
+
158
+ <!-- mustflow-section: postconditions -->
159
+ ## Postconditions
160
+
161
+ - Callers invoke a high-level operation and no longer know internal subsystem order.
162
+ - Public facade methods express caller intent, not internal steps.
163
+ - Request data and execution context are separated.
164
+ - Success responses and expected failures are normalized.
165
+ - External SDK types, provider errors, ORM models, framework objects, and internal paths do not cross the facade boundary.
166
+ - Dependencies are injected and test-replaceable.
167
+ - Domain decisions remain outside the facade.
168
+ - Transactions, idempotency, retry, logging, security, and performance behavior are explicit where the operation needs them.
169
+ - Tests cover the facade's observable result and side effects through fake dependencies.
170
+
171
+ <!-- mustflow-section: verification -->
172
+ ## Verification
173
+
174
+ Use configured oneshot command intents when available:
175
+
176
+ - `changes_status`
177
+ - `changes_diff_summary`
178
+ - `test_related`
179
+ - `test`
180
+ - `lint`
181
+ - `build`
182
+ - `docs_validate_fast`
183
+ - `test_release`
184
+ - `mustflow_check`
185
+
186
+ Choose the narrowest configured verification that covers changed facade code, dependencies, tests, templates, docs, release metadata, and mustflow routing.
187
+
188
+ <!-- mustflow-section: failure-handling -->
189
+ ## Failure Handling
190
+
191
+ - If the facade is a one-method pass-through wrapper, remove it or merge it back into the caller.
192
+ - If the facade grows into a god service, split it by workflow or feature area.
193
+ - If the facade hides domain rules, extract those rules into pure functions, policy objects, strategies, state machines, or domain services.
194
+ - If public methods expose internal steps, make them private or move them to lower-level collaborators.
195
+ - If provider objects or errors leak through the facade result, add adapters and error mappers.
196
+ - If the facade must call another facade, check for a lower-level shared dependency before accepting the coupling.
197
+ - If idempotency or retry cannot be made safe for a harmful side effect, fail closed and report the manual or workflow gap.
198
+
199
+ <!-- mustflow-section: output-format -->
200
+ ## Output Format
201
+
202
+ - Facade need and selected workflow boundary
203
+ - Caller surface simplified
204
+ - Request, context, response, and failure shapes
205
+ - Dependencies injected and lower-level collaborators used
206
+ - Domain decisions delegated out of the facade
207
+ - Adapter, command, strategy, state-machine, or pure-core boundaries used with this skill
208
+ - Transaction, idempotency, retry, logging, security, and performance choices
209
+ - Tests or verification evidence
210
+ - Skipped checks and remaining facade risk
@@ -0,0 +1,119 @@
1
+ ---
2
+ mustflow_doc: skill.failure-triage
3
+ locale: ko
4
+ canonical: false
5
+ revision: 3
6
+ authority: procedure
7
+ lifecycle: mustflow-owned
8
+ name: failure-triage
9
+ description: 테스트, 빌드, 규칙 검사, 문서 검증 명령이 실패했거나 근본 원인을 분석해야 할 때 적용합니다.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.failure-triage
15
+ command_intents:
16
+ - test
17
+ - lint
18
+ - build
19
+ - docs_validate
20
+ - mustflow_check
21
+ ---
22
+
23
+ # 실패 분석 (Failure Triage)
24
+
25
+ <!-- mustflow-section: purpose -->
26
+ ## 목적
27
+
28
+ 실패를 임의로 수정하거나 은폐하지 않고, 가장 가능성 높은 근본 원인을 체계적으로 분석합니다.
29
+
30
+ <!-- mustflow-section: use-when -->
31
+ ## 적용 시나리오
32
+
33
+ - 설정된 명령 의도가 실패했을 때 적용합니다.
34
+ - 테스트, 빌드, 규칙 검사, 문서 검증 실패의 원인을 좁혀야 할 때 적용합니다.
35
+
36
+ <!-- mustflow-section: do-not-use-when -->
37
+ ## 적용하지 않는 경우
38
+
39
+ - 실패 로그나 실행한 명령 의도를 확인할 수 없는 경우, 먼저 실행 기록을 확보하십시오.
40
+ - 파괴적인 복구 명령이 필요하다고 판단되면, 사용자의 승인 전까지는 진행하지 마십시오.
41
+
42
+ <!-- mustflow-section: required-inputs -->
43
+ ## 필요한 입력
44
+
45
+ - 실패한 명령 의도 이름
46
+ - 실제 실행된 `argv` 또는 `cmd`
47
+ - 작업 디렉터리, 종료 코드, 핵심 오류 메시지
48
+ - 관련 변경 파일
49
+ - `.mustflow/docs/agent-workflow.md`의 실패 대응 정책
50
+ - `.mustflow/config/commands.toml`의 실패한 명령 의도 계약
51
+
52
+ <!-- mustflow-section: preconditions -->
53
+ ## 사전 조건
54
+
55
+ - 작업이 사용 조건에 맞고 사용하지 않는 경우에는 해당하지 않습니다.
56
+ - 필요한 입력을 확보했거나, 빠진 입력을 추측하지 않고 보고할 수 있습니다.
57
+ - 현재 범위에 대해 더 높은 우선순위의 지침과 `.mustflow/config/commands.toml`을 확인했습니다.
58
+
59
+ <!-- mustflow-section: allowed-edits -->
60
+ ## 허용 수정 범위
61
+
62
+ - 이 스킬, 사용자 요청, `.mustflow/skills/INDEX.md`의 맞는 경로가 설명하는 범위 안에서만 수정합니다.
63
+ - 명령 권한을 넓히거나, 프로젝트 사실을 지어내거나, 관련 없는 워크플로 파일을 변경하지 않습니다.
64
+
65
+ <!-- mustflow-section: procedure -->
66
+ ## 절차
67
+
68
+ 1. 실패한 명령 의도와 작업 디렉터리를 확인합니다.
69
+ 2. 종료 코드와 핵심 오류 메시지를 분석합니다.
70
+ 3. 명령 생명주기와 제한 시간을 확인합니다.
71
+ 4. `oneshot` 의도인 경우, 한 번 더 실행하여 일시적인 오류인지 확인합니다.
72
+ 5. `server`, `watch`, `interactive`, `browser`, `background` 의도는 재실행하지 않고 장기 실행 명령으로 분류하여 보고합니다.
73
+ 6. 제한 시간 초과가 발생했다면 프로세스 정리 결과를 기록합니다.
74
+ 7. 원인을 환경, 설정, 코드, 테스트 문제로 분류합니다.
75
+ 8. 가장 작은 단위의 재현 명령이나 관련 파일을 식별합니다.
76
+ 9. 최소한의 수정을 적용한 후 실패한 명령 의도를 다시 실행하여 검증합니다.
77
+
78
+ <!-- mustflow-section: postconditions -->
79
+ ## 사후 조건
80
+
81
+ - 명확한 근거, 실행한 명령 의도, 건너뛴 확인, 남은 위험을 포함해 예상 출력을 작성할 수 있습니다.
82
+ - 빠진 명령 의도, 알 수 없는 입력, 권한 충돌은 숨기지 않고 보고합니다.
83
+
84
+ <!-- mustflow-section: verification -->
85
+ ## 검증
86
+
87
+ 공유 명령 정책은 `.mustflow/docs/agent-workflow.md#명령-실행-정책`을 따릅니다.
88
+
89
+ 관련 명령 의도:
90
+
91
+ - 실패한 원래 명령 의도
92
+ - 수정 범위에 따라 필요한 `test`, `lint`, `build`, `docs_validate`, `mustflow_check`
93
+
94
+ 각 의도는 `.mustflow/config/commands.toml`에서 확인하십시오.
95
+ `status = "configured"`가 아니면 실행하지 않고, 상태와 건너뛴 이유를 보고하십시오.
96
+ `lifecycle = "oneshot"`과 `run_policy = "agent_allowed"`가 아니면 검증 명령으로 실행하지 않습니다.
97
+ `test_watch`, `dev`, `start`, 브라우저 UI, 원시 개발 서버 명령은 검증 명령으로 사용하지 않습니다.
98
+ 스킬 문서 내에 실제 셸 명령을 직접 작성하지 마십시오.
99
+
100
+ <!-- mustflow-section: failure-handling -->
101
+ ## 실패 대응
102
+
103
+ - 민감한 정보가 로그에 노출된 경우 즉시 중단하고 보고하십시오.
104
+ - 파괴적인 명령이 필요하다고 판단되면 즉시 중단하고 승인 요청 사항으로 보고하십시오.
105
+ - 장기 실행 프로세스가 필요한 실패인 경우, 개발 서버나 브라우저 UI를 직접 실행하지 말고 승인 요청 사항으로 보고하십시오.
106
+ - 제한 시간 초과 후 정리가 실패했다면 프로세스 ID, 명령 의도, 정리 오류를 보고하십시오.
107
+ - 원인이 외부 서비스나 권한 문제로 판단되면 현재까지 확인한 내용을 보고하십시오.
108
+
109
+ <!-- mustflow-section: output-format -->
110
+ ## 출력 형식
111
+
112
+ - 작업 요약
113
+ - 실패한 명령 의도
114
+ - 핵심 오류
115
+ - 확인한 원인 후보
116
+ - 수행한 재현 또는 재시도
117
+ - 명령 생명주기와 제한 시간 초과 여부
118
+ - 수정한 내용
119
+ - 남은 위험과 다음 확인 지점
@@ -0,0 +1,118 @@
1
+ ---
2
+ mustflow_doc: skill.instruction-conflict-scope-check
3
+ locale: ko
4
+ canonical: false
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: instruction-conflict-scope-check
9
+ description: 저장소, 호스트, 사용자, 중첩 프로젝트, 명령 계약, 선호 설정, 생성된 지시 출처가 충돌하거나 안전한 수정, 명령, 검증, 커밋, 푸시, 삭제, 마이그레이션, 보고 범위가 불분명할 때 적용합니다.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.instruction-conflict-scope-check
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - docs_validate_fast
19
+ - test_release
20
+ - mustflow_check
21
+ ---
22
+
23
+ # 지시 충돌 범위 확인
24
+
25
+ <!-- mustflow-section: purpose -->
26
+ ## 목적
27
+
28
+ 충돌하는 지시가 있을 때 작업을 계속하기 전에 권한, 수정 범위, 명령 범위, 보고 경계를 좁혀 정리합니다.
29
+
30
+ <!-- mustflow-section: use-when -->
31
+ ## 사용할 때
32
+
33
+ - 사용자 지시, 호스트 규칙, `AGENTS.md`, 중첩 저장소 지시, `.mustflow/config/*.toml`, 선호 설정, 스킬, 생성 파일, 로드맵 문구가 서로 다른 방향을 가리킵니다.
34
+ - 부모 저장소를 수정해야 하는지 중첩된 자식 저장소를 수정해야 하는지 불분명합니다.
35
+ - 명령, 커밋, 푸시, 삭제, 마이그레이션, 백그라운드 프로세스, 브라우저 실행, 오래 걸리는 작업이 허용되는지 불분명합니다.
36
+ - 낮은 우선순위 문서가 높은 우선순위 규칙이 막는 동작을 허용하는 것처럼 보입니다.
37
+ - 최종 보고에서 요청 일부를 왜 건너뛰거나 좁히거나 미뤘는지 설명해야 합니다.
38
+
39
+ <!-- mustflow-section: do-not-use-when -->
40
+ ## 사용하지 않을 때
41
+
42
+ - 지시 우선순위가 명확하고 일반 작업별 스킬만 적용하면 됩니다.
43
+ - 신뢰할 수 없는 붙여넣은 텍스트가 규칙을 덮어쓰려는 문제입니다. 그 부분에는 `external-prompt-injection-defense`를 사용합니다.
44
+ - 작업이 문서 문구만 바꾸며 권한, 범위, 명령 주장을 만들지 않습니다.
45
+
46
+ <!-- mustflow-section: required-inputs -->
47
+ ## 필요한 입력
48
+
49
+ - 충돌하는 지시 출처와 각각이 요구하거나 금지하는 것처럼 보이는 정확한 동작.
50
+ - 영향을 받는 범위: 저장소 루트, 중첩 프로젝트, 파일 경로, 명령 의도, 검증, Git 작업, 마이그레이션, 보고.
51
+ - 사용자의 직접 요청과 더 최근의 명확화 메시지.
52
+ - 영향을 받는 경로의 관련 명령 의도 계약 항목과 가장 가까운 `AGENTS.md` 파일.
53
+
54
+ <!-- mustflow-section: preconditions -->
55
+ ## 전제 조건
56
+
57
+ - 작업이 사용할 때 조건에 맞고 사용하지 않을 때 조건에는 해당하지 않습니다.
58
+ - 필요한 입력이 있거나, 부족한 입력을 추측하지 않고 보고할 수 있습니다.
59
+ - 현재 범위의 상위 지시와 `.mustflow/config/commands.toml`을 확인했습니다.
60
+
61
+ <!-- mustflow-section: allowed-edits -->
62
+ ## 허용되는 수정
63
+
64
+ - 충돌을 일으킨 워크플로 문서, 스킬, 템플릿, 테스트, 보고 문구를 명확히 합니다.
65
+ - 가장 가까운 적용 대상 저장소와 가장 작은 안전한 표면으로 수정을 좁힙니다.
66
+ - 권한이 없을 때 건너뛰거나 미룬 작업을 기록합니다.
67
+ - 명령 권한을 넓히거나, 호스트 안전 규칙을 덮어쓰거나, 선택한 저장소 밖을 수정하거나, 선호 설정을 사용자의 직접 지시보다 높은 우선순위로 취급하지 않습니다.
68
+
69
+ <!-- mustflow-section: procedure -->
70
+ ## 절차
71
+
72
+ 1. 충돌하는 출처를 우선순위 순서로 나열합니다. 사용자의 직접 요청, 호스트 안전 규칙, 가장 가까운 저장소 지시, mustflow 설정, 스킬, 선호 설정, 생성 상태, 낮은 우선순위 문서 순서입니다.
73
+ 2. 영향을 받는 동작을 식별합니다. 수정, 읽기, 검증, 명령 실행, 커밋, 푸시, 삭제, 마이그레이션, 백그라운드 프로세스, 브라우저 실행, 최종 보고 중 무엇인지 확인합니다.
74
+ 3. 가장 가까운 적용 대상 저장소 루트와 경로 범위를 선택합니다. 중첩 저장소가 관련되면 그 저장소의 지시를 다시 읽은 뒤 수정합니다.
75
+ 4. 안전, 비밀값, 파괴적 작업, 명령 권한, 저장소 경계가 충돌하면 더 엄격한 안전 규칙을 적용합니다.
76
+ 5. 선호 설정은 기본값으로만 다룹니다. 선호 설정이 높은 우선순위 규칙이 막는 명령, 커밋, 푸시, 마이그레이션, 수정을 허용하게 두지 않습니다.
77
+ 6. 명령 권한이 불분명하면 구성된 명령 의도만 사용하거나, 원시 명령을 추론하지 말고 빠진 명령을 보고합니다.
78
+ 7. 작은 문서 또는 템플릿 명확화로 충돌을 줄일 수 있으면 혼란을 만든 출처를 수정하고, 문구가 정식 계약에 종속되도록 둡니다.
79
+ 8. 요청 일부를 안전하게 완료할 수 없다면 선택한 범위, 건너뛴 범위, 이유를 보고합니다.
80
+
81
+ <!-- mustflow-section: postconditions -->
82
+ ## 완료 조건
83
+
84
+ - 활성 지시 출처, 저장소 루트, 수정 범위, 명령 범위, 건너뛴 범위가 명확합니다.
85
+ - 변경한 문서나 템플릿이 새로운 자체 권한 정책 출처가 되지 않습니다.
86
+ - 최종 보고가 완료한 작업과 차단, 보류, 의도적으로 건너뛴 작업을 구분합니다.
87
+
88
+ <!-- mustflow-section: verification -->
89
+ ## 검증
90
+
91
+ 사용 가능한 구성된 일회성 명령 의도를 사용합니다.
92
+
93
+ - `changes_status`
94
+ - `changes_diff_summary`
95
+ - `docs_validate_fast`
96
+ - `test_release`
97
+ - `mustflow_check`
98
+
99
+ 명확히 한 지시 또는 템플릿 표면을 더 잘 증명하는 좁은 테스트나 문서 의도가 있으면 그 의도를 사용합니다.
100
+
101
+ <!-- mustflow-section: failure-handling -->
102
+ ## 실패 처리
103
+
104
+ - 높은 우선순위 지시 두 개를 조화시킬 수 없다면 추측하지 말고 멈춰서 충돌을 보고합니다.
105
+ - 가장 가까운 저장소 루트가 불분명하면 수정 전에 읽기 전용 상태와 지시 파일을 확인합니다.
106
+ - 명령, Git 작업, 마이그레이션, 파괴적 작업에 권한이 없으면 실행하지 않습니다. 빠진 승인 또는 명령 계약을 보고합니다.
107
+ - 검증에서 명령 권한이나 지시 권한 범위 이탈이 발견되면 관련 없는 동작을 추가하기 전에 그 이탈을 고칩니다.
108
+
109
+ <!-- mustflow-section: output-format -->
110
+ ## 출력 형식
111
+
112
+ - 충돌한 지시 출처
113
+ - 선택한 우선순위 규칙과 저장소 범위
114
+ - 허용, 축소, 건너뜀, 보류한 동작
115
+ - 명확히 한 문서 또는 템플릿
116
+ - 실행한 명령 의도
117
+ - 건너뛴 검사와 이유
118
+ - 남은 권한 또는 범위 위험
@@ -0,0 +1,111 @@
1
+ ---
2
+ mustflow_doc: skill.line-ending-hygiene
3
+ locale: ko
4
+ canonical: false
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: line-ending-hygiene
9
+ description: Apply this skill when Git reports CRLF/LF warnings or when tracked text files may need repository line-ending normalization.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.line-ending-hygiene
15
+ command_intents:
16
+ - line_endings_check
17
+ - changes_status
18
+ - mustflow_check
19
+ ---
20
+
21
+ # Line Ending Hygiene
22
+
23
+ <!-- mustflow-section: purpose -->
24
+ ## Purpose
25
+
26
+ Detect line-ending drift without silently rewriting a repository, and normalize only when a repository policy and explicit user request make it safe.
27
+
28
+ <!-- mustflow-section: use-when -->
29
+ ## Use When
30
+
31
+ - Git reports CRLF, LF, or line-ending replacement warnings.
32
+ - A diff or formatter appears to rewrite files only because of line endings.
33
+ - A user asks why line-ending warnings appear.
34
+ - A user asks to normalize tracked files to the repository line-ending policy.
35
+
36
+ <!-- mustflow-section: do-not-use-when -->
37
+ ## Do Not Use When
38
+
39
+ - The task is unrelated to Git, text files, formatting, or command-output warnings.
40
+ - The repository has no line-ending policy and the user has not asked to create one.
41
+ - The only affected files are generated artifacts, package archives, images, databases, or other binary files.
42
+
43
+ <!-- mustflow-section: required-inputs -->
44
+ ## Required Inputs
45
+
46
+ - The warning text or changed-file evidence.
47
+ - Current `.gitattributes` or equivalent repository line-ending policy.
48
+ - Current changed-file status.
49
+ - The configured command intents for line-ending checks and manual normalization.
50
+
51
+ <!-- mustflow-section: preconditions -->
52
+ ## Preconditions
53
+
54
+ - The task matches the Use When conditions and does not match the Do Not Use When exclusions.
55
+ - Required inputs are available, or missing inputs can be reported without guessing.
56
+ - Higher-priority instructions and `.mustflow/config/commands.toml` have been checked for the current scope.
57
+
58
+ <!-- mustflow-section: allowed-edits -->
59
+ ## Allowed Edits
60
+
61
+ - Update line-ending policy files only when the user asks for a repository policy change.
62
+ - Normalize tracked text files only when the user explicitly requests normalization and the repository declares an LF policy.
63
+ - Do not rewrite binary files, generated archives, dependency folders, or unrelated source files.
64
+ - Do not change formatting, indentation, or content while handling line endings.
65
+
66
+ <!-- mustflow-section: procedure -->
67
+ ## Procedure
68
+
69
+ 1. Inspect the changed-file status before deciding whether line endings are the actual issue.
70
+ 2. Use the `line_endings_check` intent when it is configured and agent-runnable.
71
+ 3. If no LF policy is declared, report the missing policy instead of normalizing files.
72
+ 4. If drift is found, report the affected tracked files and whether normalization was only previewed.
73
+ 5. Use normalization only after an explicit user request, and treat `line_endings_normalize` as manual-only unless the repository declares otherwise.
74
+ 6. After any normalization, re-run the line-ending check and a relevant validation intent for the touched scope.
75
+ 7. Keep the final report focused on policy, files changed, checks run, and remaining risk.
76
+
77
+ <!-- mustflow-section: postconditions -->
78
+ ## Postconditions
79
+
80
+ - The agent has not silently rewritten the working tree.
81
+ - Any normalization is tied to a declared repository policy.
82
+ - Remaining CRLF, mixed line endings, missing policy, or manual-only command gaps are reported.
83
+
84
+ <!-- mustflow-section: verification -->
85
+ ## Verification
86
+
87
+ Use configured oneshot command intents when available:
88
+
89
+ - `line_endings_check`
90
+ - `changes_status`
91
+ - `mustflow_check`
92
+
93
+ If normalization touched code, documentation, templates, or release surfaces, also run the narrowest configured verification that covers those changed files.
94
+
95
+ <!-- mustflow-section: failure-handling -->
96
+ ## Failure Handling
97
+
98
+ - If Git is unavailable or the repository is not a Git working tree, report that tracked-file inspection is unavailable.
99
+ - If a line-ending check fails because drift exists, do not treat it as a tool failure; report the affected files and next safe action.
100
+ - If normalization fails, stop after the first relevant error and do not attempt broader formatting.
101
+ - If the repository policy conflicts with user intent, ask for an explicit policy decision before editing.
102
+
103
+ <!-- mustflow-section: output-format -->
104
+ ## Output Format
105
+
106
+ - Line-ending policy found
107
+ - Files with CRLF or mixed line endings
108
+ - Files normalized
109
+ - Command intents run
110
+ - Command intents skipped with reasons
111
+ - Remaining line-ending risk