mustflow 2.75.2 → 2.84.0
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/README.md +31 -3
- package/dist/cli/commands/docs.js +86 -2
- package/dist/cli/commands/script-pack.js +5 -0
- package/dist/cli/i18n/en.js +101 -2
- package/dist/cli/i18n/es.js +101 -2
- package/dist/cli/i18n/fr.js +101 -2
- package/dist/cli/i18n/hi.js +101 -2
- package/dist/cli/i18n/ko.js +101 -2
- package/dist/cli/i18n/zh.js +101 -2
- package/dist/cli/lib/script-pack-registry.js +161 -6
- package/dist/cli/script-packs/code-export-diff.js +160 -0
- package/dist/cli/script-packs/code-outline.js +33 -5
- package/dist/cli/script-packs/code-route-outline.js +155 -0
- package/dist/cli/script-packs/docs-reference-drift.js +150 -0
- package/dist/cli/script-packs/repo-config-chain.js +163 -0
- package/dist/cli/script-packs/repo-related-files.js +161 -0
- package/dist/core/code-outline.js +460 -79
- package/dist/core/config-chain.js +595 -0
- package/dist/core/export-diff.js +359 -0
- package/dist/core/public-json-contracts.js +75 -0
- package/dist/core/reference-drift.js +388 -0
- package/dist/core/related-files.js +493 -0
- package/dist/core/route-outline.js +912 -0
- package/dist/core/script-pack-suggestions.js +111 -5
- package/dist/core/source-anchors.js +13 -1
- package/package.json +1 -1
- package/schemas/README.md +28 -6
- package/schemas/code-outline-report.schema.json +1 -1
- package/schemas/code-symbol-read-report.schema.json +64 -4
- package/schemas/config-chain-report.schema.json +187 -0
- package/schemas/export-diff-report.schema.json +220 -0
- package/schemas/reference-drift-report.schema.json +166 -0
- package/schemas/related-files-report.schema.json +145 -0
- package/schemas/route-outline-report.schema.json +200 -0
- package/templates/default/common/.mustflow/config/commands.toml +21 -0
- package/templates/default/i18n.toml +7 -1
- package/templates/default/locales/en/.mustflow/docs/agent-workflow.md +1 -1
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +2 -1
- package/templates/default/locales/en/.mustflow/skills/cross-agent-session-reference/SKILL.md +131 -0
- package/templates/default/locales/en/.mustflow/skills/routes.toml +6 -0
- package/templates/default/manifest.toml +8 -1
package/README.md
CHANGED
|
@@ -127,8 +127,13 @@ mustflow installs and validates an agent workflow for user projects.
|
|
|
127
127
|
- Reports a read-only complexity budget in `mf api diff-risk --changed --json`, `mf verify`
|
|
128
128
|
evidence, and dashboard exports so agents justify new dependencies, helper-style surfaces,
|
|
129
129
|
config/schema churn, and broad structural changes before treating added complexity as free.
|
|
130
|
-
- Lists and runs bundled utility scripts through `mf script-pack`, including
|
|
131
|
-
|
|
130
|
+
- Lists, suggests, and runs bundled read-only utility scripts through `mf script-pack`, including
|
|
131
|
+
`code/outline` for source symbol maps, `code/symbol-read` for focused source snippets,
|
|
132
|
+
`code/route-outline` for Hono, Elysia, Axum, and NestJS route maps, `docs/reference-drift` for stale
|
|
133
|
+
documentation references, `repo/config-chain` for nearby config inheritance,
|
|
134
|
+
`repo/generated-boundary` for candidate path safety checks, and `core/text-budget`
|
|
135
|
+
for exact file and JSON-field length budgets, so future checks do not sprawl into top-level
|
|
136
|
+
commands.
|
|
132
137
|
- Prints context trust metadata in `mf context --json` and prompt-cache bundles so agents can distinguish binding instructions, command contracts, contextual hints, generated evidence, and volatile runtime data before using them.
|
|
133
138
|
- Runs only allowed one-shot commands within a timeout via `mf run <intent>` or `mf verify` when the selected intent is runnable.
|
|
134
139
|
- Records blockers, contradictions, verification gaps, and remaining risks as a structured conflict ledger in verify, evidence, and dashboard reports.
|
|
@@ -283,7 +288,18 @@ mf run mustflow_update_apply
|
|
|
283
288
|
| `mf map --write` | Create or update `REPO_MAP.md`. |
|
|
284
289
|
| `mf quality check` | Inspect changed files for quality-gaming patterns without writing files. |
|
|
285
290
|
| `mf quality check --all` | Inspect every tracked text file for quality-gaming patterns. |
|
|
286
|
-
| `mf script-pack list` | List bundled script packs
|
|
291
|
+
| `mf script-pack list` | List bundled script packs, script refs, routing hints, side-effect flags, input/output labels, and JSON schema files. |
|
|
292
|
+
| `mf script-pack suggest --changed --json` | Rank optional read-only helpers for current changed files without running those helpers or granting command authority. |
|
|
293
|
+
| `mf script-pack suggest --path <path> --phase before_change` | Rank helpers for an explicit path and workflow phase before deciding which script to run. |
|
|
294
|
+
| `mf script-pack run code/outline scan <path...> --json` | Scan supported source files for symbol headers, line ranges, source anchors, return metadata, and content hashes. |
|
|
295
|
+
| `mf script-pack run code/symbol-read read <path> --start-line <line> --json` | Read the focused symbol range or bounded source snippet after `code/outline` identifies the relevant location. |
|
|
296
|
+
| `mf script-pack run code/symbol-read read --anchor <id> --json` | Read the conservative target symbol for a structured `mf:anchor` source marker. |
|
|
297
|
+
| `mf script-pack run code/route-outline scan <path...> --json` | Scan Hono, Elysia, Axum, and NestJS files for route methods, paths, handlers, lifecycle chains, line ranges, and content hashes. |
|
|
298
|
+
| `mf script-pack run code/export-diff compare --base HEAD --json` | Compare exported TypeScript or JavaScript declarations, return metadata, and package surface hints against a git base. |
|
|
299
|
+
| `mf script-pack run docs/reference-drift check [path...] --json` | Check documentation references to `mf` commands, script-pack refs, schema files, and repository paths against current local surfaces. |
|
|
300
|
+
| `mf script-pack run repo/config-chain inspect <path...> --json` | Inspect nearby package, TypeScript, ESLint, Vite, Tailwind, test, and mustflow config files plus static inheritance edges without executing dynamic config code. |
|
|
301
|
+
| `mf script-pack run repo/generated-boundary check <path...> --json` | Check whether candidate paths cross generated, ignored, protected, vendor, or cache boundaries before or after edits. |
|
|
302
|
+
| `mf script-pack run repo/related-files map <path...> --json` | Map direct imports, importers, same-basename siblings, and nearby config or package boundaries for source navigation. |
|
|
287
303
|
| `mf script-pack run core/text-budget check <path...> --max <count>` | Check exact text length budgets for files using grapheme counts by default. |
|
|
288
304
|
| `mf script-pack run core/text-budget check package.json --json-pointer /description --max <count> --json` | Check a JSON string field and print the stable report schema. |
|
|
289
305
|
| `mf run <intent>` | Run an allowed one-shot command. |
|
|
@@ -311,6 +327,18 @@ mf run mustflow_update_apply
|
|
|
311
327
|
|
|
312
328
|
Automation and agents should use `--json` output or `mf api serve --stdio` JSONL responses instead of parsing human-facing text. Published JSON Schemas for stable outputs live in `schemas/`.
|
|
313
329
|
|
|
330
|
+
For script-pack helper selection, start with `mf script-pack suggest --changed --json` or an
|
|
331
|
+
explicit `--path`. The suggestion report is only a ranking aid: it does not run scripts, prove
|
|
332
|
+
verification, or bypass `.mustflow/config/commands.toml`. A common source-orientation flow is
|
|
333
|
+
`code/outline` first, then `code/symbol-read` for the chosen symbol line or source anchor. After
|
|
334
|
+
public-ish TypeScript or JavaScript changes, use `code/export-diff` to review exported signatures
|
|
335
|
+
and return metadata against a git base. After docs, schema, CLI, or script-pack surface changes, use
|
|
336
|
+
`docs/reference-drift` to catch stale references before treating docs as synchronized. For
|
|
337
|
+
config-sensitive source or test work, use `repo/config-chain` before assuming effective inherited
|
|
338
|
+
rules. For generated or protected paths, use `repo/generated-boundary` before editing or when
|
|
339
|
+
reviewing a changed-file set. See the full
|
|
340
|
+
[`mf script-pack` documentation](https://0disoft.github.io/mustflow/commands/script-pack/).
|
|
341
|
+
|
|
314
342
|
`core/text-budget` counts `line` units by splitting text on line breaks; a trailing line break
|
|
315
343
|
therefore contributes an empty final line.
|
|
316
344
|
|
|
@@ -3,11 +3,13 @@ import path from 'node:path';
|
|
|
3
3
|
import { printUsageError, renderCliError, renderHelp } from '../lib/cli-output.js';
|
|
4
4
|
import { DOC_REVIEW_LEDGER_RELATIVE_PATH, DOC_REVIEW_STATUSES, REVIEWER_KINDS, addDocReviewEntry, commentDocReviewEntry, isReviewerKind, listDocReviewEntries, markDocReviewEntry, } from '../lib/doc-review-ledger.js';
|
|
5
5
|
import { ensureInside, readUtf8FileInsideWithoutSymlinks } from '../lib/filesystem.js';
|
|
6
|
+
import { GitChangedFilesError, requireGitChangedFiles } from '../lib/git-changes.js';
|
|
6
7
|
import { t } from '../lib/i18n.js';
|
|
7
8
|
import { getParsedCliStringOption, hasCliOptionToken, hasParsedCliOption, parseCliOptions, } from '../lib/option-parser.js';
|
|
8
9
|
import { resolveMustflowRoot } from '../lib/project-root.js';
|
|
9
10
|
const LIST_FLAGS = new Set(['--json', '--all']);
|
|
10
11
|
const LIST_VALUE_OPTIONS = new Set(['--status']);
|
|
12
|
+
const ADD_FLAGS = new Set(['--changed']);
|
|
11
13
|
const ADD_VALUE_OPTIONS = new Set(['--reason', '--origin', '--actor-kind', '--actor-id', '--comment', '--comment-file']);
|
|
12
14
|
const COMMENT_VALUE_OPTIONS = new Set(['--comment', '--comment-file', '--actor-kind', '--actor-id']);
|
|
13
15
|
const REVIEW_VALUE_OPTIONS = new Set([
|
|
@@ -27,6 +29,7 @@ export function getDocsHelp(lang = 'en') {
|
|
|
27
29
|
{ label: '--json', description: t(lang, 'cli.option.json') },
|
|
28
30
|
{ label: '--all', description: t(lang, 'docs.help.option.all') },
|
|
29
31
|
{ label: '--status <status>', description: t(lang, 'docs.help.option.status') },
|
|
32
|
+
{ label: '--changed', description: t(lang, 'docs.help.option.changed') },
|
|
30
33
|
{ label: '--reason <text>', description: t(lang, 'docs.help.option.reason') },
|
|
31
34
|
{ label: '--origin <value>', description: t(lang, 'docs.help.option.origin') },
|
|
32
35
|
{ label: '--actor-kind <kind>', description: t(lang, 'docs.help.option.actorKind') },
|
|
@@ -41,6 +44,7 @@ export function getDocsHelp(lang = 'en') {
|
|
|
41
44
|
examples: [
|
|
42
45
|
'mf docs review list',
|
|
43
46
|
'mf docs review add docs/guide.md --reason llm_modified --actor-kind llm --actor-id codex',
|
|
47
|
+
'mf docs review add --changed --actor-kind llm --actor-id codex',
|
|
44
48
|
'mf docs review comment docs/guide.md --comment-file review-note.md --actor-kind human --actor-id cherr',
|
|
45
49
|
'mf docs review approve docs/guide.md --reviewer-kind llm --reviewer-id opencode --summary "Rewritten for natural tone."',
|
|
46
50
|
],
|
|
@@ -183,6 +187,19 @@ function renderEntries(entries, lang) {
|
|
|
183
187
|
function renderEntryAction(action, path, lang) {
|
|
184
188
|
return `${t(lang, 'docs.review.wrote')}: ${DOC_REVIEW_LEDGER_RELATIVE_PATH}\n${action}: ${path}`;
|
|
185
189
|
}
|
|
190
|
+
function renderChangedAddAction(paths, lang) {
|
|
191
|
+
if (paths.length === 0) {
|
|
192
|
+
return t(lang, 'docs.review.changed.none');
|
|
193
|
+
}
|
|
194
|
+
const lines = [
|
|
195
|
+
`${t(lang, 'docs.review.wrote')}: ${DOC_REVIEW_LEDGER_RELATIVE_PATH}`,
|
|
196
|
+
t(lang, 'docs.review.changed.added', { count: paths.length }),
|
|
197
|
+
];
|
|
198
|
+
for (const path of paths) {
|
|
199
|
+
lines.push(`- ${path}`);
|
|
200
|
+
}
|
|
201
|
+
return lines.join('\n');
|
|
202
|
+
}
|
|
186
203
|
function getMarkedAction(status, lang) {
|
|
187
204
|
if (status === 'approved') {
|
|
188
205
|
return t(lang, 'docs.review.marked.approved');
|
|
@@ -196,6 +213,43 @@ function usageError(reporter, message, lang) {
|
|
|
196
213
|
printUsageError(reporter, message, 'mf docs --help', getDocsHelp(lang), lang);
|
|
197
214
|
return 1;
|
|
198
215
|
}
|
|
216
|
+
function normalizeChangedDocumentPath(relativePath) {
|
|
217
|
+
return relativePath.replace(/\\/gu, '/').replace(/^\.\//u, '');
|
|
218
|
+
}
|
|
219
|
+
function isChangedDocReviewPath(relativePath) {
|
|
220
|
+
const normalized = normalizeChangedDocumentPath(relativePath);
|
|
221
|
+
if (['AGENTS.md', 'CHANGELOG.md', 'README.md'].includes(normalized)) {
|
|
222
|
+
return true;
|
|
223
|
+
}
|
|
224
|
+
if (normalized === 'schemas/README.md') {
|
|
225
|
+
return true;
|
|
226
|
+
}
|
|
227
|
+
if (/^\.mustflow\/(?:context|docs)\/.+\.md$/u.test(normalized)) {
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
if (/^\.mustflow\/skills\/(?:INDEX\.md|[^/]+\/SKILL\.md)$/u.test(normalized)) {
|
|
231
|
+
return true;
|
|
232
|
+
}
|
|
233
|
+
if (/^docs-site\/src\/content\/docs\/.+\.md$/u.test(normalized)) {
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
if (/^templates\/default\/locales\/[^/]+\/AGENTS\.md$/u.test(normalized)) {
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
if (/^templates\/default\/locales\/[^/]+\/\.mustflow\/(?:context|docs)\/.+\.md$/u.test(normalized)) {
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
if (/^templates\/default\/locales\/[^/]+\/\.mustflow\/skills\/(?:INDEX\.md|[^/]+\/SKILL\.md)$/u.test(normalized)) {
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
if (/^templates\/default\/common\/\.mustflow\/(?:context|docs)\/.+\.md$/u.test(normalized)) {
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
if (/^tests\/fixtures\/.+\.md$/u.test(normalized)) {
|
|
249
|
+
return true;
|
|
250
|
+
}
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
199
253
|
function runReviewList(args, reporter, lang) {
|
|
200
254
|
const parsed = parseOptions(args, LIST_VALUE_OPTIONS, LIST_FLAGS);
|
|
201
255
|
if (parsed.error) {
|
|
@@ -236,15 +290,22 @@ function runReviewList(args, reporter, lang) {
|
|
|
236
290
|
* risk: state, data_consistency
|
|
237
291
|
*/
|
|
238
292
|
function runReviewAdd(args, reporter, lang) {
|
|
239
|
-
const parsed = parseOptions(args, ADD_VALUE_OPTIONS,
|
|
293
|
+
const parsed = parseOptions(args, ADD_VALUE_OPTIONS, ADD_FLAGS);
|
|
240
294
|
if (parsed.error) {
|
|
241
295
|
const message = parsed.error.missingValue
|
|
242
296
|
? t(lang, 'cli.error.missingValue', { option: parsed.error.option })
|
|
243
297
|
: t(lang, 'cli.error.unknownOption', { option: parsed.error.option });
|
|
244
298
|
return usageError(reporter, message, lang);
|
|
245
299
|
}
|
|
300
|
+
const addChanged = parsed.flags.has('--changed');
|
|
246
301
|
const [documentPath, unexpected] = parsed.positionals;
|
|
247
|
-
if (
|
|
302
|
+
if (addChanged && documentPath) {
|
|
303
|
+
return usageError(reporter, t(lang, 'docs.error.changedPathConflict'), lang);
|
|
304
|
+
}
|
|
305
|
+
if (addChanged && (parsed.values.has('--comment') || parsed.values.has('--comment-file'))) {
|
|
306
|
+
return usageError(reporter, t(lang, 'docs.error.changedCommentConflict'), lang);
|
|
307
|
+
}
|
|
308
|
+
if (!addChanged && !documentPath) {
|
|
248
309
|
return usageError(reporter, t(lang, 'docs.error.missingPath'), lang);
|
|
249
310
|
}
|
|
250
311
|
if (unexpected) {
|
|
@@ -255,6 +316,29 @@ function runReviewAdd(args, reporter, lang) {
|
|
|
255
316
|
return usageError(reporter, t(lang, 'docs.error.invalidReviewerKind', { kinds: REVIEWER_KINDS.join(', ') }), lang);
|
|
256
317
|
}
|
|
257
318
|
const projectRoot = resolveMustflowRoot();
|
|
319
|
+
if (addChanged) {
|
|
320
|
+
let changedPaths;
|
|
321
|
+
try {
|
|
322
|
+
changedPaths = requireGitChangedFiles(projectRoot);
|
|
323
|
+
}
|
|
324
|
+
catch (error) {
|
|
325
|
+
if (error instanceof GitChangedFilesError) {
|
|
326
|
+
reporter.stderr(renderCliError(t(lang, 'docs.error.changedFilesUnavailable', { message: error.result.message }), 'mf docs --help', lang));
|
|
327
|
+
return 1;
|
|
328
|
+
}
|
|
329
|
+
throw error;
|
|
330
|
+
}
|
|
331
|
+
const reviewPaths = changedPaths.map(normalizeChangedDocumentPath).filter(isChangedDocReviewPath);
|
|
332
|
+
const entries = reviewPaths.map((changedPath) => addDocReviewEntry(projectRoot, {
|
|
333
|
+
path: changedPath,
|
|
334
|
+
reason: parsed.values.get('--reason'),
|
|
335
|
+
origin: parsed.values.get('--origin'),
|
|
336
|
+
actorKind,
|
|
337
|
+
actorId: parsed.values.get('--actor-id'),
|
|
338
|
+
}));
|
|
339
|
+
reporter.stdout(renderChangedAddAction(entries.map((entry) => entry.path), lang));
|
|
340
|
+
return 0;
|
|
341
|
+
}
|
|
258
342
|
const commentResult = readReviewComment(projectRoot, parsed, lang);
|
|
259
343
|
if (commentResult.error) {
|
|
260
344
|
return usageError(reporter, commentResult.error, lang);
|
|
@@ -63,8 +63,13 @@ export function getScriptPackHelp(lang = 'en') {
|
|
|
63
63
|
'mf script-pack suggest --changed --phase after_change --json',
|
|
64
64
|
'mf script-pack run code/outline scan src --json',
|
|
65
65
|
'mf script-pack run code/symbol-read read src/cli/index.ts --start-line 25 --json',
|
|
66
|
+
'mf script-pack run code/route-outline scan src/cli/index.ts --json',
|
|
67
|
+
'mf script-pack run code/export-diff compare --base HEAD~1 --head HEAD --json',
|
|
66
68
|
'mf script-pack run core/text-budget check README.md --max 5000',
|
|
69
|
+
'mf script-pack run docs/reference-drift check README.md schemas/README.md --json',
|
|
70
|
+
'mf script-pack run repo/config-chain inspect src/cli/index.ts --json',
|
|
67
71
|
'mf script-pack run repo/generated-boundary check src/cli/index.ts --json',
|
|
72
|
+
'mf script-pack run repo/related-files map src/cli/index.ts --json',
|
|
68
73
|
'mf script-pack run core/text-budget --help',
|
|
69
74
|
],
|
|
70
75
|
exitCodes: [
|
package/dist/cli/i18n/en.js
CHANGED
|
@@ -585,6 +585,7 @@ export const enMessages = {
|
|
|
585
585
|
"docs.help.summary": "Track documents that need prose review after LLM creation or modification.",
|
|
586
586
|
"docs.help.option.all": "Include approved and ignored documents",
|
|
587
587
|
"docs.help.option.status": "Filter by review status",
|
|
588
|
+
"docs.help.option.changed": "Add all currently changed documentation review candidates from git status",
|
|
588
589
|
"docs.help.option.reason": "Record why the document needs review",
|
|
589
590
|
"docs.help.option.origin": "Record the source of the review need, such as llm_modified",
|
|
590
591
|
"docs.help.option.actorKind": "Record who changed the document: human, llm, tool, or external",
|
|
@@ -600,6 +601,8 @@ export const enMessages = {
|
|
|
600
601
|
"docs.review.empty": "No documents require review.",
|
|
601
602
|
"docs.review.wrote": "Wrote",
|
|
602
603
|
"docs.review.added": "Added",
|
|
604
|
+
"docs.review.changed.none": "No changed documents require review.",
|
|
605
|
+
"docs.review.changed.added": "Added changed documents: {count}",
|
|
603
606
|
"docs.review.commented": "Commented",
|
|
604
607
|
"docs.review.marked.approved": "Approved",
|
|
605
608
|
"docs.review.marked.needs_human": "Marked as needs_human",
|
|
@@ -612,6 +615,9 @@ export const enMessages = {
|
|
|
612
615
|
"docs.error.emptyComment": "Review comment must not be empty",
|
|
613
616
|
"docs.error.commentSourceConflict": "Use either --comment or --comment-file, not both",
|
|
614
617
|
"docs.error.commentFileIsDocument": "--comment-file must not point to the document being reviewed",
|
|
618
|
+
"docs.error.changedPathConflict": "Use --changed without a document path",
|
|
619
|
+
"docs.error.changedCommentConflict": "Use --changed without --comment or --comment-file",
|
|
620
|
+
"docs.error.changedFilesUnavailable": "Could not inspect changed files with git status: {message}",
|
|
615
621
|
"docs.error.invalidStatus": "Invalid review status. Use one of: {statuses}",
|
|
616
622
|
"docs.error.invalidReviewerKind": "Invalid reviewer kind. Use one of: {kinds}",
|
|
617
623
|
"docs.error.missingReviewerKind": "Missing --reviewer-kind. Use one of: {kinds}",
|
|
@@ -765,11 +771,17 @@ Read these files before working:
|
|
|
765
771
|
"scriptPack.suggest.empty": "No script-pack suggestions matched the supplied paths, skills, or phases.",
|
|
766
772
|
"scriptPack.pack.code.summary": "Source-code orientation utility scripts",
|
|
767
773
|
"scriptPack.pack.core.summary": "Core built-in utility scripts",
|
|
774
|
+
"scriptPack.pack.docs.summary": "Documentation reference utility scripts",
|
|
768
775
|
"scriptPack.pack.repo.summary": "Repository-boundary utility scripts",
|
|
769
776
|
"scriptPack.script.codeOutline.summary": "Scan TypeScript and JavaScript files for symbol headers and line ranges",
|
|
770
|
-
"scriptPack.script.codeSymbolRead.summary": "Read a bounded source snippet by symbol line or explicit line range",
|
|
777
|
+
"scriptPack.script.codeSymbolRead.summary": "Read a bounded source snippet by source anchor, symbol line, or explicit line range",
|
|
778
|
+
"scriptPack.script.codeRouteOutline.summary": "Scan Hono, Elysia, Axum, and NestJS route methods, paths, handlers, and lifecycle chains",
|
|
779
|
+
"scriptPack.script.codeExportDiff.summary": "Compare exported source signatures and return metadata across git refs",
|
|
771
780
|
"scriptPack.script.textBudget.summary": "Check exact text length budgets for files or JSON string fields",
|
|
781
|
+
"scriptPack.script.referenceDrift.summary": "Check documented command, script-pack, schema, and path references for drift",
|
|
782
|
+
"scriptPack.script.configChain.summary": "Inspect nearby config files and static config inheritance",
|
|
772
783
|
"scriptPack.script.generatedBoundary.summary": "Check whether candidate paths cross generated, ignored, protected, vendor, or cache boundaries",
|
|
784
|
+
"scriptPack.script.relatedFiles.summary": "Map likely related files for source-oriented repository navigation",
|
|
773
785
|
"scriptPack.label.script": "Script",
|
|
774
786
|
"scriptPack.label.actions": "actions",
|
|
775
787
|
"scriptPack.label.schema": "schema",
|
|
@@ -796,7 +808,8 @@ Read these files before working:
|
|
|
796
808
|
"codeOutline.error.missingPath": "Provide at least one source file or directory to scan",
|
|
797
809
|
"codeOutline.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
798
810
|
"codeOutline.error.invalidNonNegativeInteger": "{option} must be a non-negative safe integer: {value}",
|
|
799
|
-
"codeSymbolRead.help.summary": "Read a bounded TypeScript or JavaScript source snippet from a symbol line or explicit line range.",
|
|
811
|
+
"codeSymbolRead.help.summary": "Read a bounded TypeScript or JavaScript source snippet from a source anchor, symbol line, or explicit line range.",
|
|
812
|
+
"codeSymbolRead.help.option.anchor": "Source anchor id to resolve to its target symbol",
|
|
800
813
|
"codeSymbolRead.help.option.startLine": "1-based source line to resolve to a symbol or range",
|
|
801
814
|
"codeSymbolRead.help.option.endLine": "Optional explicit 1-based end line; when omitted, the containing outline symbol is read",
|
|
802
815
|
"codeSymbolRead.help.option.contextLines": "Number of surrounding context lines to include. Default: 0",
|
|
@@ -813,6 +826,56 @@ Read these files before working:
|
|
|
813
826
|
"codeSymbolRead.error.missingPath": "Provide exactly one source file to read",
|
|
814
827
|
"codeSymbolRead.error.tooManyPaths": "Provide only one source file to read",
|
|
815
828
|
"codeSymbolRead.error.missingStartLine": "Provide --start-line <line>",
|
|
829
|
+
"codeSymbolRead.error.anchorConflict": "Use either --anchor <id> or <path> with --start-line/--end-line, not both",
|
|
830
|
+
"codeRouteOutline.help.summary": "Scan Hono, Elysia, Axum, and NestJS route source files for method, path, handler, lifecycle, and line metadata.",
|
|
831
|
+
"codeRouteOutline.help.option.maxFiles": "Maximum number of source files to scan. Default: 200",
|
|
832
|
+
"codeRouteOutline.help.option.maxFileBytes": "Maximum bytes to read from each source file. Default: 1048576",
|
|
833
|
+
"codeRouteOutline.help.exit.ok": "The route outline was scanned without findings",
|
|
834
|
+
"codeRouteOutline.help.exit.fail": "The route outline found invalid input, unreadable files, unsupported files, or scan limits",
|
|
835
|
+
"codeRouteOutline.title": "mustflow route outline",
|
|
836
|
+
"codeRouteOutline.label.files": "Files",
|
|
837
|
+
"codeRouteOutline.label.routes": "Routes",
|
|
838
|
+
"codeRouteOutline.label.findings": "Findings",
|
|
839
|
+
"codeRouteOutline.label.outline": "Route outline",
|
|
840
|
+
"codeRouteOutline.label.issues": "Issues",
|
|
841
|
+
"codeRouteOutline.clean": "No Hono, Elysia, Axum, or NestJS routes were found.",
|
|
842
|
+
"codeRouteOutline.error.missingAction": "Specify a route-outline action: scan",
|
|
843
|
+
"codeRouteOutline.error.unknownAction": "Unknown route-outline action: {action}",
|
|
844
|
+
"codeRouteOutline.error.missingPath": "Provide at least one source file or directory to scan",
|
|
845
|
+
"codeRouteOutline.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
846
|
+
"exportDiff.help.summary": "Compare exported TS/JS signatures, return metadata, and package surface hints across a git base and head.",
|
|
847
|
+
"exportDiff.help.option.base": "Git base ref to compare from. Default: HEAD",
|
|
848
|
+
"exportDiff.help.option.head": "Git head ref to compare to. Omit to compare the base with the working tree.",
|
|
849
|
+
"exportDiff.help.option.maxFiles": "Maximum number of changed source files to inspect. Default: 100",
|
|
850
|
+
"exportDiff.help.option.maxFileBytes": "Maximum bytes to read from each source file snapshot. Default: 1048576",
|
|
851
|
+
"exportDiff.help.exit.ok": "The export diff completed without input errors",
|
|
852
|
+
"exportDiff.help.exit.fail": "The export diff could not read git input or exceeded configured limits",
|
|
853
|
+
"exportDiff.title": "mustflow export diff",
|
|
854
|
+
"exportDiff.label.files": "Files",
|
|
855
|
+
"exportDiff.label.added": "Added",
|
|
856
|
+
"exportDiff.label.removed": "Removed",
|
|
857
|
+
"exportDiff.label.changed": "Changed",
|
|
858
|
+
"exportDiff.label.exports": "Exports",
|
|
859
|
+
"exportDiff.label.findings": "Findings",
|
|
860
|
+
"exportDiff.label.issues": "Issues",
|
|
861
|
+
"exportDiff.clean": "No exported TypeScript or JavaScript declaration changes were found.",
|
|
862
|
+
"exportDiff.error.missingAction": "Specify an export-diff action: compare",
|
|
863
|
+
"exportDiff.error.unknownAction": "Unknown export-diff action: {action}",
|
|
864
|
+
"exportDiff.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
865
|
+
"referenceDrift.help.summary": "Check documentation references against current mf commands, script-pack refs, schema files, and repository paths.",
|
|
866
|
+
"referenceDrift.help.option.maxFiles": "Maximum number of document files to inspect. Default: 200",
|
|
867
|
+
"referenceDrift.help.option.maxFileBytes": "Maximum bytes to read from each document file. Default: 524288",
|
|
868
|
+
"referenceDrift.help.exit.ok": "All checked documentation references resolved against current repository surfaces",
|
|
869
|
+
"referenceDrift.help.exit.fail": "A documentation reference was stale, missing, unknown, unreadable, or over a configured limit",
|
|
870
|
+
"referenceDrift.title": "mustflow reference drift",
|
|
871
|
+
"referenceDrift.label.files": "Files",
|
|
872
|
+
"referenceDrift.label.references": "References",
|
|
873
|
+
"referenceDrift.label.findings": "Findings",
|
|
874
|
+
"referenceDrift.label.issues": "Issues",
|
|
875
|
+
"referenceDrift.clean": "No documentation references were found.",
|
|
876
|
+
"referenceDrift.error.missingAction": "Specify a reference-drift action: check",
|
|
877
|
+
"referenceDrift.error.unknownAction": "Unknown reference-drift action: {action}",
|
|
878
|
+
"referenceDrift.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
816
879
|
"textBudget.help.summary": "Check exact text length budgets for files or JSON string fields using grapheme counts by default.",
|
|
817
880
|
"textBudget.help.option.min": "Require at least this many units",
|
|
818
881
|
"textBudget.help.option.max": "Require at most this many units",
|
|
@@ -849,6 +912,42 @@ Read these files before working:
|
|
|
849
912
|
"generatedBoundary.error.missingAction": "Specify a generated-boundary action: check",
|
|
850
913
|
"generatedBoundary.error.unknownAction": "Unknown generated-boundary action: {action}",
|
|
851
914
|
"generatedBoundary.error.missingPath": "Provide at least one path to check",
|
|
915
|
+
"relatedFiles.help.summary": "Map direct imports, importers, sibling files, and nearby config boundaries for source-oriented repository navigation.",
|
|
916
|
+
"relatedFiles.help.option.maxFiles": "Maximum number of source or related files to scan. Default: 1000",
|
|
917
|
+
"relatedFiles.help.option.maxFileBytes": "Maximum bytes to read from each source file. Default: 262144",
|
|
918
|
+
"relatedFiles.help.option.maxCandidates": "Maximum number of related-file candidates to report. Default: 200",
|
|
919
|
+
"relatedFiles.help.exit.ok": "The related-file map completed without input or scan-limit findings",
|
|
920
|
+
"relatedFiles.help.exit.fail": "The related-file map found invalid input, unreadable paths, or scan limits",
|
|
921
|
+
"relatedFiles.title": "mustflow related files",
|
|
922
|
+
"relatedFiles.label.targets": "Targets",
|
|
923
|
+
"relatedFiles.label.candidates": "Candidates",
|
|
924
|
+
"relatedFiles.label.truncated": "Truncated",
|
|
925
|
+
"relatedFiles.label.related": "Related files",
|
|
926
|
+
"relatedFiles.label.confidence": "confidence",
|
|
927
|
+
"relatedFiles.label.findings": "Findings",
|
|
928
|
+
"relatedFiles.label.issues": "Issues",
|
|
929
|
+
"relatedFiles.clean": "No related-file candidates were found.",
|
|
930
|
+
"relatedFiles.error.missingAction": "Specify a related-files action: map",
|
|
931
|
+
"relatedFiles.error.unknownAction": "Unknown related-files action: {action}",
|
|
932
|
+
"relatedFiles.error.missingPath": "Provide at least one path to map",
|
|
933
|
+
"relatedFiles.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
934
|
+
"configChain.help.summary": "Inspect nearby config files, static inheritance, workspace hints, and dynamic config boundaries.",
|
|
935
|
+
"configChain.help.option.maxConfigs": "Maximum number of config files to inspect. Default: 120",
|
|
936
|
+
"configChain.help.option.maxFileBytes": "Maximum bytes to read from each config file. Default: 262144",
|
|
937
|
+
"configChain.help.exit.ok": "The config chain was inspected without blocking findings",
|
|
938
|
+
"configChain.help.exit.fail": "The config chain found invalid input, unreadable files, parse errors, or scan limits",
|
|
939
|
+
"configChain.title": "mustflow config chain",
|
|
940
|
+
"configChain.label.targets": "Targets",
|
|
941
|
+
"configChain.label.configs": "Configs",
|
|
942
|
+
"configChain.label.edges": "Edges",
|
|
943
|
+
"configChain.label.findings": "Findings",
|
|
944
|
+
"configChain.label.dynamic": "dynamic",
|
|
945
|
+
"configChain.label.issues": "Issues",
|
|
946
|
+
"configChain.clean": "No nearby config files were found.",
|
|
947
|
+
"configChain.error.missingAction": "Specify a config-chain action: inspect",
|
|
948
|
+
"configChain.error.unknownAction": "Unknown config-chain action: {action}",
|
|
949
|
+
"configChain.error.missingPath": "Provide at least one path to inspect",
|
|
950
|
+
"configChain.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
852
951
|
"run.help.summary": "Run a configured oneshot command from .mustflow/config/commands.toml.",
|
|
853
952
|
"run.help.option.dryRun": "Print a non-executing command plan",
|
|
854
953
|
"run.help.option.planOnly": "Alias for --dry-run",
|
package/dist/cli/i18n/es.js
CHANGED
|
@@ -585,6 +585,7 @@ export const esMessages = {
|
|
|
585
585
|
"docs.help.summary": "Rastrea documentos que necesitan revisión de prosa tras creación o modificación por LLM.",
|
|
586
586
|
"docs.help.option.all": "Incluye documentos aprobados e ignorados",
|
|
587
587
|
"docs.help.option.status": "Filtra por estado de revisión",
|
|
588
|
+
"docs.help.option.changed": "Añade todos los candidatos de documentación cambiados según git status",
|
|
588
589
|
"docs.help.option.reason": "Registra por qué el documento necesita revisión",
|
|
589
590
|
"docs.help.option.origin": "Registra el origen de la necesidad, como llm_modified",
|
|
590
591
|
"docs.help.option.actorKind": "Registra quién cambió el documento: human, llm, tool o external",
|
|
@@ -600,6 +601,8 @@ export const esMessages = {
|
|
|
600
601
|
"docs.review.empty": "No hay documentos que requieran revisión.",
|
|
601
602
|
"docs.review.wrote": "Escrito",
|
|
602
603
|
"docs.review.added": "Añadido",
|
|
604
|
+
"docs.review.changed.none": "No hay documentos cambiados que requieran revisión.",
|
|
605
|
+
"docs.review.changed.added": "Documentos cambiados añadidos: {count}",
|
|
603
606
|
"docs.review.commented": "Comentado",
|
|
604
607
|
"docs.review.marked.approved": "Aprobado",
|
|
605
608
|
"docs.review.marked.needs_human": "Marcado como needs_human",
|
|
@@ -612,6 +615,9 @@ export const esMessages = {
|
|
|
612
615
|
"docs.error.emptyComment": "El comentario de revisión no puede estar vacío",
|
|
613
616
|
"docs.error.commentSourceConflict": "Usa --comment o --comment-file, no ambos",
|
|
614
617
|
"docs.error.commentFileIsDocument": "--comment-file no puede apuntar al documento que se está revisando",
|
|
618
|
+
"docs.error.changedPathConflict": "Usa --changed sin una ruta de documento",
|
|
619
|
+
"docs.error.changedCommentConflict": "Usa --changed sin --comment ni --comment-file",
|
|
620
|
+
"docs.error.changedFilesUnavailable": "No se pudieron inspeccionar los cambios con git status: {message}",
|
|
615
621
|
"docs.error.invalidStatus": "Estado de revisión no válido. Usa uno de: {statuses}",
|
|
616
622
|
"docs.error.invalidReviewerKind": "Tipo de revisor no válido. Usa uno de: {kinds}",
|
|
617
623
|
"docs.error.missingReviewerKind": "Falta --reviewer-kind. Usa uno de: {kinds}",
|
|
@@ -765,11 +771,17 @@ Lee estos archivos antes de trabajar:
|
|
|
765
771
|
"scriptPack.suggest.empty": "No script-pack suggestions matched the supplied paths, skills, or phases.",
|
|
766
772
|
"scriptPack.pack.code.summary": "Source-code orientation utility scripts",
|
|
767
773
|
"scriptPack.pack.core.summary": "Core built-in utility scripts",
|
|
774
|
+
"scriptPack.pack.docs.summary": "Documentation reference utility scripts",
|
|
768
775
|
"scriptPack.pack.repo.summary": "Repository-boundary utility scripts",
|
|
769
776
|
"scriptPack.script.codeOutline.summary": "Scan TypeScript and JavaScript files for symbol headers and line ranges",
|
|
770
|
-
"scriptPack.script.codeSymbolRead.summary": "Read a bounded source snippet by symbol line or explicit line range",
|
|
777
|
+
"scriptPack.script.codeSymbolRead.summary": "Read a bounded source snippet by source anchor, symbol line, or explicit line range",
|
|
778
|
+
"scriptPack.script.codeRouteOutline.summary": "Scan Hono, Elysia, Axum, and NestJS route methods, paths, handlers, and lifecycle chains",
|
|
779
|
+
"scriptPack.script.codeExportDiff.summary": "Compare exported source signatures and return metadata across git refs",
|
|
771
780
|
"scriptPack.script.textBudget.summary": "Check exact text length budgets for files or JSON string fields",
|
|
781
|
+
"scriptPack.script.referenceDrift.summary": "Check documented command, script-pack, schema, and path references for drift",
|
|
782
|
+
"scriptPack.script.configChain.summary": "Inspect nearby config files and static config inheritance",
|
|
772
783
|
"scriptPack.script.generatedBoundary.summary": "Check whether candidate paths cross generated, ignored, protected, vendor, or cache boundaries",
|
|
784
|
+
"scriptPack.script.relatedFiles.summary": "Map likely related files for source-oriented repository navigation",
|
|
773
785
|
"scriptPack.label.script": "Script",
|
|
774
786
|
"scriptPack.label.actions": "actions",
|
|
775
787
|
"scriptPack.label.schema": "schema",
|
|
@@ -796,7 +808,8 @@ Lee estos archivos antes de trabajar:
|
|
|
796
808
|
"codeOutline.error.missingPath": "Provide at least one source file or directory to scan",
|
|
797
809
|
"codeOutline.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
798
810
|
"codeOutline.error.invalidNonNegativeInteger": "{option} must be a non-negative safe integer: {value}",
|
|
799
|
-
"codeSymbolRead.help.summary": "Read a bounded TypeScript or JavaScript source snippet from a symbol line or explicit line range.",
|
|
811
|
+
"codeSymbolRead.help.summary": "Read a bounded TypeScript or JavaScript source snippet from a source anchor, symbol line, or explicit line range.",
|
|
812
|
+
"codeSymbolRead.help.option.anchor": "Source anchor id to resolve to its target symbol",
|
|
800
813
|
"codeSymbolRead.help.option.startLine": "1-based source line to resolve to a symbol or range",
|
|
801
814
|
"codeSymbolRead.help.option.endLine": "Optional explicit 1-based end line; when omitted, the containing outline symbol is read",
|
|
802
815
|
"codeSymbolRead.help.option.contextLines": "Number of surrounding context lines to include. Default: 0",
|
|
@@ -813,6 +826,56 @@ Lee estos archivos antes de trabajar:
|
|
|
813
826
|
"codeSymbolRead.error.missingPath": "Provide exactly one source file to read",
|
|
814
827
|
"codeSymbolRead.error.tooManyPaths": "Provide only one source file to read",
|
|
815
828
|
"codeSymbolRead.error.missingStartLine": "Provide --start-line <line>",
|
|
829
|
+
"codeSymbolRead.error.anchorConflict": "Use either --anchor <id> or <path> with --start-line/--end-line, not both",
|
|
830
|
+
"codeRouteOutline.help.summary": "Scan Hono, Elysia, Axum, and NestJS route source files for method, path, handler, lifecycle, and line metadata.",
|
|
831
|
+
"codeRouteOutline.help.option.maxFiles": "Maximum number of source files to scan. Default: 200",
|
|
832
|
+
"codeRouteOutline.help.option.maxFileBytes": "Maximum bytes to read from each source file. Default: 1048576",
|
|
833
|
+
"codeRouteOutline.help.exit.ok": "The route outline was scanned without findings",
|
|
834
|
+
"codeRouteOutline.help.exit.fail": "The route outline found invalid input, unreadable files, unsupported files, or scan limits",
|
|
835
|
+
"codeRouteOutline.title": "mustflow route outline",
|
|
836
|
+
"codeRouteOutline.label.files": "Files",
|
|
837
|
+
"codeRouteOutline.label.routes": "Routes",
|
|
838
|
+
"codeRouteOutline.label.findings": "Findings",
|
|
839
|
+
"codeRouteOutline.label.outline": "Route outline",
|
|
840
|
+
"codeRouteOutline.label.issues": "Issues",
|
|
841
|
+
"codeRouteOutline.clean": "No Hono, Elysia, Axum, or NestJS routes were found.",
|
|
842
|
+
"codeRouteOutline.error.missingAction": "Specify a route-outline action: scan",
|
|
843
|
+
"codeRouteOutline.error.unknownAction": "Unknown route-outline action: {action}",
|
|
844
|
+
"codeRouteOutline.error.missingPath": "Provide at least one source file or directory to scan",
|
|
845
|
+
"codeRouteOutline.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
846
|
+
"exportDiff.help.summary": "Compare exported TS/JS signatures, return metadata, and package surface hints across a git base and head.",
|
|
847
|
+
"exportDiff.help.option.base": "Git base ref to compare from. Default: HEAD",
|
|
848
|
+
"exportDiff.help.option.head": "Git head ref to compare to. Omit to compare the base with the working tree.",
|
|
849
|
+
"exportDiff.help.option.maxFiles": "Maximum number of changed source files to inspect. Default: 100",
|
|
850
|
+
"exportDiff.help.option.maxFileBytes": "Maximum bytes to read from each source file snapshot. Default: 1048576",
|
|
851
|
+
"exportDiff.help.exit.ok": "The export diff completed without input errors",
|
|
852
|
+
"exportDiff.help.exit.fail": "The export diff could not read git input or exceeded configured limits",
|
|
853
|
+
"exportDiff.title": "mustflow export diff",
|
|
854
|
+
"exportDiff.label.files": "Files",
|
|
855
|
+
"exportDiff.label.added": "Added",
|
|
856
|
+
"exportDiff.label.removed": "Removed",
|
|
857
|
+
"exportDiff.label.changed": "Changed",
|
|
858
|
+
"exportDiff.label.exports": "Exports",
|
|
859
|
+
"exportDiff.label.findings": "Findings",
|
|
860
|
+
"exportDiff.label.issues": "Issues",
|
|
861
|
+
"exportDiff.clean": "No exported TypeScript or JavaScript declaration changes were found.",
|
|
862
|
+
"exportDiff.error.missingAction": "Specify an export-diff action: compare",
|
|
863
|
+
"exportDiff.error.unknownAction": "Unknown export-diff action: {action}",
|
|
864
|
+
"exportDiff.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
865
|
+
"referenceDrift.help.summary": "Check documentation references against current mf commands, script-pack refs, schema files, and repository paths.",
|
|
866
|
+
"referenceDrift.help.option.maxFiles": "Maximum number of document files to inspect. Default: 200",
|
|
867
|
+
"referenceDrift.help.option.maxFileBytes": "Maximum bytes to read from each document file. Default: 524288",
|
|
868
|
+
"referenceDrift.help.exit.ok": "All checked documentation references resolved against current repository surfaces",
|
|
869
|
+
"referenceDrift.help.exit.fail": "A documentation reference was stale, missing, unknown, unreadable, or over a configured limit",
|
|
870
|
+
"referenceDrift.title": "mustflow reference drift",
|
|
871
|
+
"referenceDrift.label.files": "Files",
|
|
872
|
+
"referenceDrift.label.references": "References",
|
|
873
|
+
"referenceDrift.label.findings": "Findings",
|
|
874
|
+
"referenceDrift.label.issues": "Issues",
|
|
875
|
+
"referenceDrift.clean": "No documentation references were found.",
|
|
876
|
+
"referenceDrift.error.missingAction": "Specify a reference-drift action: check",
|
|
877
|
+
"referenceDrift.error.unknownAction": "Unknown reference-drift action: {action}",
|
|
878
|
+
"referenceDrift.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
816
879
|
"textBudget.help.summary": "Check exact text length budgets for files or JSON string fields using grapheme counts by default.",
|
|
817
880
|
"textBudget.help.option.min": "Require at least this many units",
|
|
818
881
|
"textBudget.help.option.max": "Require at most this many units",
|
|
@@ -849,6 +912,42 @@ Lee estos archivos antes de trabajar:
|
|
|
849
912
|
"generatedBoundary.error.missingAction": "Specify a generated-boundary action: check",
|
|
850
913
|
"generatedBoundary.error.unknownAction": "Unknown generated-boundary action: {action}",
|
|
851
914
|
"generatedBoundary.error.missingPath": "Provide at least one path to check",
|
|
915
|
+
"relatedFiles.help.summary": "Map direct imports, importers, sibling files, and nearby config boundaries for source-oriented repository navigation.",
|
|
916
|
+
"relatedFiles.help.option.maxFiles": "Maximum number of source or related files to scan. Default: 1000",
|
|
917
|
+
"relatedFiles.help.option.maxFileBytes": "Maximum bytes to read from each source file. Default: 262144",
|
|
918
|
+
"relatedFiles.help.option.maxCandidates": "Maximum number of related-file candidates to report. Default: 200",
|
|
919
|
+
"relatedFiles.help.exit.ok": "The related-file map completed without input or scan-limit findings",
|
|
920
|
+
"relatedFiles.help.exit.fail": "The related-file map found invalid input, unreadable paths, or scan limits",
|
|
921
|
+
"relatedFiles.title": "mustflow related files",
|
|
922
|
+
"relatedFiles.label.targets": "Targets",
|
|
923
|
+
"relatedFiles.label.candidates": "Candidates",
|
|
924
|
+
"relatedFiles.label.truncated": "Truncated",
|
|
925
|
+
"relatedFiles.label.related": "Related files",
|
|
926
|
+
"relatedFiles.label.confidence": "confidence",
|
|
927
|
+
"relatedFiles.label.findings": "Findings",
|
|
928
|
+
"relatedFiles.label.issues": "Issues",
|
|
929
|
+
"relatedFiles.clean": "No related-file candidates were found.",
|
|
930
|
+
"relatedFiles.error.missingAction": "Specify a related-files action: map",
|
|
931
|
+
"relatedFiles.error.unknownAction": "Unknown related-files action: {action}",
|
|
932
|
+
"relatedFiles.error.missingPath": "Provide at least one path to map",
|
|
933
|
+
"relatedFiles.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
934
|
+
"configChain.help.summary": "Inspect nearby config files, static inheritance, workspace hints, and dynamic config boundaries.",
|
|
935
|
+
"configChain.help.option.maxConfigs": "Maximum number of config files to inspect. Default: 120",
|
|
936
|
+
"configChain.help.option.maxFileBytes": "Maximum bytes to read from each config file. Default: 262144",
|
|
937
|
+
"configChain.help.exit.ok": "The config chain was inspected without blocking findings",
|
|
938
|
+
"configChain.help.exit.fail": "The config chain found invalid input, unreadable files, parse errors, or scan limits",
|
|
939
|
+
"configChain.title": "mustflow config chain",
|
|
940
|
+
"configChain.label.targets": "Targets",
|
|
941
|
+
"configChain.label.configs": "Configs",
|
|
942
|
+
"configChain.label.edges": "Edges",
|
|
943
|
+
"configChain.label.findings": "Findings",
|
|
944
|
+
"configChain.label.dynamic": "dynamic",
|
|
945
|
+
"configChain.label.issues": "Issues",
|
|
946
|
+
"configChain.clean": "No nearby config files were found.",
|
|
947
|
+
"configChain.error.missingAction": "Specify a config-chain action: inspect",
|
|
948
|
+
"configChain.error.unknownAction": "Unknown config-chain action: {action}",
|
|
949
|
+
"configChain.error.missingPath": "Provide at least one path to inspect",
|
|
950
|
+
"configChain.error.invalidPositiveInteger": "{option} must be a positive safe integer: {value}",
|
|
852
951
|
"run.help.summary": "Ejecuta un comando configurado de una sola ejecución desde .mustflow/config/commands.toml.",
|
|
853
952
|
"run.help.option.dryRun": "Imprime un plan de comando sin ejecutarlo",
|
|
854
953
|
"run.help.option.planOnly": "Alias de --dry-run",
|