skannr 0.1.4 → 0.1.5

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/dist/cli.d.ts CHANGED
@@ -1,6 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * CLI entry point for skannr
3
+ * CLI entry point for skannr.
4
+ *
5
+ * Simplified command surface:
6
+ * skannr "how does auth work?" → ask a question (positional)
7
+ * skannr risk → impact of working tree changes
8
+ * skannr risk --json → JSON output for CI
9
+ * skannr report → repo health report
10
+ * skannr agent → interactive agent mode
11
+ * skannr cache stats | clear → cache management
12
+ *
13
+ * All legacy flags (--question, --root, blast-radius, etc.) remain supported.
4
14
  */
5
15
  export {};
6
16
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG"}
package/dist/cli.js CHANGED
@@ -1,7 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  /**
4
- * CLI entry point for skannr
4
+ * CLI entry point for skannr.
5
+ *
6
+ * Simplified command surface:
7
+ * skannr "how does auth work?" → ask a question (positional)
8
+ * skannr risk → impact of working tree changes
9
+ * skannr risk --json → JSON output for CI
10
+ * skannr report → repo health report
11
+ * skannr agent → interactive agent mode
12
+ * skannr cache stats | clear → cache management
13
+ *
14
+ * All legacy flags (--question, --root, blast-radius, etc.) remain supported.
5
15
  */
6
16
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
17
  if (k2 === undefined) k2 = k;
@@ -46,7 +56,7 @@ const config_1 = require("./config");
46
56
  const scanner_1 = require("./scanner");
47
57
  const registry_1 = require("./languages/registry");
48
58
  const telemetry_1 = require("./telemetry");
49
- const VERSION = '0.1.1';
59
+ const VERSION = '0.1.4';
50
60
  const VALID_LANGS = ['typescript', 'javascript', 'python', 'auto'];
51
61
  function resolveExtensionsForLanguage(lang) {
52
62
  switch (lang) {
@@ -70,8 +80,8 @@ function printNoFilesError() {
70
80
  ' · All files are excluded by .gitignore or default excludes',
71
81
  ' · --lang filter is too restrictive for this repo',
72
82
  '',
73
- ' Try: skannr --question "..." --root /path/to/repo',
74
- ' skannr --question "..." --root . --lang auto',
83
+ ' Try: skannr "your question" --root /path/to/repo',
84
+ ' skannr "your question" --lang auto',
75
85
  '',
76
86
  ].join('\n'));
77
87
  }
@@ -91,6 +101,30 @@ function assertRootExists(absoluteRoot) {
91
101
  process.exit(1);
92
102
  }
93
103
  }
104
+ function resolveLangFlag(raw) {
105
+ const value = (raw ?? 'auto').toLowerCase();
106
+ if (!VALID_LANGS.includes(value)) {
107
+ const display = raw === undefined || raw === '' ? '(empty)' : raw;
108
+ console.error('');
109
+ console.error(` ✗ Invalid --lang "${display}". Valid values: ${VALID_LANGS.join(', ')}`);
110
+ console.error('');
111
+ process.exit(1);
112
+ }
113
+ return value;
114
+ }
115
+ function resolveFormatFlag(raw, jsonShortcut) {
116
+ if (jsonShortcut)
117
+ return 'json';
118
+ const fmt = (raw ?? 'human').toLowerCase();
119
+ if (fmt === 'json' || fmt === 'markdown' || fmt === 'human') {
120
+ return fmt;
121
+ }
122
+ const display = raw === undefined || raw === '' ? '(empty)' : raw;
123
+ console.error('');
124
+ console.error(` ✗ Invalid --format "${display}". Use human, markdown, or json.`);
125
+ console.error('');
126
+ process.exit(1);
127
+ }
94
128
  function runReport(root, lang) {
95
129
  const absoluteRoot = path.resolve(root);
96
130
  assertRootExists(absoluteRoot);
@@ -115,19 +149,27 @@ function runReport(root, lang) {
115
149
  };
116
150
  console.log(JSON.stringify(report, null, 2));
117
151
  }
152
+ // ---------------------------------------------------------------------------
153
+ // Build CLI
154
+ // ---------------------------------------------------------------------------
118
155
  const program = new commander_1.Command();
119
156
  program
120
157
  .name('skannr')
