@vibgrate/cli 2026.711.1 → 2026.711.2
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/DOCS.md +23 -10
- package/README.md +14 -10
- package/dist/baseline-SRVG4ZAD.js +6 -0
- package/dist/{baseline-V5XGS76K.js.map → baseline-SRVG4ZAD.js.map} +1 -1
- package/dist/{chunk-3BWPEPWH.js → chunk-4IHO6VUL.js} +3 -3
- package/dist/{chunk-3BWPEPWH.js.map → chunk-4IHO6VUL.js.map} +1 -1
- package/dist/{chunk-MIJ3ZSSF.js → chunk-75ZJYYJE.js} +69 -8
- package/dist/chunk-75ZJYYJE.js.map +1 -0
- package/dist/{chunk-2PCL4ZME.js → chunk-NNU2PW2H.js} +74 -24
- package/dist/chunk-NNU2PW2H.js.map +1 -0
- package/dist/cli.js +321 -10
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/skills/README.md +2 -2
- package/dist/baseline-V5XGS76K.js +0 -6
- package/dist/chunk-2PCL4ZME.js.map +0 -1
- package/dist/chunk-MIJ3ZSSF.js.map +0 -1
package/DOCS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Vibgrate CLI — Full Documentation
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> [Code Drift Intelligence](https://vibgrate.com/code-drift-intelligence) across ~19 ecosystems — Node, .NET, Python, Java, Go, Rust, and more
|
|
4
4
|
|
|
5
5
|
For a quick overview, see the [README](./README.md). This document covers everything in detail.
|
|
6
6
|
|
|
@@ -100,10 +100,10 @@ Vibgrate recursively scans your repository for `package.json` (Node/TypeScript),
|
|
|
100
100
|
1. **Detects** the runtime version, target framework, and all dependencies
|
|
101
101
|
2. **Queries** the npm/NuGet registry for latest stable versions (with built-in caching and concurrency control)
|
|
102
102
|
3. **Computes** how far behind each component is — major version lag, EOL proximity, dependency age distribution
|
|
103
|
-
4. **Generates** a deterministic DriftScore (0–100)
|
|
103
|
+
4. **Generates** a deterministic [DriftScore](https://vibgrate.com/driftscore) (0–100)
|
|
104
104
|
5. **Produces** findings, a full JSON artifact, and optional SARIF output
|
|
105
105
|
|
|
106
|
-
Core drift analysis does not execute source code. Optional security scanners can run lightweight secret heuristics and local toolchain checks. Vibgrate Cloud upload remains optional.
|
|
106
|
+
Core drift analysis does not execute source code. Optional security scanners can run lightweight secret heuristics and local toolchain checks. [Vibgrate Cloud](https://vibgrate.com/cloud) upload remains optional.
|
|
107
107
|
|
|
108
108
|
---
|
|
109
109
|
|
|
@@ -291,9 +291,9 @@ breaking-change signals, and considers the API surface — the classes and
|
|
|
291
291
|
functions your code imports — that a new version must preserve.
|
|
292
292
|
|
|
293
293
|
Security is folded in with **real-world exploitability**. Each upgrade is checked
|
|
294
|
-
against OSV in both directions (advisories **remediated** vs. **introduced**), and
|
|
295
|
-
current-version advisories are cross-referenced with the **CISA KEV** (known-
|
|
296
|
-
exploited) list and **FIRST EPSS** (exploit-probability) scores. A package with a
|
|
294
|
+
against [OSV](https://vibgrate.com/glossary/osv) in both directions (advisories **remediated** vs. **introduced**), and
|
|
295
|
+
current-version advisories are cross-referenced with the [**CISA KEV**](https://vibgrate.com/glossary/kev) (known-
|
|
296
|
+
exploited) list and [**FIRST EPSS**](https://vibgrate.com/glossary/epss) (exploit-probability) scores. A package with a
|
|
297
297
|
known-exploited advisory is treated as must-fix, so the recommendation prioritises
|
|
298
298
|
"fix these few" over churning everything. Advisories with no upgrade path in any
|
|
299
299
|
plan are called out as unresolved.
|
|
@@ -409,7 +409,7 @@ vg report [--in <file>] [--format md|text|json]
|
|
|
409
409
|
|
|
410
410
|
### vg sbom
|
|
411
411
|
|
|
412
|
-
Export SBOMs from an existing scan artifact or compare two artifacts.
|
|
412
|
+
Export [SBOMs](https://vibgrate.com/glossary/sbom) from an existing scan artifact or compare two artifacts.
|
|
413
413
|
|
|
414
414
|
```bash
|
|
415
415
|
vg sbom export [--in <file>] [--format cyclonedx|spdx] [--out <file>]
|
|
@@ -491,7 +491,7 @@ Expected results:
|
|
|
491
491
|
|
|
492
492
|
`vg scan --vulns` matches your installed dependencies against the public OSV database and records each known vulnerability — advisory id and CVE, severity, CVSS, and the fixing version — in the scan artifact, as findings, and in SARIF. Supply advisories in a `--package-manifest` bundle to run it offline.
|
|
493
493
|
|
|
494
|
-
In a git repository the scan also attributes each finding: the commit, author, and date that introduced the vulnerable version, and how long you have been exposed. These exposure windows aggregate into remediation metrics framed around the EU Cyber Resilience Act (CRA): open counts by severity, mean and maximum time exposed, and per-severity SLA breaches (defaults: critical 7 days, high 30, moderate 90, low 180). The metrics are descriptive — they show whether remediation keeps pace; they are not a compliance certification.
|
|
494
|
+
In a git repository the scan also attributes each finding: the commit, author, and date that introduced the vulnerable version, and how long you have been exposed. These exposure windows aggregate into remediation metrics framed around the [EU Cyber Resilience Act (CRA)](https://vibgrate.com/compliance/cra): open counts by severity, mean and maximum time exposed, and per-severity SLA breaches (defaults: critical 7 days, high 30, moderate 90, low 180). The metrics are descriptive — they show whether remediation keeps pace; they are not a compliance certification.
|
|
495
495
|
|
|
496
496
|
The scan also reconstructs **closed** exposure windows from history — a vulnerable version that was later bumped out of the affected range or removed from the lockfile entirely — and reports real remediation time (MTTR) from them: measured, not estimated. Offline, a package-version manifest extends this to advisories that are fully fixed today, so a dependency that is clean now but was once vulnerable still counts toward your remediation record.
|
|
497
497
|
|
|
@@ -855,7 +855,7 @@ Add `--json` for machine-readable output.
|
|
|
855
855
|
|
|
856
856
|
### vg serve
|
|
857
857
|
|
|
858
|
-
Start Vibgrate AI Context — a local-first MCP serving your code map, drift, and version-correct docs to your AI assistant (fully offline under `--local`).
|
|
858
|
+
Start [Vibgrate AI Context](https://vibgrate.com/library) — a local-first [MCP](https://vibgrate.com/glossary/model-context-protocol) serving your code map, drift, and version-correct docs to your AI assistant (fully offline under `--local`).
|
|
859
859
|
|
|
860
860
|
```bash
|
|
861
861
|
vg serve
|
|
@@ -1027,6 +1027,8 @@ The DriftScore is a deterministic, versioned metric (0–100) that represents ho
|
|
|
1027
1027
|
|
|
1028
1028
|
**Lower score = healthier upgrade posture.** 0 means no drift (fully current); 100 means maximum drift. Higher is worse.
|
|
1029
1029
|
|
|
1030
|
+
The methodology is published: see the [public scoring specification](./docs/public/SCORING-METHODOLOGY-PUBLIC.md) in this repository and the overview at [vibgrate.com/driftscore](https://vibgrate.com/driftscore).
|
|
1031
|
+
|
|
1030
1032
|
### Risk Levels
|
|
1031
1033
|
|
|
1032
1034
|
| Score | Risk Level |
|
|
@@ -1482,7 +1484,7 @@ import type {
|
|
|
1482
1484
|
|
|
1483
1485
|
## Requirements
|
|
1484
1486
|
|
|
1485
|
-
- **Node.js** >=
|
|
1487
|
+
- **Node.js** >= 22.0.0
|
|
1486
1488
|
- Works on macOS, Linux, and Windows
|
|
1487
1489
|
|
|
1488
1490
|
---
|
|
@@ -1490,6 +1492,17 @@ import type {
|
|
|
1490
1492
|
## Links
|
|
1491
1493
|
|
|
1492
1494
|
- [Website](https://vibgrate.com)
|
|
1495
|
+
- [Vibgrate CLI — live demo and simulator](https://vibgrate.com/cli)
|
|
1496
|
+
- [CLI benchmarks](https://vibgrate.com/cli/benchmarks) · [methodology](https://vibgrate.com/cli/benchmarks/methodology) · [token savings](https://vibgrate.com/cli/benchmarks/token-savings)
|
|
1497
|
+
- [DriftScore](https://vibgrate.com/driftscore)
|
|
1498
|
+
- [Vibgrate AI Context (local-first MCP)](https://vibgrate.com/library)
|
|
1499
|
+
- [Vibgrate Graph](https://vibgrate.com/graph)
|
|
1500
|
+
- [Vibgrate Cloud](https://vibgrate.com/cloud) · [create a free workspace](https://dash.vibgrate.com)
|
|
1501
|
+
- [Vibgrate MCP (hosted)](https://vibgrate.com/mcp)
|
|
1502
|
+
- [AI agent skills](https://vibgrate.com/skills)
|
|
1503
|
+
- [Glossary](https://vibgrate.com/glossary)
|
|
1504
|
+
- [Help center](https://vibgrate.com/help)
|
|
1505
|
+
- [Changelog](https://vibgrate.com/changelog)
|
|
1493
1506
|
- [npm](https://www.npmjs.com/package/@vibgrate/cli)
|
|
1494
1507
|
|
|
1495
1508
|
---
|
package/README.md
CHANGED
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
|
|
20
20
|
`vg` answers two questions for any repo:
|
|
21
21
|
|
|
22
|
-
1. **What is this codebase?** — A deterministic code graph: call trees, import paths, impact surfaces, dependency facts.
|
|
23
|
-
2. **How far behind is it?** — A ranked **DriftScore** (0–100) with runtime/framework lag, dependency age and EOL proximity, and a prioritised fix list.
|
|
22
|
+
1. **What is this codebase?** — A deterministic [code graph](https://vibgrate.com/graph): call trees, import paths, impact surfaces, dependency facts.
|
|
23
|
+
2. **How far behind is it?** — A ranked **[DriftScore](https://vibgrate.com/driftscore)** (0–100) with runtime/framework lag, dependency age and EOL proximity, and a prioritised fix list.
|
|
24
24
|
|
|
25
25
|
Everything runs **on your machine**. No API key, no network call, no data leaving your repo unless you explicitly push. The `vibgrate` command is an alias for `vg` — they are interchangeable.
|
|
26
26
|
|
|
@@ -68,7 +68,7 @@ npx vg scan # vg is the primary command; vibgrate is an alia
|
|
|
68
68
|
|
|
69
69
|
## Use it with your AI assistant
|
|
70
70
|
|
|
71
|
-
`vg serve` starts **Vibgrate AI Context** — a local-first MCP server that
|
|
71
|
+
`vg serve` starts **[Vibgrate AI Context](https://vibgrate.com/library)** — a local-first [MCP](https://vibgrate.com/glossary/model-context-protocol) server that
|
|
72
72
|
gives any MCP-compatible assistant (Claude, Cursor, Windsurf, Copilot, Gemini
|
|
73
73
|
CLI, …) your code map, **offline drift**, local models, and **version-correct
|
|
74
74
|
library docs**, all from your machine (no account, nothing uploaded; thin
|
|
@@ -85,7 +85,7 @@ vg install # interactive: pick your assistant(s) and done
|
|
|
85
85
|
vg install --all # install for every detected assistant at once
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
This writes the MCP config for your chosen tool(s) and installs a skill that teaches the assistant how to query the graph. After reloading your assistant you get graph-aware answers: call trees, impact analysis, drift findings, version-correct library docs — all from local data.
|
|
88
|
+
This writes the MCP config for your chosen tool(s) and installs a skill that teaches the assistant how to query the graph. After reloading your assistant you get graph-aware answers: call trees, impact analysis, drift findings, version-correct library docs — all from local data. The token savings are measured and published, methodology included, at [vibgrate.com/cli/benchmarks/token-savings](https://vibgrate.com/cli/benchmarks/token-savings).
|
|
89
89
|
|
|
90
90
|
Browse all 21+ supported assistants and their skill descriptions at **[vibgrate.com/skills](https://vibgrate.com/skills)**.
|
|
91
91
|
|
|
@@ -129,21 +129,21 @@ One scan gives you:
|
|
|
129
129
|
- **Score breakdown** — runtime, frameworks, dependencies, EOL
|
|
130
130
|
- **Per-project detail** across Node.js/TypeScript, .NET, Python, and Java
|
|
131
131
|
- **Actionable findings** ranked by likely impact
|
|
132
|
-
- **SBOM export** (CycloneDX / SPDX)
|
|
132
|
+
- **[SBOM](https://vibgrate.com/glossary/sbom) export** (CycloneDX / SPDX)
|
|
133
133
|
- **Known vulnerabilities** (opt in with `--vulns`) — severity, CVSS, the fixing version, and, in a git repo, who introduced them
|
|
134
134
|
|
|
135
135
|
---
|
|
136
136
|
|
|
137
137
|
## Find known vulnerabilities and who introduced them
|
|
138
138
|
|
|
139
|
-
`vg scan --vulns` checks your installed dependencies against the public OSV database and reports each known vulnerability with its severity, CVSS score, and the version that fixes it — as text, JSON, or SARIF. Add `--package-manifest` to run it fully offline from a local advisory bundle.
|
|
139
|
+
`vg scan --vulns` checks your installed dependencies against the public [OSV](https://vibgrate.com/glossary/osv) database and reports each known vulnerability with its severity, CVSS score, and the version that fixes it — as text, JSON, or SARIF. Add `--package-manifest` to run it fully offline from a local advisory bundle.
|
|
140
140
|
|
|
141
141
|
```bash
|
|
142
142
|
vg scan --vulns # drift score + known vulnerabilities
|
|
143
143
|
vg scan --full # drift + vulnerabilities + a banned-dependency report
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
-
In a git repository, every finding is attributed from history: who introduced the vulnerable version, in which commit, and how long you have been exposed. Those exposure windows roll up into remediation metrics framed around the EU Cyber Resilience Act (CRA) — per-severity time-exposed and SLA breaches — so "are we fixing things fast enough?" has a number.
|
|
146
|
+
In a git repository, every finding is attributed from history: who introduced the vulnerable version, in which commit, and how long you have been exposed. Those exposure windows roll up into remediation metrics framed around the [EU Cyber Resilience Act (CRA)](https://vibgrate.com/compliance/cra) — per-severity time-exposed and SLA breaches — so "are we fixing things fast enough?" has a number.
|
|
147
147
|
|
|
148
148
|
```bash
|
|
149
149
|
vg why lodash # who added a dependency, every version since, and any open vulnerabilities
|
|
@@ -158,7 +158,7 @@ Your AI assistant sees this too: `vg serve` exposes `list_vulnerabilities`, `vul
|
|
|
158
158
|
|
|
159
159
|
## Track drift over time → create a free workspace
|
|
160
160
|
|
|
161
|
-
The CLI is fully useful offline. When you want **trends across runs and repos** — so drift becomes a metric you manage, not a surprise you discover — push scans to a workspace:
|
|
161
|
+
The CLI is fully useful offline. When you want **trends across runs and repos** — so drift becomes a metric you manage, not a surprise you discover — push scans to a [Vibgrate Cloud](https://vibgrate.com/cloud) workspace:
|
|
162
162
|
|
|
163
163
|
1. **Create a workspace** at **[dash.vibgrate.com](https://dash.vibgrate.com)** and copy your DSN.
|
|
164
164
|
2. **Connect and push:**
|
|
@@ -244,6 +244,8 @@ vg scan --offline --package-manifest ./package-versions.zip --max-privacy --form
|
|
|
244
244
|
|
|
245
245
|
Add `.vibgrate/` to your `.gitignore` — those are regenerated local outputs.
|
|
246
246
|
|
|
247
|
+
More on how Vibgrate handles code and data: [vibgrate.com/security](https://vibgrate.com/security).
|
|
248
|
+
|
|
247
249
|
---
|
|
248
250
|
|
|
249
251
|
## Quick start with AI assistants
|
|
@@ -325,7 +327,7 @@ Full flag and configuration reference: **[DOCS.md](./DOCS.md)** · **[vibgrate.c
|
|
|
325
327
|
|
|
326
328
|
## Why teams adopt Vibgrate
|
|
327
329
|
|
|
328
|
-
Most systems don't fail all at once — they accumulate upgrade debt and architectural drift silently until migrations become expensive. `vg` makes that debt measurable and repeatable
|
|
330
|
+
Most systems don't fail all at once — they accumulate upgrade debt and architectural [drift](https://vibgrate.com/glossary/code-drift) silently until migrations become expensive. `vg` makes that debt measurable and repeatable — the practice we call [Code Drift Intelligence](https://vibgrate.com/code-drift-intelligence) — and gives AI assistants the local context they need to be useful:
|
|
329
331
|
|
|
330
332
|
| Mode | What you get | Best for |
|
|
331
333
|
| --- | --- | --- |
|
|
@@ -363,7 +365,9 @@ When `@vibgrate/cli` is installed, it registers **both** bin entries uncondition
|
|
|
363
365
|
·
|
|
364
366
|
<a href="https://vibgrate.com/cli">Try the live demo</a>
|
|
365
367
|
·
|
|
366
|
-
<a href="
|
|
368
|
+
<a href="https://vibgrate.com/cli/benchmarks">Benchmarks</a>
|
|
369
|
+
·
|
|
370
|
+
<a href="https://vibgrate.com/library">Vibgrate AI Context (local MCP)</a>
|
|
367
371
|
·
|
|
368
372
|
<a href="https://vibgrate.com/mcp">Vibgrate MCP (hosted)</a>
|
|
369
373
|
·
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"baseline-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"baseline-SRVG4ZAD.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { runCoreScan, writeJsonFile, compactUiPurpose } from './chunk-
|
|
1
|
+
import { runCoreScan, writeJsonFile, compactUiPurpose } from './chunk-NNU2PW2H.js';
|
|
2
2
|
import { findPackageJsonFiles, readJsonFile, findFiles, readTextFile, pathExists } from './chunk-GI6W53LM.js';
|
|
3
3
|
import * as path3 from 'path';
|
|
4
4
|
import { Command } from 'commander';
|
|
@@ -3731,5 +3731,5 @@ var baselineCommand = new Command("baseline").description("Create a drift baseli
|
|
|
3731
3731
|
});
|
|
3732
3732
|
|
|
3733
3733
|
export { baselineCommand, loadAdvancedScanHook, runBaseline };
|
|
3734
|
-
//# sourceMappingURL=chunk-
|
|
3735
|
-
//# sourceMappingURL=chunk-
|
|
3734
|
+
//# sourceMappingURL=chunk-4IHO6VUL.js.map
|
|
3735
|
+
//# sourceMappingURL=chunk-4IHO6VUL.js.map
|