@kevinrabun/judges 3.86.0 → 3.88.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 (78) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +126 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/finding-age-analysis.d.ts +5 -0
  6. package/dist/commands/finding-age-analysis.d.ts.map +1 -0
  7. package/dist/commands/finding-age-analysis.js +145 -0
  8. package/dist/commands/finding-age-analysis.js.map +1 -0
  9. package/dist/commands/finding-code-smell.d.ts +5 -0
  10. package/dist/commands/finding-code-smell.d.ts.map +1 -0
  11. package/dist/commands/finding-code-smell.js +114 -0
  12. package/dist/commands/finding-code-smell.js.map +1 -0
  13. package/dist/commands/finding-correlation.d.ts +5 -0
  14. package/dist/commands/finding-correlation.d.ts.map +1 -0
  15. package/dist/commands/finding-correlation.js +104 -0
  16. package/dist/commands/finding-correlation.js.map +1 -0
  17. package/dist/commands/finding-dependency-tree.d.ts +5 -0
  18. package/dist/commands/finding-dependency-tree.d.ts.map +1 -0
  19. package/dist/commands/finding-dependency-tree.js +117 -0
  20. package/dist/commands/finding-dependency-tree.js.map +1 -0
  21. package/dist/commands/finding-owner-assign.d.ts +5 -0
  22. package/dist/commands/finding-owner-assign.d.ts.map +1 -0
  23. package/dist/commands/finding-owner-assign.js +134 -0
  24. package/dist/commands/finding-owner-assign.js.map +1 -0
  25. package/dist/commands/finding-pattern-library.d.ts +5 -0
  26. package/dist/commands/finding-pattern-library.d.ts.map +1 -0
  27. package/dist/commands/finding-pattern-library.js +146 -0
  28. package/dist/commands/finding-pattern-library.js.map +1 -0
  29. package/dist/commands/finding-related-rules.d.ts +5 -0
  30. package/dist/commands/finding-related-rules.d.ts.map +1 -0
  31. package/dist/commands/finding-related-rules.js +152 -0
  32. package/dist/commands/finding-related-rules.js.map +1 -0
  33. package/dist/commands/finding-rule-explain.d.ts +5 -0
  34. package/dist/commands/finding-rule-explain.d.ts.map +1 -0
  35. package/dist/commands/finding-rule-explain.js +141 -0
  36. package/dist/commands/finding-rule-explain.js.map +1 -0
  37. package/dist/commands/finding-suppression-audit.d.ts +5 -0
  38. package/dist/commands/finding-suppression-audit.d.ts.map +1 -0
  39. package/dist/commands/finding-suppression-audit.js +138 -0
  40. package/dist/commands/finding-suppression-audit.js.map +1 -0
  41. package/dist/commands/review-ci-integration.d.ts +5 -0
  42. package/dist/commands/review-ci-integration.d.ts.map +1 -0
  43. package/dist/commands/review-ci-integration.js +126 -0
  44. package/dist/commands/review-ci-integration.js.map +1 -0
  45. package/dist/commands/review-comparative.d.ts +5 -0
  46. package/dist/commands/review-comparative.d.ts.map +1 -0
  47. package/dist/commands/review-comparative.js +150 -0
  48. package/dist/commands/review-comparative.js.map +1 -0
  49. package/dist/commands/review-custom-rule.d.ts +5 -0
  50. package/dist/commands/review-custom-rule.d.ts.map +1 -0
  51. package/dist/commands/review-custom-rule.js +170 -0
  52. package/dist/commands/review-custom-rule.js.map +1 -0
  53. package/dist/commands/review-lock-file.d.ts +5 -0
  54. package/dist/commands/review-lock-file.d.ts.map +1 -0
  55. package/dist/commands/review-lock-file.js +154 -0
  56. package/dist/commands/review-lock-file.js.map +1 -0
  57. package/dist/commands/review-notification.d.ts +5 -0
  58. package/dist/commands/review-notification.d.ts.map +1 -0
  59. package/dist/commands/review-notification.js +127 -0
  60. package/dist/commands/review-notification.js.map +1 -0
  61. package/dist/commands/review-plugin-list.d.ts +5 -0
  62. package/dist/commands/review-plugin-list.d.ts.map +1 -0
  63. package/dist/commands/review-plugin-list.js +100 -0
  64. package/dist/commands/review-plugin-list.js.map +1 -0
  65. package/dist/commands/review-status-badge.d.ts +5 -0
  66. package/dist/commands/review-status-badge.d.ts.map +1 -0
  67. package/dist/commands/review-status-badge.js +121 -0
  68. package/dist/commands/review-status-badge.js.map +1 -0
  69. package/dist/commands/review-template-export.d.ts +5 -0
  70. package/dist/commands/review-template-export.d.ts.map +1 -0
  71. package/dist/commands/review-template-export.js +147 -0
  72. package/dist/commands/review-template-export.js.map +1 -0
  73. package/dist/commands/review-token-budget.d.ts +5 -0
  74. package/dist/commands/review-token-budget.d.ts.map +1 -0
  75. package/dist/commands/review-token-budget.js +118 -0
  76. package/dist/commands/review-token-budget.js.map +1 -0
  77. package/package.json +1 -1
  78. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  All notable changes to **@kevinrabun/judges** are documented here.
