@promptci/core 0.0.1 → 0.2.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/LICENSE +201 -201
- package/README.md +29 -30
- package/dist/action-pinning.d.ts +37 -0
- package/dist/action-pinning.d.ts.map +1 -0
- package/dist/action-pinning.js +277 -0
- package/dist/action-pinning.js.map +1 -0
- package/dist/agent-practices.d.ts +3 -1
- package/dist/agent-practices.d.ts.map +1 -1
- package/dist/agent-practices.js +198 -94
- package/dist/agent-practices.js.map +1 -1
- package/dist/ai-config.d.ts +178 -0
- package/dist/ai-config.d.ts.map +1 -0
- package/dist/ai-config.js +721 -0
- package/dist/ai-config.js.map +1 -0
- package/dist/alias-files.d.ts +33 -0
- package/dist/alias-files.d.ts.map +1 -0
- package/dist/alias-files.js +60 -0
- package/dist/alias-files.js.map +1 -0
- package/dist/baseline.d.ts +17 -1
- package/dist/baseline.d.ts.map +1 -1
- package/dist/baseline.js +5 -1
- package/dist/baseline.js.map +1 -1
- package/dist/buried-critical.d.ts +17 -0
- package/dist/buried-critical.d.ts.map +1 -0
- package/dist/buried-critical.js +107 -0
- package/dist/buried-critical.js.map +1 -0
- package/dist/canonical-owner.d.ts.map +1 -1
- package/dist/canonical-owner.js +60 -30
- package/dist/canonical-owner.js.map +1 -1
- package/dist/ci-alignment.d.ts.map +1 -1
- package/dist/ci-alignment.js +3 -2
- package/dist/ci-alignment.js.map +1 -1
- package/dist/command-validity.d.ts +16 -0
- package/dist/command-validity.d.ts.map +1 -1
- package/dist/command-validity.js +387 -134
- package/dist/command-validity.js.map +1 -1
- package/dist/conflicts.d.ts.map +1 -1
- package/dist/conflicts.js +4 -44
- package/dist/conflicts.js.map +1 -1
- package/dist/context-analysis.d.ts.map +1 -1
- package/dist/context-analysis.js +13 -2
- package/dist/context-analysis.js.map +1 -1
- package/dist/context-bloat.d.ts +20 -1
- package/dist/context-bloat.d.ts.map +1 -1
- package/dist/context-bloat.js +99 -15
- package/dist/context-bloat.js.map +1 -1
- package/dist/context-optimizer.d.ts.map +1 -1
- package/dist/context-optimizer.js +18 -54
- package/dist/context-optimizer.js.map +1 -1
- package/dist/copilot-instructions-detector.d.ts +24 -0
- package/dist/copilot-instructions-detector.d.ts.map +1 -0
- package/dist/copilot-instructions-detector.js +145 -0
- package/dist/copilot-instructions-detector.js.map +1 -0
- package/dist/cursor-rules-detector.d.ts +17 -0
- package/dist/cursor-rules-detector.d.ts.map +1 -0
- package/dist/cursor-rules-detector.js +110 -0
- package/dist/cursor-rules-detector.js.map +1 -0
- package/dist/custom-rules.d.ts +52 -0
- package/dist/custom-rules.d.ts.map +1 -0
- package/dist/custom-rules.js +303 -0
- package/dist/custom-rules.js.map +1 -0
- package/dist/dead-references.d.ts +8 -2
- package/dist/dead-references.d.ts.map +1 -1
- package/dist/dead-references.js +315 -68
- package/dist/dead-references.js.map +1 -1
- package/dist/dependency-staleness.d.ts +35 -0
- package/dist/dependency-staleness.d.ts.map +1 -0
- package/dist/dependency-staleness.js +1001 -0
- package/dist/dependency-staleness.js.map +1 -0
- package/dist/detectors.d.ts +1 -3
- package/dist/detectors.d.ts.map +1 -1
- package/dist/detectors.js +74 -56
- package/dist/detectors.js.map +1 -1
- package/dist/duplicates.d.ts.map +1 -1
- package/dist/duplicates.js +15 -9
- package/dist/duplicates.js.map +1 -1
- package/dist/evidence.d.ts +39 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +78 -0
- package/dist/evidence.js.map +1 -0
- package/dist/finding-id.d.ts +21 -0
- package/dist/finding-id.d.ts.map +1 -0
- package/dist/finding-id.js +31 -0
- package/dist/finding-id.js.map +1 -0
- package/dist/fix-engine.d.ts +11 -0
- package/dist/fix-engine.d.ts.map +1 -1
- package/dist/fix-engine.js +88 -71
- package/dist/fix-engine.js.map +1 -1
- package/dist/frameworks/dotnet.js +2 -2
- package/dist/frameworks/dotnet.js.map +1 -1
- package/dist/frameworks/python.d.ts.map +1 -1
- package/dist/frameworks/python.js +5 -2
- package/dist/frameworks/python.js.map +1 -1
- package/dist/frameworks/rust.d.ts.map +1 -1
- package/dist/frameworks/rust.js +2 -1
- package/dist/frameworks/rust.js.map +1 -1
- package/dist/git-symlinks.d.ts +30 -0
- package/dist/git-symlinks.d.ts.map +1 -0
- package/dist/git-symlinks.js +161 -0
- package/dist/git-symlinks.js.map +1 -0
- package/dist/gitignore.d.ts +22 -0
- package/dist/gitignore.d.ts.map +1 -0
- package/dist/gitignore.js +157 -0
- package/dist/gitignore.js.map +1 -0
- package/dist/health-score.d.ts.map +1 -1
- package/dist/health-score.js +35 -5
- package/dist/health-score.js.map +1 -1
- package/dist/hooks-settings-detector.d.ts +17 -0
- package/dist/hooks-settings-detector.d.ts.map +1 -0
- package/dist/hooks-settings-detector.js +228 -0
- package/dist/hooks-settings-detector.js.map +1 -0
- package/dist/index.d.ts +29 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -6
- package/dist/index.js.map +1 -1
- package/dist/makefile.d.ts +37 -0
- package/dist/makefile.d.ts.map +1 -0
- package/dist/makefile.js +156 -0
- package/dist/makefile.js.map +1 -0
- package/dist/manifest-consistency.d.ts +6 -0
- package/dist/manifest-consistency.d.ts.map +1 -1
- package/dist/manifest-consistency.js +75 -10
- package/dist/manifest-consistency.js.map +1 -1
- package/dist/markdown-fences.d.ts +112 -0
- package/dist/markdown-fences.d.ts.map +1 -0
- package/dist/markdown-fences.js +174 -0
- package/dist/markdown-fences.js.map +1 -0
- package/dist/mcp-config-detector.d.ts +20 -0
- package/dist/mcp-config-detector.d.ts.map +1 -0
- package/dist/mcp-config-detector.js +237 -0
- package/dist/mcp-config-detector.js.map +1 -0
- package/dist/missing-context.d.ts.map +1 -1
- package/dist/missing-context.js +2 -52
- package/dist/missing-context.js.map +1 -1
- package/dist/model-budgets.d.ts +69 -0
- package/dist/model-budgets.d.ts.map +1 -0
- package/dist/model-budgets.js +110 -0
- package/dist/model-budgets.js.map +1 -0
- package/dist/negative-instructions.d.ts +26 -0
- package/dist/negative-instructions.d.ts.map +1 -0
- package/dist/negative-instructions.js +169 -0
- package/dist/negative-instructions.js.map +1 -0
- package/dist/path-containment.d.ts +41 -0
- package/dist/path-containment.d.ts.map +1 -0
- package/dist/path-containment.js +123 -0
- package/dist/path-containment.js.map +1 -0
- package/dist/project-type.d.ts +12 -2
- package/dist/project-type.d.ts.map +1 -1
- package/dist/project-type.js +25 -12
- package/dist/project-type.js.map +1 -1
- package/dist/prompt-cache.d.ts.map +1 -1
- package/dist/prompt-cache.js +33 -24
- package/dist/prompt-cache.js.map +1 -1
- package/dist/promptci-gitignore.d.ts +34 -0
- package/dist/promptci-gitignore.d.ts.map +1 -0
- package/dist/promptci-gitignore.js +42 -0
- package/dist/promptci-gitignore.js.map +1 -0
- package/dist/repo-context.d.ts +80 -0
- package/dist/repo-context.d.ts.map +1 -1
- package/dist/repo-context.js +170 -16
- package/dist/repo-context.js.map +1 -1
- package/dist/report.d.ts +8 -0
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +163 -63
- package/dist/report.js.map +1 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +47 -4
- package/dist/scan.js.map +1 -1
- package/dist/scanner.d.ts +61 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +367 -70
- package/dist/scanner.js.map +1 -1
- package/dist/security-pack.d.ts +20 -0
- package/dist/security-pack.d.ts.map +1 -1
- package/dist/security-pack.js +33 -14
- package/dist/security-pack.js.map +1 -1
- package/dist/skill-supply-chain.d.ts +132 -0
- package/dist/skill-supply-chain.d.ts.map +1 -0
- package/dist/skill-supply-chain.js +2954 -0
- package/dist/skill-supply-chain.js.map +1 -0
- package/dist/skills-detector.d.ts +23 -0
- package/dist/skills-detector.d.ts.map +1 -0
- package/dist/skills-detector.js +279 -0
- package/dist/skills-detector.js.map +1 -0
- package/dist/stale-instructions.d.ts +4 -1
- package/dist/stale-instructions.d.ts.map +1 -1
- package/dist/stale-instructions.js +53 -55
- package/dist/stale-instructions.js.map +1 -1
- package/dist/subagents-detector.d.ts +19 -0
- package/dist/subagents-detector.d.ts.map +1 -0
- package/dist/subagents-detector.js +155 -0
- package/dist/subagents-detector.js.map +1 -0
- package/dist/suppression.d.ts +2 -0
- package/dist/suppression.d.ts.map +1 -1
- package/dist/suppression.js +16 -47
- package/dist/suppression.js.map +1 -1
- package/dist/types.d.ts +62 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +47 -1
- package/dist/types.js.map +1 -1
- package/dist/vague-guidance.d.ts +15 -2
- package/dist/vague-guidance.d.ts.map +1 -1
- package/dist/vague-guidance.js +44 -41
- package/dist/vague-guidance.js.map +1 -1
- package/dist/windsurf-detector.d.ts +22 -0
- package/dist/windsurf-detector.d.ts.map +1 -0
- package/dist/windsurf-detector.js +96 -0
- package/dist/windsurf-detector.js.map +1 -0
- package/dist/within-section-dedup.d.ts +16 -0
- package/dist/within-section-dedup.d.ts.map +1 -0
- package/dist/within-section-dedup.js +148 -0
- package/dist/within-section-dedup.js.map +1 -0
- package/dist/workspace-manifests.d.ts +80 -0
- package/dist/workspace-manifests.d.ts.map +1 -0
- package/dist/workspace-manifests.js +333 -0
- package/dist/workspace-manifests.js.map +1 -0
- package/package.json +11 -8
- package/dist/cheap-model-routing.d.ts +0 -4
- package/dist/cheap-model-routing.d.ts.map +0 -1
- package/dist/cheap-model-routing.js +0 -43
- package/dist/cheap-model-routing.js.map +0 -1
- package/dist/cli-output-filter.d.ts +0 -16
- package/dist/cli-output-filter.d.ts.map +0 -1
- package/dist/cli-output-filter.js +0 -88
- package/dist/cli-output-filter.js.map +0 -1
- package/dist/context-cost.d.ts +0 -4
- package/dist/context-cost.d.ts.map +0 -1
- package/dist/context-cost.js +0 -70
- package/dist/context-cost.js.map +0 -1
- package/dist/context-recommender.d.ts +0 -3
- package/dist/context-recommender.d.ts.map +0 -1
- package/dist/context-recommender.js +0 -329
- package/dist/context-recommender.js.map +0 -1
- package/dist/llm.d.ts +0 -6
- package/dist/llm.d.ts.map +0 -1
- package/dist/llm.js +0 -67
- package/dist/llm.js.map +0 -1
- package/dist/mcp-detector.d.ts +0 -4
- package/dist/mcp-detector.d.ts.map +0 -1
- package/dist/mcp-detector.js +0 -131
- package/dist/mcp-detector.js.map +0 -1
- package/dist/native-tool-preference.d.ts +0 -20
- package/dist/native-tool-preference.d.ts.map +0 -1
- package/dist/native-tool-preference.js +0 -94
- package/dist/native-tool-preference.js.map +0 -1
- package/dist/output-verbosity.d.ts +0 -3
- package/dist/output-verbosity.d.ts.map +0 -1
- package/dist/output-verbosity.js +0 -83
- package/dist/output-verbosity.js.map +0 -1
- package/dist/product-boundary.d.ts +0 -11
- package/dist/product-boundary.d.ts.map +0 -1
- package/dist/product-boundary.js +0 -301
- package/dist/product-boundary.js.map +0 -1
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
import * as crypto from 'node:crypto';
|
|
21
21
|
import * as fs from 'node:fs';
|
|
22
22
|
import * as path from 'node:path';
|
|
23
|
+
import { buildCodeMask } from './markdown-fences.js';
|
|
24
|
+
import { fileIdPath } from './finding-id.js';
|
|
25
|
+
import { BUN_BUILTINS, analyzeCommands } from './command-validity.js';
|
|
26
|
+
import { anyWorkspaceHasScript, isKnownBinary } from './workspace-manifests.js';
|
|
23
27
|
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
24
28
|
function issueId(key) {
|
|
25
29
|
const hash = crypto.createHash('sha1').update(key).digest('hex').slice(0, 12);
|
|
@@ -108,7 +112,7 @@ function checkPythonVersionMismatch(files, pyprojectContent) {
|
|
|
108
112
|
continue;
|
|
109
113
|
reported.add(dedupeKey);
|
|
110
114
|
issues.push({
|
|
111
|
-
id: issueId(`python-version:${file
|
|
115
|
+
id: issueId(`python-version:${fileIdPath(file)}:${instrVersion}`),
|
|
112
116
|
severity: 'high',
|
|
113
117
|
category: 'stale_instruction',
|
|
114
118
|
title: `Python version mismatch: instruction says ${instrVersion}, pyproject.toml requires ≥${manifestVersion}`,
|
|
@@ -228,7 +232,7 @@ function checkLibraryVersionMismatch(files, pyprojectContent) {
|
|
|
228
232
|
continue;
|
|
229
233
|
reported.add(dedupeKey);
|
|
230
234
|
issues.push({
|
|
231
|
-
id: issueId(`library-version:${file
|
|
235
|
+
id: issueId(`library-version:${fileIdPath(file)}:${library}:${instructionVersion}`),
|
|
232
236
|
severity: 'high',
|
|
233
237
|
category: 'stale_instruction',
|
|
234
238
|
title: `${displayName} version mismatch: instruction says ${instructionVersion}, ` +
|
|
@@ -324,7 +328,7 @@ function checkJsLibraryVersionMismatch(files, packageJsonContent) {
|
|
|
324
328
|
continue;
|
|
325
329
|
reported.add(dedupeKey);
|
|
326
330
|
issues.push({
|
|
327
|
-
id: issueId(`js-library-version:${file
|
|
331
|
+
id: issueId(`js-library-version:${fileIdPath(file)}:${library}:${instructionVersion}`),
|
|
328
332
|
severity: 'high',
|
|
329
333
|
category: 'stale_instruction',
|
|
330
334
|
title: `${displayName} version mismatch: instruction says ${instructionVersion}, ` +
|
|
@@ -440,32 +444,73 @@ function checkMissingScripts(context) {
|
|
|
440
444
|
// MF2: '_' was excluded from the script-name char class, so `pnpm build_all`
|
|
441
445
|
// could never match at all (the regex has nowhere to complete once it hits
|
|
442
446
|
// the underscore) — always silently skipped, never validated.
|
|
443
|
-
|
|
447
|
+
// MF4: `run` is captured rather than skipped, so an explicit `npm run <name>`
|
|
448
|
+
// can be told apart from a bare `pnpm <token>` — the latter needs code
|
|
449
|
+
// context before it counts as an invocation.
|
|
450
|
+
const SCRIPT_RUN_RE = /\b(npm|yarn|pnpm|bun)\s+(run(?:-script)?\s+)?([a-z0-9][a-z0-9:_-]*)\b/gi;
|
|
451
|
+
// Only the scope that governs THIS command counts: a `cd <dir> &&` chained
|
|
452
|
+
// directly before it, or a workspace/directory flag later in the same command
|
|
453
|
+
// (`npm run build -w web`). A `-r` or `cd` belonging to an earlier command on
|
|
454
|
+
// the line says nothing about this one.
|
|
455
|
+
const CD_CHAIN_BEFORE_RE = /\bcd\s+\S+\s*&&\s*(?:[^&;|\n]*&&\s*)*$/;
|
|
456
|
+
const SCOPE_FLAG_RE = /(?:^|\s)(?:--filter\b|-F\b|--cwd\b|-C\b|--prefix\b|--dir\b|-w\b|--workspaces?\b|-ws\b|-r\b|--recursive\b)/;
|
|
457
|
+
const isScopedInvocation = (content, matchStart, matchEnd) => {
|
|
458
|
+
const lineStart = content.lastIndexOf('\n', matchStart - 1) + 1;
|
|
459
|
+
if (CD_CHAIN_BEFORE_RE.test(content.slice(lineStart, matchStart)))
|
|
460
|
+
return true;
|
|
461
|
+
const newline = content.indexOf('\n', matchEnd);
|
|
462
|
+
const after = content.slice(matchEnd, newline === -1 ? undefined : newline);
|
|
463
|
+
return SCOPE_FLAG_RE.test(after.split(/&&|\|\||;|\||`|,\s|\.\s|\bthen\b/)[0]);
|
|
464
|
+
};
|
|
444
465
|
const reported = new Set();
|
|
445
466
|
// MF1: skip list was missing common built-in subcommands/prose verbs, so
|
|
446
467
|
// "npm ci" reported a missing script "ci", and bare "pnpm run" (prose, no
|
|
447
468
|
// actual script name following it) reported a missing script "run".
|
|
448
469
|
const SKIP_SUBCOMMANDS = new Set([
|
|
449
470
|
'install', 'add', 'remove', 'init', 'test', 'start', 'stop', 'restart',
|
|
450
|
-
'exec', 'dlx', 'i', 'help', 'run', '
|
|
451
|
-
'publish', 'create', 'link', 'why', 'workspace', 'workspaces',
|
|
471
|
+
'exec', 'dlx', 'i', 'help', 'run', 'run-script', 'ci', 'audit', 'update',
|
|
472
|
+
'outdated', 'publish', 'create', 'link', 'why', 'workspace', 'workspaces',
|
|
452
473
|
'store', 'ls', 'list', 'pack', 'unlink', 'uninstall', 'up', 'prune',
|
|
453
|
-
'package', 'packages', 'project', 'repo', 'repository',
|
|
474
|
+
'package', 'packages', 'project', 'repo', 'repository', 'version',
|
|
454
475
|
]);
|
|
455
476
|
const ENGLISH_FILLER_WORDS = new Set([
|
|
456
477
|
'instead', 'of', 'packages', 'package', 'scripts', 'script', 'ecosystem',
|
|
457
478
|
'are', 'is', 'the', 'a', 'an', 'that', 'this', 'for', 'to', 'and', 'or',
|
|
458
479
|
'not', 'with', 'without', 'via', 'because', 'since', 'before', 'after',
|
|
459
480
|
'than', 'as', 'like', 'but', 'so',
|
|
481
|
+
// MF4: determiners and pronouns that can follow an explicit `run` in prose
|
|
482
|
+
// ("you can pnpm run any of the scripts below").
|
|
483
|
+
'any', 'all', 'each', 'every', 'either', 'both', 'one', 'it', 'them',
|
|
484
|
+
'these', 'those', 'my', 'our', 'your', 'their', 'its',
|
|
460
485
|
]);
|
|
486
|
+
// One command -> at most one finding. command-validity resolves `cd`/`--filter`/
|
|
487
|
+
// workspace scoping for every command it extracts; whatever it evaluated is
|
|
488
|
+
// its to report, so this check only speaks for mentions it never parsed
|
|
489
|
+
// (plain prose such as "then run npm run build").
|
|
490
|
+
const commandAnalysis = analyzeCommands(context);
|
|
461
491
|
for (const file of files) {
|
|
492
|
+
const codeMask = buildCodeMask(file.content);
|
|
493
|
+
const evaluatedByCommandValidity = commandAnalysis.evaluatedScripts.get(file.path);
|
|
462
494
|
let match;
|
|
463
495
|
const re = new RegExp(SCRIPT_RUN_RE.source, SCRIPT_RUN_RE.flags);
|
|
464
496
|
while ((match = re.exec(file.content)) !== null) {
|
|
465
|
-
const
|
|
497
|
+
const packageManager = match[1].toLowerCase();
|
|
498
|
+
const explicitRun = match[2] !== undefined;
|
|
499
|
+
const scriptName = match[3];
|
|
466
500
|
if (scriptName.startsWith('-')) {
|
|
467
501
|
continue;
|
|
468
502
|
}
|
|
503
|
+
// MF4: "Node.js 22+, pnpm 9+" is a version requirement, not a script
|
|
504
|
+
// named "9" — no package.json script starts with a digit in practice.
|
|
505
|
+
if (/^[0-9]/.test(scriptName)) {
|
|
506
|
+
continue;
|
|
507
|
+
}
|
|
508
|
+
// MF4: outside a code span or fenced block, `<pm> <word>` is ordinary
|
|
509
|
+
// prose ("consumed from the npm registry", "this is an npm package").
|
|
510
|
+
// Only the explicit `run` form reads as an invocation there.
|
|
511
|
+
if (!explicitRun && !codeMask[match.index]) {
|
|
512
|
+
continue;
|
|
513
|
+
}
|
|
469
514
|
// Skip common standard subcommands that aren't necessarily scripts
|
|
470
515
|
if (SKIP_SUBCOMMANDS.has(scriptName)) {
|
|
471
516
|
continue;
|
|
@@ -473,13 +518,33 @@ function checkMissingScripts(context) {
|
|
|
473
518
|
if (ENGLISH_FILLER_WORDS.has(scriptName.toLowerCase())) {
|
|
474
519
|
continue;
|
|
475
520
|
}
|
|
521
|
+
if (packageManager === 'bun' && !explicitRun && BUN_BUILTINS.has(scriptName)) {
|
|
522
|
+
continue;
|
|
523
|
+
}
|
|
476
524
|
if (!availableScripts.has(scriptName)) {
|
|
525
|
+
// This exact occurrence was already judged by command-validity.
|
|
526
|
+
if (evaluatedByCommandValidity?.size) {
|
|
527
|
+
const line = file.content.slice(0, match.index).split('\n').length;
|
|
528
|
+
if (evaluatedByCommandValidity.has(`${line}:${scriptName}`))
|
|
529
|
+
continue;
|
|
530
|
+
}
|
|
531
|
+
// A script defined by a workspace package (monorepo) is runnable via
|
|
532
|
+
// `--filter`/`-r`/`cd`; the root manifest is not the only place to look.
|
|
533
|
+
if (anyWorkspaceHasScript(context, scriptName))
|
|
534
|
+
continue;
|
|
535
|
+
// `pnpm vitest run` / `yarn tsc`: not a script, an installed binary.
|
|
536
|
+
// (`npm run` and `pnpm run` accept scripts only.)
|
|
537
|
+
const scriptsOnly = explicitRun && (packageManager === 'npm' || packageManager === 'pnpm');
|
|
538
|
+
if (!scriptsOnly && isKnownBinary(context, scriptName))
|
|
539
|
+
continue;
|
|
540
|
+
if (isScopedInvocation(file.content, match.index, match.index + match[0].length))
|
|
541
|
+
continue;
|
|
477
542
|
const dedupeKey = `${file.path}:${scriptName}`;
|
|
478
543
|
if (reported.has(dedupeKey))
|
|
479
544
|
continue;
|
|
480
545
|
reported.add(dedupeKey);
|
|
481
546
|
issues.push({
|
|
482
|
-
id: `manifest-missing-script:${file
|
|
547
|
+
id: `manifest-missing-script:${fileIdPath(file)}:${scriptName}`,
|
|
483
548
|
severity: 'warning',
|
|
484
549
|
category: 'stale_instruction',
|
|
485
550
|
title: `Reference to missing script: "${scriptName}"`,
|
|
@@ -530,7 +595,7 @@ function checkNodeVersionMismatch(context) {
|
|
|
530
595
|
continue;
|
|
531
596
|
reported.add(dedupeKey);
|
|
532
597
|
issues.push({
|
|
533
|
-
id: `manifest-node-version-mismatch:${file
|
|
598
|
+
id: `manifest-node-version-mismatch:${fileIdPath(file)}:${instrVersion}`,
|
|
534
599
|
severity: 'warning',
|
|
535
600
|
category: 'stale_instruction',
|
|
536
601
|
title: `Node.js version mismatch: instruction says ${instrVersion}, project requires ≥${minNodeVersion}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-consistency.js","sourceRoot":"","sources":["../src/manifest-consistency.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manifest-consistency.js","sourceRoot":"","sources":["../src/manifest-consistency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one CommonMark fenced-code-block scanner.
|
|
3
|
+
*
|
|
4
|
+
* This walk was independently reimplemented in eleven files (scanner.ts,
|
|
5
|
+
* conflicts.ts, vague-guidance.ts, stale-instructions.ts, suppression.ts,
|
|
6
|
+
* agent-practices.ts, missing-context.ts, command-validity.ts,
|
|
7
|
+
* dead-references.ts, manifest-consistency.ts, product-boundary.ts). The
|
|
8
|
+
* copies diverged: each carried its own bug-ID comment for a fix applied to
|
|
9
|
+
* that copy alone, the same `~~~`-fence bug was found and fixed five separate
|
|
10
|
+
* times, and dead-references.ts never got `~~~` support at all. Every future
|
|
11
|
+
* fence bug should be fixable once, here.
|
|
12
|
+
*
|
|
13
|
+
* The rules all the copies were converging on, kept in one place:
|
|
14
|
+
*
|
|
15
|
+
* - A fence opens on ``` or ~~~ (3+ of the same character), indented at most
|
|
16
|
+
* 3 spaces.
|
|
17
|
+
* - A fence closes only on the SAME character, at least as long as the
|
|
18
|
+
* opener, with nothing but whitespace after it. ``` does not close ~~~, and
|
|
19
|
+
* a 3-backtick line does not close a 4-backtick block.
|
|
20
|
+
* - An unclosed fence runs to the end of the text. Callers that only want
|
|
21
|
+
* confirmed blocks can check `closed`.
|
|
22
|
+
*
|
|
23
|
+
* Lines keep their exact original text, carriage returns included, so callers
|
|
24
|
+
* that map offsets back to the source file stay aligned.
|
|
25
|
+
*/
|
|
26
|
+
export type FenceLineKind =
|
|
27
|
+
/** Outside any fenced block. */
|
|
28
|
+
'text'
|
|
29
|
+
/** The opening fence line itself. */
|
|
30
|
+
| 'open'
|
|
31
|
+
/** A line of block content. */
|
|
32
|
+
| 'content'
|
|
33
|
+
/** The closing fence line itself. */
|
|
34
|
+
| 'close';
|
|
35
|
+
export type FenceLine = {
|
|
36
|
+
/** The line's exact original text, without its terminator. */
|
|
37
|
+
text: string;
|
|
38
|
+
/** 1-based physical line number in the source content. */
|
|
39
|
+
lineNumber: number;
|
|
40
|
+
kind: FenceLineKind;
|
|
41
|
+
/** True for every line belonging to a fenced block, fence markers included. */
|
|
42
|
+
inFence: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Lowercased info string of the enclosing block's opening fence — `'bash'`
|
|
45
|
+
* for ```` ```bash ````, `''` for a bare fence or a line outside any block.
|
|
46
|
+
*/
|
|
47
|
+
lang: string;
|
|
48
|
+
/** False for the lines of a trailing block that is never closed. */
|
|
49
|
+
closed: boolean;
|
|
50
|
+
};
|
|
51
|
+
export type FencedBlock = {
|
|
52
|
+
/** Lowercased info string of the opening fence (`''` when bare). */
|
|
53
|
+
lang: string;
|
|
54
|
+
/** False when the block runs to the end of the text with no closing fence. */
|
|
55
|
+
closed: boolean;
|
|
56
|
+
/** 1-based line number of the opening fence. */
|
|
57
|
+
openLine: number;
|
|
58
|
+
/** 1-based line number of the block's first content line. */
|
|
59
|
+
contentStartLine: number;
|
|
60
|
+
/** The block's content lines, fence markers excluded. */
|
|
61
|
+
lines: string[];
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Classify every line of `content` as inside or outside a fenced code block.
|
|
65
|
+
*
|
|
66
|
+
* The primitive the rest of this module — and every caller that needs a
|
|
67
|
+
* per-line decision, like "is this `#` a heading or a bash comment?" — is
|
|
68
|
+
* built on.
|
|
69
|
+
*/
|
|
70
|
+
export declare function scanFencedLines(content: string): FenceLine[];
|
|
71
|
+
/** Group `content` into its fenced code blocks, in document order. */
|
|
72
|
+
export declare function fencedBlocks(content: string): FencedBlock[];
|
|
73
|
+
export type StripOptions = {
|
|
74
|
+
/**
|
|
75
|
+
* Also remove inline `code spans`. Off by default: most callers strip
|
|
76
|
+
* fences to avoid reading a quoted example as a live instruction, and an
|
|
77
|
+
* inline span is usually still part of the sentence around it.
|
|
78
|
+
*/
|
|
79
|
+
stripInlineCode?: boolean;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Remove fenced code blocks — markers and content both — from `content`.
|
|
83
|
+
*
|
|
84
|
+
* Line numbers do NOT survive this; use `blankCodeBlockLines` when the caller
|
|
85
|
+
* maps offsets back to the source file.
|
|
86
|
+
*/
|
|
87
|
+
export declare function stripCodeBlocks(content: string, options?: StripOptions): string;
|
|
88
|
+
/**
|
|
89
|
+
* Blank out fenced code block lines while keeping the line count identical, so
|
|
90
|
+
* offsets computed against the result still map to the original file's lines.
|
|
91
|
+
*/
|
|
92
|
+
export declare function blankCodeBlockLines(content: string): string;
|
|
93
|
+
/**
|
|
94
|
+
* The content of every fenced block, joined with newlines.
|
|
95
|
+
*
|
|
96
|
+
* `closedOnly` (the default) drops a trailing unclosed fence's partial
|
|
97
|
+
* content — a caller asking "does this file document a setup command?" wants
|
|
98
|
+
* confirmed blocks, not the tail of a malformed one.
|
|
99
|
+
*/
|
|
100
|
+
export declare function fencedBlockContents(content: string, options?: {
|
|
101
|
+
closedOnly?: boolean;
|
|
102
|
+
}): string;
|
|
103
|
+
/**
|
|
104
|
+
* Mark every character of `content` that sits inside a fenced block or an
|
|
105
|
+
* inline `code span`.
|
|
106
|
+
*
|
|
107
|
+
* Callers use this to tell a command from a noun phrase: `pnpm 9+` in prose is
|
|
108
|
+
* a version requirement, the same text in backticks is something a reader is
|
|
109
|
+
* meant to run.
|
|
110
|
+
*/
|
|
111
|
+
export declare function buildCodeMask(content: string): boolean[];
|
|
112
|
+
//# sourceMappingURL=markdown-fences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-fences.d.ts","sourceRoot":"","sources":["../src/markdown-fences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAWH,MAAM,MAAM,aAAa;AACvB,gCAAgC;AAC9B,MAAM;AACR,qCAAqC;GACnC,MAAM;AACR,+BAA+B;GAC7B,SAAS;AACX,qCAAqC;GACnC,OAAO,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG;IACtB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,MAAM,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAqD5D;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CA0B3D;AAED,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAOnF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,MAAM,CAMR;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAkBxD"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one CommonMark fenced-code-block scanner.
|
|
3
|
+
*
|
|
4
|
+
* This walk was independently reimplemented in eleven files (scanner.ts,
|
|
5
|
+
* conflicts.ts, vague-guidance.ts, stale-instructions.ts, suppression.ts,
|
|
6
|
+
* agent-practices.ts, missing-context.ts, command-validity.ts,
|
|
7
|
+
* dead-references.ts, manifest-consistency.ts, product-boundary.ts). The
|
|
8
|
+
* copies diverged: each carried its own bug-ID comment for a fix applied to
|
|
9
|
+
* that copy alone, the same `~~~`-fence bug was found and fixed five separate
|
|
10
|
+
* times, and dead-references.ts never got `~~~` support at all. Every future
|
|
11
|
+
* fence bug should be fixable once, here.
|
|
12
|
+
*
|
|
13
|
+
* The rules all the copies were converging on, kept in one place:
|
|
14
|
+
*
|
|
15
|
+
* - A fence opens on ``` or ~~~ (3+ of the same character), indented at most
|
|
16
|
+
* 3 spaces.
|
|
17
|
+
* - A fence closes only on the SAME character, at least as long as the
|
|
18
|
+
* opener, with nothing but whitespace after it. ``` does not close ~~~, and
|
|
19
|
+
* a 3-backtick line does not close a 4-backtick block.
|
|
20
|
+
* - An unclosed fence runs to the end of the text. Callers that only want
|
|
21
|
+
* confirmed blocks can check `closed`.
|
|
22
|
+
*
|
|
23
|
+
* Lines keep their exact original text, carriage returns included, so callers
|
|
24
|
+
* that map offsets back to the source file stay aligned.
|
|
25
|
+
*/
|
|
26
|
+
/** Opening fence: up to 3 spaces of indent, then 3+ backticks or tildes. */
|
|
27
|
+
const OPEN_FENCE_RE = /^ {0,3}([`~]{3,})\s*([^\s`]*)/;
|
|
28
|
+
/** Closing fence: same shape, but nothing except whitespace may follow. */
|
|
29
|
+
const CLOSE_FENCE_RE = /^ {0,3}([`~]{3,})\s*$/;
|
|
30
|
+
/** Inline code span: a backtick run, content, then a matching run. */
|
|
31
|
+
const INLINE_CODE_RE = /(`+)([^`]+)\1/g;
|
|
32
|
+
/**
|
|
33
|
+
* Classify every line of `content` as inside or outside a fenced code block.
|
|
34
|
+
*
|
|
35
|
+
* The primitive the rest of this module — and every caller that needs a
|
|
36
|
+
* per-line decision, like "is this `#` a heading or a bash comment?" — is
|
|
37
|
+
* built on.
|
|
38
|
+
*/
|
|
39
|
+
export function scanFencedLines(content) {
|
|
40
|
+
const rawLines = content.split('\n');
|
|
41
|
+
const result = [];
|
|
42
|
+
let inBlock = false;
|
|
43
|
+
let fenceChar = null;
|
|
44
|
+
let fenceLen = 0;
|
|
45
|
+
let lang = '';
|
|
46
|
+
/** Index in `result` where the open block started, for the unclosed fixup. */
|
|
47
|
+
let blockStart = -1;
|
|
48
|
+
for (let i = 0; i < rawLines.length; i++) {
|
|
49
|
+
const text = rawLines[i] ?? '';
|
|
50
|
+
const lineNumber = i + 1;
|
|
51
|
+
if (!inBlock) {
|
|
52
|
+
const openMatch = OPEN_FENCE_RE.exec(text);
|
|
53
|
+
if (openMatch) {
|
|
54
|
+
inBlock = true;
|
|
55
|
+
fenceChar = openMatch[1][0] ?? null;
|
|
56
|
+
fenceLen = openMatch[1].length;
|
|
57
|
+
lang = (openMatch[2] ?? '').toLowerCase();
|
|
58
|
+
blockStart = result.length;
|
|
59
|
+
result.push({ text, lineNumber, kind: 'open', inFence: true, lang, closed: true });
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
result.push({ text, lineNumber, kind: 'text', inFence: false, lang: '', closed: true });
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
const closeMatch = CLOSE_FENCE_RE.exec(text);
|
|
66
|
+
if (closeMatch && closeMatch[1][0] === fenceChar && closeMatch[1].length >= fenceLen) {
|
|
67
|
+
result.push({ text, lineNumber, kind: 'close', inFence: true, lang, closed: true });
|
|
68
|
+
inBlock = false;
|
|
69
|
+
fenceChar = null;
|
|
70
|
+
fenceLen = 0;
|
|
71
|
+
lang = '';
|
|
72
|
+
blockStart = -1;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
result.push({ text, lineNumber, kind: 'content', inFence: true, lang, closed: true });
|
|
76
|
+
}
|
|
77
|
+
// A fence that never closes still swallows the rest of the text — but its
|
|
78
|
+
// lines are marked unclosed so callers counting confirmed blocks can skip it.
|
|
79
|
+
if (inBlock && blockStart >= 0) {
|
|
80
|
+
for (let i = blockStart; i < result.length; i++) {
|
|
81
|
+
result[i].closed = false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
/** Group `content` into its fenced code blocks, in document order. */
|
|
87
|
+
export function fencedBlocks(content) {
|
|
88
|
+
const blocks = [];
|
|
89
|
+
let current = null;
|
|
90
|
+
for (const line of scanFencedLines(content)) {
|
|
91
|
+
if (line.kind === 'open') {
|
|
92
|
+
current = {
|
|
93
|
+
lang: line.lang,
|
|
94
|
+
closed: line.closed,
|
|
95
|
+
openLine: line.lineNumber,
|
|
96
|
+
contentStartLine: line.lineNumber + 1,
|
|
97
|
+
lines: [],
|
|
98
|
+
};
|
|
99
|
+
blocks.push(current);
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (line.kind === 'content' && current) {
|
|
103
|
+
current.lines.push(line.text);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
if (line.kind === 'close') {
|
|
107
|
+
current = null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return blocks;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Remove fenced code blocks — markers and content both — from `content`.
|
|
114
|
+
*
|
|
115
|
+
* Line numbers do NOT survive this; use `blankCodeBlockLines` when the caller
|
|
116
|
+
* maps offsets back to the source file.
|
|
117
|
+
*/
|
|
118
|
+
export function stripCodeBlocks(content, options = {}) {
|
|
119
|
+
const kept = scanFencedLines(content)
|
|
120
|
+
.filter((line) => !line.inFence)
|
|
121
|
+
.map((line) => line.text)
|
|
122
|
+
.join('\n');
|
|
123
|
+
return options.stripInlineCode ? kept.replace(/`[^`\n]+`/g, '') : kept;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Blank out fenced code block lines while keeping the line count identical, so
|
|
127
|
+
* offsets computed against the result still map to the original file's lines.
|
|
128
|
+
*/
|
|
129
|
+
export function blankCodeBlockLines(content) {
|
|
130
|
+
return scanFencedLines(content)
|
|
131
|
+
.map((line) => (line.inFence ? '' : line.text))
|
|
132
|
+
.join('\n');
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* The content of every fenced block, joined with newlines.
|
|
136
|
+
*
|
|
137
|
+
* `closedOnly` (the default) drops a trailing unclosed fence's partial
|
|
138
|
+
* content — a caller asking "does this file document a setup command?" wants
|
|
139
|
+
* confirmed blocks, not the tail of a malformed one.
|
|
140
|
+
*/
|
|
141
|
+
export function fencedBlockContents(content, options = {}) {
|
|
142
|
+
const closedOnly = options.closedOnly ?? true;
|
|
143
|
+
return fencedBlocks(content)
|
|
144
|
+
.filter((block) => (closedOnly ? block.closed : true))
|
|
145
|
+
.map((block) => block.lines.join('\n'))
|
|
146
|
+
.join('\n');
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Mark every character of `content` that sits inside a fenced block or an
|
|
150
|
+
* inline `code span`.
|
|
151
|
+
*
|
|
152
|
+
* Callers use this to tell a command from a noun phrase: `pnpm 9+` in prose is
|
|
153
|
+
* a version requirement, the same text in backticks is something a reader is
|
|
154
|
+
* meant to run.
|
|
155
|
+
*/
|
|
156
|
+
export function buildCodeMask(content) {
|
|
157
|
+
const mask = new Array(content.length).fill(false);
|
|
158
|
+
let offset = 0;
|
|
159
|
+
for (const line of scanFencedLines(content)) {
|
|
160
|
+
if (line.inFence) {
|
|
161
|
+
mask.fill(true, offset, offset + line.text.length);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
let span;
|
|
165
|
+
const spanRe = new RegExp(INLINE_CODE_RE.source, INLINE_CODE_RE.flags);
|
|
166
|
+
while ((span = spanRe.exec(line.text)) !== null) {
|
|
167
|
+
mask.fill(true, offset + span.index, offset + span.index + span[0].length);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
offset += line.text.length + 1;
|
|
171
|
+
}
|
|
172
|
+
return mask;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=markdown-fences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-fences.js","sourceRoot":"","sources":["../src/markdown-fences.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Config Detector (issue #23)
|
|
3
|
+
*
|
|
4
|
+
* Audits `.mcp.json` (project-scoped MCP server definitions):
|
|
5
|
+
*
|
|
6
|
+
* - Invalid JSON: the file will not load.
|
|
7
|
+
* - Duplicate server names: JSON keeps only the last, silently dropping a
|
|
8
|
+
* server the author thinks is configured.
|
|
9
|
+
* - Placeholder env values never filled in (`"<your-key>"`, `"changeme"`, …).
|
|
10
|
+
* - stdio servers whose local `command`/script path does not exist, and
|
|
11
|
+
* servers declaring neither a `command` nor a `url`.
|
|
12
|
+
*
|
|
13
|
+
* PATH lookups for bare binaries (`npx`, `node`, `docker`) are intentionally out
|
|
14
|
+
* of scope — they are not verifiable deterministically or offline. Only
|
|
15
|
+
* repo-local paths are checked. Deterministic and offline.
|
|
16
|
+
*/
|
|
17
|
+
import type { RepoContext } from './repo-context.js';
|
|
18
|
+
import type { PromptCiIssue } from './types.js';
|
|
19
|
+
export declare function detectMcpConfig(context: RepoContext): PromptCiIssue[];
|
|
20
|
+
//# sourceMappingURL=mcp-config-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-config-detector.d.ts","sourceRoot":"","sources":["../src/mcp-config-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2FhD,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,EAAE,CAqGrE"}
|