@vibgrate/cli 2026.711.1 → 2026.715.1
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 +77 -11
- package/README.md +16 -12
- package/dist/baseline-BTLZWSNS.js +6 -0
- package/dist/{baseline-V5XGS76K.js.map → baseline-BTLZWSNS.js.map} +1 -1
- package/dist/{chunk-3BWPEPWH.js → chunk-6DKWB2OI.js} +628 -4
- package/dist/chunk-6DKWB2OI.js.map +1 -0
- package/dist/{chunk-2PCL4ZME.js → chunk-C5AVF7PT.js} +306 -70
- package/dist/chunk-C5AVF7PT.js.map +1 -0
- package/dist/{chunk-MIJ3ZSSF.js → chunk-D4BPWARI.js} +260 -92
- package/dist/chunk-D4BPWARI.js.map +1 -0
- package/dist/{chunk-X5YT263H.js → chunk-VFO5UDAT.js} +21 -2
- package/dist/chunk-VFO5UDAT.js.map +1 -0
- package/dist/cli.js +1016 -97
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +20 -6
- package/dist/index.js +3 -3
- package/dist/parse-worker.d.ts +1 -1
- package/dist/parse-worker.js +2 -1
- package/dist/parse-worker.js.map +1 -1
- package/dist/{types-CXnp1uGj.d.ts → types-BgNa-FZQ.d.ts} +8 -0
- package/package.json +2 -2
- package/skills/README.md +2 -2
- package/dist/baseline-V5XGS76K.js +0 -6
- package/dist/chunk-2PCL4ZME.js.map +0 -1
- package/dist/chunk-3BWPEPWH.js.map +0 -1
- package/dist/chunk-MIJ3ZSSF.js.map +0 -1
- package/dist/chunk-X5YT263H.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
|
|
|
@@ -76,6 +76,7 @@ For a quick overview, see the [README](./README.md). This document covers everyt
|
|
|
76
76
|
- [Security Posture](#security-posture)
|
|
77
77
|
- [Security Scanners](#security-scanners)
|
|
78
78
|
- [Service Dependencies](#service-dependencies)
|
|
79
|
+
- [Database Schema](#database-schema)
|
|
79
80
|
- [Architecture Layers](#architecture-layers)
|
|
80
81
|
- [Code Quality Metrics](#code-quality-metrics)
|
|
81
82
|
- [OWASP Category Mapping](#owasp-category-mapping)
|
|
@@ -100,10 +101,10 @@ Vibgrate recursively scans your repository for `package.json` (Node/TypeScript),
|
|
|
100
101
|
1. **Detects** the runtime version, target framework, and all dependencies
|
|
101
102
|
2. **Queries** the npm/NuGet registry for latest stable versions (with built-in caching and concurrency control)
|
|
102
103
|
3. **Computes** how far behind each component is — major version lag, EOL proximity, dependency age distribution
|
|
103
|
-
4. **Generates** a deterministic DriftScore (0–100)
|
|
104
|
+
4. **Generates** a deterministic [DriftScore](https://vibgrate.com/driftscore) (0–100)
|
|
104
105
|
5. **Produces** findings, a full JSON artifact, and optional SARIF output
|
|
105
106
|
|
|
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.
|
|
107
|
+
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
108
|
|
|
108
109
|
---
|
|
109
110
|
|
|
@@ -291,9 +292,9 @@ breaking-change signals, and considers the API surface — the classes and
|
|
|
291
292
|
functions your code imports — that a new version must preserve.
|
|
292
293
|
|
|
293
294
|
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
|
|
295
|
+
against [OSV](https://vibgrate.com/glossary/osv) in both directions (advisories **remediated** vs. **introduced**), and
|
|
296
|
+
current-version advisories are cross-referenced with the [**CISA KEV**](https://vibgrate.com/glossary/kev) (known-
|
|
297
|
+
exploited) list and [**FIRST EPSS**](https://vibgrate.com/glossary/epss) (exploit-probability) scores. A package with a
|
|
297
298
|
known-exploited advisory is treated as must-fix, so the recommendation prioritises
|
|
298
299
|
"fix these few" over churning everything. Advisories with no upgrade path in any
|
|
299
300
|
plan are called out as unresolved.
|
|
@@ -409,7 +410,7 @@ vg report [--in <file>] [--format md|text|json]
|
|
|
409
410
|
|
|
410
411
|
### vg sbom
|
|
411
412
|
|
|
412
|
-
Export SBOMs from an existing scan artifact or compare two artifacts.
|
|
413
|
+
Export [SBOMs](https://vibgrate.com/glossary/sbom) from an existing scan artifact or compare two artifacts.
|
|
413
414
|
|
|
414
415
|
```bash
|
|
415
416
|
vg sbom export [--in <file>] [--format cyclonedx|spdx] [--out <file>]
|
|
@@ -491,7 +492,7 @@ Expected results:
|
|
|
491
492
|
|
|
492
493
|
`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
494
|
|
|
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.
|
|
495
|
+
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
496
|
|
|
496
497
|
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
498
|
|
|
@@ -855,7 +856,7 @@ Add `--json` for machine-readable output.
|
|
|
855
856
|
|
|
856
857
|
### vg serve
|
|
857
858
|
|
|
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`).
|
|
859
|
+
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
860
|
|
|
860
861
|
```bash
|
|
861
862
|
vg serve
|
|
@@ -1027,6 +1028,8 @@ The DriftScore is a deterministic, versioned metric (0–100) that represents ho
|
|
|
1027
1028
|
|
|
1028
1029
|
**Lower score = healthier upgrade posture.** 0 means no drift (fully current); 100 means maximum drift. Higher is worse.
|
|
1029
1030
|
|
|
1031
|
+
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).
|
|
1032
|
+
|
|
1030
1033
|
### Risk Levels
|
|
1031
1034
|
|
|
1032
1035
|
| Score | Risk Level |
|
|
@@ -1107,6 +1110,7 @@ const config: VibgrateConfig = {
|
|
|
1107
1110
|
securityPosture: { enabled: true },
|
|
1108
1111
|
securityScanners: { enabled: true },
|
|
1109
1112
|
serviceDependencies: { enabled: true },
|
|
1113
|
+
databaseSchema: { enabled: true },
|
|
1110
1114
|
},
|
|
1111
1115
|
};
|
|
1112
1116
|
|
|
@@ -1162,7 +1166,34 @@ Beyond the core drift score, Vibgrate runs a suite of extended scanners that col
|
|
|
1162
1166
|
- Are **read-only** — they never write files or execute project code
|
|
1163
1167
|
- Run **in parallel** — failures in one scanner never affect the others
|
|
1164
1168
|
- Can be **individually toggled** in the config
|
|
1165
|
-
- Collect **zero sensitive data** — no
|
|
1169
|
+
- Collect **zero sensitive data** — no secrets, no PII, and no credentials, even the ones that do open source files (below)
|
|
1170
|
+
|
|
1171
|
+
The core drift score is manifest/lockfile-only. Several extended scanners, and
|
|
1172
|
+
the code graph (`vg build`/`vg map`/`vg share`/`vg serve`), go further and open
|
|
1173
|
+
your source files locally — that is how they work, not an accident:
|
|
1174
|
+
|
|
1175
|
+
| Reads source locally | What it extracts | Keeps raw text? |
|
|
1176
|
+
|---|---|---|
|
|
1177
|
+
| **Code graph** (`vg build`/`vg map`) | Symbol names, call edges, file paths, hubs/areas — the graph itself | No — never a source line, only structural graph facts |
|
|
1178
|
+
| **Code Quality** (`codeQuality`) | Cyclomatic complexity, function length, nesting depth, dead code, "god files" | No — computed metrics only |
|
|
1179
|
+
| **Breaking Change Exposure** (`breakingChangeExposure`) | Import/usage-pattern hit counts for majorly-outdated packages | No — counts only |
|
|
1180
|
+
| **Database Schema** (`databaseSchema`) | Table/model names, column names and types, relation/key flags from SQL/Prisma/Drizzle/TypeORM files | No — never a query, row, or credential |
|
|
1181
|
+
| **UI Purpose** (`uiPurpose`) | Route/nav/title/CTA copy, for feature detection | **Yes** — short evidence samples of the literal UI text are kept locally (never business logic, never a full file) |
|
|
1182
|
+
|
|
1183
|
+
None of this is executed, and **nothing above leaves your machine** unless you
|
|
1184
|
+
run `vg share`/`vg push` or scan with a DSN configured — and even then, what
|
|
1185
|
+
uploads is the computed/structural output in the table above, never a raw
|
|
1186
|
+
source file. Each of these is individually toggleable; set the matching
|
|
1187
|
+
`scanners.<name>.enabled` to `false` (or `scanners: false` for all extended
|
|
1188
|
+
scanners, which does not affect the code graph) if you don't want the read to
|
|
1189
|
+
happen at all. See [Scanner Toggles](#scanner-toggles) above and each
|
|
1190
|
+
scanner's own section below.
|
|
1191
|
+
|
|
1192
|
+
The one exception where code truly leaves your machine is the **remediation
|
|
1193
|
+
agent**: when you ask it to write a fix, it clones your repository into an
|
|
1194
|
+
isolated virtual machine Vibgrate controls, makes the change, and hands you a
|
|
1195
|
+
pull request. That only happens when you ask for it. See
|
|
1196
|
+
[vibgrate.com/subprocessors](https://vibgrate.com/subprocessors) for who processes what.
|
|
1166
1197
|
|
|
1167
1198
|
### Platform Matrix
|
|
1168
1199
|
|
|
@@ -1297,6 +1328,30 @@ Maps external service and platform dependencies by detecting SDK packages:
|
|
|
1297
1328
|
| Messaging | SQS, SNS, Kafka, BullMQ |
|
|
1298
1329
|
| Observability | Sentry, DataDog, New Relic |
|
|
1299
1330
|
|
|
1331
|
+
### Database Schema
|
|
1332
|
+
|
|
1333
|
+
Extracts structural database-schema facts across five sources — Prisma
|
|
1334
|
+
(`schema.prisma`), raw SQL migrations (`.sql` files), SQL Server database
|
|
1335
|
+
projects (`.sqlproj`), Drizzle (`pgTable`/`mysqlTable`/`sqliteTable`), and
|
|
1336
|
+
TypeORM (`@Entity()` classes) — merged into one report:
|
|
1337
|
+
|
|
1338
|
+
- Table/model names, per-field name and type, and relation/list/optional/id/unique flags
|
|
1339
|
+
- Enum names and values (Prisma)
|
|
1340
|
+
- Datasource providers (e.g. `postgresql`, `mysql`) — never the connection-string `url`
|
|
1341
|
+
- Files scanned, with a per-project breakdown
|
|
1342
|
+
|
|
1343
|
+
Only structural facts are ever extracted — never a raw source line, a query,
|
|
1344
|
+
or a connection string/credential (any `scheme://user:pass@host` line is
|
|
1345
|
+
stripped as defense in depth even though hand-written SQL rarely embeds one).
|
|
1346
|
+
Reading these facts means opening `.sql`/`.prisma`/ORM source files locally —
|
|
1347
|
+
see the table at the top of this section for how this compares to the code
|
|
1348
|
+
graph and the other scanners that also read source. It's on by default; disable it with
|
|
1349
|
+
`scanners.databaseSchema.enabled: false` in `vibgrate.config.ts` (see
|
|
1350
|
+
[Scanner Toggles](#scanner-toggles)). Like every extended scanner, results
|
|
1351
|
+
only leave your machine when you run `vg push` or scan with a DSN configured
|
|
1352
|
+
— and the models/fields/files arrays are capped before upload so a
|
|
1353
|
+
large-monorepo schema can't balloon the payload.
|
|
1354
|
+
|
|
1300
1355
|
### Architecture Layers
|
|
1301
1356
|
|
|
1302
1357
|
Classifies source files into architectural layers and reports drift by layer to make refactors more predictable:
|
|
@@ -1482,7 +1537,7 @@ import type {
|
|
|
1482
1537
|
|
|
1483
1538
|
## Requirements
|
|
1484
1539
|
|
|
1485
|
-
- **Node.js** >=
|
|
1540
|
+
- **Node.js** >= 22.0.0
|
|
1486
1541
|
- Works on macOS, Linux, and Windows
|
|
1487
1542
|
|
|
1488
1543
|
---
|
|
@@ -1490,6 +1545,17 @@ import type {
|
|
|
1490
1545
|
## Links
|
|
1491
1546
|
|
|
1492
1547
|
- [Website](https://vibgrate.com)
|
|
1548
|
+
- [Vibgrate CLI — live demo and simulator](https://vibgrate.com/cli)
|
|
1549
|
+
- [CLI benchmarks](https://vibgrate.com/cli/benchmarks) · [methodology](https://vibgrate.com/cli/benchmarks/methodology) · [token savings](https://vibgrate.com/cli/benchmarks/token-savings)
|
|
1550
|
+
- [DriftScore](https://vibgrate.com/driftscore)
|
|
1551
|
+
- [Vibgrate AI Context (local-first MCP)](https://vibgrate.com/library)
|
|
1552
|
+
- [Vibgrate Graph](https://vibgrate.com/graph)
|
|
1553
|
+
- [Vibgrate Cloud](https://vibgrate.com/cloud) · [create a free workspace](https://dash.vibgrate.com)
|
|
1554
|
+
- [Vibgrate MCP (hosted)](https://vibgrate.com/mcp)
|
|
1555
|
+
- [AI agent skills](https://vibgrate.com/skills)
|
|
1556
|
+
- [Glossary](https://vibgrate.com/glossary)
|
|
1557
|
+
- [Help center](https://vibgrate.com/help)
|
|
1558
|
+
- [Changelog](https://vibgrate.com/changelog)
|
|
1493
1559
|
- [npm](https://www.npmjs.com/package/@vibgrate/cli)
|
|
1494
1560
|
|
|
1495
1561
|
---
|
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:**
|
|
@@ -232,8 +232,8 @@ vg vex # generate an OpenVEX document for attestation
|
|
|
232
232
|
|
|
233
233
|
## Privacy & offline-first
|
|
234
234
|
|
|
235
|
-
- No data leaves your machine unless you run `--push` / `vg push`.
|
|
236
|
-
-
|
|
235
|
+
- No data leaves your machine unless you run `--push` / `vg push` / `vg share`.
|
|
236
|
+
- Drift scoring reads manifests and configs only. The code graph (`vg build`/`vg map`) and a few extended scanners (code quality, database schema, UI text) read your source **locally** to compute structural facts and metrics — never a raw source line, and never uploaded as-is; see [DOCS.md](./DOCS.md#extended-scanners) for exactly what each one reads.
|
|
237
237
|
- Works without login and without any SaaS dependency.
|
|
238
238
|
- `--offline` disables registry/network lookups; `--package-manifest <file>` feeds drift scoring a local version bundle.
|
|
239
239
|
- `--max-privacy` suppresses local artifact writes and high-context scanners; `--no-local-artifacts` skips writing `.vibgrate/*.json` to disk.
|
|
@@ -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-BTLZWSNS.js"}
|