Overview
Vibgrate has first-class support for Node.js and TypeScript projects. It detects package.json files, lockfiles (npm, pnpm, yarn), .nvmrc/.node-version configuration, and tsconfig.json compiler options.
What Gets Scanned
- Runtime version from
engines.node,.nvmrc, or.node-version - Framework versions (React, Next.js, NestJS, Express, Angular, Vue, Svelte, etc.)
- All dependencies from
package.json(bothdependenciesanddevDependencies) - Lockfile analysis for duplicate packages and phantom dependencies
- TypeScript modernity — strict mode, module system, target
Quick Start
# Install as a dev dependency
npm install -D @vibgrate/cli
# Run a scan
npx vibgrate scan .
# Save a baseline
npx vibgrate baseline .Monorepo Support
Vibgrate automatically discovers all package.json files in your workspace. For pnpm workspaces, npm workspaces, or yarn workspaces, each package is scanned individually and the scores are aggregated.
# Scan an entire monorepo
vibgrate scan /path/to/monorepo
# Exclude specific directories
# (configure in vibgrate.config.ts)
To exclude paths, add them to your vibgrate.config.ts:
import type { VibgrateConfig } from '@vibgrate/cli';
const config: VibgrateConfig = {
exclude: ['legacy/**', 'examples/**'],
};
export default config;
TypeScript Analysis
Vibgrate reads tsconfig.json to assess TypeScript modernity:
- TypeScript version
strict,noImplicitAny,strictNullChecksflags- Module system (
module,moduleResolution,target) - ESM vs CJS classification
exportsfield presence inpackage.json
Strict TypeScript configurations score higher in the modernity assessment.
Output Examples
# Human-readable report
vibgrate scan . --format text
# JSON artifact for automation
vibgrate scan . --format json --out scan.json
# Markdown for PRs or wikis
vibgrate scan . --format md --out drift-report.md
Next Steps
- Set up CI integration to catch drift regression on every PR
- Create a baseline to track improvements over time
- Push results to the Vibgrate Dashboard for portfolio visibility