skannr 0.1.2 → 0.1.4

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.
Files changed (88) hide show
  1. package/.eslintrc.js +22 -22
  2. package/README.md +260 -151
  3. package/dist/agent-cli.js +25 -25
  4. package/dist/agent.js +4 -4
  5. package/dist/blast-radius.d.ts +80 -0
  6. package/dist/blast-radius.d.ts.map +1 -0
  7. package/dist/blast-radius.js +545 -0
  8. package/dist/blast-radius.js.map +1 -0
  9. package/dist/cli.js +55 -17
  10. package/dist/cli.js.map +1 -1
  11. package/dist/mcp-server.d.ts.map +1 -1
  12. package/dist/mcp-server.js +98 -24
  13. package/dist/mcp-server.js.map +1 -1
  14. package/dist/telemetry.js +12 -12
  15. package/gemini-extension/GEMINI.md +26 -26
  16. package/gemini-extension/gemini-extension.json +12 -12
  17. package/gemini-extension/package.json +14 -14
  18. package/gemini-extension/src/server.ts +69 -69
  19. package/gemini-extension/tsconfig.json +14 -14
  20. package/jest.config.js +4 -4
  21. package/package.json +54 -53
  22. package/src/agent-cli.ts +397 -397
  23. package/src/agent.ts +344 -344
  24. package/src/benchmark.ts +389 -389
  25. package/src/blast-radius.ts +661 -0
  26. package/src/cache.ts +317 -317
  27. package/src/cli.ts +461 -415
  28. package/src/config.ts +22 -22
  29. package/src/formatter.ts +105 -105
  30. package/src/index.ts +223 -223
  31. package/src/languages/GenericAdapter.ts +44 -44
  32. package/src/languages/LanguageAdapter.ts +21 -21
  33. package/src/languages/PythonAdapter.ts +285 -285
  34. package/src/languages/TypeScriptAdapter.ts +453 -453
  35. package/src/languages/registry.ts +49 -49
  36. package/src/mapper.ts +455 -455
  37. package/src/mcp-cli.ts +8 -8
  38. package/src/mcp-server.ts +151 -103
  39. package/src/ranker-enhanced.ts +514 -514
  40. package/src/ranker.ts +110 -110
  41. package/src/scanner.ts +226 -226
  42. package/src/skeletonizer.ts +22 -22
  43. package/src/telemetry.ts +146 -146
  44. package/src/tokenizer.ts +20 -20
  45. package/src/types.ts +92 -92
  46. package/src/watcher.ts +119 -119
  47. package/src/why.ts +88 -88
  48. package/tests/agent.tools.test.ts +81 -81
  49. package/tests/benchmark.test.ts +30 -30
  50. package/tests/blast-radius.test.ts +290 -0
  51. package/tests/fixtures/sample.py +17 -17
  52. package/tests/fixtures/sample.ts +13 -13
  53. package/tests/fixtures/src/api/routes.ts +1 -1
  54. package/tests/fixtures/src/auth/permission.ts +3 -3
  55. package/tests/python-adapter.test.ts +31 -31
  56. package/tests/ranker-enhanced.test.ts +70 -70
  57. package/tests/ranker.test.ts +79 -79
  58. package/tests/scanner.scope.test.ts +66 -66
  59. package/tests/setup-fixtures.js +28 -28
  60. package/tests/skeletonizer.test.ts +149 -149
  61. package/tsconfig.json +21 -21
  62. package/uca-landing/index.html +17 -17
  63. package/uca-landing/package.json +23 -23
  64. package/uca-landing/postcss.config.js +6 -6
  65. package/uca-landing/src/App.jsx +43 -43
  66. package/uca-landing/src/components/AgentMode.jsx +45 -45
  67. package/uca-landing/src/components/CliReference.jsx +58 -58
  68. package/uca-landing/src/components/Features.jsx +82 -82
  69. package/uca-landing/src/components/Footer.jsx +35 -35
  70. package/uca-landing/src/components/Hero.jsx +125 -125
  71. package/uca-landing/src/components/HowItWorks.jsx +60 -60
  72. package/uca-landing/src/components/Install.jsx +103 -103
  73. package/uca-landing/src/components/LanguageSupport.jsx +63 -63
  74. package/uca-landing/src/components/Navbar.jsx +86 -86
  75. package/uca-landing/src/components/Problem.jsx +51 -51
  76. package/uca-landing/src/components/Reveal.jsx +40 -40
  77. package/uca-landing/src/components/WorksWith.jsx +59 -59
  78. package/uca-landing/src/hooks/useScrollNav.js +13 -13
  79. package/uca-landing/src/hooks/useTypewriter.js +41 -41
  80. package/uca-landing/src/index.css +13 -13
  81. package/uca-landing/src/main.jsx +10 -10
  82. package/uca-landing/tailwind.config.js +68 -68
  83. package/uca-landing/vercel.json +3 -3
  84. package/uca-landing/vite.config.js +6 -6
  85. package/dist/rocket-chat-scope.d.ts +0 -7
  86. package/dist/rocket-chat-scope.d.ts.map +0 -1
  87. package/dist/rocket-chat-scope.js +0 -95
  88. package/dist/rocket-chat-scope.js.map +0 -1
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA8EpD"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA8HpD"}
@@ -2,6 +2,39 @@
2
2
  /**
3
3
  * MCP stdio server: exposes scan_codebase for Cursor, Claude, Gemini, etc.
4
4
  */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.startMcpServer = startMcpServer;
