@nerviq/cli 1.14.0 → 1.15.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 +1 -1
- package/bin/cli.js +65 -22
- package/package.json +1 -1
- package/src/audit/recommendations.js +46 -0
- package/src/context.js +23 -1
- package/src/mcp-server.js +631 -314
- package/src/techniques/hygiene.js +2 -2
- package/src/techniques/quality.js +6 -5
|
@@ -92,11 +92,11 @@ module.exports = {
|
|
|
92
92
|
changelog: {
|
|
93
93
|
id: 417,
|
|
94
94
|
name: 'Has CHANGELOG.md',
|
|
95
|
-
check: (ctx) => ctx.files.some(f => /^changelog\.md$/i.test(f)),
|
|
95
|
+
check: (ctx) => ctx.files.some(f => /^(changelog|changes|history|news)\.(md|txt|rst)$/i.test(f) || /^changelog$/i.test(f)),
|
|
96
96
|
impact: 'low',
|
|
97
97
|
rating: 3,
|
|
98
98
|
category: 'hygiene',
|
|
99
|
-
fix: 'Add a CHANGELOG.md to track notable changes across versions.',
|
|
99
|
+
fix: 'Add a CHANGELOG.md (or CHANGES.md, HISTORY.md) to track notable changes across versions.',
|
|
100
100
|
template: null
|
|
101
101
|
},
|
|
102
102
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
const {
|
|
7
7
|
getClaudeInstructionBundle,
|
|
8
|
+
getRepoInstructionBundle,
|
|
8
9
|
hasDocumentedVerificationGuidance,
|
|
9
10
|
hasDocumentedTestCommand,
|
|
10
11
|
hasDocumentedLintCommand,
|
|
@@ -17,7 +18,7 @@ module.exports = {
|
|
|
17
18
|
id: 93,
|
|
18
19
|
name: 'Claude instruction surfaces include verification criteria',
|
|
19
20
|
check: (ctx) => {
|
|
20
|
-
const docs =
|
|
21
|
+
const docs = getRepoInstructionBundle(ctx);
|
|
21
22
|
return hasDocumentedVerificationGuidance(docs);
|
|
22
23
|
},
|
|
23
24
|
impact: 'critical',
|
|
@@ -31,7 +32,7 @@ module.exports = {
|
|
|
31
32
|
id: 93001,
|
|
32
33
|
name: 'Claude instruction surfaces include a test command',
|
|
33
34
|
check: (ctx) => {
|
|
34
|
-
return hasDocumentedTestCommand(
|
|
35
|
+
return hasDocumentedTestCommand(getRepoInstructionBundle(ctx));
|
|
35
36
|
},
|
|
36
37
|
impact: 'high',
|
|
37
38
|
rating: 5,
|
|
@@ -44,7 +45,7 @@ module.exports = {
|
|
|
44
45
|
id: 93002,
|
|
45
46
|
name: 'Claude instruction surfaces include a lint command',
|
|
46
47
|
check: (ctx) => {
|
|
47
|
-
return hasDocumentedLintCommand(
|
|
48
|
+
return hasDocumentedLintCommand(getRepoInstructionBundle(ctx));
|
|
48
49
|
},
|
|
49
50
|
impact: 'high',
|
|
50
51
|
rating: 4,
|
|
@@ -57,7 +58,7 @@ module.exports = {
|
|
|
57
58
|
id: 93003,
|
|
58
59
|
name: 'Claude instruction surfaces include a build command',
|
|
59
60
|
check: (ctx) => {
|
|
60
|
-
return hasDocumentedBuildCommand(
|
|
61
|
+
return hasDocumentedBuildCommand(getRepoInstructionBundle(ctx));
|
|
61
62
|
},
|
|
62
63
|
impact: 'medium',
|
|
63
64
|
rating: 4,
|
|
@@ -222,7 +223,7 @@ module.exports = {
|
|
|
222
223
|
name: 'Test coverage or strategy mentioned',
|
|
223
224
|
check: (ctx) => {
|
|
224
225
|
const md = ctx.claudeMdContent() || '';
|
|
225
|
-
return /coverage|test.*strateg|e2e|integration test|unit test/i.test(md);
|
|
226
|
+
return /coverage|test.*strateg|e2e|integration test|unit test|##\s*test|writing.*tests|modifying.*tests|run.*test|test.*command/i.test(md);
|
|
226
227
|
},
|
|
227
228
|
impact: 'medium', rating: 3, category: 'quality',
|
|
228
229
|
fix: 'Mention your testing strategy in CLAUDE.md (unit, integration, E2E, coverage targets).',
|