@vibgrate/cli 1.0.1 → 1.0.3

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 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 . --baseline .vibgrate/baseline.json
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
- run: npx @vibgrate/cli scan . --format sarif --out vibgrate.sarif --fail-on error
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 . --format sarif --out vibgrate.sarif --fail-on error
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 |
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  baselineCommand,
3
3
  runBaseline
4
- } from "./chunk-NTRKEIKP.js";
5
- import "./chunk-VMNBKARQ.js";
4
+ } from "./chunk-LFLJ2AXJ.js";
5
+ import "./chunk-5YYLI4QL.js";
6
6
  export {
7
7
  baselineCommand,
8
8
  runBaseline