@vibgrate/cli 1.0.1 → 1.0.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/README.md +46 -7
- package/dist/{baseline-35XRSRAD.js → baseline-5SAUNH2V.js} +2 -2
- package/dist/{chunk-NTRKEIKP.js → chunk-GG5AUF7X.js} +1 -1
- package/dist/{chunk-VMNBKARQ.js → chunk-XZ4NRZMT.js} +435 -112
- package/dist/cli.js +31 -164
- package/dist/index.d.ts +11 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Modern codebases don't break all at once — they decay silently. Node runtimes
|
|
|
24
24
|
Run instantly with npx — no install required:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npx @vibgrate/cli scan
|
|
27
|
+
npx @vibgrate/cli scan
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Or install as a dev dependency:
|
|
@@ -36,14 +36,14 @@ npm install -D @vibgrate/cli
|
|
|
36
36
|
Then scan your project:
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
npx vibgrate scan
|
|
39
|
+
npx vibgrate scan
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
> **Why `npx`?** Installing with `-D` places the binary in `node_modules/.bin/`, which isn't on your system PATH. Use `npx` to run it, or add a script to your `package.json`:
|
|
43
43
|
>
|
|
44
44
|
> ```json
|
|
45
45
|
> "scripts": {
|
|
46
|
-
> "drift": "vibgrate scan
|
|
46
|
+
> "drift": "vibgrate scan"
|
|
47
47
|
> }
|
|
48
48
|
> ```
|
|
49
49
|
>
|
|
@@ -130,11 +130,17 @@ That's it. You'll see a full drift report in seconds.
|
|
|
130
130
|
1. Upgrade NestJS 10.3.0 → 11.0.0 in my-api
|
|
131
131
|
1 major version behind. Major framework drift increases
|
|
132
132
|
breaking change risk and blocks access to security fixes.
|
|
133
|
+
./src/api
|
|
134
|
+
NestJS: 10.3.0 → 11.0.0 (1 behind)
|
|
133
135
|
Impact: +5–15 points (framework score)
|
|
134
136
|
|
|
135
137
|
2. Reduce dependency rot in my-api (42% severely outdated)
|
|
136
138
|
3 of 53 dependencies are 2+ majors behind. Run `npm outdated`
|
|
137
139
|
and prioritise packages with known CVEs.
|
|
140
|
+
./src/api
|
|
141
|
+
express: 3.4.0 → 5.0.0 (2 majors behind)
|
|
142
|
+
lodash: 3.10.1 → 4.17.21 (1 major behind)
|
|
143
|
+
... and 1 more
|
|
138
144
|
Impact: +5–10 points (dependency score)
|
|
139
145
|
|
|
140
146
|
Scanned at 2026-02-16T00:00:00.000Z · 1.2s · 48 files scanned
|
|
@@ -179,7 +185,7 @@ Take a baseline snapshot, then measure drift over time:
|
|
|
179
185
|
|
|
180
186
|
```bash
|
|
181
187
|
npx vibgrate baseline .
|
|
182
|
-
npx vibgrate scan
|
|
188
|
+
npx vibgrate scan --baseline .vibgrate/baseline.json
|
|
183
189
|
```
|
|
184
190
|
|
|
185
191
|
### Multiple Output Formats
|
|
@@ -195,10 +201,26 @@ npx vibgrate scan . --baseline .vibgrate/baseline.json
|
|
|
195
201
|
|
|
196
202
|
Push scan results to the [Vibgrate Dashboard](https://vibgrate.com) for trend analysis, cross-repo comparison, and team-wide visibility. Upload is always opt-in — the CLI provides full value offline.
|
|
197
203
|
|
|
204
|
+
The easiest way is to combine scan and push in a single command:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
VIBGRATE_DSN="..." npx @vibgrate/cli scan --push
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Or pass the DSN directly:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
npx @vibgrate/cli scan --push --dsn "vibgrate+https://<key_id>:<secret>@us.ingest.vibgrate.com/<workspace_id>"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
You can also push a previously generated artifact separately:
|
|
217
|
+
|
|
198
218
|
```bash
|
|
199
219
|
VIBGRATE_DSN="..." vibgrate push
|
|
200
220
|
```
|
|
201
221
|
|
|
222
|
+
> **Get your DSN:** Sign up at [vibgrate.com](https://vibgrate.com) and your workspace will be created automatically with a ready-to-paste code snippet containing your DSN.
|
|
223
|
+
|
|
202
224
|
---
|
|
203
225
|
|
|
204
226
|
## CI Integration
|
|
@@ -207,18 +229,23 @@ VIBGRATE_DSN="..." vibgrate push
|
|
|
207
229
|
|
|
208
230
|
```yaml
|
|
209
231
|
- name: Vibgrate Scan
|
|
210
|
-
|
|
232
|
+
env:
|
|
233
|
+
VIBGRATE_DSN: ${{ secrets.VIBGRATE_DSN }}
|
|
234
|
+
run: npx @vibgrate/cli scan --push --format sarif --out vibgrate.sarif --fail-on error
|
|
211
235
|
|
|
212
236
|
- name: Upload SARIF
|
|
237
|
+
if: always()
|
|
213
238
|
uses: github/codeql-action/upload-sarif@v3
|
|
214
239
|
with:
|
|
215
240
|
sarif_file: vibgrate.sarif
|
|
216
241
|
```
|
|
217
242
|
|
|
243
|
+
> **Setup:** Add your DSN as a repository secret named `VIBGRATE_DSN` under **Settings → Secrets and variables → Actions**. Get your DSN from [vibgrate.com](https://vibgrate.com) — it's generated automatically when you create a workspace.
|
|
244
|
+
|
|
218
245
|
### Azure DevOps
|
|
219
246
|
|
|
220
247
|
```yaml
|
|
221
|
-
- script: npx @vibgrate/cli scan
|
|
248
|
+
- script: npx @vibgrate/cli scan --format sarif --out vibgrate.sarif --fail-on error
|
|
222
249
|
displayName: Vibgrate Scan
|
|
223
250
|
```
|
|
224
251
|
|
|
@@ -260,9 +287,20 @@ Vibgrate is designed to be safe to run on any codebase:
|
|
|
260
287
|
- **No source code is read** — only `package.json`, `tsconfig.json`, lockfiles, and project manifests
|
|
261
288
|
- **No secrets are scanned** — ever
|
|
262
289
|
- **No git history, authors, or commit messages** — only HEAD SHA and branch name for traceability
|
|
263
|
-
- **No data leaves your machine** unless you explicitly run `vibgrate push`
|
|
290
|
+
- **No data leaves your machine** unless you explicitly run `vibgrate push` or `vibgrate scan --push`
|
|
264
291
|
- **No login required** — works fully offline
|
|
265
292
|
|
|
293
|
+
### `.gitignore`
|
|
294
|
+
|
|
295
|
+
The `.vibgrate/` directory contains ephemeral scan results and should not be committed to version control. Add it to your `.gitignore`:
|
|
296
|
+
|
|
297
|
+
```gitignore
|
|
298
|
+
# Vibgrate scan results (do not commit)
|
|
299
|
+
.vibgrate/
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
The CLI writes per-project score files to `.vibgrate/` inside each detected project directory. These are regenerated on every scan and should not be copied between environments.
|
|
303
|
+
|
|
266
304
|
---
|
|
267
305
|
|
|
268
306
|
## Commands
|
|
@@ -270,6 +308,7 @@ Vibgrate is designed to be safe to run on any codebase:
|
|
|
270
308
|
| Command | Description |
|
|
271
309
|
|---------|-------------|
|
|
272
310
|
| `vibgrate scan [path]` | Scan for upgrade drift |
|
|
311
|
+
| `vibgrate scan --push` | Scan and auto-push to dashboard |
|
|
273
312
|
| `vibgrate baseline [path]` | Create a drift baseline |
|
|
274
313
|
| `vibgrate report` | Generate a report from a scan artifact |
|
|
275
314
|
| `vibgrate init [path]` | Initialise config and `.vibgrate/` directory |
|