Skip to main content
Reference

Programmatic API

Use Vibgrate types programmatically in your Node.js applications.

Overview

The package exports core types for programmatic use:

import type {
  VibgrateConfig,
  ScanArtifact,
  DriftScore,
  Finding,
} from '@vibgrate/cli@latest';

Types

VibgrateConfig

Configuration object shape:

interface VibgrateConfig {
  exclude?: string[];
  thresholds?: {
    failOnError?: {
      eolDays?: number;
      frameworkMajorLag?: number;
      dependencyTwoPlusPercent?: number;
    };
    warn?: {
      frameworkMajorLag?: number;
      dependencyTwoPlusPercent?: number;
    };
  };
  scanners?: Record<string, { enabled: boolean }> | false;
}

ScanArtifact

Full scan result:

interface ScanArtifact {
  schemaVersion: string;
  timestamp: string;
  driftScore: DriftScore;
  findings: Finding[];
  projects: Project[];
  // ... additional metadata
}

DriftScore

Score breakdown:

interface DriftScore {
  overall: number;
  riskLevel: 'low' | 'moderate' | 'high';
  components: {
    runtime: number;
    frameworks: number;
    dependencies: number;
    eolRisk: number;
  };
}

Finding

Individual finding:

interface Finding {
  id: string;
  severity: 'error' | 'warning' | 'info';
  message: string;
  path?: string;
  rule?: string;
}

Requirements

  • Node.js >= 22.0.0
  • Works on macOS, Linux, and Windows

Related Documentation