claude-crap 0.1.2 → 0.3.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +44 -23
  3. package/dist/index.js +142 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/scanner/auto-scan.d.ts +57 -0
  6. package/dist/scanner/auto-scan.d.ts.map +1 -0
  7. package/dist/scanner/auto-scan.js +138 -0
  8. package/dist/scanner/auto-scan.js.map +1 -0
  9. package/dist/scanner/bootstrap.d.ts +89 -0
  10. package/dist/scanner/bootstrap.d.ts.map +1 -0
  11. package/dist/scanner/bootstrap.js +278 -0
  12. package/dist/scanner/bootstrap.js.map +1 -0
  13. package/dist/scanner/detector.d.ts +53 -0
  14. package/dist/scanner/detector.d.ts.map +1 -0
  15. package/dist/scanner/detector.js +173 -0
  16. package/dist/scanner/detector.js.map +1 -0
  17. package/dist/scanner/index.d.ts +23 -0
  18. package/dist/scanner/index.d.ts.map +1 -0
  19. package/dist/scanner/index.js +23 -0
  20. package/dist/scanner/index.js.map +1 -0
  21. package/dist/scanner/runner.d.ts +59 -0
  22. package/dist/scanner/runner.d.ts.map +1 -0
  23. package/dist/scanner/runner.js +159 -0
  24. package/dist/scanner/runner.js.map +1 -0
  25. package/dist/schemas/tool-schemas.d.ts +23 -0
  26. package/dist/schemas/tool-schemas.d.ts.map +1 -1
  27. package/dist/schemas/tool-schemas.js +23 -0
  28. package/dist/schemas/tool-schemas.js.map +1 -1
  29. package/package.json +5 -1
  30. package/plugin/.claude-plugin/plugin.json +1 -1
  31. package/plugin/bundle/mcp-server.mjs +732 -0
  32. package/plugin/bundle/mcp-server.mjs.map +4 -4
  33. package/plugin/package.json +1 -1
  34. package/src/index.ts +176 -0
  35. package/src/scanner/auto-scan.ts +212 -0
  36. package/src/scanner/bootstrap.ts +383 -0
  37. package/src/scanner/detector.ts +224 -0
  38. package/src/scanner/index.ts +30 -0
  39. package/src/scanner/runner.ts +212 -0
  40. package/src/schemas/tool-schemas.ts +27 -0
  41. package/src/tests/auto-scan.test.ts +137 -0
  42. package/src/tests/integration/mcp-server.integration.test.ts +3 -1
  43. package/src/tests/scanner-bootstrap.test.ts +186 -0
  44. package/src/tests/scanner-detector.test.ts +181 -0
  45. package/src/tests/scanner-runner.test.ts +63 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,74 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.0] - 2026-04-12
