@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 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 and 10 languages, each with `sourceUrl` and `confidence` level (0.0-1.0)
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/audit');
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 { generateCatalog, generateCatalogWithVersion, writeCatalogJson } = require('../src/catalog');
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 = generateCatalog();
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",
4
- "description": "The intelligent nervous system for AI coding agents — 2,431 checks across 8 platforms, 10 languages, and 62 domain packs. Audit, align, and amplify.",
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'));
@@ -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 = technique.confidence ?? resolveConfidence(platform, technique);
416
+ technique.confidence = resolveConfidence(platform, technique);
400
417
  technique.lastVerified = technique.lastVerified || LAST_VERIFIED[platform] || LAST_VERIFIED.default;
401
418
  }
402
419
 
@@ -51,8 +51,9 @@ function formatSynergyReport(options) {
51
51
  // Header
52
52
  lines.push('');
53
53
  lines.push(c(' ╔══════════════════════════════════════════════════╗', 'blue'));
54
- lines.push(c(' ║ SYNERGY DASHBOARD ║', 'blue'));
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