@vibgrate/cli 2026.710.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Vibgrate CLI — Full Documentation
2
2
 
3
- > Continuous Drift Intelligence for Node, .NET, Python, and Java (all supported in the CLI today)
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** >= 20.0.0
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, and gives AI assistants the local context they need to be useful:
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
  &nbsp;·&nbsp;
364
366
  <a href="https://vibgrate.com/cli">Try the live demo</a>
365
367
  &nbsp;·&nbsp;
366
- <a href="./DOCS.md">Vibgrate AI Context (local MCP)</a>
368
+ <a href="https://vibgrate.com/cli/benchmarks">Benchmarks</a>
369
+ &nbsp;·&nbsp;
370
+ <a href="https://vibgrate.com/library">Vibgrate AI Context (local MCP)</a>
367
371
  &nbsp;·&nbsp;
368
372
  <a href="https://vibgrate.com/mcp">Vibgrate MCP (hosted)</a>
369
373
  &nbsp;·&nbsp;
@@ -0,0 +1,6 @@
1
+ export { baselineCommand, runBaseline } from './chunk-4IHO6VUL.js';
2
+ import './chunk-NNU2PW2H.js';
3
+ import './chunk-RXP66R2E.js';
4
+ import './chunk-GI6W53LM.js';
5
+ //# sourceMappingURL=baseline-SRVG4ZAD.js.map
6
+ //# sourceMappingURL=baseline-SRVG4ZAD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"baseline-EONSXRN7.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"baseline-SRVG4ZAD.js"}
@@ -1,4 +1,4 @@
1
- import { runCoreScan, writeJsonFile, compactUiPurpose } from './chunk-ZNCJZVNT.js';
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-OGRPKYRW.js.map
3735
- //# sourceMappingURL=chunk-OGRPKYRW.js.map
3734
+ //# sourceMappingURL=chunk-4IHO6VUL.js.map
3735
+ //# sourceMappingURL=chunk-4IHO6VUL.js.map