codeprobe 0.1.0 → 0.2.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.
Files changed (38) hide show
  1. package/README.md +19 -0
  2. package/dist/cli.js +6 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/ab.js +6 -6
  5. package/dist/commands/ab.js.map +1 -1
  6. package/dist/commands/export.d.ts +12 -0
  7. package/dist/commands/export.d.ts.map +1 -0
  8. package/dist/commands/export.js +420 -0
  9. package/dist/commands/export.js.map +1 -0
  10. package/dist/commands/quality.d.ts +10 -0
  11. package/dist/commands/quality.d.ts.map +1 -0
  12. package/dist/commands/quality.js +86 -0
  13. package/dist/commands/quality.js.map +1 -0
  14. package/dist/commands/score.js +2 -2
  15. package/dist/commands/score.js.map +1 -1
  16. package/dist/commands/serve.d.ts +11 -0
  17. package/dist/commands/serve.d.ts.map +1 -0
  18. package/dist/commands/serve.js +259 -0
  19. package/dist/commands/serve.js.map +1 -0
  20. package/dist/core/__tests__/promptRunner.test.js +12 -12
  21. package/dist/core/__tests__/promptRunner.test.js.map +1 -1
  22. package/dist/core/contextQuality.d.ts +33 -0
  23. package/dist/core/contextQuality.d.ts.map +1 -0
  24. package/dist/core/contextQuality.js +399 -0
  25. package/dist/core/contextQuality.js.map +1 -0
  26. package/dist/core/datasetRunner.js +1 -1
  27. package/dist/core/datasetRunner.js.map +1 -1
  28. package/dist/core/promptRunner.d.ts +1 -1
  29. package/dist/core/promptRunner.d.ts.map +1 -1
  30. package/dist/core/promptRunner.js +53 -3
  31. package/dist/core/promptRunner.js.map +1 -1
  32. package/dist/core/scorer.d.ts +1 -1
  33. package/dist/core/scorer.d.ts.map +1 -1
  34. package/dist/core/scorer.js +4 -4
  35. package/dist/core/scorer.js.map +1 -1
  36. package/dist/types/prompt.d.ts +5 -0
  37. package/dist/types/prompt.d.ts.map +1 -1
  38. package/package.json +2 -2
package/README.md CHANGED
@@ -268,6 +268,25 @@ benchmarkDefaults:
268
268
 
269
269
  ## CI Integration
270
270
 
271
+ ### GitHub Action
272
+
273
+ Add to your workflow:
274
+
275
+ ```yaml
276
+ - uses: thamer-all/codeprobe@main
277
+ with:
278
+ command: check # or: scan, test, lint, security, context, quality
279
+ post-comment: 'true' # Posts results as PR comment
280
+ ```
281
+
282
+ Or use the CLI directly:
283
+
284
+ ```yaml
285
+ - run: npm install -g codeprobe && codeprobe check --json
286
+ ```
287
+
288
+ ### Manual Setup
289
+
271
290
  The simplest CI setup is a single command:
272
291
 