9
+
10
+ Scanner bootstrapping and automated releases. Projects with no
11
+ scanner configured now get one installed automatically, and the
12
+ release pipeline is fully automated via GitHub Actions.
13
+
14
+ ### Added
15
+
16
+ - **`bootstrap_scanner` MCP tool** — detects the project type
17
+ (JavaScript, TypeScript, Python, Java, C#) and installs the
18
+ appropriate scanner:
19
+ - JS/TS → ESLint (`npm install --save-dev` + `eslint.config.mjs`)
20
+ - Python → Bandit (returns install instructions)
21
+ - Java / C# → Semgrep (returns install instructions)
22
+ - Unknown → Semgrep (polyglot fallback)
23
+ After installation, runs `auto_scan` to immediately ingest findings.
24
+ - **`src/scanner/bootstrap.ts`** — project-type detection aligned
25
+ with the five tree-sitter supported languages (`javascript`,
26
+ `typescript`, `python`, `java`, `c_sharp`), ESLint flat config
27
+ generation, and npm install orchestration.
28
+ - **`.github/workflows/release.yml`** — automated release pipeline.
29
+ Push a `v*` tag to trigger: typecheck → build → test → npm publish
30
+ → GitHub Release with changelog extraction. Requires `NPM_TOKEN`
31
+ secret.
32
+ - **17 new tests** in `scanner-bootstrap.test.ts` for project-type
33
+ detection and ESLint config generation. Suite total: 225 tests,
34
+ 37 suites.
35
+
36
+ ### Changed
37
+
38
+ - MCP tools count: 8 → 9 (added `bootstrap_scanner`).
39
+ - Test counts in README updated to 225 / 37.
40
+
41
+ ## [0.2.0] - 2026-04-12
42
+
43
+ Built-in scanner auto-detection and execution. Users now get real
44
+ quality grades out of the box without manually running ESLint,
45
+ Semgrep, Bandit, or Stryker.
46
+
47
+ ### Added
48
+
49
+ - **`src/scanner/` module** — three-layer pipeline for automatic
50
+ scanner discovery and execution:
51
+ - `detector.ts` — probes config files, package.json deps, and PATH
52
+ binaries for each of the four supported scanners.
53
+ - `runner.ts` — executes scanner CLIs with proper flags and
54
+ per-scanner timeouts (120s default, 300s for Stryker mutation
55
+ testing).
56
+ - `auto-scan.ts` — orchestrates detect → run (parallel) → adapt →
57
+ ingest → persist. Graceful per-scanner failure.
58
+ - `index.ts` — public SDK exports (`claude-crap/scanner`).
59
+ - **`auto_scan` MCP tool** — on-demand scanner execution available to
60
+ the agent mid-session. Returns a Markdown summary + JSON snapshot
61
+ with detection results, per-scanner stats, and total findings.
62
+ - **Boot-time auto-scan** — fire-and-forget after `server.connect()`
63
+ so findings are populated by the time `score_project` is first
64
+ called. Non-blocking: the server is ready for tool calls immediately.
65
+ - **53 new tests** across 3 new test files (`scanner-detector.test.ts`,
66
+ `scanner-runner.test.ts`, `auto-scan.test.ts`). Suite total: 208
67
+ tests, 35 suites.
68
+ - **`"./scanner"` export** in `package.json` for SDK consumers.
69
+ - **Marketplace cache troubleshooting** section in README.
70
+
71
+ ### Changed
72
+
73
+ - MCP tools count in README: 7 → 8 (added `auto_scan`).
74
+ - Test counts in README updated to 208 / 35.
75
+
8
76
  ## [0.1.2] - 2026-04-12
9
77
 
10
78
  Plugin distribution refactored from npm-source to git-source. Claude
package/README.md CHANGED
@@ -83,6 +83,25 @@ task close — no further setup required.
83
83
  > - **npm** — `npx claude-crap install` (direct, works anywhere `npx` does)
84
84
  > - **Claude Code marketplace** — `/plugin marketplace add https://github.com/ahernandez-developer/claude-crap` followed by `/plugin install claude-crap@herz`. Claude Code resolves the marketplace entry's `source` to `claude-crap@0.1.0` on the npm registry, so both routes unpack the **same tarball** and get the same SHA.
85
85
 
86
+ ### Marketplace cache troubleshooting
87
+
88
+ The Claude Code desktop app caches plugin metadata from the
89
+ marketplace. If you didn't see the plugin in desktop app while installing, run these
90
+ steps in order:
91
+
92
+ ```bash
93
+ # 1. Force the marketplace to re-fetch metadata for the publisher
94
+ claude plugin marketplace update herz
95
+
96
+ # 2. Reinstall the plugin under the current name
97
+ claude plugin install claude-crap
98
+ ```
99
+
100
+ Then **restart the Claude Code desktop app** to clear the in-memory
101
+ cache. This is expected behavior whenever a plugin is renamed or its
102
+ metadata changes — the marketplace does not auto-invalidate cached
103
+ listings.
104
+
86
105
  ---
87
106
 
88
107
  ## Configuration
@@ -99,11 +118,11 @@ PreToolUse security gatekeeper (blocked paths, destructive Bash,
99
118
  hardcoded secrets) is **always** strict regardless of this setting —
100
119
  security is not a quality gradient.
101
120
 
102
- | Mode | Stop hook exit | Verdict sink | Agent experience |
103
- | :----------- | :------------: | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |
104
- | `strict` | `2` | **stderr** | The full `BLOCKED` box is injected into the agent's context. The task cannot close until the rules are satisfied. **Default — nothing to configure.** |
105
- | `warn` | `0` | **stdout** | The full `WARNING` box lands in the hook transcript so the agent still sees every failing rule, but the task is allowed to close. Agent can remediate voluntarily. |
106
- | `advisory` | `0` | **stdout** | A single-line `ADVISORY` note is emitted. Minimal pressure on the agent — the task closes with a soft nudge only. |
121
+ | Mode | Stop hook exit | Verdict sink | Agent experience |
122
+ | :--------- | :------------: | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
123
+ | `strict` | `2` | **stderr** | The full `BLOCKED` box is injected into the agent's context. The task cannot close until the rules are satisfied. **Default — nothing to configure.** |
124
+ | `warn` | `0` | **stdout** | The full `WARNING` box lands in the hook transcript so the agent still sees every failing rule, but the task is allowed to close. Agent can remediate voluntarily. |
125
+ | `advisory` | `0` | **stdout** | A single-line `ADVISORY` note is emitted. Minimal pressure on the agent — the task closes with a soft nudge only. |
107
126
 
108
127
  ### How to override the default
109
128
 
@@ -114,7 +133,7 @@ default back with a single file at the workspace root:
114
133
  // .claude-crap.json — commit this to git for team-wide policy
115
134
  {
116
135
  "$schema": "https://raw.githubusercontent.com/ahernandez-developer/claude-crap/main/schemas/crap-config.json",
117
- "strictness": "warn" // "strict" | "warn" | "advisory"
136
+ "strictness": "warn", // "strict" | "warn" | "advisory"
118
137
  }
119
138
  ```
120
139
 
@@ -312,7 +331,7 @@ behind each component.
312
331
 
313
332
  ## MCP Tools
314
333
 
315
- The MCP server exposes seven deterministic tools and two resources.
334
+ The MCP server exposes nine deterministic tools and two resources.
316
335
  Every tool has a strict JSON Schema (Draft-07) with
317
336
  `additionalProperties: false`, `enum`, `pattern`, and numeric bounds,
318
337
  so any drift from the contract produces a deterministic error the
@@ -333,22 +352,24 @@ platform is designed to be used:
333
352
 
334
353
  **Available MCP tools:**
335
354
 
336
- | Tool | Purpose | Key inputs |
337
- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
338
- | `compute_crap` | CRAP index for a single function plus a block verdict against the configured threshold. | `cyclomaticComplexity`, `coveragePercent`, `functionName`, `filePath` |
339
- | `compute_tdr` | Technical Debt Ratio and A..E maintainability rating for a project / module / file scope. | `remediationMinutes`, `totalLinesOfCode`, `scope` |
340
- | `analyze_file_ast` | Tree-sitter AST metrics: physical and logical LOC plus per-function cyclomatic complexity. Supports TypeScript, JavaScript, Python, Java, C#. | `filePath`, `language` |
341
- | `ingest_sarif` | Merge a raw SARIF 2.1.0 document into the store with deduplication. Validated against a minimal AJV schema before persistence. | `sarifDocument`, `sourceTool` |
342
- | `ingest_scanner_output` | Route a scanner's native output through the matching adapter, enrich each finding with an `effortMinutes` estimate, and persist as SARIF. | `scanner` (`semgrep` / `eslint` / `bandit` / `stryker`), `rawOutput` |
343
- | `require_test_harness` | Check whether a production source file has an accompanying test file in any of the supported conventions. | `filePath` |
344
- | `score_project` | Aggregate the entire workspace into Maintainability / Reliability / Security / Overall A..E grades with Markdown and JSON output. | `format` (`markdown` / `json` / `both`) |
355
+ | Tool | Purpose | Key inputs |
356
+ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
357
+ | `compute_crap` | CRAP index for a single function plus a block verdict against the configured threshold. | `cyclomaticComplexity`, `coveragePercent`, `functionName`, `filePath` |
358
+ | `compute_tdr` | Technical Debt Ratio and A..E maintainability rating for a project / module / file scope. | `remediationMinutes`, `totalLinesOfCode`, `scope` |
359
+ | `analyze_file_ast` | Tree-sitter AST metrics: physical and logical LOC plus per-function cyclomatic complexity. Supports TypeScript, JavaScript, Python, Java, C#. | `filePath`, `language` |
360
+ | `ingest_sarif` | Merge a raw SARIF 2.1.0 document into the store with deduplication. Validated against a minimal AJV schema before persistence. | `sarifDocument`, `sourceTool` |
361
+ | `ingest_scanner_output` | Route a scanner's native output through the matching adapter, enrich each finding with an `effortMinutes` estimate, and persist as SARIF. | `scanner` (`semgrep` / `eslint` / `bandit` / `stryker`), `rawOutput` |
362
+ | `require_test_harness` | Check whether a production source file has an accompanying test file in any of the supported conventions. | `filePath` |
363
+ | `score_project` | Aggregate the entire workspace into Maintainability / Reliability / Security / Overall A..E grades with Markdown and JSON output. | `format` (`markdown` / `json` / `both`) |
364
+ | `auto_scan` | Auto-detect available scanners (ESLint, Semgrep, Bandit, Stryker) in the workspace, run them, and ingest findings into the SARIF store. | (none — fully automatic) |
365
+ | `bootstrap_scanner` | Detect project type (JS/TS/Python/Java/C#), install the right scanner, create minimal config, and run auto_scan to verify. | (none — fully automatic) |
345
366
 
346
367
  **Available MCP resources:**
347
368
 
348
- | URI | MIME | Description |
349
- | ------------------------------ | ------------------------ | --------------------------------------------------------------------- |
350
- | `sonar://metrics/current` | `application/json` | Live CRAP / TDR / rating snapshot derived from the in-memory store. |
351
- | `sonar://reports/latest.sarif` | `application/sarif+json` | Last consolidated SARIF document produced by the Stop quality gate. |
369
+ | URI | MIME | Description |
370
+ | ------------------------------ | ------------------------ | ------------------------------------------------------------------- |
371
+ | `sonar://metrics/current` | `application/json` | Live CRAP / TDR / rating snapshot derived from the in-memory store. |
372
+ | `sonar://reports/latest.sarif` | `application/sarif+json` | Last consolidated SARIF document produced by the Stop quality gate. |
352
373
 
353
374
  **Example usage.** From an agent session, the tool call a typical
354
375
  pre-publication audit lands on:
@@ -436,7 +457,7 @@ npm run build:watch
436
457
  # Run in dev mode (tsx, no build step)
437
458
  npm run dev
438
459
 
439
- # Full native test suite — 155 tests across 27 suites
460
+ # Full native test suite — 225 tests across 37 suites
440
461
  npm test
441
462
 
442
463
  # Narrow the feedback loop to one domain while iterating
@@ -527,7 +548,7 @@ and paste the bundle as the issue body.
527
548
  PreToolUse hook will block you if you try. Add a characterization
528
549
  test that pins the current behavior, then the attack test that
529
550
  demonstrates the bug, then the patch.
530
- 3. **Run `npm test`.** The full suite must stay at 177 / 177 green.
551
+ 3. **Run `npm test`.** The full suite must stay at 225 / 225 green.
531
552
  If you add new tests, update the count in the
532
553
  [Development](#development) section and in `CHANGELOG.md`.
533
554
  4. **Update the `CHANGELOG.md`** with an entry describing your
@@ -535,7 +556,7 @@ and paste the bundle as the issue body.
535
556
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
536
557
  5. **Open a pull request** describing the change in the rigid
537
558
  deduction format from `CLAUDE.md` (`Coupled dependency / Risk /
538
- Required test / Blocking metric / Proposed change`). CI will run
559
+ Required test / Blocking metric / Proposed change`). CI will run
539
560
  typecheck, the full test suite, and `npm audit` on every push.
540
561
 
541
562
  Full dev loop, test layout, coding conventions, and the release
package/dist/index.js CHANGED
@@ -45,7 +45,9 @@ import { validateSarifDocument } from "./sarif/sarif-validator.js";
45
45
  import { loadCrapConfig, CrapConfigError } from "./crap-config.js";
46
46
  import { findTestFile } from "./tools/test-harness.js";
47
47
  import { resolveWithinWorkspace } from "./workspace-guard.js";
48
- import { computeCrapSchema, computeTdrSchema, analyzeFileAstSchema, ingestSarifSchema, ingestScannerOutputSchema, requireTestHarnessSchema, scoreProjectSchema, } from "./schemas/tool-schemas.js";
48
+ import { autoScan } from "./scanner/auto-scan.js";
49
+ import { bootstrapScanner } from "./scanner/bootstrap.js";
50
+ import { autoScanSchema, bootstrapScannerSchema, computeCrapSchema, computeTdrSchema, analyzeFileAstSchema, ingestSarifSchema, ingestScannerOutputSchema, requireTestHarnessSchema, scoreProjectSchema, } from "./schemas/tool-schemas.js";
49
51
  // IMPORTANT: the MCP stdio transport uses stdout for JSON-RPC framing.
50
52
  // Anything the server logs MUST go to stderr (fd 2) to avoid corrupting
51
53
  // the wire format. We configure pino explicitly to write to fd 2.
@@ -159,6 +161,16 @@ async function main() {
159
161
  description: "Aggregate the project score across Maintainability, Reliability, Security and Overall, returning a chat-friendly Markdown summary, the structured JSON, the local dashboard URL, and the consolidated SARIF report path.",
160
162
  inputSchema: scoreProjectSchema,
161
163
  },
164
+ {
165
+ name: "auto_scan",
166
+ description: "Auto-detect available scanners (ESLint, Semgrep, Bandit, Stryker) in the workspace, run them, and ingest findings into the SARIF store.",
167
+ inputSchema: autoScanSchema,
168
+ },
169
+ {
170
+ name: "bootstrap_scanner",
171
+ description: "Detect project type, install the right scanner (ESLint for JS/TS, Bandit for Python, Semgrep for Java/C#), create minimal config, and run auto_scan to verify.",
172
+ inputSchema: bootstrapScannerSchema,
173
+ },
162
174
  ],
163
175
  }));
164
176
  // ------------------------------------------------------------------
@@ -427,6 +439,57 @@ async function main() {
427
439
  };
428
440
  }
429
441
  }
442
+ case "bootstrap_scanner": {
443
+ logger.info({ tool: "bootstrap_scanner" }, "Tool call received");
444
+ try {
445
+ const result = await bootstrapScanner(config.pluginRoot, sarifStore, logger);
446
+ const markdown = renderBootstrapMarkdown(result);
447
+ return {
448
+ content: [
449
+ { type: "text", text: markdown },
450
+ { type: "text", text: JSON.stringify(result, null, 2) },
451
+ ],
452
+ isError: !result.success,
453
+ };
454
+ }
455
+ catch (err) {
456
+ logger.error({ err }, "bootstrap_scanner failed");
457
+ return {
458
+ content: [
459
+ {
460
+ type: "text",
461
+ text: JSON.stringify({ tool: "bootstrap_scanner", status: "error", message: err.message }, null, 2),
462
+ },
463
+ ],
464
+ isError: true,
465
+ };
466
+ }
467
+ }
468
+ case "auto_scan": {
469
+ logger.info({ tool: "auto_scan" }, "Tool call received");
470
+ try {
471
+ const result = await autoScan(config.pluginRoot, sarifStore, logger);
472
+ const markdown = renderAutoScanMarkdown(result);
473
+ return {
474
+ content: [
475
+ { type: "text", text: markdown },
476
+ { type: "text", text: JSON.stringify(result, null, 2) },
477
+ ],
478
+ };
479
+ }
480
+ catch (err) {
481
+ logger.error({ err }, "auto_scan failed");
482
+ return {
483
+ content: [
484
+ {
485
+ type: "text",
486
+ text: JSON.stringify({ tool: "auto_scan", status: "error", message: err.message }, null, 2),
487
+ },
488
+ ],
489
+ isError: true,
490
+ };
491
+ }
492
+ }
430
493
  default:
431
494
  throw new Error(`[claude-crap] Unknown tool: ${name}`);
432
495
  }
@@ -481,6 +544,84 @@ async function main() {
481
544
  const transport = new StdioServerTransport();
482
545
  await server.connect(transport);
483
546
  logger.info("claude-crap MCP server ready (stdio)");
547
+ // Fire-and-forget: auto-scan runs in background, doesn't block tool calls.
548
+ // If the agent calls score_project before scanning finishes, it gets
549
+ // whatever is in the SARIF store so far. The next call after completion
550
+ // reflects all findings.
551
+ autoScan(config.pluginRoot, sarifStore, logger)
552
+ .then((result) => {
553
+ const scanners = result.results
554
+ .filter((r) => r.success)
555
+ .map((r) => r.scanner);
556
+ logger.info({
557
+ scannersRun: scanners,
558
+ totalFindings: result.totalFindings,
559
+ durationMs: result.totalDurationMs,
560
+ }, "auto-scan completed");
561
+ })
562
+ .catch((err) => {
563
+ logger.warn({ err: err.message }, "auto-scan failed — continuing without it");
564
+ });
565
+ }
566
+ /**
567
+ * Render a human-readable Markdown summary of a bootstrap result.
568
+ */
569
+ function renderBootstrapMarkdown(result) {
570
+ const lines = ["## claude-crap :: bootstrap scanner\n"];
571
+ lines.push(`**Project type:** ${result.projectType}`);
572
+ if (result.alreadyConfigured) {
573
+ lines.push(`**Status:** Scanner(s) already configured: ${result.existingScanners.join(", ")}`);
574
+ lines.push("\nNo installation needed. Run `auto_scan` to ingest findings.");
575
+ return lines.join("\n");
576
+ }
577
+ lines.push("");
578
+ if (result.steps.length > 0) {
579
+ lines.push("### Steps\n");
580
+ lines.push("| Action | Status | Detail |");
581
+ lines.push("| ------ | :----: | ------ |");
582
+ for (const s of result.steps) {
583
+ const status = s.success ? "ok" : "failed";
584
+ lines.push(`| ${s.action} | ${status} | ${s.detail} |`);
585
+ }
586
+ lines.push("");
587
+ }
588
+ if (result.autoScanResult) {
589
+ const r = result.autoScanResult;
590
+ const scanners = r.results.filter((s) => s.success).map((s) => s.scanner);
591
+ lines.push(`**Auto-scan:** ${r.totalFindings} finding(s) ingested from ${scanners.join(", ") || "no scanners"} in ${(r.totalDurationMs / 1000).toFixed(1)}s`);
592
+ lines.push("");
593
+ }
594
+ lines.push(`**Summary:** ${result.summary}`);
595
+ return lines.join("\n");
596
+ }
597
+ /**
598
+ * Render a human-readable Markdown summary of an auto-scan result.
599
+ */
600
+ function renderAutoScanMarkdown(result) {
601
+ const lines = ["## claude-crap :: auto-scan results\n"];
602
+ // Detection summary
603
+ lines.push("### Detected scanners\n");
604
+ lines.push("| Scanner | Available | Reason |");
605
+ lines.push("| ------- | :-------: | ------ |");
606
+ for (const d of result.detected) {
607
+ lines.push(`| ${d.scanner} | ${d.available ? "yes" : "no"} | ${d.reason} |`);
608
+ }
609
+ lines.push("");
610
+ // Execution results
611
+ if (result.results.length > 0) {
612
+ lines.push("### Execution results\n");
613
+ lines.push("| Scanner | Status | Findings | Duration |");
614
+ lines.push("| ------- | :----: | :------: | -------: |");
615
+ for (const r of result.results) {
616
+ const status = r.success ? "ok" : "failed";
617
+ const duration = `${(r.durationMs / 1000).toFixed(1)}s`;
618
+ lines.push(`| ${r.scanner} | ${status} | ${r.findingsIngested} | ${duration} |`);
619
+ }
620
+ lines.push("");
621
+ }
622
+ // Summary
623
+ lines.push(`**Total findings ingested:** ${result.totalFindings} in ${(result.totalDurationMs / 1000).toFixed(1)}s`);
624
+ return lines.join("\n");
484
625
  }
485
626
  /**
486
627
  * Load the workspace strictness without letting a busted config
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Orchestrator: detect available scanners, run them, and ingest results.
3
+ *
4
+ * This module ties together the detector, runner, and adapter pipeline
5
+ * into a single `autoScan()` function that:
6
+ *
7
+ * 1. Probes the workspace for available scanners
8
+ * 2. Executes detected scanners in parallel
9
+ * 3. Routes each scanner's output through its adapter
10
+ * 4. Ingests the normalized SARIF into the store
11
+ *
12
+ * The function is designed to be called:
13
+ * - At MCP server boot (fire-and-forget, non-blocking)
14
+ * - On demand via the `auto_scan` MCP tool
15
+ *
16
+ * Failures in individual scanners are logged and skipped — a broken
17
+ * Semgrep install should not prevent ESLint from running.
18
+ *
19
+ * @module scanner/auto-scan
20
+ */
21
+ import type { Logger } from "pino";
22
+ import { type ScannerDetection } from "./detector.js";
23
+ import { type KnownScanner } from "../adapters/index.js";
24
+ import type { SarifStore } from "../sarif/sarif-store.js";
25
+ /**
26
+ * Per-scanner result within the auto-scan summary.
27
+ */
28
+ export interface ScannerResult {
29
+ scanner: KnownScanner;
30
+ success: boolean;
31
+ findingsIngested: number;
32
+ durationMs: number;
33
+ error?: string;
34
+ }
35
+ /**
36
+ * Complete result of an auto-scan run.
37
+ */
38
+ export interface AutoScanResult {
39
+ /** Detection results for all four scanners. */
40
+ detected: ScannerDetection[];
41
+ /** Execution + ingestion results for scanners that were available. */
42
+ results: ScannerResult[];
43
+ /** Total findings ingested across all scanners. */
44
+ totalFindings: number;
45
+ /** Wall-clock time for the entire auto-scan. */
46
+ totalDurationMs: number;
47
+ }
48
+ /**
49
+ * Auto-detect, run, and ingest all available scanners.
50
+ *
51
+ * @param workspaceRoot Absolute path to the project root.
52
+ * @param sarifStore Live SARIF store to ingest findings into.
53
+ * @param logger Pino logger for progress and error reporting.
54
+ * @returns Summary of what was detected, run, and ingested.
55
+ */
56
+ export declare function autoScan(workspaceRoot: string, sarifStore: SarifStore, logger: Logger): Promise<AutoScanResult>;
57
+ //# sourceMappingURL=auto-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-scan.d.ts","sourceRoot":"","sources":["../../src/scanner/auto-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,sEAAsE;IACtE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,eAAe,EAAE,MAAM,CAAC;CACzB;AA4BD;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAC5B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,CAuHzB"}