f83a247de3
- skills/ shared by both tools (open Agent Skills standard) - portable cross-skill refs (root-relative, no ~/.claude hardcode) - bin/link.sh bootstrap for non-Nix machines - nix/home.nix + flake.nix for home-manager Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014SK5Lo7LQfwLRVdCv1A8uF
22 lines
620 B
JavaScript
22 lines
620 B
JavaScript
#!/usr/bin/env node
|
|
|
|
import fs from 'node:fs';
|
|
import path from 'node:path';
|
|
import { pathToFileURL, fileURLToPath } from 'node:url';
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
const candidates = [
|
|
path.join(__dirname, 'detector', 'detect-antipatterns.mjs'),
|
|
path.join(__dirname, '..', '..', 'cli', 'engine', 'detect-antipatterns.mjs'),
|
|
];
|
|
const detectorPath = candidates.find(p => fs.existsSync(p));
|
|
|
|
if (!detectorPath) {
|
|
process.stderr.write('Error: bundled detector not found.\n');
|
|
process.exit(1);
|
|
}
|
|
|
|
const { detectCli } = await import(pathToFileURL(detectorPath));
|
|
|
|
await detectCli();
|