4
4
 
5
+ ## [3.88.0] — 2026-03-14
6
+
7
+ ### Added
8
+ - Dependency tree: finding-dependency-tree (visualize finding dependency relationships)
9
+ - CI integration: review-ci-integration (generate CI pipeline configuration)
10
+ - Comparative review: review-comparative (compare two verdict reports side by side)
11
+ - Suppression audit: finding-suppression-audit (audit suppressed/ignored findings)
12
+ - Custom rules: review-custom-rule (create and manage custom review rules)
13
+ - Notifications: review-notification (configure review notification settings)
14
+ - Age analysis: finding-age-analysis (analyze finding age and lifecycle)
15
+ - Template export: review-template-export (export review templates for reuse)
16
+ - Correlation: finding-correlation (find correlations between findings across reports)
17
+
18
+ ### Tests
19
+ - All 2,267 tests passing (0 failures)
20
+
21
+ ## [3.87.0] — 2026-03-14
22
+
23
+ ### Added
24
+ - Code smell: finding-code-smell (detect code-smell indicators among findings)
25
+ - Related rules: finding-related-rules (find related rules for a finding)
26
+ - Token budget: review-token-budget (estimate and manage token budget usage)
27
+ - Plugin list: review-plugin-list (list available and active plugins)
28
+ - Owner assign: finding-owner-assign (assign finding owners based on rules)
29
+ - Lock file: review-lock-file (analyze lock files for security issues)
30
+ - Pattern library: finding-pattern-library (manage finding pattern library)
31
+ - Status badge: review-status-badge (generate status badges for review results)
32
+ - Rule explain: finding-rule-explain (explain rules in detail with examples)
33
+
34
+ ### Tests
35
+ - All 2,267 tests passing (0 failures)
36
+
5
37
  ## [3.86.0] — 2026-03-14
6
38
 
7
39
  ### Added
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAgzBH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAQzE;AAiBD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CAwBnF;AAkUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAo2G1D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAk0BH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAQzE;AAiBD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CAwBnF;AAkUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAk+G1D"}
package/dist/cli.js CHANGED
@@ -643,6 +643,24 @@ USAGE:
643
643
  judges finding-severity-dist Show severity distribution
644
644
  judges review-report-merge Merge multiple verdict reports
645
645
  judges review-plugin-config Manage plugin configuration
646
+ judges finding-code-smell Detect code-smell indicators
647
+ judges finding-related-rules Find related rules for a finding
648
+ judges review-token-budget Estimate token budget usage
649
+ judges review-plugin-list List available plugins
650
+ judges finding-owner-assign Assign finding owners
651
+ judges review-lock-file Analyze lock files for security issues
652
+ judges finding-pattern-library Manage finding pattern library
653
+ judges review-status-badge Generate status badges
654
+ judges finding-rule-explain Explain rules in detail
655
+ judges finding-dependency-tree Visualize finding dependencies
656
+ judges review-ci-integration Generate CI pipeline configuration
657
+ judges review-comparative Compare two verdict reports
658
+ judges finding-suppression-audit Audit suppressed findings
659
+ judges review-custom-rule Manage custom review rules
660
+ judges review-notification Manage review notifications
661
+ judges finding-age-analysis Analyze finding age over time
662
+ judges review-template-export Export review templates
663
+ judges finding-correlation Find correlations between findings
646
664
  judges tune Analyze project and suggest optimal config
647
665
  judges list List all available judges
648
666
  judges version Show version information
@@ -3586,6 +3604,114 @@ export async function runCli(argv) {
3586
3604
  runReviewPluginConfig(argv);
3587
3605
  return;
3588
3606
  }