273
292
  ```yaml
package/dist/cli.js CHANGED
@@ -41,6 +41,9 @@ import { registerFlakyCommand } from './commands/flaky.js';
41
41
  import { registerScanCommand } from './commands/scan.js';
42
42
  import { registerCheckCommand } from './commands/check.js';
43
43
  import { registerSummaryCommand } from './commands/summary.js';
44
+ import { registerExportCommand } from './commands/export.js';
45
+ import { registerServeCommand } from './commands/serve.js';
46
+ import { registerQualityCommand } from './commands/quality.js';
44
47
  import { handleError } from './utils/errors.js';
45
48
  const program = new Command();
46
49
  program
@@ -96,6 +99,9 @@ registerFlakyCommand(program);
96
99
  registerScanCommand(program);
97
100
  registerCheckCommand(program);
98
101
  registerSummaryCommand(program);
102
+ registerExportCommand(program);
103
+ registerServeCommand(program);
104
+ registerQualityCommand(program);
99
105
  // Smart default: if no command given, run dashboard on current directory
100
106
  if (process.argv.length === 2) {
101
107
  process.argv.push('dashboard', '.');
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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"}
@@ -10,8 +10,8 @@ import { scoreOutput as canonicalScoreOutput } from '../core/scorer.js';
10
10
  // ---------------------------------------------------------------------------
11
11
  // Scorer — wraps the canonical scorer to produce a numeric score
12
12
  // ---------------------------------------------------------------------------
13
- function scoreOutput(output, spec, test) {
14
- const result = canonicalScoreOutput(output, spec, test);
13
+ async function scoreOutput(output, spec, test) {
14
+ const result = await canonicalScoreOutput(output, spec, test);
15
15
  return result.overall;
16
16
  }
17
17
  // ---------------------------------------------------------------------------
@@ -38,18 +38,18 @@ async function runAbTest(specA, specB, runs, options) {
38
38
  const resultA = await runSingleTest(specA, test, options);
39
39
  const expectA = test.expect;
40
40
  const assertionsA = expectA
41
- ? evaluateAssertions(resultA.output, expectA)
41
+ ? await evaluateAssertions(resultA.output, expectA)
42
42
  : [];
43
- totalScoreA += scoreOutput(resultA.output, specA, test);
43
+ totalScoreA += await scoreOutput(resultA.output, specA, test);
44
44
  lastAssertionsA = assertionsA;
45
45
  lastOutputA = resultA.output;
46
46
  // Run with prompt B
47
47
  const resultB = await runSingleTest(specB, test, options);
48
48
  const expectB = test.expect;
49
49
  const assertionsB = expectB
50
- ? evaluateAssertions(resultB.output, expectB)
50
+ ? await evaluateAssertions(resultB.output, expectB)
51
51
  : [];
52
- totalScoreB += scoreOutput(resultB.output, specB, test);
52
+ totalScoreB += await scoreOutput(resultB.output, specB, test);
53
53
  lastAssertionsB = assertionsB;
54
54
  lastOutputB = resultB.output;
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ab.js","sourceRoot":"","sources":["../../src/commands/ab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ab.js","sourceRoot":"","sources":["../../src/commands/ab.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `codeprobe export [path]` — Pack a repository into a single AI-friendly file.
3
+ *
4
+ * Replaces the need for tools like Repomix/Code2Prompt by producing a single
5
+ * file containing the full repo tree and file contents, formatted for
6
+ * consumption by LLMs.
7
+ *
8
+ * Supports markdown, XML, and plain text output formats.
9
+ */
10
+ import { Command } from 'commander';
11
+ export declare function registerExportCommand(program: Command): void;
12
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6SpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuO5D"}
@@ -0,0 +1,420 @@
1
+ /**
2
+ * `codeprobe export [path]` — Pack a repository into a single AI-friendly file.
3
+ *
4
+ * Replaces the need for tools like Repomix/Code2Prompt by producing a single
5
+ * file containing the full repo tree and file contents, formatted for
6
+ * consumption by LLMs.
7
+ *
8
+ * Supports markdown, XML, and plain text output formats.
9
+ */
10
+ import { writeFile, readFile, stat } from 'node:fs/promises';
11
+ import { basename, extname } from 'node:path';
12
+ import { resolvePath } from '../utils/paths.js';
13
+ import { walkDirectory, getRelativePath } from '../utils/fs.js';
14
+ import { estimateTokens } from '../tokenizers/claudeTokenizer.js';
15
+ import { formatTokens, formatPercentage } from '../utils/output.js';
16
+ import { getModel } from '../core/modelRegistry.js';
17
+ import { setLogLevel } from '../utils/logger.js';
18
+ /** Directories to always skip. */
19
+ const DEFAULT_IGNORE_DIRS = new Set([
20
+ 'node_modules', '.git', 'dist', 'build', 'coverage',
21
+ '.next', '.nuxt', '__pycache__', '.venv', 'vendor',
22
+ '.cache', '.turbo',
23
+ ]);
24
+ /** Lock / dependency-resolution files — always excluded. */
25
+ const EXCLUDED_FILENAMES = new Set([
26
+ 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'bun.lockb',
27
+ 'composer.lock', 'gemfile.lock', 'poetry.lock', 'cargo.lock',
28
+ 'go.sum', 'flake.lock', 'packages.lock.json', 'shrinkwrap.json',
29
+ ]);
30
+ /** Binary file extensions — always excluded. */
31
+ const BINARY_EXTENSIONS = new Set([
32
+ '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.ico', '.webp', '.avif',
33
+ '.svg', '.mp3', '.mp4', '.mov', '.avi', '.mkv', '.webm',
34
+ '.zip', '.tar', '.gz', '.bz2', '.xz', '.7z', '.rar',
35
+ '.woff', '.woff2', '.ttf', '.otf', '.eot',
36
+ '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx',
37
+ '.exe', '.dll', '.so', '.dylib', '.bin', '.dat',
38
+ '.sqlite', '.db',
39
+ '.wasm',
40
+ ]);
41
+ /** Core source code extensions — highest priority. */
42
+ const CORE_EXTENSIONS = new Set([
43
+ '.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs', '.java',
44
+ '.rb', '.c', '.cpp', '.h', '.cs', '.swift', '.kt', '.scala',
45
+ ]);
46
+ /** Documentation extensions — second priority. */
47
+ const DOC_EXTENSIONS = new Set([
48
+ '.md', '.mdx', '.txt', '.rst', '.adoc',
49
+ ]);
50
+ /** Config file extensions — third priority. */
51
+ const CONFIG_EXTENSIONS = new Set([
52
+ '.json', '.yaml', '.yml', '.toml', '.xml', '.env',
53
+ '.gitignore', '.dockerignore',
54
+ ]);
55
+ /** Test path patterns — lowest priority. */
56
+ const TEST_PATTERNS = [
57
+ /\.test\.[jt]sx?$/, /\.spec\.[jt]sx?$/, /__tests__\//, /\/test\//,
58
+ ];
59
+ const TARGET_SIZES = {
60
+ '200k': 200_000,
61
+ '1m': 1_000_000,
62
+ };
63
+ /**
64
+ * Infer language identifier from file extension for fenced code blocks.
65
+ */
66
+ function inferLanguage(filePath) {
67
+ const ext = extname(filePath).toLowerCase();
68
+ const languageMap = {
69
+ '.ts': 'typescript', '.tsx': 'tsx', '.js': 'javascript', '.jsx': 'jsx',
70
+ '.mjs': 'javascript', '.cjs': 'javascript',
71
+ '.py': 'python', '.rb': 'ruby', '.go': 'go', '.rs': 'rust',
72
+ '.java': 'java', '.kt': 'kotlin', '.scala': 'scala',
73
+ '.c': 'c', '.cpp': 'cpp', '.h': 'c', '.hpp': 'cpp', '.cs': 'csharp',
74
+ '.swift': 'swift', '.sh': 'bash', '.bash': 'bash', '.zsh': 'zsh',
75
+ '.md': 'markdown', '.mdx': 'mdx',
76
+ '.json': 'json', '.yaml': 'yaml', '.yml': 'yaml', '.toml': 'toml',
77
+ '.xml': 'xml', '.html': 'html', '.css': 'css', '.scss': 'scss',
78
+ '.sql': 'sql', '.graphql': 'graphql',
79
+ '.dockerfile': 'dockerfile',
80
+ };
81
+ return languageMap[ext] ?? '';
82
+ }
83
+ /**
84
+ * Assign a priority score to a file. Lower number = higher priority.
85
+ * 0 = core source, 1 = docs, 2 = configs, 3 = tests, 4 = other
86
+ */
87
+ function prioritize(relativePath) {
88
+ const ext = extname(relativePath).toLowerCase();
89
+ // Tests are lowest priority
90
+ if (TEST_PATTERNS.some((p) => p.test(relativePath)))
91
+ return 3;
92
+ if (CORE_EXTENSIONS.has(ext))
93
+ return 0;
94
+ if (DOC_EXTENSIONS.has(ext))
95
+ return 1;
96
+ if (CONFIG_EXTENSIONS.has(ext))
97
+ return 2;
98
+ return 4;
99
+ }
100
+ /**
101
+ * Check whether a glob-like pattern matches a file path.
102
+ * Supports simple patterns: *.ts, src/**, *.test.ts, etc.
103
+ */
104
+ function matchesGlob(filePath, pattern) {
105
+ // Exact filename match
106
+ if (basename(filePath) === pattern)
107
+ return true;
108
+ // Extension match: *.ts
109
+ if (pattern.startsWith('*.') && filePath.endsWith(pattern.slice(1)))
110
+ return true;
111
+ // Directory prefix match: src/**
112
+ if (pattern.endsWith('/**') && filePath.startsWith(pattern.slice(0, -3)))
113
+ return true;
114
+ // Simple contains match
115
+ if (filePath.includes(pattern))
116
+ return true;
117
+ return false;
118
+ }
119
+ /**
120
+ * Build a compact tree representation: show directories as nodes
121
+ * and files as leaves, with proper indentation.
122
+ */
123
+ function buildCompactTree(sortedPaths) {
124
+ const root = { children: new Map(), isFile: false };
125
+ // Build tree structure
126
+ for (const filePath of sortedPaths) {
127
+ const parts = filePath.split('/');
128
+ let current = root;
129
+ for (let i = 0; i < parts.length; i++) {
130
+ const part = parts[i];
131
+ if (!current.children.has(part)) {
132
+ current.children.set(part, { children: new Map(), isFile: i === parts.length - 1 });
133
+ }
134
+ current = current.children.get(part);
135
+ }
136
+ }
137
+ // Render tree
138
+ const lines = [];
139
+ function render(node, prefix) {
140
+ const entries = Array.from(node.children.entries()).sort(([a, nodeA], [b, nodeB]) => {
141
+ // Directories first, then files
142
+ if (!nodeA.isFile && nodeB.isFile)
143
+ return -1;
144
+ if (nodeA.isFile && !nodeB.isFile)
145
+ return 1;
146
+ return a.localeCompare(b);
147
+ });
148
+ for (const [name, child] of entries) {
149
+ if (child.isFile) {
150
+ lines.push(`${prefix}${name}`);
151
+ }
152
+ else {
153
+ lines.push(`${prefix}${name}/`);
154
+ render(child, prefix + ' ');
155
+ }
156
+ }
157
+ }
158
+ render(root, '');
159
+ return lines.join('\n');
160
+ }
161
+ /**
162
+ * Format the export in markdown.
163
+ */
164
+ function formatMarkdown(projectName, fileCount, totalTokens, targetLabel, fileTree, files, includeTree) {
165
+ const parts = [];
166
+ parts.push(`# Repository Export: ${projectName}`);
167
+ parts.push(`> Generated by codeprobe | ${fileCount} files | ${formatTokens(totalTokens)} tokens | Target: ${targetLabel}`);
168
+ parts.push('');
169
+ if (includeTree) {
170
+ parts.push('## File Tree');
171
+ parts.push('```');
172
+ parts.push(fileTree);
173
+ parts.push('```');
174
+ parts.push('');
175
+ }
176
+ parts.push('## Files');
177
+ parts.push('');
178
+ for (const file of files) {
179
+ parts.push(`### ${file.relativePath}`);
180
+ parts.push(`\`\`\`${file.language}`);
181
+ parts.push(file.content);
182
+ parts.push('```');
183
+ parts.push('');
184
+ }
185
+ return parts.join('\n');
186
+ }
187
+ /**
188
+ * Format the export in XML.
189
+ */
190
+ function formatXml(projectName, fileCount, totalTokens, files) {
191
+ const parts = [];
192
+ parts.push('<?xml version="1.0" encoding="UTF-8"?>');
193
+ parts.push(`<repository name="${escapeXml(projectName)}" files="${fileCount}" tokens="${totalTokens}">`);
194
+ for (const file of files) {
195
+ parts.push(`<file path="${escapeXml(file.relativePath)}" language="${escapeXml(file.language)}" tokens="${file.tokens}">`);
196
+ parts.push(escapeXml(file.content));
197
+ parts.push('</file>');
198
+ }
199
+ parts.push('</repository>');
200
+ return parts.join('\n');
201
+ }
202
+ /**
203
+ * Escape special XML characters.
204
+ */
205
+ function escapeXml(text) {
206
+ return text
207
+ .replace(/&/g, '&amp;')
208
+ .replace(/</g, '&lt;')
209
+ .replace(/>/g, '&gt;')
210
+ .replace(/"/g, '&quot;')
211
+ .replace(/'/g, '&apos;');
212
+ }
213
+ /**
214
+ * Format the export in plain text.
215
+ */
216
+ function formatText(projectName, fileCount, totalTokens, targetLabel, fileTree, files, includeTree) {
217
+ const parts = [];
218
+ parts.push(`=== Repository: ${projectName} ===`);
219
+ parts.push(`Files: ${fileCount} | Tokens: ${formatTokens(totalTokens)} | Target: ${targetLabel}`);
220
+ parts.push('');
221
+ if (includeTree) {
222
+ parts.push('--- File Tree ---');
223
+ parts.push(fileTree);
224
+ parts.push('');
225
+ }
226
+ for (const file of files) {
227
+ parts.push(`--- ${file.relativePath} ---`);
228
+ parts.push(file.content);
229
+ parts.push('');
230
+ }
231
+ return parts.join('\n');
232
+ }
233
+ /**
234
+ * Determine the default output file extension based on format.
235
+ */
236
+ function defaultOutputPath(format) {
237
+ switch (format) {
238
+ case 'xml': return 'codeprobe-export.xml';
239
+ case 'text': return 'codeprobe-export.txt';
240
+ case 'markdown': return 'codeprobe-export.md';
241
+ }
242
+ }
243
+ export function registerExportCommand(program) {
244
+ program
245
+ .command('export [path]')
246
+ .description('Pack a repository into a single AI-friendly file')
247
+ .option('--output <file>', 'Output file path')
248
+ .option('--format <format>', 'Output format: text, xml, markdown', 'markdown')
249
+ .option('--target <target>', 'Target context window: 200k, 1m', '1m')
250
+ .option('--model <model>', 'Use a model\'s context window as the target')
251
+ .option('--include <glob>', 'Include only matching files')
252
+ .option('--exclude <glob>', 'Exclude matching files')
253
+ .option('--no-tree', 'Skip the file tree header')
254
+ .option('--json', 'Output metadata as JSON (does not write the export file)')
255
+ .action(async (pathArg, options) => {
256
+ if (options.json) {
257
+ setLogLevel('silent');
258
+ }
259
+ const chalk = (await import('chalk')).default;
260
+ const targetPath = resolvePath(pathArg ?? '.');
261
+ try {
262
+ await stat(targetPath);
263
+ }
264
+ catch {
265
+ console.error(`Error: path not found: ${targetPath}`);
266
+ process.exitCode = 1;
267
+ return;
268
+ }
269
+ // Validate format
270
+ const format = options.format.toLowerCase();
271
+ if (!['markdown', 'xml', 'text'].includes(format)) {
272
+ console.error(`Error: unknown format "${options.format}". Use "markdown", "xml", or "text".`);
273
+ process.exitCode = 1;
274
+ return;
275
+ }
276
+ // Resolve target context window size
277
+ let targetSize;
278
+ let targetLabel;
279
+ if (options.model) {
280
+ const modelInfo = getModel(options.model);
281
+ if (!modelInfo) {
282
+ console.error(`Error: unknown model "${options.model}". Use a model id from the registry (e.g., gpt-4o, claude-sonnet-4-6, gemini-2.5-pro).`);
283
+ process.exitCode = 1;
284
+ return;
285
+ }
286
+ targetSize = modelInfo.contextWindow;
287
+ targetLabel = `${modelInfo.name} (${formatTokens(targetSize)})`;
288
+ }
289
+ else {
290
+ const label = options.target.toLowerCase();
291
+ const size = TARGET_SIZES[label];
292
+ if (!size) {
293
+ console.error(`Error: unknown target "${options.target}". Use "200k" or "1m".`);
294
+ process.exitCode = 1;
295
+ return;
296
+ }
297
+ targetSize = size;
298
+ targetLabel = options.target.toUpperCase();
299
+ }
300
+ // Walk directory and collect text files
301
+ const entries = await walkDirectory(targetPath, { ignoreDirs: DEFAULT_IGNORE_DIRS });
302
+ const fileEntries = entries.filter((e) => e.isFile && e.size < 1_000_000);
303
+ const candidates = [];
304
+ for (const entry of fileEntries) {
305
+ const fileName = basename(entry.path).toLowerCase();
306
+ const ext = extname(entry.path).toLowerCase();
307
+ const rel = getRelativePath(targetPath, entry.path);
308
+ // Skip lock files
309
+ if (EXCLUDED_FILENAMES.has(fileName))
310
+ continue;
311
+ // Skip binary files
312
+ if (BINARY_EXTENSIONS.has(ext))
313
+ continue;
314
+ // Apply --include filter
315
+ if (options.include && !matchesGlob(rel, options.include))
316
+ continue;
317
+ // Apply --exclude filter
318
+ if (options.exclude && matchesGlob(rel, options.exclude))
319
+ continue;
320
+ // Try to read as text
321
+ let content;
322
+ try {
323
+ content = await readFile(entry.path, 'utf-8');
324
+ }
325
+ catch {
326
+ continue;
327
+ }
328
+ // Skip files that appear to be binary (contain null bytes in first 8k)
329
+ if (content.slice(0, 8192).includes('\0'))
330
+ continue;
331
+ const tokens = estimateTokens(content);
332
+ candidates.push({
333
+ relativePath: rel,
334
+ absolutePath: entry.path,
335
+ tokens,
336
+ priority: prioritize(rel),
337
+ language: inferLanguage(entry.path),
338
+ });
339
+ }
340
+ // Sort by priority (ascending), then by token count (ascending within same priority)
341
+ candidates.sort((a, b) => {
342
+ if (a.priority !== b.priority)
343
+ return a.priority - b.priority;
344
+ return a.tokens - b.tokens;
345
+ });
346
+ // Pack files into the budget
347
+ const packedFiles = [];
348
+ let usedTokens = 0;
349
+ for (const file of candidates) {
350
+ if (usedTokens + file.tokens <= targetSize) {
351
+ packedFiles.push(file);
352
+ usedTokens += file.tokens;
353
+ }
354
+ }
355
+ // If --json, output metadata and exit
356
+ if (options.json) {
357
+ const metadata = {
358
+ projectName: basename(targetPath),
359
+ targetSize,
360
+ targetLabel,
361
+ format,
362
+ totalFiles: packedFiles.length,
363
+ totalTokens: usedTokens,
364
+ utilization: usedTokens / targetSize,
365
+ skippedFiles: candidates.length - packedFiles.length,
366
+ files: packedFiles.map((f) => ({
367
+ path: f.relativePath,
368
+ tokens: f.tokens,
369
+ priority: f.priority,
370
+ language: f.language,
371
+ })),
372
+ };
373
+ console.log(JSON.stringify(metadata, null, 2));
374
+ return;
375
+ }
376
+ const projectName = basename(targetPath);
377
+ // Sort packed files alphabetically for output
378
+ packedFiles.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
379
+ // Build file tree
380
+ const fileTree = buildCompactTree(packedFiles.map((f) => f.relativePath));
381
+ // Read file contents
382
+ const fileContents = [];
383
+ for (const file of packedFiles) {
384
+ try {
385
+ const content = await readFile(file.absolutePath, 'utf-8');
386
+ fileContents.push({
387
+ relativePath: file.relativePath,
388
+ content,
389
+ language: file.language,
390
+ tokens: file.tokens,
391
+ });
392
+ }
393
+ catch {
394
+ // Skip unreadable files
395
+ }
396
+ }
397
+ // Generate output
398
+ let output;
399
+ switch (format) {
400
+ case 'markdown':
401
+ output = formatMarkdown(projectName, fileContents.length, usedTokens, targetLabel, fileTree, fileContents, options.tree);
402
+ break;
403
+ case 'xml':
404
+ output = formatXml(projectName, fileContents.length, usedTokens, fileContents);
405
+ break;
406
+ case 'text':
407
+ output = formatText(projectName, fileContents.length, usedTokens, targetLabel, fileTree, fileContents, options.tree);
408
+ break;
409
+ }
410
+ // Determine output path
411
+ const outputPath = resolvePath(options.output ?? defaultOutputPath(format));
412
+ console.log(chalk.dim(`Exporting ${fileContents.length} files (${formatTokens(usedTokens)} tokens) to ${basename(outputPath)}...`));
413
+ await writeFile(outputPath, output, 'utf-8');
414
+ const utilization = targetSize > 0 ? usedTokens / targetSize : 0;
415
+ console.log('');
416
+ console.log(chalk.green(`Exported ${fileContents.length} files (${formatTokens(usedTokens)} tokens) to ${outputPath}`));
417
+ console.log(chalk.dim(`Target: ${targetLabel} | Utilization: ${formatPercentage(utilization)}`));
418
+ });
419
+ }
420
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * `codeprobe quality [path]` — Score the context quality of a repository.
3
+ *
4
+ * Evaluates signal-to-noise ratio, file diversity, documentation coverage,
5
+ * redundancy, context window utilization, and AI tool readiness. All scoring
6
+ * is offline (no API calls required).
7
+ */
8
+ import { Command } from 'commander';
9
+ export declare function registerQualityCommand(program: Command): void;
10
+ //# sourceMappingURL=quality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/commands/quality.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyE7D"}