@nerviq/cli 1.11.0 → 1.13.0
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 +216 -124
- package/bin/cli.js +620 -183
- package/package.json +3 -2
- package/src/activity.js +49 -9
- package/src/adoption-advisor.js +299 -0
- package/src/aider/freshness.js +65 -20
- package/src/aider/techniques.js +16 -11
- package/src/analyze.js +128 -0
- package/src/anti-patterns.js +13 -0
- package/src/audit/instruction-files.js +180 -0
- package/src/audit/recommendations.js +531 -0
- package/src/audit.js +53 -681
- package/src/behavioral-drift.js +801 -0
- package/src/codex/freshness.js +84 -25
- package/src/continuous-ops.js +681 -0
- package/src/copilot/freshness.js +57 -20
- package/src/cost-tracking.js +61 -0
- package/src/cursor/freshness.js +65 -20
- package/src/cursor/techniques.js +17 -12
- package/src/deep-review.js +83 -0
- package/src/diff-only.js +280 -0
- package/src/doctor.js +118 -55
- package/src/freshness.js +74 -21
- package/src/gemini/freshness.js +66 -21
- package/src/governance.js +59 -43
- package/src/hook-validation.js +342 -0
- package/src/index.js +5 -0
- package/src/integrations.js +42 -5
- package/src/mcp-server.js +95 -59
- package/src/mcp-validation.js +337 -0
- package/src/opencode/freshness.js +66 -21
- package/src/opencode/techniques.js +12 -7
- package/src/operating-profile.js +574 -0
- package/src/org.js +97 -13
- package/src/plans.js +192 -8
- package/src/platform-change-manifest.js +86 -0
- package/src/policy-layers.js +210 -0
- package/src/profiles.js +4 -1
- package/src/prompt-injection.js +74 -0
- package/src/repo-archetype.js +386 -0
- package/src/setup/analysis.js +619 -0
- package/src/setup/runtime.js +172 -0
- package/src/setup.js +62 -748
- package/src/source-urls.js +132 -132
- package/src/supplemental-checks.js +13 -12
- package/src/techniques/api.js +407 -0
- package/src/techniques/automation.js +316 -0
- package/src/techniques/compliance.js +257 -0
- package/src/techniques/hygiene.js +294 -0
- package/src/techniques/instructions.js +243 -0
- package/src/techniques/observability.js +226 -0
- package/src/techniques/optimization.js +142 -0
- package/src/techniques/quality.js +317 -0
- package/src/techniques/security.js +237 -0
- package/src/techniques/shared.js +443 -0
- package/src/techniques/stacks.js +2294 -0
- package/src/techniques/tools.js +106 -0
- package/src/techniques/workflow.js +413 -0
- package/src/techniques.js +78 -5607
- package/src/watch.js +18 -0
- package/src/windsurf/freshness.js +36 -21
- package/src/windsurf/techniques.js +17 -12
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@nerviq/cli)
|
|
6
6
|
[](LICENSE)
|
|
7
|
-
[](https://github.com/nerviq/nerviq)
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -64,31 +64,32 @@ Nerviq scores your AI coding agent setup from 0 to 100, finds what's missing, an
|
|
|
64
64
|
Next: nerviq setup
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
## Quick Start
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
npx @nerviq/cli --beginner # Show only the 5 starter commands
|
|
71
|
-
npx @nerviq/cli audit # Quick scan: score + top 3 actions
|
|
72
|
-
npx @nerviq/cli audit --full # Full audit with all checks + badge
|
|
73
|
-
npx @nerviq/cli audit --snapshot --tag "pre-refactor" # Save a named snapshot for history/compare/trend
|
|
74
|
-
npx @nerviq/cli
|
|
75
|
-
npx @nerviq/cli
|
|
76
|
-
npx @nerviq/cli audit --
|
|
77
|
-
npx @nerviq/cli
|
|
78
|
-
npx @nerviq/cli
|
|
79
|
-
npx @nerviq/cli
|
|
80
|
-
npx @nerviq/cli
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
67
|
+
## Quick Start
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx @nerviq/cli --beginner # Show only the 5 starter commands
|
|
71
|
+
npx @nerviq/cli audit # Quick scan: score + top 3 actions
|
|
72
|
+
npx @nerviq/cli audit --full # Full audit with all checks + badge
|
|
73
|
+
npx @nerviq/cli audit --snapshot --tag "pre-refactor" # Save a named snapshot for history/compare/trend
|
|
74
|
+
npx @nerviq/cli audit --diff-only # PR/working-tree audit: changed files + linked governance/config surfaces only
|
|
75
|
+
npx @nerviq/cli compare # Detailed per-check diff between latest 2 audit snapshots
|
|
76
|
+
npx @nerviq/cli audit --webhook https://hooks.slack.com/services/... # Push audit results to Slack/Discord/generic HTTP
|
|
77
|
+
npx @nerviq/cli audit --workspace packages/* # Monorepo: root governance + stack-specific workspace profiles
|
|
78
|
+
npx @nerviq/cli setup # Generate starter-safe baseline
|
|
79
|
+
npx @nerviq/cli augment # Improvement plan, no writes
|
|
80
|
+
npx @nerviq/cli governance # Permission profiles + policy packs
|
|
81
|
+
npx @nerviq/cli benchmark # Baseline vs projected score in isolated copy
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
No install required. Zero dependencies.
|
|
85
|
+
|
|
86
|
+
Text-mode CLI output explains terms like `MCP`, `hooks`, `deny rules`, and `governance` inline when they appear, so a first audit is easier to read.
|
|
87
|
+
|
|
88
|
+
If you want the shortest possible command list inside the terminal, start with:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npx @nerviq/cli --beginner
|
|
92
|
+
```
|
|
92
93
|
|
|
93
94
|
## Get Started by Role
|
|
94
95
|
|
|
@@ -98,7 +99,7 @@ npx @nerviq/cli --beginner
|
|
|
98
99
|
| **Team lead / DevEx** | `nerviq governance` → `nerviq audit --json` | CI threshold + `nerviq watch` |
|
|
99
100
|
| **Enterprise / Platform** | `nerviq harmony-audit` → `nerviq harmony-drift` | Policy packs + `nerviq certify` |
|
|
100
101
|
|
|
101
|
-
## 2,
|
|
102
|
+
## 2,441 Checks Across 96 Categories (8 Platforms × ~300 Governance Rules)
|
|
102
103
|
|
|
103
104
|
| Category Group | Checks | Examples |
|
|
104
105
|
|----------------|--------|---------|
|
|
@@ -141,69 +142,105 @@ npx @nerviq/cli synergy-report # Multi-agent synergy analysis
|
|
|
141
142
|
|
|
142
143
|
Synergy evaluates compound audit results, discovers compensation patterns (where one platform covers another's gaps), and ranks recommendations by cross-platform impact.
|
|
143
144
|
|
|
144
|
-
## SDK — `@nerviq/sdk` `BETA`
|
|
145
|
-
|
|
146
|
-
Programmatic access to all Nerviq capabilities:
|
|
147
|
-
|
|
148
|
-
```js
|
|
149
|
-
const { audit, harmonyAudit, detectPlatforms } = require('@nerviq/sdk');
|
|
150
|
-
|
|
151
|
-
async function main() {
|
|
152
|
-
try {
|
|
153
|
-
const result = await audit('.', 'claude');
|
|
154
|
-
console.log(`Score: ${result.score}/100`);
|
|
155
|
-
|
|
156
|
-
const platforms = detectPlatforms('.');
|
|
157
|
-
console.log(`Active platforms: ${platforms.join(', ') || 'none detected'}`);
|
|
158
|
-
|
|
159
|
-
const harmony = await harmonyAudit('.');
|
|
160
|
-
console.log(`Harmony score: ${harmony.harmonyScore}/100`);
|
|
161
|
-
} catch (error) {
|
|
162
|
-
console.error(error instanceof Error ? error.message : 'Unknown SDK error');
|
|
163
|
-
process.exitCode = 1;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
main();
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
Stable SDK surfaces: `audit`, `harmonyAudit`, `detectPlatforms`, `getCatalog`
|
|
171
|
-
Experimental SDK surfaces: `synergyReport`, `routeTask`
|
|
172
|
-
|
|
173
|
-
See [sdk/README.md](sdk/README.md) for full JavaScript examples, error handling guidance, and TypeScript usage.
|
|
174
|
-
|
|
175
|
-
##
|
|
176
|
-
|
|
177
|
-
Nerviq
|
|
145
|
+
## SDK — `@nerviq/sdk` `BETA`
|
|
146
|
+
|
|
147
|
+
Programmatic access to all Nerviq capabilities:
|
|
148
|
+
|
|
149
|
+
```js
|
|
150
|
+
const { audit, harmonyAudit, detectPlatforms } = require('@nerviq/sdk');
|
|
151
|
+
|
|
152
|
+
async function main() {
|
|
153
|
+
try {
|
|
154
|
+
const result = await audit('.', 'claude');
|
|
155
|
+
console.log(`Score: ${result.score}/100`);
|
|
156
|
+
|
|
157
|
+
const platforms = detectPlatforms('.');
|
|
158
|
+
console.log(`Active platforms: ${platforms.join(', ') || 'none detected'}`);
|
|
159
|
+
|
|
160
|
+
const harmony = await harmonyAudit('.');
|
|
161
|
+
console.log(`Harmony score: ${harmony.harmonyScore}/100`);
|
|
162
|
+
} catch (error) {
|
|
163
|
+
console.error(error instanceof Error ? error.message : 'Unknown SDK error');
|
|
164
|
+
process.exitCode = 1;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
main();
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Stable SDK surfaces: `audit`, `harmonyAudit`, `detectPlatforms`, `getCatalog`
|
|
172
|
+
Experimental SDK surfaces: `synergyReport`, `routeTask`
|
|
173
|
+
|
|
174
|
+
See [sdk/README.md](sdk/README.md) for full JavaScript examples, error handling guidance, and TypeScript usage.
|
|
175
|
+
|
|
176
|
+
## Integration Contract Pack
|
|
177
|
+
|
|
178
|
+
Nerviq publishes a compact integration pack so external systems do not need to scrape CLI text:
|
|
179
|
+
|
|
180
|
+
- OpenAPI 3.1 contract from `nerviq serve` via `GET /api/openapi.json`
|
|
181
|
+
- Separate `nerviq-mcp` stdio JSON-RPC 2.0 transport for MCP hosts
|
|
182
|
+
- Generic audit webhook schema at [`contracts/audit-webhook-event.schema.json`](contracts/audit-webhook-event.schema.json)
|
|
183
|
+
- CI reference patterns in [`docs/ci-integration.md`](docs/ci-integration.md)
|
|
184
|
+
- SDK usage guide in [`sdk/README.md`](sdk/README.md)
|
|
185
|
+
- First-tier release gate in [`docs/first-tier-integration-gate.md`](docs/first-tier-integration-gate.md)
|
|
186
|
+
|
|
187
|
+
See [`docs/integration-contracts.md`](docs/integration-contracts.md) for the full pack.
|
|
188
|
+
|
|
189
|
+
## Category Definition Kit
|
|
190
|
+
|
|
191
|
+
Nerviq is positioned as the control plane for AI-enabled development:
|
|
192
|
+
|
|
193
|
+
- a repo-native governance layer for AI coding agents
|
|
194
|
+
- a cross-platform drift detector and operating model
|
|
195
|
+
- not a full SAST scanner, prompt library, or single-vendor IDE plugin
|
|
196
|
+
|
|
197
|
+
See [`docs/category-definition-kit.md`](docs/category-definition-kit.md) for the category language, comparison matrix, operating model, and adoption playbook.
|
|
198
|
+
|
|
199
|
+
## HTTP API — `nerviq serve`
|
|
200
|
+
|
|
201
|
+
Nerviq ships with a built-in local HTTP API for dashboards, wrappers, scripts, and language-neutral integrations:
|
|
178
202
|
|
|
179
203
|
```bash
|
|
180
204
|
npx @nerviq/cli serve --port 3000
|
|
181
205
|
```
|
|
182
206
|
|
|
183
|
-
Endpoints:
|
|
184
|
-
- `GET /api/openapi.json` — Live OpenAPI 3.1 contract for this `serve` instance
|
|
185
|
-
- `GET /api/health` — Server health check
|
|
186
|
-
- `GET /api/catalog` — Full check catalog
|
|
187
|
-
- `GET /api/audit` — Run audit on a directory and platform via query params
|
|
188
|
-
- `GET /api/harmony` — Cross-platform harmony data
|
|
189
|
-
|
|
190
|
-
All successful operational responses are wrapped in a JSON envelope:
|
|
191
|
-
|
|
192
|
-
```json
|
|
193
|
-
{
|
|
194
|
-
"data": {},
|
|
195
|
-
"meta": {
|
|
196
|
-
"version": "1.
|
|
197
|
-
"timestamp": "2026-04-
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
Pull the contract directly into Swagger UI, Postman, or internal tooling:
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
curl http://127.0.0.1:3000/api/openapi.json > nerviq-openapi.json
|
|
206
|
-
```
|
|
207
|
+
Endpoints:
|
|
208
|
+
- `GET /api/openapi.json` — Live OpenAPI 3.1 contract for this `serve` instance
|
|
209
|
+
- `GET /api/health` — Server health check
|
|
210
|
+
- `GET /api/catalog` — Full check catalog
|
|
211
|
+
- `GET /api/audit` — Run audit on a directory and platform via query params
|
|
212
|
+
- `GET /api/harmony` — Cross-platform harmony data
|
|
213
|
+
|
|
214
|
+
All successful operational responses are wrapped in a JSON envelope:
|
|
215
|
+
|
|
216
|
+
```json
|
|
217
|
+
{
|
|
218
|
+
"data": {},
|
|
219
|
+
"meta": {
|
|
220
|
+
"version": "1.13.0",
|
|
221
|
+
"timestamp": "2026-04-10T12:00:00.000Z"
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Pull the contract directly into Swagger UI, Postman, or internal tooling:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
curl http://127.0.0.1:3000/api/openapi.json > nerviq-openapi.json
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
This HTTP surface is separate from the MCP transport. If your host expects Model Context Protocol over stdio, register the `nerviq-mcp` binary instead of pointing it at `nerviq serve`:
|
|
233
|
+
|
|
234
|
+
```json
|
|
235
|
+
{
|
|
236
|
+
"mcpServers": {
|
|
237
|
+
"nerviq": {
|
|
238
|
+
"command": "npx",
|
|
239
|
+
"args": ["-y", "-p", "@nerviq/cli", "nerviq-mcp"]
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
```
|
|
207
244
|
|
|
208
245
|
## Plugin System — `nerviq.config.js`
|
|
209
246
|
|
|
@@ -270,26 +307,28 @@ Levels:
|
|
|
270
307
|
|
|
271
308
|
| Command | What it does |
|
|
272
309
|
|---------|-------------|
|
|
273
|
-
| `nerviq audit` | Score 0-100 — quick scan with top 3 actions (default) |
|
|
274
|
-
| `nerviq audit --full` | Full audit with all checks, weakest areas, confidence labels |
|
|
310
|
+
| `nerviq audit` | Score 0-100 — quick scan with top 3 actions and milestone coaching (default) |
|
|
311
|
+
| `nerviq audit --full` | Full audit with all checks, weakest areas, confidence labels, and milestone coaching |
|
|
312
|
+
| `nerviq audit --diff-only` | Analyze only changed files plus linked governance/config surfaces from git diff / working tree |
|
|
275
313
|
| `nerviq fix <key>` | Auto-fix a specific check (shows score impact) |
|
|
276
314
|
| `nerviq fix --all-critical` | Fix all critical issues at once |
|
|
277
315
|
| `nerviq rollback` | Undo the most recent apply (delete created files) |
|
|
278
316
|
| `nerviq rollback --list` | Show available rollback points |
|
|
279
317
|
| `nerviq setup` | Generate starter-safe CLAUDE.md + hooks + commands |
|
|
280
|
-
| `nerviq augment` | Repo-aware improvement plan (no writes) |
|
|
281
|
-
| `nerviq suggest-only` | Structured report for sharing |
|
|
318
|
+
| `nerviq augment` | Repo-aware improvement plan with archetype profiling, operating profile, and adopt/defer/ignore guidance (no writes) |
|
|
319
|
+
| `nerviq suggest-only` | Structured report for sharing, including repo archetype, operating profile, and adopt/defer/ignore guidance |
|
|
282
320
|
| `nerviq plan` | Export proposal bundles with previews |
|
|
283
321
|
| `nerviq apply` | Apply proposals with rollback |
|
|
284
322
|
| `nerviq governance` | Permission profiles, hooks, policy packs |
|
|
285
|
-
| `nerviq benchmark` | Baseline vs projected score in isolated temp copy |
|
|
323
|
+
| `nerviq benchmark` | Baseline vs projected score in isolated temp copy |
|
|
286
324
|
| `nerviq check-health` | Detect regressions between audit snapshots |
|
|
287
325
|
| `nerviq deep-review` | AI-powered config review (opt-in) |
|
|
326
|
+
| `nerviq deep-review --behavioral` | Local behavioral drift review with outcome-layer heuristics |
|
|
288
327
|
| `nerviq interactive` | Step-by-step guided wizard |
|
|
289
328
|
| `nerviq watch` | Live monitoring with score delta |
|
|
290
|
-
| `nerviq history` | Audit snapshot history from saved snapshots |
|
|
291
|
-
| `nerviq compare` | Compare latest vs previous audit snapshot |
|
|
292
|
-
| `nerviq trend` | Export audit snapshot trend report |
|
|
329
|
+
| `nerviq history` | Audit snapshot history from saved snapshots |
|
|
330
|
+
| `nerviq compare` | Compare latest vs previous audit snapshot |
|
|
331
|
+
| `nerviq trend` | Export audit snapshot trend report |
|
|
293
332
|
| `nerviq feedback` | Record recommendation outcomes |
|
|
294
333
|
| `nerviq anti-patterns` | Detect anti-patterns in current project |
|
|
295
334
|
| `nerviq freshness` | Show verification freshness for all checks |
|
|
@@ -298,6 +337,7 @@ Levels:
|
|
|
298
337
|
| `nerviq certify` | Certification level + badge |
|
|
299
338
|
| `nerviq scan dir1 dir2` | Compare multiple repos |
|
|
300
339
|
| `nerviq org scan dir1 dir2` | Aggregate multiple repos into one score table |
|
|
340
|
+
| `nerviq org policy` | Inspect resolved org/team/repo policy layers |
|
|
301
341
|
| `nerviq harmony-audit` | Cross-platform DX audit |
|
|
302
342
|
| `nerviq harmony-sync` | Sync config across platforms |
|
|
303
343
|
| `nerviq harmony-drift` | Detect platform drift |
|
|
@@ -306,52 +346,104 @@ Levels:
|
|
|
306
346
|
| `nerviq harmony-governance` | Unified platform governance |
|
|
307
347
|
| `nerviq synergy-report` | Multi-agent synergy analysis |
|
|
308
348
|
| `nerviq catalog` | Show check catalog for all 8 platforms |
|
|
309
|
-
| `nerviq doctor` | Self-diagnostics |
|
|
349
|
+
| `nerviq doctor` | Self-diagnostics for install health, freshness, platform detection, declared MCP servers, and hook runtime |
|
|
310
350
|
| `nerviq convert` | Convert config between platforms |
|
|
311
351
|
| `nerviq migrate` | Migrate platform config versions |
|
|
312
|
-
| `nerviq serve` | Start local
|
|
352
|
+
| `nerviq serve` | Start local HTTP API + OpenAPI contract |
|
|
313
353
|
|
|
314
354
|
## Options
|
|
315
355
|
|
|
316
356
|
| Flag | Effect |
|
|
317
357
|
|------|--------|
|
|
318
|
-
| `--full` | Full audit output (all checks, weakest areas, confidence labels) |
|
|
358
|
+
| `--full` | Full audit output (all checks, weakest areas, confidence labels, milestone coaching) |
|
|
319
359
|
| `--verbose` | Full audit + medium-priority recommendations |
|
|
320
360
|
| `--threshold N` | Exit 1 if score < N (for CI) |
|
|
321
361
|
| `--json` | Machine-readable JSON output |
|
|
322
|
-
| `--out FILE` | Write output to file |
|
|
323
|
-
| `--webhook URL` | POST audit results to Slack, Discord, or a generic JSON endpoint |
|
|
324
|
-
| `--webhook-header NAME:VALUE` | Add a custom webhook header; repeat the flag for multiple headers |
|
|
325
|
-
| `--webhook-retries N` | Retry transient webhook failures (`429`, `5xx`, timeouts) up to `N` extra times |
|
|
326
|
-
| `--snapshot` | Save audit snapshot for trending |
|
|
327
|
-
| `--
|
|
328
|
-
| `--
|
|
329
|
-
| `--
|
|
362
|
+
| `--out FILE` | Write output to file |
|
|
363
|
+
| `--webhook URL` | POST audit results to Slack, Discord, or a generic JSON endpoint |
|
|
364
|
+
| `--webhook-header NAME:VALUE` | Add a custom webhook header; repeat the flag for multiple headers |
|
|
365
|
+
| `--webhook-retries N` | Retry transient webhook failures (`429`, `5xx`, timeouts) up to `N` extra times |
|
|
366
|
+
| `--snapshot` | Save audit snapshot for trending |
|
|
367
|
+
| `--tag LABEL` | Label a saved snapshot (repeat the flag for multiple tags) |
|
|
368
|
+
| `--behavioral` | Run the opt-in local behavioral drift review via `deep-review` |
|
|
369
|
+
| `--history` | With `deep-review --behavioral`, show behavioral snapshot history |
|
|
370
|
+
| `--compare` | With `deep-review --behavioral`, compare the latest two behavioral snapshots |
|
|
371
|
+
| `--diff-only` | Run a changed-file audit instead of a full repo audit |
|
|
372
|
+
| `--diff-base SHA` | Base SHA for `--diff-only` PR comparisons (defaults to CI env vars when present) |
|
|
373
|
+
| `--diff-head SHA` | Head SHA for `--diff-only` PR comparisons (defaults to `GITHUB_SHA` or `HEAD`) |
|
|
374
|
+
| `--dry-run` | Preview changes without writing files |
|
|
375
|
+
| `--config-only` | Only write config files, never source code |
|
|
376
|
+
| `--auto` | Apply without prompts |
|
|
330
377
|
| `--only A,B` | Limit apply to selected proposal IDs |
|
|
331
378
|
| `--format sarif` | SARIF output for code scanning |
|
|
332
379
|
| `--platform NAME` | Target platform (claude, codex, gemini, copilot, cursor, windsurf, aider, opencode) |
|
|
333
|
-
| `--workspace GLOB` | Audit workspaces separately as package-level live audits with summary-only JSON rows (e.g. packages/*) |
|
|
334
|
-
| `--external PATH` | Benchmark an external repo |
|
|
335
|
-
|
|
336
|
-
Webhook delivery automatically retries transient failures twice by default. For authenticated internal endpoints, you can add custom headers such as:
|
|
337
|
-
|
|
338
|
-
```bash
|
|
339
|
-
npx @nerviq/cli audit \
|
|
340
|
-
--webhook https://ops.example.com/nerviq/audit \
|
|
341
|
-
--webhook-header "Authorization: Bearer $NERVIQ_WEBHOOK_TOKEN" \
|
|
342
|
-
--webhook-header "X-Nerviq-Environment: production" \
|
|
343
|
-
--webhook-retries 4
|
|
344
|
-
```
|
|
380
|
+
| `--workspace GLOB` | Audit workspaces separately as package-level live audits with summary-only JSON rows (e.g. packages/*) |
|
|
381
|
+
| `--external PATH` | Benchmark an external repo |
|
|
382
|
+
|
|
383
|
+
Webhook delivery automatically retries transient failures twice by default. For authenticated internal endpoints, you can add custom headers such as:
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
npx @nerviq/cli audit \
|
|
387
|
+
--webhook https://ops.example.com/nerviq/audit \
|
|
388
|
+
--webhook-header "Authorization: Bearer $NERVIQ_WEBHOOK_TOKEN" \
|
|
389
|
+
--webhook-header "X-Nerviq-Environment: production" \
|
|
390
|
+
--webhook-retries 4
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
Generic webhook endpoints now receive a stable `nerviq.audit.completed` event envelope with:
|
|
394
|
+
|
|
395
|
+
- backward-compatible top-level `platform`, `score`, `passed`, `failed`, and `results`
|
|
396
|
+
- nested `data` and `meta` blocks for new consumers
|
|
397
|
+
- schema versioning through `schemaVersion`
|
|
398
|
+
|
|
399
|
+
For PR-focused audits, you can scope Nerviq to the working tree or an explicit base/head range:
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
npx @nerviq/cli audit --diff-only
|
|
403
|
+
npx @nerviq/cli audit --diff-only --diff-base origin/main --diff-head HEAD
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
`--diff-only` is intentionally a scoped review surface. It reports a `diff-only changed-file audit` score, lists the changed files it considered, and reminds you to run a full `nerviq audit` for the complete repo posture. Because diff-only scores are not directly comparable to full audit history, Nerviq blocks `--diff-only --snapshot`.
|
|
407
|
+
|
|
408
|
+
For multi-repo governance, Nerviq also supports inherited policy layers:
|
|
409
|
+
|
|
410
|
+
- `.nerviq/org-policy.json` in an ancestor directory for org defaults
|
|
411
|
+
- `.nerviq/team-policy.json` in the repo for team overrides
|
|
412
|
+
- `.nerviq/repo-policy.json` in the repo for repo-specific overrides
|
|
413
|
+
|
|
414
|
+
Inspect the resolved contract with:
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
npx @nerviq/cli org policy
|
|
418
|
+
npx @nerviq/cli org scan ./app ./api ./infra --json
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
For opt-in outcome-layer inspection, Nerviq can also run a local behavioral drift review:
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
npx @nerviq/cli deep-review --behavioral
|
|
425
|
+
npx @nerviq/cli deep-review --behavioral --snapshot --milestone baseline --tag "behavioral-baseline"
|
|
426
|
+
npx @nerviq/cli deep-review --behavioral --history
|
|
427
|
+
npx @nerviq/cli deep-review --behavioral --compare
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
Behavioral drift mode is intentionally guarded:
|
|
431
|
+
|
|
432
|
+
- It analyzes repository structure and instruction-vs-outcome mismatch heuristics
|
|
433
|
+
- It does not claim agent attribution without explicit evidence
|
|
434
|
+
- It is not marketed as SAST, semantic code review, or runtime analysis
|
|
435
|
+
|
|
436
|
+
`nerviq setup` now seeds a trust-boundary section in `CLAUDE.md` and an `injection-defense` starter hook for `WebFetch`, `WebSearch`, `Read`, `Grep`, `Glob`, and MCP-backed external-content flows. `nerviq doctor` validates that the declared starter hook still runs and logs suspicious prompt-injection patterns correctly.
|
|
345
437
|
|
|
346
438
|
## Backed by Research
|
|
347
439
|
|
|
348
440
|
Nerviq is built on the NERVIQ knowledge engine — the largest verified catalog of AI coding agent techniques:
|
|
349
441
|
|
|
350
|
-
- **
|
|
351
|
-
- **
|
|
352
|
-
- **2,
|
|
442
|
+
- **540+ research documents** covering all 8 platforms
|
|
443
|
+
- **400+ experiments** with tested, rated results
|
|
444
|
+
- **2,441 checks** across 8 platforms (~300 unique governance rules × 8 platform adaptations), each with `sourceUrl` and `confidence` level (0.0-1.0)
|
|
353
445
|
- Every check is traceable to primary documentation or verified experiment
|
|
354
|
-
-
|
|
446
|
+
- **Freshness:** daily changelog scanning across all 8 platforms, weekly liveness sweep (6 automated checks), monthly quality review, quarterly cross-validation — items older than 90 days are confidence-weighted
|
|
355
447
|
|
|
356
448
|
## Safety Modes
|
|
357
449
|
|
|
@@ -372,7 +464,7 @@ Every write command supports `--snapshot` for automatic backup before changes.
|
|
|
372
464
|
|
|
373
465
|
- **Zero dependencies** — nothing to audit
|
|
374
466
|
- **Runs locally** — audit, setup, plan, apply, governance, benchmark all run on your machine
|
|
375
|
-
- **Deep review is opt-in** —
|
|
467
|
+
- **Deep review is opt-in** — `deep-review` sends selected config for AI analysis, while `deep-review --behavioral` stays local and uses heuristic outcome-layer analysis only
|
|
376
468
|
- **AGPL-3.0 Licensed** — open source
|
|
377
469
|
|
|
378
470
|
## Links
|
|
@@ -392,9 +484,9 @@ If Nerviq helped you, consider giving it a ⭐ on [GitHub](https://github.com/ne
|
|
|
392
484
|
|
|
393
485
|
**Not designed for:** Deeply customized setups with 20+ skills, agent teams, and bespoke MCP integrations. If you've already built advanced agent workflows, you may not need this.
|
|
394
486
|
|
|
395
|
-
**Strongest at:** AI agent governance, configuration intelligence, workflow policy hygiene, cross-platform alignment, and setup standardization.
|
|
396
|
-
|
|
397
|
-
**Not a replacement for:** Deep architectural review of business logic, runtime performance profiling, full SAST coverage, secret scanning, or security penetration testing. Nerviq focuses on how your AI coding agents are configured and governed — not on what your application code does.
|
|
487
|
+
**Strongest at:** AI agent governance, configuration intelligence, workflow policy hygiene, cross-platform alignment, and setup standardization.
|
|
488
|
+
|
|
489
|
+
**Not a replacement for:** Deep architectural review of business logic, runtime performance profiling, full SAST coverage, secret scanning, or security penetration testing. Nerviq focuses on how your AI coding agents are configured and governed — not on what your application code does.
|
|
398
490
|
|
|
399
491
|
**Confidence levels:** Every check includes a `confidence` score (0.0–1.0) and a `sourceUrl` linking to primary documentation. Checks marked `heuristic` are pattern-based and may produce false positives on non-standard project structures.
|
|
400
492
|
|