@nerviq/cli 1.8.4 → 1.8.6
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 +18 -6
- package/bin/cli.js +3 -3
- package/package.json +2 -2
- package/src/audit.js +1 -1
- package/src/source-urls.js +18 -1
- package/src/synergy/report.js +2 -1
package/README.md
CHANGED
|
@@ -85,7 +85,7 @@ No install required. Zero dependencies.
|
|
|
85
85
|
| **Team lead / DevEx** | `nerviq governance` → `nerviq audit --json` | CI threshold + `nerviq watch` |
|
|
86
86
|
| **Enterprise / Platform** | `nerviq harmony-audit` → `nerviq harmony-drift` | Policy packs + `nerviq certify` |
|
|
87
87
|
|
|
88
|
-
## 2,431 Checks Across 96 Categories
|
|
88
|
+
## 2,431 Checks Across 96 Categories (8 Platforms × ~300 Governance Rules)
|
|
89
89
|
|
|
90
90
|
| Category Group | Checks | Examples |
|
|
91
91
|
|----------------|--------|---------|
|
|
@@ -104,7 +104,7 @@ No install required. Zero dependencies.
|
|
|
104
104
|
| Memory & Context | ~15 | context management, compaction, @path |
|
|
105
105
|
| Prompting & Design | ~10 | XML tags, constraints, frontend patterns |
|
|
106
106
|
|
|
107
|
-
## Harmony — Cross-Platform Alignment
|
|
107
|
+
## Harmony — Cross-Platform Alignment `GA`
|
|
108
108
|
|
|
109
109
|
Harmony detects drift between your AI coding platforms and keeps them in sync.
|
|
110
110
|
|
|
@@ -118,9 +118,9 @@ npx @nerviq/cli harmony-governance # Unified governance across platforms
|
|
|
118
118
|
npx @nerviq/cli harmony-add <platform> # Add a new platform to your project
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
-
## Synergy — Multi-Agent Amplification
|
|
121
|
+
## Synergy — Multi-Agent Amplification `EXPERIMENTAL`
|
|
122
122
|
|
|
123
|
-
Synergy analyzes how your platforms work together and finds amplification opportunities.
|
|
123
|
+
Synergy analyzes how your platforms work together and finds amplification opportunities. Currently uses static routing rules — learned routing is planned for v2.0.
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
126
|
npx @nerviq/cli synergy-report # Multi-agent synergy analysis
|
|
@@ -128,7 +128,7 @@ npx @nerviq/cli synergy-report # Multi-agent synergy analysis
|
|
|
128
128
|
|
|
129
129
|
Synergy evaluates compound audit results, discovers compensation patterns (where one platform covers another's gaps), and ranks recommendations by cross-platform impact.
|
|
130
130
|
|
|
131
|
-
## SDK — `@nerviq/sdk`
|
|
131
|
+
## SDK — `@nerviq/sdk` `BETA`
|
|
132
132
|
|
|
133
133
|
Programmatic access to all Nerviq capabilities:
|
|
134
134
|
|
|
@@ -290,7 +290,7 @@ Nerviq is built on the NERVIQ knowledge engine — the largest verified catalog
|
|
|
290
290
|
|
|
291
291
|
- **448+ research documents** covering all 8 platforms
|
|
292
292
|
- **332+ experiments** with tested, rated results
|
|
293
|
-
- **2,431 checks** across 8 platforms
|
|
293
|
+
- **2,431 checks** across 8 platforms (~300 unique governance rules × 8 platform adaptations), each with `sourceUrl` and `confidence` level (0.0-1.0)
|
|
294
294
|
- Every check is traceable to primary documentation or verified experiment
|
|
295
295
|
- 90-day freshness cycle: stale findings are re-verified or pruned
|
|
296
296
|
|
|
@@ -329,12 +329,24 @@ If Nerviq helped you, consider giving it a ⭐ on [GitHub](https://github.com/ne
|
|
|
329
329
|
|
|
330
330
|
## What Nerviq Is — and Isn't
|
|
331
331
|
|
|
332
|
+
**Best for:** Teams going from zero governance to a strong baseline — fast. If you're starting with AI coding agents or have a few platforms running without consistent configuration, Nerviq gets you to a governed setup quickly.
|
|
333
|
+
|
|
334
|
+
**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.
|
|
335
|
+
|
|
332
336
|
**Strongest at:** Agent configuration, workflow governance, repo policy hygiene, cross-platform alignment, and setup standardization.
|
|
333
337
|
|
|
334
338
|
**Not a replacement for:** Deep architectural review of business logic, runtime performance profiling, or security penetration testing. Nerviq focuses on how your AI coding agents are configured and governed — not on what your application code does.
|
|
335
339
|
|
|
336
340
|
**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.
|
|
337
341
|
|
|
342
|
+
**Feature maturity:**
|
|
343
|
+
|
|
344
|
+
| Label | Meaning |
|
|
345
|
+
|-------|---------|
|
|
346
|
+
| `GA` | Stable, tested on real repos, safe for production use |
|
|
347
|
+
| `BETA` | Works but has limited real-world testing. API may change |
|
|
348
|
+
| `EXPERIMENTAL` | Early stage, static rules, results may vary |
|
|
349
|
+
|
|
338
350
|
## Previously claudex-setup
|
|
339
351
|
|
|
340
352
|
Nerviq was previously published as `claudex-setup`. If you were using it:
|
package/bin/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
const { audit } = require('../src/
|
|
3
|
+
const { audit, detectPlatforms, getCatalog } = require('../src/public-api');
|
|
4
4
|
const { setup } = require('../src/setup');
|
|
5
5
|
const { analyzeProject, printAnalysis, exportMarkdown } = require('../src/analyze');
|
|
6
6
|
const { buildProposalBundle, printProposalBundle, writePlanFile, applyProposalBundle, printApplyResult } = require('../src/plans');
|
|
@@ -998,7 +998,7 @@ async function main() {
|
|
|
998
998
|
const { watch } = require('../src/watch');
|
|
999
999
|
await watch(options);
|
|
1000
1000
|
} else if (normalizedCommand === 'catalog') {
|
|
1001
|
-
const {
|
|
1001
|
+
const { generateCatalogWithVersion, writeCatalogJson } = require('../src/catalog');
|
|
1002
1002
|
if (options.out) {
|
|
1003
1003
|
const result = writeCatalogJson(options.out);
|
|
1004
1004
|
if (options.json) {
|
|
@@ -1007,7 +1007,7 @@ async function main() {
|
|
|
1007
1007
|
console.log(`\n Catalog written to ${result.path} (${result.count} checks)\n`);
|
|
1008
1008
|
}
|
|
1009
1009
|
} else {
|
|
1010
|
-
const catalog =
|
|
1010
|
+
const catalog = getCatalog(); // dogfood: use SDK instead of internal import
|
|
1011
1011
|
if (options.json) {
|
|
1012
1012
|
const envelope = generateCatalogWithVersion();
|
|
1013
1013
|
if (options.checkVersion) envelope.requestedVersion = options.checkVersion;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nerviq/cli",
|
|
3
|
-
"version": "1.8.
|
|
4
|
-
"description": "The intelligent nervous system for AI coding agents — 2,431 checks
|
|
3
|
+
"version": "1.8.6",
|
|
4
|
+
"description": "The intelligent nervous system for AI coding agents — 2,431 checks (8 platforms × ~300 governance rules), 10 languages, 62 domain packs. Audit, align, and amplify.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"nerviq": "bin/cli.js",
|
package/src/audit.js
CHANGED
|
@@ -1422,7 +1422,7 @@ async function audit(options) {
|
|
|
1422
1422
|
if (activePlatforms.length >= 2) {
|
|
1423
1423
|
const comp = analyzeCompensation(activePlatforms);
|
|
1424
1424
|
const synergyScore = calculateSynergyScore(activePlatforms);
|
|
1425
|
-
console.log(colorize(` Cross-platform synergy: ${activePlatforms.length} platforms detected`, 'blue'));
|
|
1425
|
+
console.log(colorize(` Cross-platform synergy [EXPERIMENTAL]: ${activePlatforms.length} platforms detected`, 'blue'));
|
|
1426
1426
|
console.log(colorize(` Platforms: ${activePlatforms.join(', ')}`, 'dim'));
|
|
1427
1427
|
console.log(colorize(` Compensations: ${comp.compensations.length} | Gaps: ${comp.uncoveredGaps.length}`, 'dim'));
|
|
1428
1428
|
console.log(colorize(` Run: npx nerviq harmony-audit for full cross-platform analysis`, 'dim'));
|
package/src/source-urls.js
CHANGED
|
@@ -367,15 +367,32 @@ function hasRuntimeVerificationSignal(technique) {
|
|
|
367
367
|
return /experiment(?:ally)? confirmed|confirmed by (?:live )?experiment|current runtime|runtime evidence|runtime-verified|validated in current runtime|observed in current runtime|measured in live experiment|reproduced in runtime|confirmed by experiment/i.test(haystack);
|
|
368
368
|
}
|
|
369
369
|
|
|
370
|
+
// Stack categories where checks are generated/adapted rather than individually verified
|
|
371
|
+
const STACK_CATEGORIES = new Set([
|
|
372
|
+
'python', 'go', 'rust', 'java', 'ruby', 'dotnet', 'php', 'flutter', 'swift', 'kotlin',
|
|
373
|
+
]);
|
|
374
|
+
|
|
370
375
|
function resolveConfidence(platform, technique) {
|
|
371
376
|
if (STALE_CONFIDENCE_IDS.has(technique.id)) {
|
|
372
377
|
return 0.3;
|
|
373
378
|
}
|
|
374
379
|
|
|
380
|
+
// Runtime-verified: highest confidence
|
|
375
381
|
if (RUNTIME_CONFIDENCE_IDS[platform]?.has(technique.id) || hasRuntimeVerificationSignal(technique)) {
|
|
376
382
|
return 0.9;
|
|
377
383
|
}
|
|
378
384
|
|
|
385
|
+
// Has fix template: author wrote specific remediation → higher confidence
|
|
386
|
+
if (technique.template) {
|
|
387
|
+
return 0.8;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// Stack-specific checks: generated per-language, less individually verified
|
|
391
|
+
if (STACK_CATEGORIES.has(technique.category)) {
|
|
392
|
+
return 0.6;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
// Default: documented but not individually experiment-verified
|
|
379
396
|
return 0.7;
|
|
380
397
|
}
|
|
381
398
|
|
|
@@ -396,7 +413,7 @@ function attachSourceUrls(platform, techniques) {
|
|
|
396
413
|
}
|
|
397
414
|
|
|
398
415
|
technique.sourceUrl = technique.sourceUrl || resolved;
|
|
399
|
-
technique.confidence =
|
|
416
|
+
technique.confidence = resolveConfidence(platform, technique);
|
|
400
417
|
technique.lastVerified = technique.lastVerified || LAST_VERIFIED[platform] || LAST_VERIFIED.default;
|
|
401
418
|
}
|
|
402
419
|
|
package/src/synergy/report.js
CHANGED
|
@@ -51,8 +51,9 @@ function formatSynergyReport(options) {
|
|
|
51
51
|
// Header
|
|
52
52
|
lines.push('');
|
|
53
53
|
lines.push(c(' ╔══════════════════════════════════════════════════╗', 'blue'));
|
|
54
|
-
lines.push(c(' ║
|
|
54
|
+
lines.push(c(' ║ SYNERGY DASHBOARD [EXPERIMENTAL] ║', 'blue'));
|
|
55
55
|
lines.push(c(' ╚══════════════════════════════════════════════════╝', 'blue'));
|
|
56
|
+
lines.push(c(' Static routing rules. Learned routing planned for v2.0.', 'dim'));
|
|
56
57
|
lines.push('');
|
|
57
58
|
|
|
58
59
|
// Compound audit
|