7
40
  const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
@@ -55,34 +88,75 @@ async function startMcpServer() {
55
88
  required: ['question', 'root'],
56
89
  },
57
90
  },
91
+ {
92
+ name: 'blast_radius',
93
+ description: 'Analyze downstream impact and risk of a git diff. Returns affected files, risk score, and test coverage gaps.',
94
+ inputSchema: {
95
+ type: 'object',
96
+ properties: {
97
+ root: {
98
+ type: 'string',
99
+ description: 'Absolute path to the repo root',
100
+ },
101
+ diff: {
102
+ type: 'string',
103
+ description: 'Unified diff content (if omitted, uses working tree vs HEAD)',
104
+ },
105
+ hops: {
106
+ type: 'number',
107
+ description: 'Max traversal hops for downstream impact (default: 2)',
108
+ },
109
+ },
110
+ required: ['root'],
111
+ },
112
+ },
58
113
  ],
59
114
  }));
60
115
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
61
- if (request.params.name !== 'scan_codebase') {
62
- throw new Error(`Unknown tool: ${request.params.name}`);
63
- }
116
+ const toolName = request.params.name;
64
117
  const args = request.params.arguments;
65
- const question = String(args.question ?? '');
66
- const root = String(args.root ?? '');
67
- const limit = typeof args.limit === 'number' && !Number.isNaN(args.limit) && args.limit > 0
68
- ? args.limit
69
- : 8;
70
- const moduleKeys = normalizeModuleKeys(args.modules);
71
- const langRaw = args.lang != null ? String(args.lang).toLowerCase() : 'auto';
72
- const lang = ['typescript', 'javascript', 'python', 'auto'].includes(langRaw)
73
- ? langRaw
74
- : 'auto';
75
- const result = await (0, index_1.analyzeProject)({
76
- question,
77
- root,
78
- limit,
79
- moduleKeys,
80
- lang,
81
- enhancedRanking: true,
82
- });
83
- return {
84
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
85
- };
118
+ if (toolName === 'scan_codebase') {
119
+ const question = String(args.question ?? '');
120
+ const root = String(args.root ?? '');
121
+ const limit = typeof args.limit === 'number' && !Number.isNaN(args.limit) && args.limit > 0
122
+ ? args.limit
123
+ : 8;
124
+ const moduleKeys = normalizeModuleKeys(args.modules);
125
+ const langRaw = args.lang != null ? String(args.lang).toLowerCase() : 'auto';
126
+ const lang = ['typescript', 'javascript', 'python', 'auto'].includes(langRaw)
127
+ ? langRaw
128
+ : 'auto';
129
+ const result = await (0, index_1.analyzeProject)({
130
+ question,
131
+ root,
132
+ limit,
133
+ moduleKeys,
134
+ lang,
135
+ enhancedRanking: true,
136
+ });
137
+ return {
138
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
139
+ };
140
+ }
141
+ if (toolName === 'blast_radius') {
142
+ const { computeBlastRadius } = await Promise.resolve().then(() => __importStar(require('./blast-radius')));
143
+ const root = String(args.root ?? '');
144
+ const hops = typeof args.hops === 'number' && !Number.isNaN(args.hops) && args.hops > 0
145
+ ? args.hops
146
+ : 2;
147
+ const diffContent = typeof args.diff === 'string' && args.diff.length > 0
148
+ ? args.diff
149
+ : undefined;
150
+ const result = computeBlastRadius({
151
+ root,
152
+ diffContent,
153
+ hops,
154
+ });
155
+ return {
156
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
157
+ };
158
+ }
159
+ throw new Error(`Unknown tool: ${toolName}`);
86
160
  });
