taste-lint 0.1.0 → 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/dist/index.d.ts CHANGED
@@ -1,12 +1,3 @@
1
- //#region src/analysis/html.d.ts
2
- interface HtmlElement {
3
- tag: string;
4
- attrs: Record<string, string>;
5
- text: string;
6
- offset: number;
7
- inHead: boolean;
8
- }
9
- //#endregion
10
1
  //#region src/analysis/repository.d.ts
11
2
  interface DocumentNode {
12
3
  type: string;
@@ -31,7 +22,6 @@ interface ImportFact {
31
22
  typeOnly: boolean;
32
23
  }
33
24
  interface SourceFacts {
34
- html?: HtmlElement[];
35
25
  images?: {
36
26
  offset: number;
37
27
  attributes: string[];
@@ -40,13 +30,12 @@ interface SourceFacts {
40
30
  document?: DocumentNode;
41
31
  imports?: ImportFact[];
42
32
  parseError?: string;
43
- repository: Pick<Repository, "root" | "read" | "resolve" | "exists" | "manifest" | "policy">;
33
+ repository: Pick<Repository, "root" | "read" | "resolve" | "exists" | "manifest">;
44
34
  }
45
35
  declare class Repository {
46
36
  readonly root: string;
47
37
  private readonly contents;
48
- readonly policy?: ArchitecturePolicy;
49
- constructor(root: string, policy?: ArchitecturePolicy);
38
+ constructor(root: string);
50
39
  resolve(file: string, target: string): string | undefined;
51
40
  read(file: string): string | undefined;
52
41
  exists(file: string): boolean;
@@ -56,25 +45,10 @@ declare class Repository {
56
45
  } | undefined;
57
46
  }
58
47
  //#endregion
59
- //#region src/audit/types.d.ts
60
- interface AuditUnitContext {
61
- lens: string;
62
- proposalId?: string;
63
- region: string;
64
- missing?: string;
65
- }
66
- //#endregion
67
- //#region src/lib/writing-context.d.ts
68
- interface WritingContext {
69
- facts?: string;
70
- profile?: string;
71
- instructions?: string;
72
- }
73
- //#endregion
74
48
  //#region src/types.d.ts
75
- declare const DOMAINS: readonly ["typography", "craft", "copywriting", "interaction", "motion", "product", "architecture", "dx", "authoring", "seo"];
49
+ declare const DOMAINS: readonly ["typography", "craft", "copywriting", "interaction", "motion", "product", "authoring"];
76
50
  type Domain = (typeof DOMAINS)[number];
77
- declare const UNIT_KINDS: readonly ["paragraph", "heading", "jsx-text", "attr-string", "class-list", "element", "audit",
51
+ declare const UNIT_KINDS: readonly ["paragraph", "heading", "jsx-text", "attr-string", "class-list", "element",
78
52
  /** The whole file, for mechanical-only regex rules over raw source. */
79
53
  "source",
80
54
  /** A file that did not parse; carries the error and nothing else. */
@@ -90,11 +64,11 @@ type Severity = (typeof SEVERITIES)[number];
90
64
  declare const SEVERITY_RANK: Record<Severity, number>;
91
65
  declare const RULE_STATUSES: readonly ["active", "draft", "review-only"];
92
66
  type RuleStatus = (typeof RULE_STATUSES)[number];
93
- declare const DOC_TYPES: readonly ["tutorial", "howto", "reference", "explanation", "agent-instructions", "lesson", "marketing", "ui", "readme", "skill", "plan", "personal", "pr", "slides", "unknown"];
67
+ declare const DOC_TYPES: readonly ["tutorial", "howto", "reference", "explanation", "agent-instructions", "lesson", "marketing", "ui", "readme", "skill", "plan", "unknown"];
94
68
  type DocType = (typeof DOC_TYPES)[number];
95
69
  declare const ROLES: readonly ["heading", "body", "list-item", "cell", "button", "link", "label", "placeholder", "aria", "literal-copy", "caption", "unknown"];
96
70
  type Role = (typeof ROLES)[number];
97
- declare const CONTEXT_KEYS: readonly ["section", "headingAbove", "docType", "element", "role", "neighbours", "writingFacts", "writingProfile", "writingInstructions"];
71
+ declare const CONTEXT_KEYS: readonly ["section", "headingAbove", "docType", "element", "role", "neighbours"];
98
72
  type ContextKey = (typeof CONTEXT_KEYS)[number];
99
73
  type Band = "act" | "review" | "silent";
100
74
  interface RuleSource {
@@ -208,13 +182,9 @@ interface NeighbourSummary {
208
182
  typography?: ResolvedTypography;
209
183
  }
210
184
  interface UnitContext {
211
- audit?: AuditUnitContext;
212
185
  /** Explicit font-size tokens from taste-lint.config.json, never inferred defaults. */
213
186
  fontScale?: Record<string, string>;
214
187
  section?: string;
215
- writingFacts?: string;
216
- writingProfile?: string;
217
- writingInstructions?: string;
218
188
  headingAbove?: string;
219
189
  docType: DocType;
220
190
  element?: string;
@@ -446,17 +416,7 @@ interface CorpusItem {
446
416
  };
447
417
  split: "dev" | "holdout";
448
418
  }
449
- interface ArchitecturePolicy {
450
- boundaries?: {
451
- from: string;
452
- disallow: string;
453
- reason: string;
454
- }[];
455
- deprecatedImports?: Record<string, string>;
456
- generated?: string[];
457
- }
458
419
  interface Config {
459
- architecture?: ArchitecturePolicy;
460
420
  root: string;
461
421
  docTypes: {
462
422
  glob: string;
@@ -473,46 +433,72 @@ interface Config {
473
433
  exclude: string[];
474
434
  }
475
435
  //#endregion
436
+ //#region src/scan/profiles.d.ts
437
+ declare const PROFILE_NAMES: readonly ["product", "writing", "instructions", "all"];
438
+ type ProfileName = (typeof PROFILE_NAMES)[number];
439
+ //#endregion
476
440
  //#region src/lib/config.d.ts
477
441
  declare const loadConfig: (root: string, defaults?: Config["docTypes"]) => Config;
478
442
  //#endregion
479
443
  //#region src/lint.d.ts
444
+ /**
445
+ * Options for one lint run. Every field is optional: `runLint()` lints the
446
+ * current directory with every rule, no Jev calls until a key is present.
447
+ */
480
448
  interface LintOptions {
481
- docTypes?: {
482
- glob: string;
483
- type: DocType;
484
- }[];
485
- advisoryRules?: string[];
486
- writingContext?: WritingContext;
487
- root: string;
488
- targets: string[];
449
+ /** Project root that globs, `taste-lint.config.json` and reports resolve against. Default `process.cwd()`. */
450
+ root?: string;
451
+ /** Files or directories relative to `root`. Default `["."]`. */
452
+ targets?: string[];
453
+ /** Scope files and rule domains (`product`, `writing`, `instructions`, `all`); rules keep their own status. */
454
+ profile?: ProfileName;
455
+ /** Report only findings on lines changed since this Git revision. */
456
+ since?: string;
457
+ /** Rules directory. Default: the packaged `data/rules`. */
489
458
  rulesDir?: string;
459
+ /** Rule ids to run; wins over `profile`. */
490
460
  only?: string[];
461
+ /** Globs to skip, added to the config file's `exclude`. */
491
462
  exclude?: string[];
463
+ /** Plan and estimate cost without calling Jev. */
492
464
  dryRun?: boolean;
465
+ /** With `dryRun`, write each planned Jev request as JSONL through `ctx.stdout`. */
493
466
  printRequests?: boolean;
467
+ /** Ignore cached answers; new answers are still recorded. */
494
468
  noCache?: boolean;
495
- limitUnits?: number;
469
+ /** Lowest severity that fails the run. Default `minor`. */
496
470
  failOn?: Severity;
471
+ /** Apply the deterministic fixes to act-band findings in place. */
497
472
  fix?: boolean;
473
+ /** Where the answer cache and run logs live. Default `<cwd>/results`. */
498
474
  resultsDir?: string;
475
+ /** Jev model id. Default `jev-latest`. */
499
476
  model?: string;
477
+ /** Vercel AI Gateway key. Default: `AI_GATEWAY_API_KEY` from the environment. */
500
478
  apiKey?: string;
501
- /** Extra units supplied by the caller (rendered mode). */
479
+ /** Extra units supplied by the caller, such as a rendered page capture. */
502
480
  extraUnits?: Unit[];
503
481
  }
482
+ /** Hooks for embedding: inject an evaluator, redirect output, observe progress. */
504
483
  interface LintContext {
484
+ /** Answers Jev questions. Tests inject a fake; the default reads the key from `options.apiKey` or the environment. */
505
485
  evaluate?: Evaluate;
486
+ /** Receives request JSONL from `printRequests`. Default `process.stdout`. */
506
487
  stdout?: (text: string) => void;
488
+ /** Receives fix notices. Default `process.stderr`. */
507
489
  stderr?: (text: string) => void;
490
+ /** Called at most every request with counts and elapsed time. */
508
491
  onProgress?: (progress: Progress) => void;
509
- onEvidence?: (units: Unit[], answers: Map<string, Record<string, number>>, negatives: Map<string, Set<string>>) => void;
492
+ /** Called once with every unit, the Jev answers and the mechanical negatives, before findings are banded. */
493
+ onEvidence?: (units: Unit[], answers: Map<string, Record<string, number>>, negatives: Map<string, Set<string>>, rules: Rule[]) => void;
510
494
  }
511
- declare const runLint: (options: LintOptions, ctx?: LintContext) => Promise<LintResult & {
495
+ /** What `runLint` resolves with: a report where the fields renderers treat as optional are always present. */
496
+ type LintRun = LintResult & Required<Pick<LintResult, "summary" | "ruleFindings" | "ruleScorecard" | "scope">> & {
512
497
  rulesLoaded: Rule[];
513
498
  units: number;
514
499
  manifest: Record<string, unknown>;
515
- }>;
500
+ };
501
+ declare const runLint: (options?: LintOptions, ctx?: LintContext) => Promise<LintRun>;
516
502
  //#endregion
517
503
  //#region src/rules/load.d.ts
518
504
  declare const resolveRulesDir: (explicit?: string) => string;
@@ -524,9 +510,6 @@ interface LoadOptions {
524
510
  }
525
511
  declare const loadRules: (rulesDir: string, options?: LoadOptions) => Rule[];
526
512
  //#endregion
527
- //#region src/rules/validate.d.ts
528
- declare const validateRule: (raw: unknown, file: string, expectedId: string) => Rule;
529
- //#endregion
530
513
  //#region src/rules/taxonomy.d.ts
531
514
  interface Category {
532
515
  id: string;
@@ -534,7 +517,6 @@ interface Category {
534
517
  label: string;
535
518
  }
536
519
  declare const CATEGORIES: readonly Category[];
537
- declare const CATEGORY_BY_ID: ReadonlyMap<string, Category>;
538
520
  //#endregion
539
521
  //#region src/extract/index.d.ts
540
522
  declare const extractFile: (config: Config, relativeFile: string) => Unit[];
@@ -546,56 +528,6 @@ interface TsxExtractOptions {
546
528
  }
547
529
  declare const extractTsx: (file: string, source: string, options: TsxExtractOptions) => Unit[];
548
530
  //#endregion
549
- //#region src/extract/capture.d.ts
550
- interface BoundingBox {
551
- bottom: number;
552
- height: number;
553
- left: number;
554
- right: number;
555
- top: number;
556
- width: number;
557
- x: number;
558
- y: number;
559
- }
560
- interface ElementSnapshot {
561
- attributes: Record<string, string>;
562
- boundingBox: BoundingBox;
563
- children: string[];
564
- classList: string[];
565
- id: string;
566
- parentId: string | null;
567
- selector: string;
568
- styles: Record<string, string>;
569
- tagName: string;
570
- text?: string;
571
- visible?: boolean;
572
- }
573
- interface CaptureResult {
574
- elements: Record<string, ElementSnapshot>;
575
- metadata: {
576
- url: string;
577
- title?: string;
578
- capturedAt?: string;
579
- state?: string;
580
- viewport?: {
581
- width: number;
582
- height: number;
583
- };
584
- };
585
- order: string[];
586
- rootElementId: string;
587
- rootOuterHtml: string;
588
- settings?: unknown;
589
- version: 1;
590
- }
591
- //#endregion
592
- //#region src/extract/rendered.d.ts
593
- declare const extractCapture: (raw: CaptureResult, label: string) => Unit[];
594
- declare const runStyleCapture: (url: string, selector: string) => Promise<CaptureResult>;
595
- //#endregion
596
- //#region src/extract/style-capture-text.d.ts
597
- declare const parseCaptureInput: (raw: string) => CaptureResult;
598
- //#endregion
599
531
  //#region src/map/jev.d.ts
600
532
  type Transport = "typesafe" | "gateway";
601
533
  declare class ProviderError extends Error {
@@ -665,7 +597,7 @@ declare const corpusCoverage: (items: CorpusItem[], rules: Rule[]) => {
665
597
  negative: number;
666
598
  positive: number;
667
599
  };
668
- documentTypes: ("agent-instructions" | "explanation" | "howto" | "lesson" | "marketing" | "personal" | "plan" | "pr" | "readme" | "reference" | "skill" | "slides" | "tutorial" | "ui" | "unknown")[];
600
+ documentTypes: ("agent-instructions" | "explanation" | "howto" | "lesson" | "marketing" | "plan" | "readme" | "reference" | "skill" | "tutorial" | "ui" | "unknown")[];
669
601
  holdout: {
670
602
  negative: number;
671
603
  positive: number;
@@ -771,19 +703,6 @@ declare const runTune: (options: TuneOptions, ctx?: TuneContext) => Promise<{
771
703
  exitCode: number;
772
704
  decisions: TuneDecision[];
773
705
  }>;
774
- interface TuneAbOptions {
775
- ruleId: string;
776
- variantFile: string;
777
- corpusDir?: string;
778
- rulesDir?: string;
779
- resultsDir?: string;
780
- model?: string;
781
- apiKey?: string;
782
- }
783
- declare const runTuneAb: (options: TuneAbOptions, ctx?: TuneContext) => Promise<{
784
- report: string;
785
- exitCode: number;
786
- }>;
787
706
  //#endregion
788
- export { type ArchitecturePolicy, type Band, CATEGORIES, CATEGORY_BY_ID, type CONTEXT_KEYS, type Config, type ContextKey, type CorpusItem, type Coverage, type CriterionSide, type DOC_TYPES, type DOMAINS, type DocType, type Domain, type EntryValue, type Evaluate, type Finding, type Fix, type LintContext, type LintOptions, type LintResult, type Mechanical, type MechanicalHit, type NeighbourSummary, type Preconditions, type Progress, ProviderError, type Question, type ROLES, type RULE_STATUSES, type RecorderHandle, type ResolvedTypography, type ReviewProcedure, type Role, type Rule, type RuleSource, type RuleStatus, type RunStatus, type RunSummary, type SEVERITIES, type SEVERITY_RANK, type STRUCTURAL_KINDS, type ScanScope, type Scorecard, type Severity, type SystemOneNoul, type SystemOneRequest, type SystemOneResponse, type TIERS, type Thresholds, type Tier, type Tuning, type TuningEntry, type UNIT_KINDS, type Unit, type UnitContext, type UnitKind, type Unknown, type Usage, type WritingContext, extractCapture, extractFile, extractTsx, loadConfig, loadRules, makeFetchEvaluate, parseCaptureInput, renderJson, renderSarif, renderTty, resolveRulesDir, runEval, runLint, runStyleCapture, runTune, runTuneAb, splitFor, validateRule };
707
+ export { type Band, CATEGORIES, type CONTEXT_KEYS, type Config, type ContextKey, type CorpusItem, type Coverage, type CriterionSide, type DOC_TYPES, type DOMAINS, type DocType, type Domain, type EntryValue, type Evaluate, type Finding, type Fix, type LintContext, type LintOptions, type LintResult, type LintRun, type Mechanical, type MechanicalHit, type NeighbourSummary, type Preconditions, type Progress, ProviderError, type Question, type ROLES, type RULE_STATUSES, type RecorderHandle, type ResolvedTypography, type ReviewProcedure, type Role, type Rule, type RuleSource, type RuleStatus, type RunStatus, type RunSummary, type SEVERITIES, type SEVERITY_RANK, type STRUCTURAL_KINDS, type ScanScope, type Scorecard, type Severity, type SystemOneNoul, type SystemOneRequest, type SystemOneResponse, type TIERS, type Thresholds, type Tier, type Tuning, type TuningEntry, type UNIT_KINDS, type Unit, type UnitContext, type UnitKind, type Unknown, type Usage, extractFile, extractTsx, loadConfig, loadRules, makeFetchEvaluate, renderJson, renderSarif, renderTty, resolveRulesDir, runEval, runLint, runTune, splitFor };
789
708
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/analysis/html.ts","../src/analysis/repository.ts","../src/audit/types.ts","../src/lib/writing-context.ts","../src/types.ts","../src/lib/config.ts","../src/lint.ts","../src/rules/load.ts","../src/rules/validate.ts","../src/rules/taxonomy.ts","../src/extract/index.ts","../src/extract/tsx.ts","../src/extract/capture.ts","../src/extract/rendered.ts","../src/extract/style-capture-text.ts","../src/map/jev.ts","../src/report/json.ts","../src/report/sarif.ts","../src/report/tty.ts","../src/lib/stats.ts","../src/eval/coverage.ts","../src/eval/metrics.ts","../src/eval/corpus.ts","../src/eval/promotion.ts","../src/eval/tune.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/analysis/repository.ts","../src/types.ts","../src/scan/profiles.ts","../src/lib/config.ts","../src/lint.ts","../src/rules/load.ts","../src/rules/taxonomy.ts","../src/extract/index.ts","../src/extract/tsx.ts","../src/map/jev.ts","../src/report/json.ts","../src/report/sarif.ts","../src/report/tty.ts","../src/lib/stats.ts","../src/eval/coverage.ts","../src/eval/metrics.ts","../src/eval/corpus.ts","../src/eval/promotion.ts","../src/eval/tune.ts"],"mappings":"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"}