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.
- package/LICENSE +16 -0
- package/README.md +422 -0
- package/dist/cli/commands/check.js +73 -0
- package/dist/cli/commands/classify.js +104 -0
- package/dist/cli/commands/context.js +95 -0
- package/dist/cli/commands/contract-lint.js +74 -0
- package/dist/cli/commands/dashboard.js +654 -0
- package/dist/cli/commands/docs.js +382 -0
- package/dist/cli/commands/doctor.js +232 -0
- package/dist/cli/commands/explain.js +293 -0
- package/dist/cli/commands/help.js +148 -0
- package/dist/cli/commands/impact.js +120 -0
- package/dist/cli/commands/index.js +70 -0
- package/dist/cli/commands/init.js +986 -0
- package/dist/cli/commands/line-endings.js +102 -0
- package/dist/cli/commands/map.js +95 -0
- package/dist/cli/commands/run.js +442 -0
- package/dist/cli/commands/search.js +166 -0
- package/dist/cli/commands/status.js +65 -0
- package/dist/cli/commands/update.js +443 -0
- package/dist/cli/commands/verify.js +448 -0
- package/dist/cli/commands/version-sources.js +79 -0
- package/dist/cli/commands/version.js +57 -0
- package/dist/cli/i18n/en.js +702 -0
- package/dist/cli/i18n/es.js +702 -0
- package/dist/cli/i18n/fr.js +702 -0
- package/dist/cli/i18n/hi.js +702 -0
- package/dist/cli/i18n/ko.js +702 -0
- package/dist/cli/i18n/zh.js +702 -0
- package/dist/cli/index.js +218 -0
- package/dist/cli/lib/agent-context.js +342 -0
- package/dist/cli/lib/browser-open.js +58 -0
- package/dist/cli/lib/cli-output.js +36 -0
- package/dist/cli/lib/command-contract.js +1 -0
- package/dist/cli/lib/command-registry.js +107 -0
- package/dist/cli/lib/dashboard-html.js +1866 -0
- package/dist/cli/lib/dashboard-locale.js +309 -0
- package/dist/cli/lib/dashboard-preferences.js +405 -0
- package/dist/cli/lib/doc-review-ledger.js +226 -0
- package/dist/cli/lib/filesystem.js +125 -0
- package/dist/cli/lib/git-changes.js +13 -0
- package/dist/cli/lib/i18n.js +55 -0
- package/dist/cli/lib/local-index.js +1014 -0
- package/dist/cli/lib/locale-tags.js +4 -0
- package/dist/cli/lib/manifest-lock.js +131 -0
- package/dist/cli/lib/npm-version-check.js +97 -0
- package/dist/cli/lib/package-info.js +13 -0
- package/dist/cli/lib/preferences-options.js +8 -0
- package/dist/cli/lib/project-root.js +23 -0
- package/dist/cli/lib/repo-map.js +635 -0
- package/dist/cli/lib/reporter.js +8 -0
- package/dist/cli/lib/run-receipt.js +1 -0
- package/dist/cli/lib/template-i18n.js +265 -0
- package/dist/cli/lib/templates.js +188 -0
- package/dist/cli/lib/toml.js +1 -0
- package/dist/cli/lib/validation.js +1639 -0
- package/dist/cli/lib/version-sources.js +1 -0
- package/dist/core/authority-resolution.js +155 -0
- package/dist/core/change-classification.js +122 -0
- package/dist/core/change-verification.js +80 -0
- package/dist/core/check-issues.js +67 -0
- package/dist/core/command-classification.js +22 -0
- package/dist/core/command-contract-rules.js +27 -0
- package/dist/core/command-contract-validation.js +197 -0
- package/dist/core/command-cwd.js +12 -0
- package/dist/core/command-effects.js +182 -0
- package/dist/core/command-explanation.js +135 -0
- package/dist/core/command-intent-eligibility.js +76 -0
- package/dist/core/config-loading.js +54 -0
- package/dist/core/contract-lint.js +110 -0
- package/dist/core/contract-models.js +53 -0
- package/dist/core/dashboard-verification.js +132 -0
- package/dist/core/doc-review-triage.js +92 -0
- package/dist/core/line-endings.js +144 -0
- package/dist/core/public-json-contracts.js +112 -0
- package/dist/core/public-surface-explanation.js +49 -0
- package/dist/core/release-version-validation.js +53 -0
- package/dist/core/retention-explanation.js +74 -0
- package/dist/core/retention-policy.js +57 -0
- package/dist/core/run-receipt.js +77 -0
- package/dist/core/skill-route-alignment.js +100 -0
- package/dist/core/skill-route-explanation.js +117 -0
- package/dist/core/source-anchor-explanation.js +33 -0
- package/dist/core/source-anchor-status.js +269 -0
- package/dist/core/source-anchor-symbols.js +181 -0
- package/dist/core/source-anchor-validation.js +158 -0
- package/dist/core/source-anchors.js +194 -0
- package/dist/core/surface-decision-model.js +18 -0
- package/dist/core/toml.js +11 -0
- package/dist/core/verification-plan.js +41 -0
- package/dist/core/verification-scheduler.js +92 -0
- package/dist/core/version-impact.js +54 -0
- package/dist/core/version-sources.js +235 -0
- package/dist/core/version-sync-policy.js +85 -0
- package/examples/README.md +13 -0
- package/examples/docs-only/README.md +72 -0
- package/examples/host-instruction-conflicts/README.md +47 -0
- package/examples/minimal-js/README.md +98 -0
- package/examples/missing-command-contracts/README.md +70 -0
- package/examples/nested-repos/README.md +62 -0
- package/package.json +80 -0
- package/schemas/README.md +32 -0
- package/schemas/change-verification-report.schema.json +319 -0
- package/schemas/classify-report.schema.json +113 -0
- package/schemas/commands.schema.json +116 -0
- package/schemas/context-report.schema.json +341 -0
- package/schemas/contract-lint-report.schema.json +61 -0
- package/schemas/docs-review-list.schema.json +72 -0
- package/schemas/doctor-report.schema.json +175 -0
- package/schemas/explain-report.schema.json +471 -0
- package/schemas/impact-report.schema.json +121 -0
- package/schemas/line-endings-report.schema.json +63 -0
- package/schemas/run-receipt.schema.json +75 -0
- package/schemas/verify-report.schema.json +67 -0
- package/schemas/version-sources-report.schema.json +42 -0
- package/templates/default/common/.mustflow/config/commands.toml +251 -0
- package/templates/default/common/.mustflow/config/mustflow.toml +424 -0
- package/templates/default/common/.mustflow/config/preferences.toml +125 -0
- package/templates/default/common/gitignore.mustflow +9 -0
- package/templates/default/i18n.toml +483 -0
- package/templates/default/locales/en/.mustflow/context/INDEX.md +39 -0
- package/templates/default/locales/en/.mustflow/context/PROJECT.md +66 -0
- package/templates/default/locales/en/.mustflow/docs/agent-workflow.md +345 -0
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +78 -0
- package/templates/default/locales/en/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
- package/templates/default/locales/en/.mustflow/skills/artifact-integrity-check/SKILL.md +121 -0
- package/templates/default/locales/en/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
- package/templates/default/locales/en/.mustflow/skills/code-review/SKILL.md +115 -0
- package/templates/default/locales/en/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
- package/templates/default/locales/en/.mustflow/skills/command-pattern/SKILL.md +247 -0
- package/templates/default/locales/en/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
- package/templates/default/locales/en/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
- package/templates/default/locales/en/.mustflow/skills/date-number-audit/SKILL.md +116 -0
- package/templates/default/locales/en/.mustflow/skills/dependency-injection/SKILL.md +161 -0
- package/templates/default/locales/en/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
- package/templates/default/locales/en/.mustflow/skills/diff-risk-review/SKILL.md +143 -0
- package/templates/default/locales/en/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
- package/templates/default/locales/en/.mustflow/skills/docs-update/SKILL.md +100 -0
- package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +124 -0
- package/templates/default/locales/en/.mustflow/skills/facade-pattern/SKILL.md +210 -0
- package/templates/default/locales/en/.mustflow/skills/failure-triage/SKILL.md +97 -0
- package/templates/default/locales/en/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
- package/templates/default/locales/en/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
- package/templates/default/locales/en/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
- package/templates/default/locales/en/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
- package/templates/default/locales/en/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
- package/templates/default/locales/en/.mustflow/skills/pattern-scout/SKILL.md +110 -0
- package/templates/default/locales/en/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
- package/templates/default/locales/en/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
- package/templates/default/locales/en/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
- package/templates/default/locales/en/.mustflow/skills/readme-authoring/SKILL.md +115 -0
- package/templates/default/locales/en/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
- package/templates/default/locales/en/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
- package/templates/default/locales/en/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
- package/templates/default/locales/en/.mustflow/skills/result-option/SKILL.md +186 -0
- package/templates/default/locales/en/.mustflow/skills/security-privacy-review/SKILL.md +130 -0
- package/templates/default/locales/en/.mustflow/skills/security-regression-tests/SKILL.md +157 -0
- package/templates/default/locales/en/.mustflow/skills/skill-authoring/SKILL.md +110 -0
- package/templates/default/locales/en/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
- package/templates/default/locales/en/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
- package/templates/default/locales/en/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
- package/templates/default/locales/en/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
- package/templates/default/locales/en/.mustflow/skills/test-maintenance/SKILL.md +122 -0
- package/templates/default/locales/en/.mustflow/skills/ui-quality-gate/SKILL.md +119 -0
- package/templates/default/locales/en/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
- package/templates/default/locales/en/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
- package/templates/default/locales/en/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
- package/templates/default/locales/en/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
- package/templates/default/locales/en/AGENTS.md +114 -0
- package/templates/default/locales/es/.mustflow/context/INDEX.md +39 -0
- package/templates/default/locales/es/.mustflow/context/PROJECT.md +63 -0
- package/templates/default/locales/es/.mustflow/docs/agent-workflow.md +365 -0
- package/templates/default/locales/es/.mustflow/skills/INDEX.md +78 -0
- package/templates/default/locales/es/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
- package/templates/default/locales/es/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
- package/templates/default/locales/es/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
- package/templates/default/locales/es/.mustflow/skills/code-review/SKILL.md +115 -0
- package/templates/default/locales/es/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
- package/templates/default/locales/es/.mustflow/skills/command-pattern/SKILL.md +247 -0
- package/templates/default/locales/es/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
- package/templates/default/locales/es/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
- package/templates/default/locales/es/.mustflow/skills/date-number-audit/SKILL.md +116 -0
- package/templates/default/locales/es/.mustflow/skills/dependency-injection/SKILL.md +161 -0
- package/templates/default/locales/es/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
- package/templates/default/locales/es/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
- package/templates/default/locales/es/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
- package/templates/default/locales/es/.mustflow/skills/docs-update/SKILL.md +97 -0
- package/templates/default/locales/es/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
- package/templates/default/locales/es/.mustflow/skills/facade-pattern/SKILL.md +210 -0
- package/templates/default/locales/es/.mustflow/skills/failure-triage/SKILL.md +97 -0
- package/templates/default/locales/es/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
- package/templates/default/locales/es/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
- package/templates/default/locales/es/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
- package/templates/default/locales/es/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
- package/templates/default/locales/es/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
- package/templates/default/locales/es/.mustflow/skills/pattern-scout/SKILL.md +110 -0
- package/templates/default/locales/es/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
- package/templates/default/locales/es/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
- package/templates/default/locales/es/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
- package/templates/default/locales/es/.mustflow/skills/readme-authoring/SKILL.md +115 -0
- package/templates/default/locales/es/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
- package/templates/default/locales/es/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
- package/templates/default/locales/es/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
- package/templates/default/locales/es/.mustflow/skills/result-option/SKILL.md +186 -0
- package/templates/default/locales/es/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
- package/templates/default/locales/es/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
- package/templates/default/locales/es/.mustflow/skills/skill-authoring/SKILL.md +110 -0
- package/templates/default/locales/es/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
- package/templates/default/locales/es/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
- package/templates/default/locales/es/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
- package/templates/default/locales/es/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
- package/templates/default/locales/es/.mustflow/skills/test-maintenance/SKILL.md +122 -0
- package/templates/default/locales/es/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
- package/templates/default/locales/es/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
- package/templates/default/locales/es/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
- package/templates/default/locales/es/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
- package/templates/default/locales/es/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
- package/templates/default/locales/es/AGENTS.md +83 -0
- package/templates/default/locales/fr/.mustflow/context/INDEX.md +39 -0
- package/templates/default/locales/fr/.mustflow/context/PROJECT.md +63 -0
- package/templates/default/locales/fr/.mustflow/docs/agent-workflow.md +368 -0
- package/templates/default/locales/fr/.mustflow/skills/INDEX.md +78 -0
- package/templates/default/locales/fr/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
- package/templates/default/locales/fr/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
- package/templates/default/locales/fr/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
- package/templates/default/locales/fr/.mustflow/skills/code-review/SKILL.md +115 -0
- package/templates/default/locales/fr/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
- package/templates/default/locales/fr/.mustflow/skills/command-pattern/SKILL.md +247 -0
- package/templates/default/locales/fr/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
- package/templates/default/locales/fr/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
- package/templates/default/locales/fr/.mustflow/skills/date-number-audit/SKILL.md +116 -0
- package/templates/default/locales/fr/.mustflow/skills/dependency-injection/SKILL.md +161 -0
- package/templates/default/locales/fr/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
- package/templates/default/locales/fr/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
- package/templates/default/locales/fr/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
- package/templates/default/locales/fr/.mustflow/skills/docs-update/SKILL.md +97 -0
- package/templates/default/locales/fr/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
- package/templates/default/locales/fr/.mustflow/skills/facade-pattern/SKILL.md +210 -0
- package/templates/default/locales/fr/.mustflow/skills/failure-triage/SKILL.md +97 -0
- package/templates/default/locales/fr/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
- package/templates/default/locales/fr/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
- package/templates/default/locales/fr/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
- package/templates/default/locales/fr/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
- package/templates/default/locales/fr/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
- package/templates/default/locales/fr/.mustflow/skills/pattern-scout/SKILL.md +110 -0
- package/templates/default/locales/fr/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
- package/templates/default/locales/fr/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
- package/templates/default/locales/fr/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
- package/templates/default/locales/fr/.mustflow/skills/readme-authoring/SKILL.md +115 -0
- package/templates/default/locales/fr/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
- package/templates/default/locales/fr/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
- package/templates/default/locales/fr/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
- package/templates/default/locales/fr/.mustflow/skills/result-option/SKILL.md +186 -0
- package/templates/default/locales/fr/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
- package/templates/default/locales/fr/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
- package/templates/default/locales/fr/.mustflow/skills/skill-authoring/SKILL.md +110 -0
- package/templates/default/locales/fr/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
- package/templates/default/locales/fr/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
- package/templates/default/locales/fr/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
- package/templates/default/locales/fr/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
- package/templates/default/locales/fr/.mustflow/skills/test-maintenance/SKILL.md +122 -0
- package/templates/default/locales/fr/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
- package/templates/default/locales/fr/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
- package/templates/default/locales/fr/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
- package/templates/default/locales/fr/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
- package/templates/default/locales/fr/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
- package/templates/default/locales/fr/AGENTS.md +84 -0
- package/templates/default/locales/hi/.mustflow/context/INDEX.md +39 -0
- package/templates/default/locales/hi/.mustflow/context/PROJECT.md +65 -0
- package/templates/default/locales/hi/.mustflow/docs/agent-workflow.md +359 -0
- package/templates/default/locales/hi/.mustflow/skills/INDEX.md +78 -0
- package/templates/default/locales/hi/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
- package/templates/default/locales/hi/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
- package/templates/default/locales/hi/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
- package/templates/default/locales/hi/.mustflow/skills/code-review/SKILL.md +115 -0
- package/templates/default/locales/hi/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
- package/templates/default/locales/hi/.mustflow/skills/command-pattern/SKILL.md +247 -0
- package/templates/default/locales/hi/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
- package/templates/default/locales/hi/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
- package/templates/default/locales/hi/.mustflow/skills/date-number-audit/SKILL.md +116 -0
- package/templates/default/locales/hi/.mustflow/skills/dependency-injection/SKILL.md +161 -0
- package/templates/default/locales/hi/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
- package/templates/default/locales/hi/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
- package/templates/default/locales/hi/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
- package/templates/default/locales/hi/.mustflow/skills/docs-update/SKILL.md +97 -0
- package/templates/default/locales/hi/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
- package/templates/default/locales/hi/.mustflow/skills/facade-pattern/SKILL.md +210 -0
- package/templates/default/locales/hi/.mustflow/skills/failure-triage/SKILL.md +97 -0
- package/templates/default/locales/hi/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
- package/templates/default/locales/hi/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
- package/templates/default/locales/hi/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
- package/templates/default/locales/hi/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
- package/templates/default/locales/hi/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
- package/templates/default/locales/hi/.mustflow/skills/pattern-scout/SKILL.md +110 -0
- package/templates/default/locales/hi/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
- package/templates/default/locales/hi/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
- package/templates/default/locales/hi/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
- package/templates/default/locales/hi/.mustflow/skills/readme-authoring/SKILL.md +115 -0
- package/templates/default/locales/hi/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
- package/templates/default/locales/hi/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
- package/templates/default/locales/hi/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
- package/templates/default/locales/hi/.mustflow/skills/result-option/SKILL.md +186 -0
- package/templates/default/locales/hi/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
- package/templates/default/locales/hi/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
- package/templates/default/locales/hi/.mustflow/skills/skill-authoring/SKILL.md +110 -0
- package/templates/default/locales/hi/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
- package/templates/default/locales/hi/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
- package/templates/default/locales/hi/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
- package/templates/default/locales/hi/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
- package/templates/default/locales/hi/.mustflow/skills/test-maintenance/SKILL.md +122 -0
- package/templates/default/locales/hi/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
- package/templates/default/locales/hi/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
- package/templates/default/locales/hi/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
- package/templates/default/locales/hi/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
- package/templates/default/locales/hi/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
- package/templates/default/locales/hi/AGENTS.md +83 -0
- package/templates/default/locales/ko/.mustflow/context/INDEX.md +39 -0
- package/templates/default/locales/ko/.mustflow/context/PROJECT.md +66 -0
- package/templates/default/locales/ko/.mustflow/docs/agent-workflow.md +506 -0
- package/templates/default/locales/ko/.mustflow/skills/INDEX.md +78 -0
- package/templates/default/locales/ko/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
- package/templates/default/locales/ko/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
- package/templates/default/locales/ko/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
- package/templates/default/locales/ko/.mustflow/skills/code-review/SKILL.md +118 -0
- package/templates/default/locales/ko/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
- package/templates/default/locales/ko/.mustflow/skills/command-pattern/SKILL.md +247 -0
- package/templates/default/locales/ko/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
- package/templates/default/locales/ko/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
- package/templates/default/locales/ko/.mustflow/skills/date-number-audit/SKILL.md +116 -0
- package/templates/default/locales/ko/.mustflow/skills/dependency-injection/SKILL.md +161 -0
- package/templates/default/locales/ko/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
- package/templates/default/locales/ko/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
- package/templates/default/locales/ko/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
- package/templates/default/locales/ko/.mustflow/skills/docs-update/SKILL.md +107 -0
- package/templates/default/locales/ko/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
- package/templates/default/locales/ko/.mustflow/skills/facade-pattern/SKILL.md +210 -0
- package/templates/default/locales/ko/.mustflow/skills/failure-triage/SKILL.md +119 -0
- package/templates/default/locales/ko/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
- package/templates/default/locales/ko/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
- package/templates/default/locales/ko/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
- package/templates/default/locales/ko/.mustflow/skills/multi-agent-work-coordination/SKILL.md +259 -0
- package/templates/default/locales/ko/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
- package/templates/default/locales/ko/.mustflow/skills/pattern-scout/SKILL.md +110 -0
- package/templates/default/locales/ko/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
- package/templates/default/locales/ko/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
- package/templates/default/locales/ko/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
- package/templates/default/locales/ko/.mustflow/skills/readme-authoring/SKILL.md +115 -0
- package/templates/default/locales/ko/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
- package/templates/default/locales/ko/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
- package/templates/default/locales/ko/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
- package/templates/default/locales/ko/.mustflow/skills/result-option/SKILL.md +186 -0
- package/templates/default/locales/ko/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
- package/templates/default/locales/ko/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
- package/templates/default/locales/ko/.mustflow/skills/skill-authoring/SKILL.md +110 -0
- package/templates/default/locales/ko/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
- package/templates/default/locales/ko/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
- package/templates/default/locales/ko/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
- package/templates/default/locales/ko/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
- package/templates/default/locales/ko/.mustflow/skills/test-maintenance/SKILL.md +130 -0
- package/templates/default/locales/ko/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
- package/templates/default/locales/ko/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
- package/templates/default/locales/ko/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
- package/templates/default/locales/ko/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
- package/templates/default/locales/ko/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
- package/templates/default/locales/ko/AGENTS.md +85 -0
- package/templates/default/locales/zh/.mustflow/context/INDEX.md +39 -0
- package/templates/default/locales/zh/.mustflow/context/PROJECT.md +64 -0
- package/templates/default/locales/zh/.mustflow/docs/agent-workflow.md +310 -0
- package/templates/default/locales/zh/.mustflow/skills/INDEX.md +78 -0
- package/templates/default/locales/zh/.mustflow/skills/adapter-boundary/SKILL.md +193 -0
- package/templates/default/locales/zh/.mustflow/skills/artifact-integrity-check/SKILL.md +114 -0
- package/templates/default/locales/zh/.mustflow/skills/behavior-preserving-refactor/SKILL.md +182 -0
- package/templates/default/locales/zh/.mustflow/skills/code-review/SKILL.md +115 -0
- package/templates/default/locales/zh/.mustflow/skills/codebase-orientation/SKILL.md +115 -0
- package/templates/default/locales/zh/.mustflow/skills/command-pattern/SKILL.md +247 -0
- package/templates/default/locales/zh/.mustflow/skills/composition-over-inheritance/SKILL.md +176 -0
- package/templates/default/locales/zh/.mustflow/skills/contract-sync-check/SKILL.md +116 -0
- package/templates/default/locales/zh/.mustflow/skills/date-number-audit/SKILL.md +116 -0
- package/templates/default/locales/zh/.mustflow/skills/dependency-injection/SKILL.md +161 -0
- package/templates/default/locales/zh/.mustflow/skills/dependency-reality-check/SKILL.md +115 -0
- package/templates/default/locales/zh/.mustflow/skills/diff-risk-review/SKILL.md +136 -0
- package/templates/default/locales/zh/.mustflow/skills/docs-prose-review/SKILL.md +119 -0
- package/templates/default/locales/zh/.mustflow/skills/docs-update/SKILL.md +97 -0
- package/templates/default/locales/zh/.mustflow/skills/external-prompt-injection-defense/SKILL.md +116 -0
- package/templates/default/locales/zh/.mustflow/skills/facade-pattern/SKILL.md +210 -0
- package/templates/default/locales/zh/.mustflow/skills/failure-triage/SKILL.md +96 -0
- package/templates/default/locales/zh/.mustflow/skills/instruction-conflict-scope-check/SKILL.md +118 -0
- package/templates/default/locales/zh/.mustflow/skills/line-ending-hygiene/SKILL.md +111 -0
- package/templates/default/locales/zh/.mustflow/skills/migration-safety-check/SKILL.md +117 -0
- package/templates/default/locales/zh/.mustflow/skills/multi-agent-work-coordination/SKILL.md +260 -0
- package/templates/default/locales/zh/.mustflow/skills/null-object-pattern/SKILL.md +196 -0
- package/templates/default/locales/zh/.mustflow/skills/pattern-scout/SKILL.md +110 -0
- package/templates/default/locales/zh/.mustflow/skills/performance-budget-check/SKILL.md +121 -0
- package/templates/default/locales/zh/.mustflow/skills/project-context-authoring/SKILL.md +107 -0
- package/templates/default/locales/zh/.mustflow/skills/pure-core-imperative-shell/SKILL.md +212 -0
- package/templates/default/locales/zh/.mustflow/skills/readme-authoring/SKILL.md +115 -0
- package/templates/default/locales/zh/.mustflow/skills/repo-improvement-loop/SKILL.md +150 -0
- package/templates/default/locales/zh/.mustflow/skills/repro-first-debug/SKILL.md +112 -0
- package/templates/default/locales/zh/.mustflow/skills/requirement-regression-guard/SKILL.md +152 -0
- package/templates/default/locales/zh/.mustflow/skills/result-option/SKILL.md +186 -0
- package/templates/default/locales/zh/.mustflow/skills/security-privacy-review/SKILL.md +116 -0
- package/templates/default/locales/zh/.mustflow/skills/security-regression-tests/SKILL.md +131 -0
- package/templates/default/locales/zh/.mustflow/skills/skill-authoring/SKILL.md +110 -0
- package/templates/default/locales/zh/.mustflow/skills/source-freshness-check/SKILL.md +111 -0
- package/templates/default/locales/zh/.mustflow/skills/state-machine-pattern/SKILL.md +214 -0
- package/templates/default/locales/zh/.mustflow/skills/strategy-pattern/SKILL.md +215 -0
- package/templates/default/locales/zh/.mustflow/skills/structure-discovery-gate/SKILL.md +159 -0
- package/templates/default/locales/zh/.mustflow/skills/test-maintenance/SKILL.md +122 -0
- package/templates/default/locales/zh/.mustflow/skills/ui-quality-gate/SKILL.md +117 -0
- package/templates/default/locales/zh/.mustflow/skills/visual-review-artifact/SKILL.md +127 -0
- package/templates/default/locales/zh/.mustflow/skills/visual-review-artifact/assets/review-template.html +286 -0
- package/templates/default/locales/zh/.mustflow/skills/visual-review-artifact/resources.toml +7 -0
- package/templates/default/locales/zh/.mustflow/skills/web-asset-optimization/SKILL.md +108 -0
- package/templates/default/locales/zh/AGENTS.md +86 -0
- package/templates/default/manifest.toml +339 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const INSTALLED_TEMPLATE_SURFACE_PATHS = [
|
|
2
|
+
'templates/default/manifest.toml',
|
|
3
|
+
'templates/default/i18n.toml',
|
|
4
|
+
'templates/default/common/',
|
|
5
|
+
'templates/default/locales/',
|
|
6
|
+
];
|
|
7
|
+
function normalizePath(value) {
|
|
8
|
+
return value.replace(/\\/g, '/').replace(/^\.\//u, '');
|
|
9
|
+
}
|
|
10
|
+
function parseSemverCore(version) {
|
|
11
|
+
const match = /^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/u.exec(version.trim());
|
|
12
|
+
if (!match) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return [Number(match[1]), Number(match[2]), Number(match[3])];
|
|
16
|
+
}
|
|
17
|
+
function compareSemver(left, right) {
|
|
18
|
+
const leftVersion = parseSemverCore(left);
|
|
19
|
+
const rightVersion = parseSemverCore(right);
|
|
20
|
+
if (!leftVersion || !rightVersion) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
for (let index = 0; index < leftVersion.length; index += 1) {
|
|
24
|
+
const difference = leftVersion[index] - rightVersion[index];
|
|
25
|
+
if (difference !== 0) {
|
|
26
|
+
return difference;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
export function pathTouchesInstalledTemplateSurface(path) {
|
|
32
|
+
const normalized = normalizePath(path);
|
|
33
|
+
return INSTALLED_TEMPLATE_SURFACE_PATHS.some((surfacePath) => surfacePath.endsWith('/') ? normalized.startsWith(surfacePath) : normalized === surfacePath);
|
|
34
|
+
}
|
|
35
|
+
function installedTemplateSurfaceChanged(changedPaths) {
|
|
36
|
+
if (!changedPaths) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return changedPaths.some(pathTouchesInstalledTemplateSurface);
|
|
40
|
+
}
|
|
41
|
+
export function evaluateVersionSync(input) {
|
|
42
|
+
const { packageVersion, templateVersion, syncTemplateVersion } = input;
|
|
43
|
+
const surfaceChanged = installedTemplateSurfaceChanged(input.changedPaths);
|
|
44
|
+
if (!packageVersion || !templateVersion || packageVersion === templateVersion) {
|
|
45
|
+
return {
|
|
46
|
+
issues: [],
|
|
47
|
+
installedTemplateSurfaceChanged: surfaceChanged,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const comparison = compareSemver(templateVersion, packageVersion);
|
|
51
|
+
if (comparison !== null && comparison > 0) {
|
|
52
|
+
return {
|
|
53
|
+
issues: [
|
|
54
|
+
{
|
|
55
|
+
severity: 'error',
|
|
56
|
+
code: 'template_version_ahead',
|
|
57
|
+
message: `templates/default/manifest.toml version "${templateVersion}" must not be ahead of package.json version "${packageVersion}"`,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
installedTemplateSurfaceChanged: surfaceChanged,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (syncTemplateVersion && surfaceChanged !== false) {
|
|
64
|
+
return {
|
|
65
|
+
issues: [
|
|
66
|
+
{
|
|
67
|
+
severity: 'error',
|
|
68
|
+
code: 'template_version_mismatch',
|
|
69
|
+
message: `templates/default/manifest.toml version "${templateVersion}" must match package.json version "${packageVersion}" when [release.versioning].sync_template_version is true`,
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
installedTemplateSurfaceChanged: surfaceChanged,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
issues: [
|
|
77
|
+
{
|
|
78
|
+
severity: 'warning',
|
|
79
|
+
code: 'template_version_intentionally_unchanged',
|
|
80
|
+
message: `templates/default/manifest.toml version "${templateVersion}" is older than package.json version "${packageVersion}"; this is allowed only when the installed template surface is unchanged`,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
installedTemplateSurfaceChanged: surfaceChanged,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# mustflow Examples
|
|
2
|
+
|
|
3
|
+
This directory contains human-readable project examples.
|
|
4
|
+
|
|
5
|
+
These examples are not test fixtures and are not copied by `mf init`. They illustrate the structure of a project before and after integrating mustflow, while excluding generated or template-owned files from the example content.
|
|
6
|
+
|
|
7
|
+
Current examples:
|
|
8
|
+
|
|
9
|
+
- `docs-only/`: A documentation-focused repository with explicit checks for missing code.
|
|
10
|
+
- `host-instruction-conflicts/`: A repository where host-specific instructions overlap with mustflow rules.
|
|
11
|
+
- `minimal-js/`: A small JavaScript package before and after adding mustflow.
|
|
12
|
+
- `missing-command-contracts/`: A repository with package scripts that are not yet defined as mustflow command intents.
|
|
13
|
+
- `nested-repos/`: Parent and child repositories with separate local contracts.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Documentation-Only Project
|
|
2
|
+
|
|
3
|
+
This example demonstrates how mustflow can be applied to a repository that primarily contains Markdown documentation and does not include an application build.
|
|
4
|
+
|
|
5
|
+
## Before
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
docs-handbook/
|
|
9
|
+
├─ README.md
|
|
10
|
+
└─ docs/
|
|
11
|
+
├─ guide.md
|
|
12
|
+
└─ release-notes.md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The project contains useful documents but lacks an explicit agent contract for which checks exist. An agent might search for package scripts or attempt to infer a documentation build command that does not exist.
|
|
16
|
+
|
|
17
|
+
## After
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
docs-handbook/
|
|
21
|
+
├─ AGENTS.md
|
|
22
|
+
├─ README.md
|
|
23
|
+
├─ docs/
|
|
24
|
+
│ ├─ guide.md
|
|
25
|
+
│ └─ release-notes.md
|
|
26
|
+
└─ .mustflow/
|
|
27
|
+
├─ config/
|
|
28
|
+
│ ├─ commands.toml
|
|
29
|
+
│ ├─ mustflow.toml
|
|
30
|
+
│ └─ preferences.toml
|
|
31
|
+
├─ context/
|
|
32
|
+
│ ├─ INDEX.md
|
|
33
|
+
│ └─ PROJECT.md
|
|
34
|
+
├─ docs/
|
|
35
|
+
│ └─ agent-workflow.md
|
|
36
|
+
└─ skills/
|
|
37
|
+
├─ INDEX.md
|
|
38
|
+
└─ ...
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The owner can declare that documentation validation is available while explicitly marking missing code checks:
|
|
42
|
+
|
|
43
|
+
```toml
|
|
44
|
+
[intents.docs_validate_fast]
|
|
45
|
+
status = "configured"
|
|
46
|
+
lifecycle = "oneshot"
|
|
47
|
+
run_policy = "agent_allowed"
|
|
48
|
+
description = "Check documentation links and frontmatter."
|
|
49
|
+
argv = ["node", "scripts/check-docs.mjs"]
|
|
50
|
+
cwd = "."
|
|
51
|
+
timeout_seconds = 60
|
|
52
|
+
stdin = "closed"
|
|
53
|
+
success_exit_codes = [0]
|
|
54
|
+
writes = []
|
|
55
|
+
network = false
|
|
56
|
+
destructive = false
|
|
57
|
+
required_after = ["docs_change"]
|
|
58
|
+
|
|
59
|
+
[intents.build]
|
|
60
|
+
status = "unknown"
|
|
61
|
+
description = "Build the project."
|
|
62
|
+
reason = "This documentation-only repository has no application build."
|
|
63
|
+
agent_action = "do_not_guess_report_missing"
|
|
64
|
+
|
|
65
|
+
[intents.test]
|
|
66
|
+
status = "unknown"
|
|
67
|
+
description = "Run tests."
|
|
68
|
+
reason = "This documentation-only repository has no test suite."
|
|
69
|
+
agent_action = "do_not_guess_report_missing"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
With this contract, an agent can update prose, run the declared documentation check, and report that code build or test checks are intentionally unavailable, rather than treating missing scripts as hidden failures.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Host Instruction Conflicts
|
|
2
|
+
|
|
3
|
+
This example illustrates how mustflow should be interpreted when a coding host also reads its own instruction files.
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
hosted-project/
|
|
9
|
+
├─ AGENTS.md
|
|
10
|
+
├─ .github/
|
|
11
|
+
│ └─ copilot-instructions.md
|
|
12
|
+
└─ .mustflow/
|
|
13
|
+
└─ config/
|
|
14
|
+
└─ commands.toml
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
`AGENTS.md` and `.mustflow/config/commands.toml` remain the repository-local mustflow contract. Host-specific files may add editor or assistant guidance, but they do not grant command authority on their own.
|
|
18
|
+
|
|
19
|
+
## Conflict Example
|
|
20
|
+
|
|
21
|
+
The host file might state:
|
|
22
|
+
|
|
23
|
+
```md
|
|
24
|
+
Run npm test before every final answer.
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
If `.mustflow/config/commands.toml` does not declare an agent-allowed `test` intent, the agent should not infer `npm test` from that host file. Instead, it should report the missing command contract.
|
|
28
|
+
|
|
29
|
+
If the host file says:
|
|
30
|
+
|
|
31
|
+
```md
|
|
32
|
+
Prefer short final answers.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
this can coexist with mustflow because it neither broadens file scope, weakens safety rules, nor authorizes a command.
|
|
36
|
+
|
|
37
|
+
## Resolution Rule
|
|
38
|
+
|
|
39
|
+
Apply the stricter, safer interpretation:
|
|
40
|
+
|
|
41
|
+
- Direct user instructions define the task goal unless they are unsafe.
|
|
42
|
+
- Host safety and approval gates remain in effect.
|
|
43
|
+
- mustflow command execution is governed by `.mustflow/config/commands.toml`.
|
|
44
|
+
- The nearest `AGENTS.md` and `.mustflow/config/*.toml` files define repository work rules.
|
|
45
|
+
- Generated state or cached summaries cannot override current files.
|
|
46
|
+
|
|
47
|
+
When the effective rule is unclear, stop and report the conflict rather than guessing.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Minimal JavaScript Project
|
|
2
|
+
|
|
3
|
+
This example demonstrates how a small JavaScript package changes when mustflow is added.
|
|
4
|
+
|
|
5
|
+
It is intentionally brief. The installed `.mustflow/**` files are summarized here rather than shown in full, since the definitive source is the default template under `templates/default/`.
|
|
6
|
+
|
|
7
|
+
## Before
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
minimal-js/
|
|
11
|
+
├─ package.json
|
|
12
|
+
└─ src/
|
|
13
|
+
└─ index.js
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The project includes standard package scripts but lacks a repository-local agent workflow contract. An agent would need to infer which commands are safe to run.
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"name": "minimal-js",
|
|
21
|
+
"type": "module",
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "node src/index.js",
|
|
24
|
+
"test": "node --test"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## After
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
minimal-js/
|
|
33
|
+
├─ AGENTS.md
|
|
34
|
+
├─ package.json
|
|
35
|
+
├─ src/
|
|
36
|
+
│ └─ index.js
|
|
37
|
+
└─ .mustflow/
|
|
38
|
+
├─ config/
|
|
39
|
+
│ ├─ commands.toml
|
|
40
|
+
│ ├─ mustflow.toml
|
|
41
|
+
│ └─ preferences.toml
|
|
42
|
+
├─ context/
|
|
43
|
+
│ ├─ INDEX.md
|
|
44
|
+
│ └─ PROJECT.md
|
|
45
|
+
├─ docs/
|
|
46
|
+
│ └─ agent-workflow.md
|
|
47
|
+
└─ skills/
|
|
48
|
+
├─ INDEX.md
|
|
49
|
+
└─ ...
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`AGENTS.md` becomes the first file an agent reads. `.mustflow/config/commands.toml` defines the command contract, so agents run declared intents instead of guessing from `package.json`.
|
|
53
|
+
|
|
54
|
+
For this project, the owner might configure only the checks that are relevant:
|
|
55
|
+
|
|
56
|
+
```toml
|
|
57
|
+
[intents.build]
|
|
58
|
+
status = "configured"
|
|
59
|
+
lifecycle = "oneshot"
|
|
60
|
+
run_policy = "agent_allowed"
|
|
61
|
+
description = "Run the package build."
|
|
62
|
+
argv = ["npm", "run", "build"]
|
|
63
|
+
cwd = "."
|
|
64
|
+
timeout_seconds = 30
|
|
65
|
+
stdin = "closed"
|
|
66
|
+
success_exit_codes = [0]
|
|
67
|
+
writes = []
|
|
68
|
+
network = false
|
|
69
|
+
destructive = false
|
|
70
|
+
required_after = ["code_change"]
|
|
71
|
+
|
|
72
|
+
[intents.test]
|
|
73
|
+
status = "configured"
|
|
74
|
+
lifecycle = "oneshot"
|
|
75
|
+
run_policy = "agent_allowed"
|
|
76
|
+
description = "Run the package tests."
|
|
77
|
+
argv = ["npm", "test"]
|
|
78
|
+
cwd = "."
|
|
79
|
+
timeout_seconds = 30
|
|
80
|
+
stdin = "closed"
|
|
81
|
+
success_exit_codes = [0]
|
|
82
|
+
writes = []
|
|
83
|
+
network = false
|
|
84
|
+
destructive = false
|
|
85
|
+
required_after = ["code_change", "test_change"]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
If a command is not yet defined, it remains explicit rather than inferred:
|
|
89
|
+
|
|
90
|
+
```toml
|
|
91
|
+
[intents.lint]
|
|
92
|
+
status = "unknown"
|
|
93
|
+
description = "Run linting."
|
|
94
|
+
reason = "This project has not declared a lint command yet."
|
|
95
|
+
agent_action = "do_not_guess_report_missing"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The resulting workflow is minimal: read `AGENTS.md`, select the relevant mustflow context and skills, run only configured one-shot intents, then report which checks were run or skipped.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Missing Command Contracts
|
|
2
|
+
|
|
3
|
+
This example demonstrates how mustflow handles package scripts that have not been declared as command intents.
|
|
4
|
+
|
|
5
|
+
## Before
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
scripted-project/
|
|
9
|
+
├─ package.json
|
|
10
|
+
└─ src/
|
|
11
|
+
└─ index.js
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The package includes the following scripts:
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc -p tsconfig.json",
|
|
20
|
+
"lint": "eslint .",
|
|
21
|
+
"test": "node --test"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Without mustflow, an agent might assume any script is safe to run. mustflow does not follow this assumption.
|
|
27
|
+
|
|
28
|
+
## After
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
scripted-project/
|
|
32
|
+
├─ AGENTS.md
|
|
33
|
+
├─ package.json
|
|
34
|
+
└─ .mustflow/
|
|
35
|
+
└─ config/
|
|
36
|
+
└─ commands.toml
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Only command intents that are declared as configured, one-shot, agent-allowed, and closed-stdin are available to agents.
|
|
40
|
+
|
|
41
|
+
```toml
|
|
42
|
+
[intents.build]
|
|
43
|
+
status = "configured"
|
|
44
|
+
lifecycle = "oneshot"
|
|
45
|
+
run_policy = "agent_allowed"
|
|
46
|
+
description = "Build the package."
|
|
47
|
+
argv = ["npm", "run", "build"]
|
|
48
|
+
cwd = "."
|
|
49
|
+
timeout_seconds = 120
|
|
50
|
+
stdin = "closed"
|
|
51
|
+
success_exit_codes = [0]
|
|
52
|
+
writes = ["dist/"]
|
|
53
|
+
network = false
|
|
54
|
+
destructive = false
|
|
55
|
+
required_after = ["code_change"]
|
|
56
|
+
|
|
57
|
+
[intents.lint]
|
|
58
|
+
status = "unknown"
|
|
59
|
+
description = "Run linting."
|
|
60
|
+
reason = "The repository has not declared whether lint is safe for agents."
|
|
61
|
+
agent_action = "do_not_guess_report_missing"
|
|
62
|
+
|
|
63
|
+
[intents.test]
|
|
64
|
+
status = "manual_only"
|
|
65
|
+
description = "Run tests."
|
|
66
|
+
reason = "The test suite may be slow or require a local service."
|
|
67
|
+
agent_action = "do_not_run_report_manual"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
In this configuration, an agent may run `mf run build` for a covered code change, but it must not run `npm run lint` or `npm test` directly. The final report will indicate that lint is missing and tests are manual-only.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Nested Repositories
|
|
2
|
+
|
|
3
|
+
This example demonstrates how mustflow should be interpreted when one repository contains other repositories that also have mustflow installed.
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
workspace-a/
|
|
9
|
+
├─ AGENTS.md
|
|
10
|
+
├─ .mustflow/
|
|
11
|
+
│ └─ config/
|
|
12
|
+
│ └─ commands.toml
|
|
13
|
+
└─ repos/
|
|
14
|
+
├─ service-b/
|
|
15
|
+
│ ├─ AGENTS.md
|
|
16
|
+
│ └─ .mustflow/
|
|
17
|
+
│ └─ config/
|
|
18
|
+
│ └─ commands.toml
|
|
19
|
+
└─ docs-c/
|
|
20
|
+
├─ AGENTS.md
|
|
21
|
+
└─ .mustflow/
|
|
22
|
+
└─ config/
|
|
23
|
+
└─ commands.toml
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
`workspace-a` can define broad workspace conventions, but it does not control the command contract for `repos/service-b` or `repos/docs-c`.
|
|
27
|
+
|
|
28
|
+
## Working Rule
|
|
29
|
+
|
|
30
|
+
When an agent edits files within a nested repository, it should reload that repository's nearest `AGENTS.md` and `.mustflow/config/*.toml` files before editing or running commands.
|
|
31
|
+
|
|
32
|
+
The nearest child repository determines local details such as:
|
|
33
|
+
|
|
34
|
+
- Commit message language and style preferences
|
|
35
|
+
- Documentation language
|
|
36
|
+
- Available command intents
|
|
37
|
+
- Safe verification commands
|
|
38
|
+
- Project-specific context and skills
|
|
39
|
+
|
|
40
|
+
Safety rules are cumulative. A child repository can impose stricter behavior for its own files but cannot weaken safety constraints set by the parent, host, user, or platform.
|
|
41
|
+
|
|
42
|
+
## Example Difference
|
|
43
|
+
|
|
44
|
+
The parent workspace might allow English commit messages:
|
|
45
|
+
|
|
46
|
+
```toml
|
|
47
|
+
[git.commit_message]
|
|
48
|
+
language = "en"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The nested documentation repository might prefer Korean commit messages:
|
|
52
|
+
|
|
53
|
+
```toml
|
|
54
|
+
[git.commit_message]
|
|
55
|
+
language = "ko"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
When editing files under `repos/docs-c/**`, the nested repository's preference applies locally. The agent should not use the parent preference simply because the command was initiated from `workspace-a`.
|
|
59
|
+
|
|
60
|
+
## Command Contract Boundary
|
|
61
|
+
|
|
62
|
+
If `workspace-a` includes `test_related` but `repos/service-b` does not, the agent must not borrow the parent's command intent to validate changes in the child. Instead, it should use the child repository's configured intents or report the absence of a child command contract.
|
package/package.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mustflow",
|
|
3
|
+
"version": "1.15.97",
|
|
4
|
+
"description": "Agent workflow documents and CLI for mustflow repository roots.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT-0",
|
|
7
|
+
"homepage": "https://0disoft.github.io/mustflow/",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/0disoft/mustflow.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/0disoft/mustflow/issues"
|
|
14
|
+
},
|
|
15
|
+
"packageManager": "bun@1.3.13",
|
|
16
|
+
"bin": {
|
|
17
|
+
"mf": "./dist/cli/index.js",
|
|
18
|
+
"mustflow": "./dist/cli/index.js"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist/",
|
|
22
|
+
"templates/",
|
|
23
|
+
"schemas/",
|
|
24
|
+
"examples/",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json",
|
|
30
|
+
"test": "bun run test:full",
|
|
31
|
+
"test:fast": "bun run build && node scripts/run-cli-tests.mjs fast",
|
|
32
|
+
"test:related": "bun run build && node scripts/run-cli-tests.mjs related",
|
|
33
|
+
"test:cli": "bun run build && node scripts/run-cli-tests.mjs cli",
|
|
34
|
+
"test:coverage": "bun run build && node scripts/run-cli-tests.mjs coverage",
|
|
35
|
+
"test:audit": "node scripts/audit-tests.mjs --json",
|
|
36
|
+
"test:release": "bun run build && node scripts/run-cli-tests.mjs release",
|
|
37
|
+
"test:full": "bun run build && node scripts/run-cli-tests.mjs full",
|
|
38
|
+
"check": "bun run check:package && bun run test:full",
|
|
39
|
+
"check:package": "node -e \"const fs=require('fs'); JSON.parse(fs.readFileSync('package.json','utf8')); console.log('package.json ok')\"",
|
|
40
|
+
"check:typecheck": "tsc -p tsconfig.json --noEmit",
|
|
41
|
+
"prepack": "npm run build",
|
|
42
|
+
"check:pack": "npm pack --dry-run --json",
|
|
43
|
+
"check:install": "npm run check:pack && node --test tests/integration/*.test.js",
|
|
44
|
+
"release:check": "npm run check && npm run docs:check && npm run check:install",
|
|
45
|
+
"prepublishOnly": "npm run release:check",
|
|
46
|
+
"docs:dev": "bun run --cwd docs-site dev",
|
|
47
|
+
"docs:build": "bun run --cwd docs-site build",
|
|
48
|
+
"docs:check:fast": "bun run --cwd docs-site check:fast",
|
|
49
|
+
"docs:check": "bun run --cwd docs-site check",
|
|
50
|
+
"docs:preview": "bun run --cwd docs-site preview"
|
|
51
|
+
},
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=20"
|
|
54
|
+
},
|
|
55
|
+
"publishConfig": {
|
|
56
|
+
"access": "public"
|
|
57
|
+
},
|
|
58
|
+
"keywords": [
|
|
59
|
+
"agents",
|
|
60
|
+
"agents-md",
|
|
61
|
+
"agent-workflow",
|
|
62
|
+
"llm",
|
|
63
|
+
"codex",
|
|
64
|
+
"mustflow",
|
|
65
|
+
"repo-map",
|
|
66
|
+
"repository-template",
|
|
67
|
+
"toml",
|
|
68
|
+
"workflow"
|
|
69
|
+
],
|
|
70
|
+
"devDependencies": {
|
|
71
|
+
"@types/node": "^25.6.2",
|
|
72
|
+
"@types/sql.js": "^1.4.11",
|
|
73
|
+
"fast-check": "^4.7.0",
|
|
74
|
+
"typescript": "^6.0.3"
|
|
75
|
+
},
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"smol-toml": "^1.6.1",
|
|
78
|
+
"sql.js": "^1.14.1"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# mustflow JSON Schemas
|
|
2
|
+
|
|
3
|
+
This directory contains versioned JSON Schema contracts for machine-readable
|
|
4
|
+
mustflow files and command output.
|
|
5
|
+
|
|
6
|
+
Current schemas:
|
|
7
|
+
|
|
8
|
+
- `doctor-report.schema.json`: output of `mf doctor --json`
|
|
9
|
+
- `context-report.schema.json`: output of `mf context --json`
|
|
10
|
+
- `run-receipt.schema.json`: output of `mf run <intent> --json` and `.mustflow/state/runs/latest.json`
|
|
11
|
+
- `commands.schema.json`: parsed `.mustflow/config/commands.toml`
|
|
12
|
+
- `contract-lint-report.schema.json`: output of `mf contract-lint --json`
|
|
13
|
+
- `classify-report.schema.json`: output of `mf classify --changed --json` and
|
|
14
|
+
`mf classify <path...> --json`
|
|
15
|
+
- `impact-report.schema.json`: output of `mf impact --changed --json` and
|
|
16
|
+
`mf impact <path...> --json`
|
|
17
|
+
- `line-endings-report.schema.json`: output of `mf line-endings check --json` and
|
|
18
|
+
`mf line-endings normalize --json`
|
|
19
|
+
- `version-sources-report.schema.json`: output of `mf version-sources --json`
|
|
20
|
+
- `docs-review-list.schema.json`: output of `mf docs review list --json`
|
|
21
|
+
- `explain-report.schema.json`: output of `mf explain authority --json`, `mf explain command --json`,
|
|
22
|
+
`mf explain retention --json`, `mf explain skills --json`, and `mf explain surface --json`
|
|
23
|
+
- `verify-report.schema.json`: output of `mf verify --reason <event> --json`
|
|
24
|
+
- `change-verification-report.schema.json`: output of `mf verify --reason <event> --plan-only --json` and
|
|
25
|
+
`mf verify --from-plan <path> --plan-only --json`
|
|
26
|
+
|
|
27
|
+
These schemas define stable, automation-facing fields. Human-readable command
|
|
28
|
+
output is intentionally excluded.
|
|
29
|
+
|
|
30
|
+
The published schema surface is tracked in `src/core/public-json-contracts.ts`.
|
|
31
|
+
Release tests verify consistency between this manifest, `schemas/*.schema.json`,
|
|
32
|
+
`npm pack --dry-run --json`, and the installed package’s JSON command output.
|