87
161
  const transport = new stdio_js_1.StdioServerTransport();
88
162
  await server.connect(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
package/dist/telemetry.js CHANGED
@@ -91,18 +91,18 @@ async function askTelemetryConsent() {
91
91
  if (readRawConfig() !== null) {
92
92
  return;
93
93
  }
94
- console.log(`
95
- \x1b[90m─────────────────────────────────────────────────────\x1b[0m
96
- \x1b[1mHelp improve Skannr?\x1b[0m
97
-
98
- Send anonymous usage data (which flags you use, nothing else).
99
- No code, no questions, no file paths — ever.
100
-
101
- Run \x1b[36mskannr --telemetry-off\x1b[0m to disable at any time.
102
- Run \x1b[36mskannr --telemetry-on\x1b[0m to enable.
103
-
104
- \x1b[90mAutomatic opt-in after 7 days if no action taken.\x1b[0m
105
- \x1b[90m─────────────────────────────────────────────────────\x1b[0m
94
+ console.log(`
95
+ \x1b[90m─────────────────────────────────────────────────────\x1b[0m
96
+ \x1b[1mHelp improve Skannr?\x1b[0m
97
+
98
+ Send anonymous usage data (which flags you use, nothing else).
99
+ No code, no questions, no file paths — ever.
100
+
101
+ Run \x1b[36mskannr --telemetry-off\x1b[0m to disable at any time.
102
+ Run \x1b[36mskannr --telemetry-on\x1b[0m to enable.
103
+
104
+ \x1b[90mAutomatic opt-in after 7 days if no action taken.\x1b[0m
105
+ \x1b[90m─────────────────────────────────────────────────────\x1b[0m
106
106
  `);
107
107
  saveConfig({
108
108
  enabled: false,
@@ -1,26 +1,26 @@
1
- # Universal Code Analyzer
2
-
3
- You have a tool called `scan_codebase` that scans any repository and returns compressed **skeletons** — function signatures and types without the full implementation bodies.
4
-
5
- ## When to use it
6
-
7
- Use `scan_codebase` before reading source files. It tells you which files are relevant and shows their structure without burning tokens on full file contents.
8
-
9
- ## Parameters
10
-
11
- - `question` (**required**): what you want to understand, e.g. `"how are messages sent?"`
12
- - `root` (**required**): absolute path to the repository, e.g. `/home/user/my-project`
13
- - `limit`: how many files to return (default: 10)
14
- - `modules`: narrow the search to specific modules or directories
15
-
16
- ## Example
17
-
18
- ```
19
- scan_codebase({
20
- question: "How does the authentication flow work?",
21
- root: "/home/user/my-project",
22
- modules: ["auth"]
23
- })
24
- ```
25
-
26
- The response includes each file's path, relevance score, skeleton code, and token counts so you can decide what to read in full.
1
+ # Universal Code Analyzer
2
+
3
+ You have a tool called `scan_codebase` that scans any repository and returns compressed **skeletons** — function signatures and types without the full implementation bodies.
4
+
5
+ ## When to use it
6
+
7
+ Use `scan_codebase` before reading source files. It tells you which files are relevant and shows their structure without burning tokens on full file contents.
8
+
9
+ ## Parameters
10
+
11
+ - `question` (**required**): what you want to understand, e.g. `"how are messages sent?"`
12
+ - `root` (**required**): absolute path to the repository, e.g. `/home/user/my-project`
13
+ - `limit`: how many files to return (default: 10)
14
+ - `modules`: narrow the search to specific modules or directories
15
+
16
+ ## Example
17
+
18
+ ```
19
+ scan_codebase({
20
+ question: "How does the authentication flow work?",
21
+ root: "/home/user/my-project",
22
+ modules: ["auth"]
23
+ })
24
+ ```
25
+
26
+ The response includes each file's path, relevance score, skeleton code, and token counts so you can decide what to read in full.
@@ -1,12 +1,12 @@
1
- {
2
- "name": "code-analyzer",
3
- "version": "0.1.0",
4
- "description": "Analyze any codebase and return token-efficient structural skeletons",
5
- "mcpServers": {
6
- "code-analyzer": {
7
- "command": "node",
8
- "args": ["${extensionPath}/dist/server.js"]
9
- }
10
- },
11
- "contextFileName": "GEMINI.md"
12
- }
1
+ {
2
+ "name": "code-analyzer",
3
+ "version": "0.1.0",
4
+ "description": "Analyze any codebase and return token-efficient structural skeletons",
5
+ "mcpServers": {
6
+ "code-analyzer": {
7
+ "command": "node",
8
+ "args": ["${extensionPath}/dist/server.js"]
9
+ }
10
+ },
11
+ "contextFileName": "GEMINI.md"
12
+ }
@@ -1,14 +1,14 @@
1
- {
2
- "name": "code-analyzer-extension",
3
- "version": "0.1.0",
4
- "scripts": {
5
- "build": "tsc"
6
- },
7
- "dependencies": {
8
- "@modelcontextprotocol/sdk": "^1.0.0"
9
- },
10
- "devDependencies": {
11
- "@types/node": "^20.0.0",
12
- "typescript": "^5.3.0"
13
- }
14
- }
1
+ {
2
+ "name": "code-analyzer-extension",
3
+ "version": "0.1.0",
4
+ "scripts": {
5
+ "build": "tsc"
6
+ },
7
+ "dependencies": {
8
+ "@modelcontextprotocol/sdk": "^1.0.0"
9
+ },
10
+ "devDependencies": {
11
+ "@types/node": "^20.0.0",
12
+ "typescript": "^5.3.0"
13
+ }
14
+ }
@@ -1,69 +1,69 @@
1
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
- import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
- import { analyzeProject } from '../../dist/index';
5
-
6
- const server = new Server(
7
- { name: 'code-analyzer', version: '0.1.0' },
8
- { capabilities: { tools: {} } }
9
- );
10
-
11
- server.setRequestHandler(ListToolsRequestSchema, async () => ({
12
- tools: [
13
- {
14
- name: 'scan_codebase',
15
- description: 'Analyzes any codebase to answer questions about its structure and architecture. Scans files, generates structural skeletons, and ranks results using hybrid retrieval. Supports TypeScript, JavaScript, and Python. Pass the root path of any repository.',
16
- inputSchema: {
17
- type: 'object',
18
- properties: {
19
- question: {
20
- type: 'string',
21
- description: 'What you want to understand about the codebase',
22
- },
23
- root: {
24
- type: 'string',
25
- description: 'Absolute path to the repository root',
26
- },
27
- limit: {
28
- type: 'number',
29
- description: 'Max number of files to return (default: 10)',
30
- },
31
- modules: {
32
- type: 'array',
33
- items: { type: 'string' },
34
- description: 'Optional module keys (or directory names) to narrow the search scope',
35
- },
36
- },
37
- required: ['question', 'root'],
38
- },
39
- },
40
- ],
41
- }));
42
-
43
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
44
- if (request.params.name !== 'scan_codebase') {
45
- throw new Error(`Unknown tool: ${request.params.name}`);
46
- }
47
-
48
- const { question, root, limit = 10, modules } = request.params.arguments as {
49
- question: string;
50
- root: string;
51
- limit?: number;
52
- modules?: string[];
53
- };
54
-
55
- const result = await analyzeProject({
56
- question,
57
- root,
58
- limit,
59
- moduleKeys: modules,
60
- enhancedRanking: true,
61
- });
62
-
63
- return {
64
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
65
- };
66
- });
67
-
68
- const transport = new StdioServerTransport();
69
- server.connect(transport).catch(console.error);
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
+ import { analyzeProject } from '../../dist/index';
5
+
6
+ const server = new Server(
7
+ { name: 'code-analyzer', version: '0.1.0' },
8
+ { capabilities: { tools: {} } }
9
+ );
10
+
11
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
12
+ tools: [
13
+ {
14
+ name: 'scan_codebase',
15
+ description: 'Analyzes any codebase to answer questions about its structure and architecture. Scans files, generates structural skeletons, and ranks results using hybrid retrieval. Supports TypeScript, JavaScript, and Python. Pass the root path of any repository.',
16
+ inputSchema: {
17
+ type: 'object',
18
+ properties: {
19
+ question: {
20
+ type: 'string',
21
+ description: 'What you want to understand about the codebase',
22
+ },
23
+ root: {
24
+ type: 'string',
25
+ description: 'Absolute path to the repository root',
26
+ },
27
+ limit: {
28
+ type: 'number',
29
+ description: 'Max number of files to return (default: 10)',
30
+ },
31
+ modules: {
32
+ type: 'array',
33
+ items: { type: 'string' },
34
+ description: 'Optional module keys (or directory names) to narrow the search scope',
35
+ },
36
+ },
37
+ required: ['question', 'root'],
38
+ },
39
+ },
40
+ ],
41
+ }));
42
+
43
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
44
+ if (request.params.name !== 'scan_codebase') {
45
+ throw new Error(`Unknown tool: ${request.params.name}`);
46
+ }
47
+
48
+ const { question, root, limit = 10, modules } = request.params.arguments as {
49
+ question: string;
50
+ root: string;
51
+ limit?: number;
52
+ modules?: string[];
53
+ };
54
+
55
+ const result = await analyzeProject({
56
+ question,
57
+ root,
58
+ limit,
59
+ moduleKeys: modules,
60
+ enhancedRanking: true,
61
+ });
62
+
63
+ return {
64
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
65
+ };
66
+ });
67
+
68
+ const transport = new StdioServerTransport();
69
+ server.connect(transport).catch(console.error);
@@ -1,14 +1,14 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "commonjs",
5
- "outDir": "./dist",
6
- "rootDir": "./src",
7
- "strict": true,
8
- "esModuleInterop": true,
9
- "skipLibCheck": true,
10
- "moduleResolution": "node",
11
- "types": ["node"]
12
- },
13
- "include": ["src/**/*"]
14
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "commonjs",
5
+ "outDir": "./dist",
6
+ "rootDir": "./src",
7
+ "strict": true,
8
+ "esModuleInterop": true,
9
+ "skipLibCheck": true,
10
+ "moduleResolution": "node",
11
+ "types": ["node"]
12
+ },
13
+ "include": ["src/**/*"]
14
+ }
package/jest.config.js CHANGED
@@ -1,5 +1,5 @@
1
- module.exports = {
2
- preset: 'ts-jest',
3
- testEnvironment: 'node',
4
- testMatch: ['**/*.test.ts'],
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ testMatch: ['**/*.test.ts'],
5
5
  };