3607
+ // ─── Finding Code Smell Command ───────────────────────────────────
3608
+ if (args.command === "finding-code-smell") {
3609
+ const { runFindingCodeSmell } = await import("./commands/finding-code-smell.js");
3610
+ runFindingCodeSmell(argv);
3611
+ return;
3612
+ }
3613
+ // ─── Finding Related Rules Command ────────────────────────────────
3614
+ if (args.command === "finding-related-rules") {
3615
+ const { runFindingRelatedRules } = await import("./commands/finding-related-rules.js");
3616
+ runFindingRelatedRules(argv);
3617
+ return;
3618
+ }
3619
+ // ─── Review Token Budget Command ──────────────────────────────────
3620
+ if (args.command === "review-token-budget") {
3621
+ const { runReviewTokenBudget } = await import("./commands/review-token-budget.js");
3622
+ runReviewTokenBudget(argv);
3623
+ return;
3624
+ }
3625
+ // ─── Review Plugin List Command ───────────────────────────────────
3626
+ if (args.command === "review-plugin-list") {
3627
+ const { runReviewPluginList } = await import("./commands/review-plugin-list.js");
3628
+ runReviewPluginList(argv);
3629
+ return;
3630
+ }
3631
+ // ─── Finding Owner Assign Command ─────────────────────────────────
3632
+ if (args.command === "finding-owner-assign") {
3633
+ const { runFindingOwnerAssign } = await import("./commands/finding-owner-assign.js");
3634
+ runFindingOwnerAssign(argv);
3635
+ return;
3636
+ }
3637
+ // ─── Review Lock File Command ─────────────────────────────────────
3638
+ if (args.command === "review-lock-file") {
3639
+ const { runReviewLockFile } = await import("./commands/review-lock-file.js");
3640
+ runReviewLockFile(argv);
3641
+ return;
3642
+ }
3643
+ // ─── Finding Pattern Library Command ──────────────────────────────
3644
+ if (args.command === "finding-pattern-library") {
3645
+ const { runFindingPatternLibrary } = await import("./commands/finding-pattern-library.js");
3646
+ runFindingPatternLibrary(argv);
3647
+ return;
3648
+ }
3649
+ // ─── Review Status Badge Command ──────────────────────────────────
3650
+ if (args.command === "review-status-badge") {
3651
+ const { runReviewStatusBadge } = await import("./commands/review-status-badge.js");
3652
+ runReviewStatusBadge(argv);
3653
+ return;
3654
+ }
3655
+ // ─── Finding Rule Explain Command ─────────────────────────────────
3656
+ if (args.command === "finding-rule-explain") {
3657
+ const { runFindingRuleExplain } = await import("./commands/finding-rule-explain.js");
3658
+ runFindingRuleExplain(argv);
3659
+ return;
3660
+ }
3661
+ // ─── Finding Dependency Tree Command ──────────────────────────────
3662
+ if (args.command === "finding-dependency-tree") {
3663
+ const { runFindingDependencyTree } = await import("./commands/finding-dependency-tree.js");
3664
+ runFindingDependencyTree(argv);
3665
+ return;
3666
+ }
3667
+ // ─── Review CI Integration Command ────────────────────────────────
3668
+ if (args.command === "review-ci-integration") {
3669
+ const { runReviewCiIntegration } = await import("./commands/review-ci-integration.js");
3670
+ runReviewCiIntegration(argv);
3671
+ return;
3672
+ }
3673
+ // ─── Review Comparative Command ───────────────────────────────────
3674
+ if (args.command === "review-comparative") {
3675
+ const { runReviewComparative } = await import("./commands/review-comparative.js");
3676
+ runReviewComparative(argv);
3677
+ return;
3678
+ }
3679
+ // ─── Finding Suppression Audit Command ────────────────────────────
3680
+ if (args.command === "finding-suppression-audit") {
3681
+ const { runFindingSuppressionAudit } = await import("./commands/finding-suppression-audit.js");
3682
+ runFindingSuppressionAudit(argv);
3683
+ return;
3684
+ }
3685
+ // ─── Review Custom Rule Command ───────────────────────────────────
3686
+ if (args.command === "review-custom-rule") {
3687
+ const { runReviewCustomRule } = await import("./commands/review-custom-rule.js");
3688
+ runReviewCustomRule(argv);
3689
+ return;
3690
+ }
3691
+ // ─── Review Notification Command ──────────────────────────────────
3692
+ if (args.command === "review-notification") {
3693
+ const { runReviewNotification } = await import("./commands/review-notification.js");
3694
+ runReviewNotification(argv);
3695
+ return;
3696
+ }
3697
+ // ─── Finding Age Analysis Command ─────────────────────────────────
3698
+ if (args.command === "finding-age-analysis") {
3699
+ const { runFindingAgeAnalysis } = await import("./commands/finding-age-analysis.js");
3700
+ runFindingAgeAnalysis(argv);
3701
+ return;
3702
+ }
3703
+ // ─── Review Template Export Command ───────────────────────────────
3704
+ if (args.command === "review-template-export") {
3705
+ const { runReviewTemplateExport } = await import("./commands/review-template-export.js");
3706
+ runReviewTemplateExport(argv);
3707
+ return;
3708
+ }
3709
+ // ─── Finding Correlation Command ──────────────────────────────────
3710
+ if (args.command === "finding-correlation") {
3711
+ const { runFindingCorrelation } = await import("./commands/finding-correlation.js");
3712
+ runFindingCorrelation(argv);
3713
+ return;
3714
+ }
3589
3715
  // ─── Tune Command ─────────────────────────────────────────────────
3590
3716
  if (args.command === "tune") {
3591
3717
  const { runTune } = await import("./commands/tune.js");