@promptci/core 0.1.0 → 0.2.1
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/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 +1 -1
- package/dist/agent-practices.d.ts.map +1 -1
- package/dist/agent-practices.js +107 -43
- package/dist/agent-practices.js.map +1 -1
- package/dist/ai-config.d.ts +42 -3
- package/dist/ai-config.d.ts.map +1 -1
- package/dist/ai-config.js +210 -12
- package/dist/ai-config.js.map +1 -1
- 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/buried-critical.d.ts.map +1 -1
- package/dist/buried-critical.js +4 -9
- package/dist/buried-critical.js.map +1 -1
- package/dist/canonical-owner.d.ts.map +1 -1
- package/dist/canonical-owner.js +45 -25
- 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 +337 -63
- package/dist/command-validity.js.map +1 -1
- package/dist/conflicts.d.ts.map +1 -1
- package/dist/conflicts.js +3 -2
- package/dist/conflicts.js.map +1 -1
- package/dist/context-bloat.d.ts +1 -1
- package/dist/context-bloat.d.ts.map +1 -1
- package/dist/context-bloat.js +18 -7
- package/dist/context-bloat.js.map +1 -1
- package/dist/context-optimizer.d.ts.map +1 -1
- package/dist/context-optimizer.js +5 -2
- package/dist/context-optimizer.js.map +1 -1
- package/dist/custom-rules.d.ts.map +1 -1
- package/dist/custom-rules.js +6 -1
- package/dist/custom-rules.js.map +1 -1
- package/dist/dead-references.d.ts +16 -2
- package/dist/dead-references.d.ts.map +1 -1
- package/dist/dead-references.js +635 -77
- 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.map +1 -1
- package/dist/detectors.js +31 -6
- package/dist/detectors.js.map +1 -1
- package/dist/duplicates.d.ts.map +1 -1
- package/dist/duplicates.js +5 -4
- package/dist/duplicates.js.map +1 -1
- package/dist/evidence.d.ts +11 -0
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js +40 -0
- package/dist/evidence.js.map +1 -1
- 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/frameworks/dotnet.js +2 -2
- package/dist/frameworks/dotnet.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 +34 -5
- package/dist/health-score.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- 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.map +1 -1
- package/dist/manifest-consistency.js +52 -8
- package/dist/manifest-consistency.js.map +1 -1
- package/dist/negative-instructions.d.ts.map +1 -1
- package/dist/negative-instructions.js +4 -9
- package/dist/negative-instructions.js.map +1 -1
- package/dist/path-containment.d.ts +29 -0
- package/dist/path-containment.d.ts.map +1 -1
- package/dist/path-containment.js +70 -0
- package/dist/path-containment.js.map +1 -1
- package/dist/prompt-cache.d.ts.map +1 -1
- package/dist/prompt-cache.js +8 -6
- package/dist/prompt-cache.js.map +1 -1
- package/dist/repo-context.d.ts +53 -0
- package/dist/repo-context.d.ts.map +1 -1
- package/dist/repo-context.js +134 -11
- package/dist/repo-context.js.map +1 -1
- package/dist/report.d.ts +7 -0
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +36 -7
- package/dist/report.js.map +1 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +41 -2
- package/dist/scan.js.map +1 -1
- package/dist/scanner.d.ts +49 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +323 -38
- package/dist/scanner.js.map +1 -1
- package/dist/security-pack.d.ts.map +1 -1
- package/dist/security-pack.js +6 -4
- 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 +7 -3
- package/dist/skills-detector.d.ts.map +1 -1
- package/dist/skills-detector.js +98 -22
- package/dist/skills-detector.js.map +1 -1
- package/dist/stale-instructions.d.ts.map +1 -1
- package/dist/stale-instructions.js +2 -1
- package/dist/stale-instructions.js.map +1 -1
- package/dist/suppression.d.ts +2 -0
- package/dist/suppression.d.ts.map +1 -1
- package/dist/suppression.js +5 -2
- package/dist/suppression.js.map +1 -1
- package/dist/types.d.ts +35 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +22 -0
- package/dist/types.js.map +1 -1
- package/dist/vague-guidance.d.ts.map +1 -1
- package/dist/vague-guidance.js +2 -1
- package/dist/vague-guidance.js.map +1 -1
- package/dist/windsurf-detector.d.ts.map +1 -1
- package/dist/windsurf-detector.js +15 -6
- package/dist/windsurf-detector.js.map +1 -1
- package/dist/within-section-dedup.d.ts.map +1 -1
- package/dist/within-section-dedup.js +4 -9
- package/dist/within-section-dedup.js.map +1 -1
- 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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppression.d.ts","sourceRoot":"","sources":["../src/suppression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAsB,aAAa,EAAE,MAAM,YAAY,CAAC;AA6BpG,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"suppression.d.ts","sourceRoot":"","sources":["../src/suppression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAsB,aAAa,EAAE,MAAM,YAAY,CAAC;AA6BpG,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAoOF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,qBAAqB,EAAE,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,qBAAqB,EAAE,GACnC,aAAa,EAAE,CAiBjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EAAE,EACvB,WAAW,EAAE,qBAAqB,EAAE,GACnC;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,UAAU,EAAE,aAAa,EAAE,CAAA;CAAE,CA4C1D"}
|
package/dist/suppression.js
CHANGED
|
@@ -209,7 +209,10 @@ function parseFileSuppressions(file) {
|
|
|
209
209
|
}
|
|
210
210
|
if (openStart)
|
|
211
211
|
pushUnpairedStart(openStart);
|
|
212
|
-
|
|
212
|
+
// Carried only for the invalid-annotation finding id (pcic-whm): matching
|
|
213
|
+
// against issues still uses the absolute `filePath`.
|
|
214
|
+
const { relativePath } = file;
|
|
215
|
+
return relativePath === undefined ? annotations : annotations.map((a) => ({ ...a, relativePath }));
|
|
213
216
|
}
|
|
214
217
|
// ── Public API ────────────────────────────────────────────────────────────────
|
|
215
218
|
/**
|
|
@@ -229,7 +232,7 @@ export function buildValidationIssues(annotations) {
|
|
|
229
232
|
return annotations
|
|
230
233
|
.filter((ann) => !ann.valid)
|
|
231
234
|
.map((ann) => ({
|
|
232
|
-
id: annotationIssueId(ann.filePath, ann.startLine, ann.validationMessage ?? ''),
|
|
235
|
+
id: annotationIssueId(ann.relativePath ?? ann.filePath, ann.startLine, ann.validationMessage ?? ''),
|
|
233
236
|
severity: 'warning',
|
|
234
237
|
category: 'structure',
|
|
235
238
|
title: 'Invalid promptci-ignore annotation',
|
package/dist/suppression.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppression.js","sourceRoot":"","sources":["../src/suppression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,iFAAiF;AAEjF,qEAAqE;AACrE,MAAM,sBAAsB,GAAG;IAC7B,WAAW;IACX,UAAU;IACV,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,WAAW;IACX,UAAU;IACV,QAAQ;CACA,CAAC;AAGX,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAS;IACnD,GAAG,sBAAsB;IACzB,KAAK;CACN,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"suppression.js","sourceRoot":"","sources":["../src/suppression.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
/** Core data types for PromptCI */
|
|
2
|
-
export type FileType = 'claude' | 'agents' | 'cursor' | 'windsurf' | 'copilot' | 'readme' | 'docs' | 'prompt' | 'skill' | 'agent' | 'unknown';
|
|
2
|
+
export type FileType = 'claude' | 'agents' | 'cursor' | 'windsurf' | 'copilot' | 'gemini' | 'cline' | 'persona' | 'readme' | 'docs' | 'prompt' | 'skill' | 'agent' | 'unknown';
|
|
3
|
+
/**
|
|
4
|
+
* Persistent, always-loaded agent instruction file types: the allowlist the
|
|
5
|
+
* prose detectors (negative-instruction overload, buried-critical, within-
|
|
6
|
+
* section dedup, prompt-cache friendliness) target. `context optimize` uses it
|
|
7
|
+
* minus 'persona', which it never rewrites.
|
|
8
|
+
*
|
|
9
|
+
* One shared definition on purpose (BUG-19): each detector used to carry its
|
|
10
|
+
* own copy, so a newly discovered file type was scanned and counted toward
|
|
11
|
+
* context cost but silently skipped by every copy nobody remembered to update.
|
|
12
|
+
* README/docs are human-facing and deliberately excluded.
|
|
13
|
+
*/
|
|
14
|
+
export declare const INSTRUCTION_FILE_TYPES: ReadonlySet<FileType>;
|
|
3
15
|
export declare function isOnDemandFileType(fileType: FileType): boolean;
|
|
4
16
|
export type IssueSeverity = 'info' | 'warning' | 'high' | 'critical';
|
|
5
17
|
export type IssueCategory = 'duplicate' | 'conflict' | 'context_bloat' | 'missing_context' | 'stale_instruction' | 'vague_guidance' | 'structure' | 'command_validity' | 'agent_practices' | 'ai_config' | 'security' | 'custom';
|
|
6
18
|
export type InstructionSection = {
|
|
7
19
|
id: string;
|
|
8
20
|
filePath: string;
|
|
21
|
+
/**
|
|
22
|
+
* `filePath` relative to the scan root, forward slashes. Set by the scanner;
|
|
23
|
+
* finding ids hash this instead of the absolute path so one repo scanned from
|
|
24
|
+
* two checkout locations yields identical ids (see finding-id.ts).
|
|
25
|
+
*/
|
|
26
|
+
relativePath?: string;
|
|
9
27
|
heading?: string;
|
|
10
28
|
startLine: number;
|
|
11
29
|
endLine: number;
|
|
@@ -14,6 +32,18 @@ export type InstructionSection = {
|
|
|
14
32
|
};
|
|
15
33
|
export type InstructionFile = {
|
|
16
34
|
path: string;
|
|
35
|
+
/**
|
|
36
|
+
* `path` relative to the scan root, forward slashes. Set by the scanner;
|
|
37
|
+
* finding ids hash this instead of the absolute path (see finding-id.ts).
|
|
38
|
+
* Optional so hand-built test fixtures keep type-checking.
|
|
39
|
+
*/
|
|
40
|
+
relativePath?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Set only on a symlink ALIAS: the `relativePath` of the file this name is a
|
|
43
|
+
* symlink to, which is the copy detectors scan (the alias is listed in the
|
|
44
|
+
* report inventory but never scanned, so its content is not double-counted).
|
|
45
|
+
*/
|
|
46
|
+
aliasOf?: string;
|
|
17
47
|
fileType: FileType;
|
|
18
48
|
content: string;
|
|
19
49
|
sections: InstructionSection[];
|
|
@@ -110,7 +140,10 @@ export type ScanMetrics = {
|
|
|
110
140
|
* that matches what's really on disk, instead of the full in-memory
|
|
111
141
|
* `ScanReport`/`InstructionFile` types.
|
|
112
142
|
*/
|
|
113
|
-
export type CompactFileSummary = Pick<InstructionFile, 'path' | 'fileType' | 'lineCount' | 'charCount' | 'estimatedTokens'
|
|
143
|
+
export type CompactFileSummary = Pick<InstructionFile, 'path' | 'fileType' | 'lineCount' | 'charCount' | 'estimatedTokens'> & {
|
|
144
|
+
/** Repo-relative path of the file this entry is a symlink to (aliases only). */
|
|
145
|
+
aliasOf?: string;
|
|
146
|
+
};
|
|
114
147
|
export type ScanReportJson = Omit<ScanReport, 'filesScanned'> & {
|
|
115
148
|
filesScanned: CompactFileSummary[];
|
|
116
149
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,mCAAmC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
/** Core data types for PromptCI */
|
|
2
|
+
/**
|
|
3
|
+
* Persistent, always-loaded agent instruction file types: the allowlist the
|
|
4
|
+
* prose detectors (negative-instruction overload, buried-critical, within-
|
|
5
|
+
* section dedup, prompt-cache friendliness) target. `context optimize` uses it
|
|
6
|
+
* minus 'persona', which it never rewrites.
|
|
7
|
+
*
|
|
8
|
+
* One shared definition on purpose (BUG-19): each detector used to carry its
|
|
9
|
+
* own copy, so a newly discovered file type was scanned and counted toward
|
|
10
|
+
* context cost but silently skipped by every copy nobody remembered to update.
|
|
11
|
+
* README/docs are human-facing and deliberately excluded.
|
|
12
|
+
*/
|
|
13
|
+
export const INSTRUCTION_FILE_TYPES = new Set([
|
|
14
|
+
'claude',
|
|
15
|
+
'agents',
|
|
16
|
+
'cursor',
|
|
17
|
+
'windsurf',
|
|
18
|
+
'copilot',
|
|
19
|
+
'gemini',
|
|
20
|
+
'cline',
|
|
21
|
+
'persona',
|
|
22
|
+
'prompt',
|
|
23
|
+
]);
|
|
2
24
|
/**
|
|
3
25
|
* On-demand file types are loaded by an agent only when a skill/subagent is
|
|
4
26
|
* invoked, not on every turn. They do not count toward always-loaded context
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,mCAAmC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,mCAAmC;AA0BnC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA0B,IAAI,GAAG,CAAW;IAC7E,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,oBAAoB,GAA0B,IAAI,GAAG,CAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,MAAM,UAAU,kBAAkB,CAAC,QAAkB;IACnD,OAAO,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAuFD,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,SAAS;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vague-guidance.d.ts","sourceRoot":"","sources":["../src/vague-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAqC,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"vague-guidance.d.ts","sourceRoot":"","sources":["../src/vague-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAqC,aAAa,EAAE,MAAM,YAAY,CAAC;AAsLpG,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,GAAE,oBAAyB,GACjC,aAAa,EAAE,CA8DjB"}
|
package/dist/vague-guidance.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import * as crypto from 'node:crypto';
|
|
15
15
|
import { stripCodeBlocks } from './markdown-fences.js';
|
|
16
|
+
import { sectionIdPath } from './finding-id.js';
|
|
16
17
|
const VAGUE_PHRASES = [
|
|
17
18
|
'write clean code',
|
|
18
19
|
'write clean', // catches "write clean Go code", "write clean Python code", etc.
|
|
@@ -172,7 +173,7 @@ function findPhraseMatches(scanText, phraseRe) {
|
|
|
172
173
|
return matches;
|
|
173
174
|
}
|
|
174
175
|
function issueId(section) {
|
|
175
|
-
const key = `${section
|
|
176
|
+
const key = `${sectionIdPath(section)}:${section.startLine}:vague`;
|
|
176
177
|
const hash = crypto.createHash('sha1').update(key).digest('hex').slice(0, 12);
|
|
177
178
|
return `vague-${hash}`;
|
|
178
179
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vague-guidance.js","sourceRoot":"","sources":["../src/vague-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"vague-guidance.js","sourceRoot":"","sources":["../src/vague-guidance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windsurf-detector.d.ts","sourceRoot":"","sources":["../src/windsurf-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"windsurf-detector.d.ts","sourceRoot":"","sources":["../src/windsurf-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAA6B,aAAa,EAAE,MAAM,YAAY,CAAC;AAoC3E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,EAAE,CAiDzE"}
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* Deterministic and offline.
|
|
18
18
|
*/
|
|
19
19
|
import { shortHash } from './ai-config.js';
|
|
20
|
+
import { fileIdPath } from './finding-id.js';
|
|
21
|
+
import { aliasesWithNewType, groupAliasesByTarget } from './alias-files.js';
|
|
20
22
|
/**
|
|
21
23
|
* Language / framework signals that, when they appear as SECTION HEADINGS in an
|
|
22
24
|
* always-on workspace file, indicate rules scoped to only part of the codebase.
|
|
@@ -48,9 +50,16 @@ const SCOPED_TOPICS = [
|
|
|
48
50
|
const MIN_DISTINCT_TOPICS = 2;
|
|
49
51
|
export function detectWindsurfRules(context) {
|
|
50
52
|
const issues = [];
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
// `.windsurfrules -> AGENTS.md`: Windsurf loads that content always-on under the alias's name, so the
|
|
54
|
+
// check runs for the alias (against the real content) unless the real file is already a Windsurf file.
|
|
55
|
+
// Several links to one file are one finding listing every link, not one per link.
|
|
56
|
+
const isWindsurf = (type) => type === 'windsurf';
|
|
57
|
+
const groups = [
|
|
58
|
+
...context.files.filter((file) => file.fileType === 'windsurf').map((file) => [file]),
|
|
59
|
+
...groupAliasesByTarget(aliasesWithNewType(context.files, context.aliasFiles ?? [], isWindsurf)),
|
|
60
|
+
];
|
|
61
|
+
for (const group of groups) {
|
|
62
|
+
const file = group[0];
|
|
54
63
|
const topics = new Set();
|
|
55
64
|
for (const section of file.sections) {
|
|
56
65
|
const heading = section.heading;
|
|
@@ -64,7 +73,7 @@ export function detectWindsurfRules(context) {
|
|
|
64
73
|
if (topics.size >= MIN_DISTINCT_TOPICS) {
|
|
65
74
|
const found = [...topics].sort();
|
|
66
75
|
issues.push({
|
|
67
|
-
id: `ai-config-windsurf-scope-${shortHash(file
|
|
76
|
+
id: `ai-config-windsurf-scope-${shortHash(fileIdPath(file))}`,
|
|
68
77
|
severity: 'info',
|
|
69
78
|
category: 'ai_config',
|
|
70
79
|
title: '.windsurfrules mixes language-specific rules in a workspace-wide file',
|
|
@@ -72,8 +81,8 @@ export function detectWindsurfRules(context) {
|
|
|
72
81
|
`(${found.join(', ')}), but it applies to the whole workspace on every ` +
|
|
73
82
|
`request. Language- or framework-specific rules are cheaper as glob-scoped ` +
|
|
74
83
|
`rules that load only for matching files.`,
|
|
75
|
-
filePaths:
|
|
76
|
-
locations:
|
|
84
|
+
filePaths: group.map((f) => f.path),
|
|
85
|
+
locations: group.map((f) => ({ filePath: f.path, startLine: 1 })),
|
|
77
86
|
evidence: [`Scoped topics found in headings: ${found.join(', ')}`],
|
|
78
87
|
recommendation: 'Clarify the intended scope: keep genuinely workspace-wide conventions in ' +
|
|
79
88
|
'`.windsurfrules`, and move language- or framework-specific rules into ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windsurf-detector.js","sourceRoot":"","sources":["../src/windsurf-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"windsurf-detector.js","sourceRoot":"","sources":["../src/windsurf-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"within-section-dedup.d.ts","sourceRoot":"","sources":["../src/within-section-dedup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAsB,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"within-section-dedup.d.ts","sourceRoot":"","sources":["../src/within-section-dedup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAsB,aAAa,EAAE,MAAM,YAAY,CAAC;AA6FrF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE,CA2DlF"}
|
|
@@ -12,16 +12,11 @@
|
|
|
12
12
|
* randomness.
|
|
13
13
|
*/
|
|
14
14
|
import * as crypto from 'node:crypto';
|
|
15
|
+
import { INSTRUCTION_FILE_TYPES } from './types.js';
|
|
15
16
|
import { snippet } from './evidence.js';
|
|
17
|
+
import { fileIdPath } from './finding-id.js';
|
|
16
18
|
/** Persistent, always-loaded instruction files this detector applies to. */
|
|
17
|
-
const TARGET_FILE_TYPES =
|
|
18
|
-
'claude',
|
|
19
|
-
'agents',
|
|
20
|
-
'cursor',
|
|
21
|
-
'windsurf',
|
|
22
|
-
'copilot',
|
|
23
|
-
'prompt',
|
|
24
|
-
]);
|
|
19
|
+
const TARGET_FILE_TYPES = INSTRUCTION_FILE_TYPES;
|
|
25
20
|
const MIN_PARAGRAPHS = 6; // "> 5 paragraphs"
|
|
26
21
|
const PARAGRAPH_JACCARD_THRESHOLD = 0.65;
|
|
27
22
|
const MIN_PARAGRAPH_CHARS = 40; // normalised; shorter paragraphs are too noisy
|
|
@@ -126,7 +121,7 @@ export function detectWithinSectionDedup(files) {
|
|
|
126
121
|
const pct = Math.round(best.sim * 100);
|
|
127
122
|
const morePairs = pairCount > 1 ? ` (${pairCount} similar pairs in total)` : '';
|
|
128
123
|
issues.push({
|
|
129
|
-
id: issueId(file
|
|
124
|
+
id: issueId(fileIdPath(file), section.startLine),
|
|
130
125
|
severity: 'info',
|
|
131
126
|
category: 'duplicate',
|
|
132
127
|
title: `Possible repetition within section: ${heading}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"within-section-dedup.js","sourceRoot":"","sources":["../src/within-section-dedup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"within-section-dedup.js","sourceRoot":"","sources":["../src/within-section-dedup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace package.json facts shared by the script-validity checks
|
|
3
|
+
* (command-validity and manifest-consistency).
|
|
4
|
+
*
|
|
5
|
+
* A package-manager command is only a "missing script" when nothing the repo
|
|
6
|
+
* can run under that name exists. Two kinds of names are never scripts and must
|
|
7
|
+
* not be reported as missing:
|
|
8
|
+
*
|
|
9
|
+
* - Dependencies and their binaries: `pnpm vitest run` and `yarn tsc --noEmit`
|
|
10
|
+
* fall through to the installed binary when no script of that name exists.
|
|
11
|
+
* - Scripts defined by a workspace package rather than the root manifest:
|
|
12
|
+
* `pnpm --filter web dev` or `pnpm -r build` in a monorepo.
|
|
13
|
+
*
|
|
14
|
+
* `node_modules/.bin` is not available when scanning a checkout, so a binary is
|
|
15
|
+
* accepted only when a package that provides it is declared in some workspace
|
|
16
|
+
* manifest (or, for a dependency whose name IS the command, the dependency
|
|
17
|
+
* itself). Everything here is deterministic and offline.
|
|
18
|
+
*/
|
|
19
|
+
import type { RepoContext } from './repo-context.js';
|
|
20
|
+
export type WorkspaceManifest = {
|
|
21
|
+
/** Repo-relative POSIX directory of the package ('.' = repo root). */
|
|
22
|
+
dir: string;
|
|
23
|
+
name?: string;
|
|
24
|
+
scripts: Record<string, string>;
|
|
25
|
+
/**
|
|
26
|
+
* Names from dependencies, devDependencies, peerDependencies and
|
|
27
|
+
* optionalDependencies, minus `workspace:` links to sibling packages (those
|
|
28
|
+
* are packages of this repo, not installed tools).
|
|
29
|
+
*/
|
|
30
|
+
dependencies: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Version spec per dependency named in `dependencies` (first block wins:
|
|
33
|
+
* dependencies, devDependencies, peerDependencies, optionalDependencies).
|
|
34
|
+
* Optional so hand-built manifests keep type-checking.
|
|
35
|
+
*/
|
|
36
|
+
versions?: Record<string, string>;
|
|
37
|
+
/** Binary names the package itself exposes (`bin`). */
|
|
38
|
+
bins: string[];
|
|
39
|
+
};
|
|
40
|
+
export type WorkspaceDiscovery = {
|
|
41
|
+
manifests: WorkspaceManifest[];
|
|
42
|
+
/** More manifests matched than were read: the list is a sample, not the whole workspace. */
|
|
43
|
+
truncated: boolean;
|
|
44
|
+
};
|
|
45
|
+
export declare function parseWorkspaceManifest(dir: string, raw: string): WorkspaceManifest | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* `packages:` entries of pnpm-workspace.yaml — the small subset of YAML it
|
|
48
|
+
* uses: a block list (indented or not) or a flow list (`['a/*', "b/*"]`,
|
|
49
|
+
* possibly across lines).
|
|
50
|
+
*/
|
|
51
|
+
export declare function pnpmWorkspaceGlobs(rawYaml: string | undefined): string[];
|
|
52
|
+
/**
|
|
53
|
+
* Read the root manifest and every workspace package manifest. Workspace
|
|
54
|
+
* directories come from the declared `workspaces` globs (package.json or
|
|
55
|
+
* pnpm-workspace.yaml) or, when none are declared, the conventional
|
|
56
|
+
* `apps/`, `packages/` and `libs/` roots. Only dependency trees and VCS
|
|
57
|
+
* directories are ignored — a declared glob may legitimately reach
|
|
58
|
+
* `tools/build/`. Paths the scan's `exclude` patterns cover (`isExcluded`) are
|
|
59
|
+
* never read.
|
|
60
|
+
*/
|
|
61
|
+
export declare function discoverWorkspaceManifests(repoRoot: string, rawRootPackageJson: string | undefined, isExcluded?: (posixPath: string) => boolean): Promise<WorkspaceDiscovery>;
|
|
62
|
+
/**
|
|
63
|
+
* True when `pnpm|yarn|bun <name>` would run an installed binary:
|
|
64
|
+
* - a workspace package exposes it (`bin`);
|
|
65
|
+
* - a dependency is literally named `<name>`; or
|
|
66
|
+
* - `<name>` is a well-known tool binary AND a package providing it is declared.
|
|
67
|
+
*
|
|
68
|
+
* When workspace discovery is absent or was truncated the declared packages are
|
|
69
|
+
* not the whole picture, so a well-known tool binary is accepted unconditionally.
|
|
70
|
+
*/
|
|
71
|
+
export declare function isKnownBinary(context: RepoContext, name: string): boolean;
|
|
72
|
+
/** True when the root manifest or any workspace package defines the script. */
|
|
73
|
+
export declare function anyWorkspaceHasScript(context: RepoContext, name: string): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Workspaces a pnpm/npm/yarn selector (package name, path, or glob) refers to.
|
|
76
|
+
* `*`, `**` and exclusion/dependents selectors (`!web`, `[origin/main]`) select
|
|
77
|
+
* every workspace — they cannot be evaluated statically, so stay permissive.
|
|
78
|
+
*/
|
|
79
|
+
export declare function selectWorkspaces(context: RepoContext, selector: string): WorkspaceManifest[];
|
|
80
|
+
//# sourceMappingURL=workspace-manifests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-manifests.d.ts","sourceRoot":"","sources":["../src/workspace-manifests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;OAIG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,uDAAuD;IACvD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,4FAA4F;IAC5F,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAgFF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CA2B9F;AA0BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAiCxE;AAkBD;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,UAAU,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAqB,GACvD,OAAO,CAAC,kBAAkB,CAAC,CAuC7B;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQzE;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAgB5F"}
|