mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-01 06:23:28 +08:00
78 lines
2.4 KiB
JavaScript
78 lines
2.4 KiB
JavaScript
'use strict';
|
|
|
|
const assert = require('assert');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const repoRoot = path.resolve(__dirname, '..', '..');
|
|
|
|
let passed = 0;
|
|
let failed = 0;
|
|
|
|
function test(name, fn) {
|
|
try {
|
|
fn();
|
|
console.log(` \u2713 ${name}`);
|
|
passed++;
|
|
} catch (error) {
|
|
console.log(` \u2717 ${name}`);
|
|
console.log(` Error: ${error.message}`);
|
|
failed++;
|
|
}
|
|
}
|
|
|
|
function read(relativePath) {
|
|
return fs.readFileSync(path.join(repoRoot, relativePath), 'utf8');
|
|
}
|
|
|
|
console.log('\n=== Testing MCP management docs ===\n');
|
|
|
|
test('token optimization guide separates Claude MCP disables from ECC config filters', () => {
|
|
const source = read('docs/token-optimization.md');
|
|
|
|
assert.ok(
|
|
source.includes('Use `/mcp` to disable Claude Code MCP servers'),
|
|
'Token guide should direct Claude Code users to /mcp for runtime MCP disables'
|
|
);
|
|
assert.ok(
|
|
source.includes('Claude Code persists those runtime disables in `~/.claude.json`'),
|
|
'Token guide should name ~/.claude.json as the observed runtime disable store'
|
|
);
|
|
assert.ok(
|
|
source.includes('`ECC_DISABLED_MCPS` only affects ECC-generated MCP config output'),
|
|
'Token guide should scope ECC_DISABLED_MCPS to config generation'
|
|
);
|
|
assert.ok(
|
|
!source.includes('Use `disabledMcpServers` in project config to disable servers per-project'),
|
|
'Token guide should not tell users that project settings disable Claude runtime MCP servers'
|
|
);
|
|
});
|
|
|
|
test('README MCP guidance avoids settings.json disable instructions', () => {
|
|
const source = read('README.md');
|
|
|
|
assert.ok(
|
|
source.includes('Use `/mcp` for Claude Code runtime disables; Claude Code persists those choices in `~/.claude.json`.'),
|
|
'README should route runtime MCP disables through /mcp and ~/.claude.json'
|
|
);
|
|
assert.ok(
|
|
source.includes('`ECC_DISABLED_MCPS` is an ECC install/sync filter, not a live Claude Code toggle.'),
|
|
'README should explain ECC_DISABLED_MCPS scope'
|
|
);
|
|
assert.ok(
|
|
!source.includes('// In your project\'s .claude/settings.json\n{\n "disabledMcpServers"'),
|
|
'README should not show disabledMcpServers under .claude/settings.json'
|
|
);
|
|
assert.ok(
|
|
!source.includes('Use `disabledMcpServers` in project config to disable unused ones'),
|
|
'README quick reference should not repeat stale project-config guidance'
|
|
);
|
|
});
|
|
|
|
if (failed > 0) {
|
|
console.log(`\nFailed: ${failed}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log(`\nPassed: ${passed}`);
|