121
158
  .description([
122
159
  'Analyze any codebase. Ask questions. Get ranked, compressed file skeletons.',
123
- 'Powered by hybrid retrieval: lexical + structural + dependency-graph.',
124
160
  '',
125
- 'Docs: https://skannr-ten.vercel.app',
161
+ 'Usage:',
162
+ ' skannr "how does auth work?" Ask about the codebase',
163
+ ' skannr risk Check impact of current changes',
164
+ ' skannr report Repo health summary',
165
+ ' skannr agent Interactive exploration',
126
166
  ].join('\n'))
127
167
  .version(VERSION)
168
+ .enablePositionalOptions()
169
+ .argument('[question]', 'natural language question about the codebase')
128
170
  .option('--root <path>', 'project root directory', process.cwd())
129
- .option('--question <text>', 'natural language question about the codebase')
130
- .option('--limit <number>', 'number of top files to analyze', (value) => {
171
+ .option('--question <text>', 'question (alternative to positional argument)')
172
+ .option('-n, --limit <number>', 'number of top files to return', (value) => {
131
173
  const n = parseInt(value, 10);
132
174
  if (Number.isNaN(n) || n < 1) {
133
175
  throw new commander_1.InvalidArgumentError('must be a positive number');
@@ -141,113 +183,25 @@ program
141
183
  .option('--skip-cache', 'skip cache and force full analysis')
142
184
  .option('--cache-clear', 'clear all cached analysis results')
143
185
  .option('--cache-stats', 'show cache statistics')
144
- .option('--report', 'print repository health report (JSON) instead of running a question')
145
- .option('--diff <ref>', 'limit analysis to files changed vs git ref (not available yet)')
186
+ .option('--report', 'print repository health report (JSON)')
146
187
  .option('--format <format>', 'output format: human, markdown, or json', 'human')
188
+ .option('--json', 'shortcut for --format json')
147
189
  .option('--watch', 'watch for file changes and re-analyze automatically')
148
190
  .option('--telemetry-on', 'enable anonymous usage telemetry (flags only)')
149
191
  .option('--telemetry-off', 'disable anonymous usage telemetry')
150
- .option('--mcp', 'run as Model Context Protocol stdio server (same as skannr-mcp)');
192
+ .option('--mcp', 'run as Model Context Protocol stdio server');
151
193
  // ---------------------------------------------------------------------------
152
- // Subcommand: blast-radius
194
+ // Root command action (question flow)
153
195
  // ---------------------------------------------------------------------------
154
- program
155
- .command('blast-radius')
156
- .description('Analyze downstream impact and risk of a git diff')
157
- .option('--root <path>', 'project root directory', process.cwd())
158
- .option('--diff <path>', 'path to a diff file (default: working tree vs HEAD)')
159
- .option('--hops <n>', 'max traversal hops (default: 2)', (v) => {
160
- const n = parseInt(v, 10);
161
- if (Number.isNaN(n) || n < 1) {
162
- throw new commander_1.InvalidArgumentError('must be a positive integer');
163
- }
164
- return n;
165
- })
166
- .option('--json', 'output as JSON instead of plain text')
167
- .action(async (cmdOpts) => {
168
- try {
169
- const { computeBlastRadius, formatBlastRadiusText, formatBlastRadiusJson } = await Promise.resolve().then(() => __importStar(require('./blast-radius')));
170
- const absoluteRoot = path.resolve(cmdOpts.root);
171
- assertRootExists(absoluteRoot);
172
- const result = computeBlastRadius({
173
- root: absoluteRoot,
174
- diffPath: cmdOpts.diff,
175
- hops: cmdOpts.hops ?? 2,
176
- });
177
- const output = cmdOpts.json
178
- ? formatBlastRadiusJson(result)
179
- : formatBlastRadiusText(result);
180
- process.stdout.write(output + (output.endsWith('\n') ? '' : '\n'));
181
- }
182
- catch (error) {
183
- console.error('Error computing blast radius:', error instanceof Error ? error.message : error);
184
- process.exit(1);
185
- }
186
- });
187
- program.addHelpText('after', `
188
- Examples:
189
- skannr --question "how does auth work?" --root .
190
- skannr --question "database setup" --root /path/to/repo --limit 5
191
- skannr --question "class structure" --root . --lang python
192
- skannr --question "changed files" --root . --diff HEAD~1
193
- skannr --report --root . # health report
194
- skannr --question "..." --root . --format markdown
195
- skannr --question "..." --root . --format json
196
- skannr --question "..." --root . --watch # re-run on file changes
197
- skannr-agent --root . # interactive mode
198
- skannr blast-radius --root . --hops 3 # blast radius analysis
199
- skannr blast-radius --diff changes.patch --json
200
-
201
- Monorepo tip:
202
- skannr --question "..." --root packages/my-package
203
-
204
- MCP (stdio): npx -y skannr --mcp (or: skannr-mcp)
205
- Cursor: { "mcpServers": { "skannr": { "command": "npx", "args": ["-y", "skannr", "--mcp"] } } }
206
- `);
207
- program.parse(process.argv);
208
- const opts = program.opts();
209
- function buildAnalyzeTelemetryFlags(o, outputFormat, lang, limit) {
210
- return {
211
- hasModules: Boolean(o.modules),
212
- hasDiff: o.diff !== undefined,
213
- hasWatch: Boolean(o.watch),
214
- hasReport: Boolean(o.report),
215
- hasMapping: Boolean(o.withMapping || o.mappingOutput),
216
- skipCache: Boolean(o.skipCache),
217
- format: outputFormat,
218
- lang,
219
- limit,
220
- };
221
- }
222
- function resolveLangFlag(raw) {
223
- const value = (raw ?? 'auto').toLowerCase();
224
- if (!VALID_LANGS.includes(value)) {
225
- const display = raw === undefined || raw === '' ? '(empty)' : raw;
226
- console.error('');
227
- console.error(` ✗ Invalid --lang "${display}". Valid values: ${VALID_LANGS.join(', ')}`);
228
- console.error('');
229
- process.exit(1);
230
- }
231
- return value;
232
- }
233
- function resolveFormatFlag(raw) {
234
- const fmt = (raw ?? 'human').toLowerCase();
235
- if (fmt === 'json' || fmt === 'markdown' || fmt === 'human') {
236
- return fmt;
237
- }
238
- const display = raw === undefined || raw === '' ? '(empty)' : raw;
239
- console.error('');
240
- console.error(` ✗ Invalid --format "${display}". Use human, markdown, or json.`);
241
- console.error('');
242
- process.exit(1);
243
- }
244
- void (async () => {
196
+ program.action(async (questionArg, opts) => {
245
197
  try {
198
+ // MCP mode
246
199
  if (opts.mcp || process.argv.includes('--mcp')) {
247
200
  const { startMcpServer } = await Promise.resolve().then(() => __importStar(require('./mcp-server')));
248
201
  await startMcpServer();
249
202
  return;
250
203
  }
204
+ // Telemetry toggles
251
205
  if (opts.telemetryOn) {
252
206
  (0, telemetry_1.setTelemetryExplicit)(true);
253
207
  console.log('Telemetry enabled. Thank you!');
@@ -258,46 +212,35 @@ void (async () => {
258
212
  console.log('Telemetry disabled.');
259
213
  process.exit(0);
260
214
  }
215
+ // Legacy cache flags
261
216
  if (opts.cacheClear) {
262
217
  const cacheManager = (0, index_1.getCacheManager)();
263
218
  cacheManager.clear();
264
- console.log('Cache cleared successfully');
219
+ console.log('Cache cleared.');
265
220
  process.exit(0);
266
221
  }
267
222
  if (opts.cacheStats) {
268
223
  const cacheManager = (0, index_1.getCacheManager)();
269
224
  const stats = cacheManager.getStats();
270
- console.log('\n📊 Cache Statistics:');
271
- console.log(` Hits: ${stats.hits}`);
272
- console.log(` Misses: ${stats.misses}`);
273
- console.log(` Hit Rate: ${stats.hitRate}%`);
274
- console.log(` Cache Size: ${(stats.cacheSize / 1024).toFixed(2)} KB`);
275
- console.log(` Cache Dir: ${cacheManager.getCacheDir()}\n`);
225
+ console.log('\n Cache Statistics:');
226
+ console.log(` Hits: ${stats.hits}`);
227
+ console.log(` Misses: ${stats.misses}`);
228
+ console.log(` Hit Rate: ${stats.hitRate}%`);
229
+ console.log(` Size: ${(stats.cacheSize / 1024).toFixed(2)} KB`);
230
+ console.log(` Dir: ${cacheManager.getCacheDir()}\n`);
276
231
  process.exit(0);
277
232
  }
278
233
  const lang = resolveLangFlag(opts.lang);
234
+ // Legacy --report flag
279
235
  if (opts.report) {
280
236
  runReport(opts.root, lang);
281
237
  process.exit(0);
282
238
  }
283
- if (opts.diff !== undefined) {
284
- console.error('');
285
- console.error(' ✗ --diff is not available in this release.');
286
- console.error(' Remove --diff or watch the changelog for git-scoped analysis.');
287
- console.error('');
288
- process.exit(1);
289
- }
290
- const question = opts.question?.trim() ?? '';
239
+ // Resolve question: positional arg takes precedence over --question flag
240
+ const question = (questionArg || opts.question || '').trim();
291
241
  if (!question) {
292
- console.error('');
293
- console.error(' ✗ Missing --question.');
294
- console.error('');
295
- console.error(' Example: skannr --question "how does auth work?" --root .');
296
- console.error(' Cache only: skannr --cache-stats | skannr --cache-clear');
297
- console.error(' Report: skannr --report --root .');
298
- console.error('');
299
242
  program.outputHelp();
300
- process.exit(1);
243
+ process.exit(0);
301
244
  }
302
245
  const absoluteRoot = path.resolve(opts.root);
303
246
  assertRootExists(absoluteRoot);
@@ -317,7 +260,7 @@ void (async () => {
317
260
  const mappingOutputPath = opts.mappingOutput;
318
261
  const langExtensions = resolveExtensionsForLanguage(lang);
319
262
  const extensions = langExtensions ?? config.extensions;
320
- const outputFormat = resolveFormatFlag(opts.format);
263
+ const outputFormat = resolveFormatFlag(opts.format, opts.json);
321
264
  const analyzeOptions = {
322
265
  root: absoluteRoot,
323
266
  question,
@@ -344,7 +287,7 @@ void (async () => {
344
287
  process.stdout.write(formatted + (formatted.endsWith('\n') ? '' : '\n'));
345
288
  if (!watchTelemetrySent) {
346
289
  watchTelemetrySent = true;
347
- (0, telemetry_1.track)('analyze', buildAnalyzeTelemetryFlags(opts, outputFormat, lang, limit));
290
+ (0, telemetry_1.track)('analyze', buildTelemetryFlags(opts, outputFormat, lang, limit));
348
291
  }
349
292
  });
350
293
  }
@@ -373,11 +316,142 @@ void (async () => {
373
316
  ? (0, formatter_1.formatMarkdown)(result)
374
317
  : (0, formatter_1.formatHuman)(result);
375
318
  process.stdout.write(formatted + (formatted.endsWith('\n') ? '' : '\n'));
376
- (0, telemetry_1.track)('analyze', buildAnalyzeTelemetryFlags(opts, outputFormat, lang, limit));
319
+ (0, telemetry_1.track)('analyze', buildTelemetryFlags(opts, outputFormat, lang, limit));
377
320
  }
378
321
  catch (error) {
379
322
  console.error('Error analyzing project:', error instanceof Error ? error.message : error);
380
323
  process.exit(1);
381
324
  }
382
- })();
325
+ });
326
+ // ---------------------------------------------------------------------------
327
+ // Subcommand: risk
328
+ // ---------------------------------------------------------------------------
329
+ async function runRisk(cmdOpts) {
330
+ try {
331
+ const { computeBlastRadius, formatBlastRadiusText, formatBlastRadiusJson } = await Promise.resolve().then(() => __importStar(require('./blast-radius')));
332
+ const absoluteRoot = path.resolve(cmdOpts.root);
333
+ assertRootExists(absoluteRoot);
334
+ const result = computeBlastRadius({
335
+ root: absoluteRoot,
336
+ diffPath: cmdOpts.diff,
337
+ hops: cmdOpts.hops ?? 2,
338
+ });
339
+ const output = cmdOpts.json
340
+ ? formatBlastRadiusJson(result)
341
+ : formatBlastRadiusText(result);
342
+ process.stdout.write(output + (output.endsWith('\n') ? '' : '\n'));
343
+ }
344
+ catch (error) {
345
+ console.error('Error computing risk:', error instanceof Error ? error.message : error);
346
+ process.exit(1);
347
+ }
348
+ }
349
+ function riskOptions(cmd) {
350
+ return cmd
351
+ .option('--root <path>', 'project root directory', process.cwd())
352
+ .option('--diff <path>', 'path to a diff file (default: working tree vs HEAD)')
353
+ .option('-n, --hops <n>', 'max traversal hops (default: 2)', (v) => {
354
+ const n = parseInt(v, 10);
355
+ if (Number.isNaN(n) || n < 1) {
356
+ throw new commander_1.InvalidArgumentError('must be a positive integer');
357
+ }
358
+ return n;
359
+ })
360
+ .option('--json', 'output as JSON instead of plain text');
361
+ }
362
+ riskOptions(program.command('risk').description('Check downstream impact and risk of your current changes'))
363
+ .action(runRisk);
364
+ // Backward compat alias
365
+ riskOptions(program.command('blast-radius').description('Alias for "risk"'))
366
+ .action(runRisk);
367
+ // ---------------------------------------------------------------------------
368
+ // Subcommand: report
369
+ // ---------------------------------------------------------------------------
370
+ program
371
+ .command('report')
372
+ .description('Print repository health summary (JSON)')
373
+ .option('--root <path>', 'project root directory', process.cwd())
374
+ .option('--lang <mode>', 'language filter', 'auto')
375
+ .action((cmdOpts) => {
376
+ const lang = resolveLangFlag(cmdOpts.lang);
377
+ runReport(cmdOpts.root, lang);
378
+ });
379
+ // ---------------------------------------------------------------------------
380
+ // Subcommand: agent
381
+ // ---------------------------------------------------------------------------
382
+ program
383
+ .command('agent')
384
+ .description('Interactive exploration mode')
385
+ .option('--root <path>', 'project root directory', process.cwd())
386
+ .action(async (cmdOpts) => {
387
+ process.argv = ['node', 'skannr-agent', '--root', cmdOpts.root];
388
+ await Promise.resolve().then(() => __importStar(require('./agent-cli')));
389
+ });
390
+ // ---------------------------------------------------------------------------
391
+ // Subcommand: cache
392
+ // ---------------------------------------------------------------------------
393
+ const cacheCommand = program
394
+ .command('cache')
395
+ .description('Manage analysis cache');
396
+ cacheCommand
397
+ .command('clear')
398
+ .description('Clear all cached analysis results')
399
+ .action(() => {
400
+ const cacheManager = (0, index_1.getCacheManager)();
401
+ cacheManager.clear();
402
+ console.log('Cache cleared.');
403
+ });
404
+ cacheCommand
405
+ .command('stats')
406
+ .description('Show cache statistics')
407
+ .action(() => {
408
+ const cacheManager = (0, index_1.getCacheManager)();
409
+ const stats = cacheManager.getStats();
410
+ console.log('\n Cache Statistics:');
411
+ console.log(` Hits: ${stats.hits}`);
412
+ console.log(` Misses: ${stats.misses}`);
413
+ console.log(` Hit Rate: ${stats.hitRate}%`);
414
+ console.log(` Size: ${(stats.cacheSize / 1024).toFixed(2)} KB`);
415
+ console.log(` Dir: ${cacheManager.getCacheDir()}\n`);
416
+ });
417
+ // ---------------------------------------------------------------------------
418
+ // Help
419
+ // ---------------------------------------------------------------------------
420
+ program.addHelpText('after', `
421
+ Examples:
422
+ skannr "how does auth work?" Ask about the codebase
423
+ skannr "database queries" -n 5 Limit to 5 results
424
+ skannr "endpoints" --json JSON output
425
+ skannr "class structure" --lang python Force language
426
+
427
+ skannr risk Impact of uncommitted changes
428
+ skannr risk --diff feature.patch Impact of a patch file
429
+ skannr risk -n 3 --json 3 hops, JSON for CI
430
+
431
+ skannr report Repo health summary
432
+ skannr agent Interactive mode
433
+ skannr cache stats Cache hit rate
434
+ skannr cache clear Wipe cache
435
+
436
+ MCP: npx -y skannr --mcp
437
+ `);
438
+ // ---------------------------------------------------------------------------
439
+ // Parse
440
+ // ---------------------------------------------------------------------------
441
+ program.parse(process.argv);
442
+ // ---------------------------------------------------------------------------
443
+ // Helpers
444
+ // ---------------------------------------------------------------------------
445
+ function buildTelemetryFlags(o, outputFormat, lang, limit) {
446
+ return {
447
+ hasModules: Boolean(o.modules),
448
+ hasWatch: Boolean(o.watch),
449
+ hasReport: Boolean(o.report),
450
+ hasMapping: Boolean(o.withMapping || o.mappingOutput),
451
+ skipCache: Boolean(o.skipCache),
452
+ format: outputFormat,
453
+ lang,
454
+ limit,
455
+ };
456
+ }
383
457
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skannr",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "A universal tool to analyze any codebase and generate semantic skeletons for AI agents",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",