logicstamp-context 0.1.1 → 0.2.1
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/LLM_CONTEXT.md +4 -3
- package/README.md +116 -19
- package/dist/cli/commands/compare.d.ts.map +1 -1
- package/dist/cli/commands/compare.js +17 -8
- package/dist/cli/commands/compare.js.map +1 -1
- package/dist/cli/commands/context/bundleFormatter.d.ts +20 -0
- package/dist/cli/commands/context/bundleFormatter.d.ts.map +1 -0
- package/dist/cli/commands/context/bundleFormatter.js +55 -0
- package/dist/cli/commands/context/bundleFormatter.js.map +1 -0
- package/dist/cli/commands/context/configManager.d.ts +23 -0
- package/dist/cli/commands/context/configManager.d.ts.map +1 -0
- package/dist/cli/commands/context/configManager.js +69 -0
- package/dist/cli/commands/context/configManager.js.map +1 -0
- package/dist/cli/commands/context/contractBuilder.d.ts +18 -0
- package/dist/cli/commands/context/contractBuilder.d.ts.map +1 -0
- package/dist/cli/commands/context/contractBuilder.js +72 -0
- package/dist/cli/commands/context/contractBuilder.js.map +1 -0
- package/dist/cli/commands/context/fileWriter.d.ts +38 -0
- package/dist/cli/commands/context/fileWriter.d.ts.map +1 -0
- package/dist/cli/commands/context/fileWriter.js +170 -0
- package/dist/cli/commands/context/fileWriter.js.map +1 -0
- package/dist/cli/commands/context/statsCalculator.d.ts +44 -0
- package/dist/cli/commands/context/statsCalculator.d.ts.map +1 -0
- package/dist/cli/commands/context/statsCalculator.js +150 -0
- package/dist/cli/commands/context/statsCalculator.js.map +1 -0
- package/dist/cli/commands/context/tokenEstimator.d.ts +76 -0
- package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -0
- package/dist/cli/commands/context/tokenEstimator.js +258 -0
- package/dist/cli/commands/context/tokenEstimator.js.map +1 -0
- package/dist/cli/commands/context.d.ts +1 -0
- package/dist/cli/commands/context.d.ts.map +1 -1
- package/dist/cli/commands/context.js +72 -399
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/style.d.ts +11 -0
- package/dist/cli/commands/style.d.ts.map +1 -0
- package/dist/cli/commands/style.js +15 -0
- package/dist/cli/commands/style.js.map +1 -0
- package/dist/cli/handlers/cleanHandler.d.ts +5 -0
- package/dist/cli/handlers/cleanHandler.d.ts.map +1 -0
- package/dist/cli/handlers/cleanHandler.js +28 -0
- package/dist/cli/handlers/cleanHandler.js.map +1 -0
- package/dist/cli/handlers/compareHandler.d.ts +5 -0
- package/dist/cli/handlers/compareHandler.d.ts.map +1 -0
- package/dist/cli/handlers/compareHandler.js +332 -0
- package/dist/cli/handlers/compareHandler.js.map +1 -0
- package/dist/cli/handlers/contextHandler.d.ts +5 -0
- package/dist/cli/handlers/contextHandler.d.ts.map +1 -0
- package/dist/cli/handlers/contextHandler.js +24 -0
- package/dist/cli/handlers/contextHandler.js.map +1 -0
- package/dist/cli/handlers/initHandler.d.ts +6 -0
- package/dist/cli/handlers/initHandler.d.ts.map +1 -0
- package/dist/cli/handlers/initHandler.js +30 -0
- package/dist/cli/handlers/initHandler.js.map +1 -0
- package/dist/cli/handlers/styleHandler.d.ts +5 -0
- package/dist/cli/handlers/styleHandler.d.ts.map +1 -0
- package/dist/cli/handlers/styleHandler.js +30 -0
- package/dist/cli/handlers/styleHandler.js.map +1 -0
- package/dist/cli/handlers/validateHandler.d.ts +5 -0
- package/dist/cli/handlers/validateHandler.d.ts.map +1 -0
- package/dist/cli/handlers/validateHandler.js +23 -0
- package/dist/cli/handlers/validateHandler.js.map +1 -0
- package/dist/cli/parser/argumentParser.d.ts +44 -0
- package/dist/cli/parser/argumentParser.d.ts.map +1 -0
- package/dist/cli/parser/argumentParser.js +194 -0
- package/dist/cli/parser/argumentParser.js.map +1 -0
- package/dist/cli/parser/helpText.d.ts +11 -0
- package/dist/cli/parser/helpText.d.ts.map +1 -0
- package/dist/cli/parser/helpText.js +373 -0
- package/dist/cli/parser/helpText.js.map +1 -0
- package/dist/cli/stamp.js +14 -821
- package/dist/cli/stamp.js.map +1 -1
- package/dist/core/astParser/detectors.d.ts +24 -0
- package/dist/core/astParser/detectors.d.ts.map +1 -0
- package/dist/core/astParser/detectors.js +102 -0
- package/dist/core/astParser/detectors.js.map +1 -0
- package/dist/core/astParser/extractors/componentExtractor.d.ts +13 -0
- package/dist/core/astParser/extractors/componentExtractor.d.ts.map +1 -0
- package/dist/core/astParser/extractors/componentExtractor.js +41 -0
- package/dist/core/astParser/extractors/componentExtractor.js.map +1 -0
- package/dist/core/astParser/extractors/eventExtractor.d.ts +14 -0
- package/dist/core/astParser/extractors/eventExtractor.d.ts.map +1 -0
- package/dist/core/astParser/extractors/eventExtractor.js +49 -0
- package/dist/core/astParser/extractors/eventExtractor.js.map +1 -0
- package/dist/core/astParser/extractors/propExtractor.d.ts +14 -0
- package/dist/core/astParser/extractors/propExtractor.d.ts.map +1 -0
- package/dist/core/astParser/extractors/propExtractor.js +73 -0
- package/dist/core/astParser/extractors/propExtractor.js.map +1 -0
- package/dist/core/astParser/extractors/stateExtractor.d.ts +13 -0
- package/dist/core/astParser/extractors/stateExtractor.d.ts.map +1 -0
- package/dist/core/astParser/extractors/stateExtractor.js +66 -0
- package/dist/core/astParser/extractors/stateExtractor.js.map +1 -0
- package/dist/core/astParser.d.ts.map +1 -1
- package/dist/core/astParser.js +5 -307
- package/dist/core/astParser.js.map +1 -1
- package/dist/core/contractBuilder.d.ts +1 -0
- package/dist/core/contractBuilder.d.ts.map +1 -1
- package/dist/core/contractBuilder.js +1 -0
- package/dist/core/contractBuilder.js.map +1 -1
- package/dist/core/pack/builder.d.ts +35 -0
- package/dist/core/pack/builder.d.ts.map +1 -0
- package/dist/core/pack/builder.js +76 -0
- package/dist/core/pack/builder.js.map +1 -0
- package/dist/core/pack/collector.d.ts +20 -0
- package/dist/core/pack/collector.d.ts.map +1 -0
- package/dist/core/pack/collector.js +71 -0
- package/dist/core/pack/collector.js.map +1 -0
- package/dist/core/pack/loader.d.ts +23 -0
- package/dist/core/pack/loader.d.ts.map +1 -0
- package/dist/core/pack/loader.js +66 -0
- package/dist/core/pack/loader.js.map +1 -0
- package/dist/core/pack/resolver.d.ts +21 -0
- package/dist/core/pack/resolver.d.ts.map +1 -0
- package/dist/core/pack/resolver.js +79 -0
- package/dist/core/pack/resolver.js.map +1 -0
- package/dist/core/pack.d.ts +17 -27
- package/dist/core/pack.d.ts.map +1 -1
- package/dist/core/pack.js +18 -225
- package/dist/core/pack.js.map +1 -1
- package/dist/core/styleExtractor/index.d.ts +11 -0
- package/dist/core/styleExtractor/index.d.ts.map +1 -0
- package/dist/core/styleExtractor/index.js +11 -0
- package/dist/core/styleExtractor/index.js.map +1 -0
- package/dist/core/styleExtractor/layout.d.ts +14 -0
- package/dist/core/styleExtractor/layout.d.ts.map +1 -0
- package/dist/core/styleExtractor/layout.js +86 -0
- package/dist/core/styleExtractor/layout.js.map +1 -0
- package/dist/core/styleExtractor/motion.d.ts +20 -0
- package/dist/core/styleExtractor/motion.d.ts.map +1 -0
- package/dist/core/styleExtractor/motion.js +74 -0
- package/dist/core/styleExtractor/motion.js.map +1 -0
- package/dist/core/styleExtractor/scss.d.ts +30 -0
- package/dist/core/styleExtractor/scss.d.ts.map +1 -0
- package/dist/core/styleExtractor/scss.js +80 -0
- package/dist/core/styleExtractor/scss.js.map +1 -0
- package/dist/core/styleExtractor/styleExtractor.d.ts +11 -0
- package/dist/core/styleExtractor/styleExtractor.d.ts.map +1 -0
- package/dist/core/styleExtractor/styleExtractor.js +115 -0
- package/dist/core/styleExtractor/styleExtractor.js.map +1 -0
- package/dist/core/styleExtractor/styled.d.ts +13 -0
- package/dist/core/styleExtractor/styled.d.ts.map +1 -0
- package/dist/core/styleExtractor/styled.js +31 -0
- package/dist/core/styleExtractor/styled.js.map +1 -0
- package/dist/core/styleExtractor/tailwind.d.ts +16 -0
- package/dist/core/styleExtractor/tailwind.d.ts.map +1 -0
- package/dist/core/styleExtractor/tailwind.js +85 -0
- package/dist/core/styleExtractor/tailwind.js.map +1 -0
- package/dist/core/styleExtractor.d.ts +8 -0
- package/dist/core/styleExtractor.d.ts.map +1 -0
- package/dist/core/styleExtractor.js +8 -0
- package/dist/core/styleExtractor.js.map +1 -0
- package/dist/types/UIFContract.d.ts +71 -0
- package/dist/types/UIFContract.d.ts.map +1 -1
- package/dist/types/UIFContract.js.map +1 -1
- package/dist/utils/tokens.d.ts +18 -10
- package/dist/utils/tokens.d.ts.map +1 -1
- package/dist/utils/tokens.js +100 -10
- package/dist/utils/tokens.js.map +1 -1
- package/package.json +5 -1
- package/schema/logicstamp.context.schema.json +288 -0
|
@@ -1,59 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Context command - Generates context bundles from React/TypeScript codebases
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { globFiles, readFileWithText, getFolderPath, normalizeEntryId } from '../../utils/fsx.js';
|
|
7
|
-
import { buildContract } from '../../core/contractBuilder.js';
|
|
8
|
-
import { extractFromFile } from '../../core/astParser.js';
|
|
4
|
+
import { resolve, dirname } from 'node:path';
|
|
5
|
+
import { globFiles } from '../../utils/fsx.js';
|
|
9
6
|
import { buildDependencyGraph } from '../../core/manifest.js';
|
|
10
7
|
import { pack, } from '../../core/pack.js';
|
|
11
|
-
import { estimateGPT4Tokens, estimateClaudeTokens
|
|
8
|
+
import { estimateGPT4Tokens, estimateClaudeTokens } from '../../utils/tokens.js';
|
|
12
9
|
import { validateBundles } from './validate.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
function displayPath(path) {
|
|
20
|
-
return path.replace(/\\/g, '/');
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Detect if a folder is a root (application entry point) and assign a label
|
|
24
|
-
*/
|
|
25
|
-
function detectRootFolder(relativePath, components) {
|
|
26
|
-
// Project root is always a root
|
|
27
|
-
if (relativePath === '.') {
|
|
28
|
-
return { isRoot: true, rootLabel: 'Project Root' };
|
|
29
|
-
}
|
|
30
|
-
// Detect common application entry points
|
|
31
|
-
const pathLower = relativePath.toLowerCase();
|
|
32
|
-
// Next.js app router
|
|
33
|
-
if (pathLower.includes('/app') && components.some(c => c === 'page.tsx' || c === 'layout.tsx')) {
|
|
34
|
-
return { isRoot: true, rootLabel: 'Next.js App' };
|
|
35
|
-
}
|
|
36
|
-
// Examples folder
|
|
37
|
-
if (pathLower.startsWith('examples/') && pathLower.endsWith('/src')) {
|
|
38
|
-
const exampleName = relativePath.split('/')[1];
|
|
39
|
-
return { isRoot: true, rootLabel: `Example: ${exampleName}` };
|
|
40
|
-
}
|
|
41
|
-
// Test fixtures
|
|
42
|
-
if (pathLower.includes('tests/fixtures/') && pathLower.endsWith('/src')) {
|
|
43
|
-
return { isRoot: true, rootLabel: 'Test Fixture' };
|
|
44
|
-
}
|
|
45
|
-
// Root src folder
|
|
46
|
-
if (relativePath === 'src') {
|
|
47
|
-
return { isRoot: true, rootLabel: 'Main Source' };
|
|
48
|
-
}
|
|
49
|
-
// Apps folder (monorepo pattern)
|
|
50
|
-
if (pathLower.startsWith('apps/')) {
|
|
51
|
-
const appName = relativePath.split('/')[1];
|
|
52
|
-
return { isRoot: true, rootLabel: `App: ${appName}` };
|
|
53
|
-
}
|
|
54
|
-
// Default: not a root
|
|
55
|
-
return { isRoot: false };
|
|
56
|
-
}
|
|
10
|
+
import { buildContractsFromFiles } from './context/contractBuilder.js';
|
|
11
|
+
import { formatBundles } from './context/bundleFormatter.js';
|
|
12
|
+
import { calculateTokenEstimates, generateModeComparison, displayModeComparison } from './context/tokenEstimator.js';
|
|
13
|
+
import { calculateStats, generateStatsOutput, generateSummary } from './context/statsCalculator.js';
|
|
14
|
+
import { writeContextFiles, writeMainIndex, groupBundlesByFolder, displayPath } from './context/fileWriter.js';
|
|
15
|
+
import { ensureConfigExists, setupGitignore, setupLLMContext } from './context/configManager.js';
|
|
57
16
|
export async function contextCommand(options) {
|
|
58
17
|
const startTime = Date.now();
|
|
59
18
|
// Determine the target directory
|
|
@@ -76,33 +35,11 @@ export async function contextCommand(options) {
|
|
|
76
35
|
if (!options.quiet) {
|
|
77
36
|
console.log(`🔨 Analyzing components...`);
|
|
78
37
|
}
|
|
79
|
-
const contracts =
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
// Extract AST from file
|
|
85
|
-
const ast = await extractFromFile(file);
|
|
86
|
-
// Build contract from AST
|
|
87
|
-
const { text } = await readFileWithText(file);
|
|
88
|
-
totalSourceSize += text.length; // Accumulate source size
|
|
89
|
-
const result = buildContract(file, ast, {
|
|
90
|
-
preset: 'none',
|
|
91
|
-
sourceText: text,
|
|
92
|
-
enablePredictions: options.predictBehavior,
|
|
93
|
-
});
|
|
94
|
-
if (result.contract) {
|
|
95
|
-
contracts.push(result.contract);
|
|
96
|
-
analyzed++;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
catch (error) {
|
|
100
|
-
// Skip files that can't be analyzed
|
|
101
|
-
if (!options.quiet) {
|
|
102
|
-
console.warn(` ⚠️ Skipped ${file}: ${error.message}`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
38
|
+
const { contracts, analyzed, totalSourceSize } = await buildContractsFromFiles(files, {
|
|
39
|
+
includeStyle: options.includeStyle,
|
|
40
|
+
predictBehavior: options.predictBehavior,
|
|
41
|
+
quiet: options.quiet,
|
|
42
|
+
});
|
|
106
43
|
if (!options.quiet) {
|
|
107
44
|
console.log(` Analyzed ${analyzed} components`);
|
|
108
45
|
}
|
|
@@ -164,13 +101,11 @@ export async function contextCommand(options) {
|
|
|
164
101
|
maxNodes: options.maxNodes,
|
|
165
102
|
contractsMap, // Pass in-memory contracts
|
|
166
103
|
};
|
|
167
|
-
let bundles;
|
|
168
|
-
let output;
|
|
169
104
|
// Generate context for all root components
|
|
170
105
|
if (!options.quiet) {
|
|
171
106
|
console.log(`📦 Generating context for ${manifest.graph.roots.length} root components (depth=${depth})...`);
|
|
172
107
|
}
|
|
173
|
-
bundles = [];
|
|
108
|
+
const bundles = [];
|
|
174
109
|
for (const rootId of manifest.graph.roots) {
|
|
175
110
|
try {
|
|
176
111
|
const bundle = await pack(rootId, manifest, packOptions, projectRoot);
|
|
@@ -189,130 +124,36 @@ export async function contextCommand(options) {
|
|
|
189
124
|
// Sort bundles by entryId for deterministic output
|
|
190
125
|
bundles.sort((a, b) => a.entryId.localeCompare(b.entryId));
|
|
191
126
|
// Combine all bundles into output
|
|
192
|
-
|
|
193
|
-
output = bundles.map((b, idx) => {
|
|
194
|
-
const bundleWithSchema = {
|
|
195
|
-
$schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
|
|
196
|
-
position: `${idx + 1}/${bundles.length}`,
|
|
197
|
-
...b,
|
|
198
|
-
};
|
|
199
|
-
return JSON.stringify(bundleWithSchema);
|
|
200
|
-
}).join('\n');
|
|
201
|
-
}
|
|
202
|
-
else if (options.format === 'json') {
|
|
203
|
-
const bundlesWithPosition = bundles.map((b, idx) => ({
|
|
204
|
-
$schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
|
|
205
|
-
position: `${idx + 1}/${bundles.length}`,
|
|
206
|
-
...b,
|
|
207
|
-
}));
|
|
208
|
-
output = JSON.stringify(bundlesWithPosition, null, 2);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
// pretty format
|
|
212
|
-
output = bundles.map((b, idx) => {
|
|
213
|
-
const bundleWithSchema = {
|
|
214
|
-
$schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
|
|
215
|
-
position: `${idx + 1}/${bundles.length}`,
|
|
216
|
-
...b,
|
|
217
|
-
};
|
|
218
|
-
const header = `\n# Bundle ${idx + 1}/${bundles.length}: ${b.entryId}`;
|
|
219
|
-
return header + '\n' + JSON.stringify(bundleWithSchema, null, 2);
|
|
220
|
-
}).join('\n\n');
|
|
221
|
-
}
|
|
127
|
+
const output = formatBundles(bundles, options.format);
|
|
222
128
|
const elapsed = Date.now() - startTime;
|
|
223
129
|
// Calculate stats
|
|
224
|
-
const
|
|
225
|
-
const totalEdges = bundles.reduce((sum, b) => sum + b.graph.edges.length, 0);
|
|
226
|
-
const totalMissing = bundles.reduce((sum, b) => sum + b.meta.missing.length, 0);
|
|
130
|
+
const stats = calculateStats(bundles);
|
|
227
131
|
// Calculate token counts for actual output (current mode)
|
|
228
|
-
const currentGPT4 = estimateGPT4Tokens(output);
|
|
229
|
-
const currentClaude = estimateClaudeTokens(output);
|
|
230
|
-
//
|
|
231
|
-
|
|
232
|
-
const sourceTokensGPT4 = Math.ceil(totalSourceSize / 4);
|
|
233
|
-
const sourceTokensClaude = Math.ceil(totalSourceSize / 4.5);
|
|
234
|
-
// Estimate based on typical ratios observed in practice:
|
|
235
|
-
// - none mode: ~60% of header mode (contracts only, no code snippets)
|
|
236
|
-
// - header mode: baseline (contracts + JSDoc headers)
|
|
237
|
-
// - full mode: header mode + all source code
|
|
238
|
-
const modeEstimates = {
|
|
239
|
-
none: {
|
|
240
|
-
gpt4: Math.ceil(currentGPT4 * 0.6),
|
|
241
|
-
claude: Math.ceil(currentClaude * 0.6),
|
|
242
|
-
},
|
|
243
|
-
header: {
|
|
244
|
-
gpt4: currentGPT4,
|
|
245
|
-
claude: currentClaude,
|
|
246
|
-
},
|
|
247
|
-
full: {
|
|
248
|
-
gpt4: currentGPT4 + sourceTokensGPT4,
|
|
249
|
-
claude: currentClaude + sourceTokensClaude,
|
|
250
|
-
},
|
|
251
|
-
};
|
|
252
|
-
// Calculate savings percentage for current mode vs full
|
|
253
|
-
const savingsGPT4 = modeEstimates.full.gpt4 > 0
|
|
254
|
-
? ((modeEstimates.full.gpt4 - currentGPT4) / modeEstimates.full.gpt4 * 100).toFixed(0)
|
|
255
|
-
: '0';
|
|
256
|
-
const savingsClaude = modeEstimates.full.claude > 0
|
|
257
|
-
? ((modeEstimates.full.claude - currentClaude) / modeEstimates.full.claude * 100).toFixed(0)
|
|
258
|
-
: '0';
|
|
132
|
+
const currentGPT4 = await estimateGPT4Tokens(output);
|
|
133
|
+
const currentClaude = await estimateClaudeTokens(output);
|
|
134
|
+
// Calculate token estimates
|
|
135
|
+
const tokenEstimates = await calculateTokenEstimates(output, totalSourceSize, currentGPT4, currentClaude);
|
|
259
136
|
// If --compare-modes flag is set, output detailed mode comparison and exit
|
|
260
137
|
if (options.compareModes) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
: '0';
|
|
273
|
-
console.log(`${mode.name.padEnd(8)} | ${formatTokenCount(mode.gpt4).padStart(13)} | ${formatTokenCount(mode.claude).padStart(13)} | ${savings}%`);
|
|
138
|
+
const comparison = await generateModeComparison(files, manifest, projectRoot, currentGPT4, currentClaude, totalSourceSize, {
|
|
139
|
+
includeCode: options.includeCode,
|
|
140
|
+
includeStyle: options.includeStyle,
|
|
141
|
+
depth: options.depth,
|
|
142
|
+
maxNodes: options.maxNodes,
|
|
143
|
+
format: options.format,
|
|
144
|
+
hashLock: options.hashLock,
|
|
145
|
+
strict: options.strict,
|
|
146
|
+
allowMissing: options.allowMissing,
|
|
147
|
+
predictBehavior: options.predictBehavior,
|
|
148
|
+
quiet: options.quiet,
|
|
274
149
|
});
|
|
275
|
-
|
|
150
|
+
await displayModeComparison(comparison, elapsed);
|
|
276
151
|
return;
|
|
277
152
|
}
|
|
278
153
|
// If --stats flag is set, output one-line JSON and exit
|
|
279
|
-
// Stats Output Contract (for CI parsing):
|
|
280
|
-
// {
|
|
281
|
-
// totalComponents: number, // Total .ts/.tsx files analyzed
|
|
282
|
-
// rootComponents: number, // Components with no dependencies (entry points)
|
|
283
|
-
// leafComponents: number, // Components that are only dependencies (no imports)
|
|
284
|
-
// bundlesGenerated: number, // Number of bundles created (one per root)
|
|
285
|
-
// totalNodes: number, // Sum of all nodes across all bundles
|
|
286
|
-
// totalEdges: number, // Sum of all edges across all bundles
|
|
287
|
-
// missingDependencies: number, // Count of unresolved dependencies (third-party/external)
|
|
288
|
-
// tokensGPT4: number, // Estimated GPT-4 tokens (current mode)
|
|
289
|
-
// tokensClaude: number, // Estimated Claude tokens (current mode)
|
|
290
|
-
// modeEstimates: object, // Token estimates for all modes (none/header/full)
|
|
291
|
-
// savingsGPT4: string, // Savings percentage for GPT-4 (current vs full)
|
|
292
|
-
// savingsClaude: string, // Savings percentage for Claude (current vs full)
|
|
293
|
-
// elapsedMs: number // Time taken in milliseconds
|
|
294
|
-
// }
|
|
295
154
|
if (options.stats) {
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
rootComponents: manifest.graph.roots.length,
|
|
299
|
-
leafComponents: manifest.graph.leaves.length,
|
|
300
|
-
bundlesGenerated: bundles.length,
|
|
301
|
-
totalNodes,
|
|
302
|
-
totalEdges,
|
|
303
|
-
missingDependencies: totalMissing,
|
|
304
|
-
tokensGPT4: currentGPT4,
|
|
305
|
-
tokensClaude: currentClaude,
|
|
306
|
-
modeEstimates: {
|
|
307
|
-
none: { gpt4: modeEstimates.none.gpt4, claude: modeEstimates.none.claude },
|
|
308
|
-
header: { gpt4: modeEstimates.header.gpt4, claude: modeEstimates.header.claude },
|
|
309
|
-
full: { gpt4: modeEstimates.full.gpt4, claude: modeEstimates.full.claude },
|
|
310
|
-
},
|
|
311
|
-
savingsGPT4,
|
|
312
|
-
savingsClaude,
|
|
313
|
-
elapsedMs: elapsed,
|
|
314
|
-
};
|
|
315
|
-
console.log(JSON.stringify(stats));
|
|
155
|
+
const statsOutput = generateStatsOutput(contracts, manifest, bundles, stats, tokenEstimates, elapsed);
|
|
156
|
+
console.log(JSON.stringify(statsOutput));
|
|
316
157
|
return;
|
|
317
158
|
}
|
|
318
159
|
// Validate bundles before writing
|
|
@@ -345,189 +186,28 @@ export async function contextCommand(options) {
|
|
|
345
186
|
// If --out points to a .json file, use its directory; otherwise use it as the directory
|
|
346
187
|
const outPath = resolve(options.out);
|
|
347
188
|
const outputDir = outPath.endsWith('.json') ? dirname(outPath) : outPath;
|
|
348
|
-
//
|
|
349
|
-
const
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
if (!options.quiet) {
|
|
359
|
-
console.log(`📝 Writing context files for ${bundlesByFolder.size} folders...`);
|
|
360
|
-
}
|
|
361
|
-
let filesWritten = 0;
|
|
362
|
-
const normalizedRoot = normalizeEntryId(projectRoot);
|
|
363
|
-
const folderInfos = [];
|
|
364
|
-
let totalTokenEstimate = 0;
|
|
365
|
-
for (const [folderPath, folderBundles] of bundlesByFolder) {
|
|
366
|
-
// Sort bundles for deterministic output
|
|
367
|
-
folderBundles.sort((a, b) => a.entryId.localeCompare(b.entryId));
|
|
368
|
-
// Calculate relative path from project root
|
|
369
|
-
let relativePath;
|
|
370
|
-
if (folderPath === normalizedRoot) {
|
|
371
|
-
relativePath = '.';
|
|
372
|
-
}
|
|
373
|
-
else if (folderPath.startsWith(normalizedRoot + '/')) {
|
|
374
|
-
relativePath = folderPath.substring(normalizedRoot.length + 1);
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
relativePath = folderPath;
|
|
378
|
-
}
|
|
379
|
-
// Extract component file names from bundle entryIds
|
|
380
|
-
const components = folderBundles.map(b => {
|
|
381
|
-
const normalized = normalizeEntryId(b.entryId);
|
|
382
|
-
const lastSlash = normalized.lastIndexOf('/');
|
|
383
|
-
return lastSlash !== -1 ? normalized.substring(lastSlash + 1) : normalized;
|
|
384
|
-
});
|
|
385
|
-
// Detect if this is a root folder
|
|
386
|
-
const { isRoot, rootLabel } = detectRootFolder(relativePath, components);
|
|
387
|
-
// Format bundles for this folder
|
|
388
|
-
let folderOutput;
|
|
389
|
-
if (options.format === 'ndjson') {
|
|
390
|
-
folderOutput = folderBundles.map((b, idx) => {
|
|
391
|
-
const bundleWithSchema = {
|
|
392
|
-
$schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
|
|
393
|
-
position: `${idx + 1}/${folderBundles.length}`,
|
|
394
|
-
...b,
|
|
395
|
-
};
|
|
396
|
-
return JSON.stringify(bundleWithSchema);
|
|
397
|
-
}).join('\n');
|
|
398
|
-
}
|
|
399
|
-
else if (options.format === 'json') {
|
|
400
|
-
const bundlesWithPosition = folderBundles.map((b, idx) => ({
|
|
401
|
-
$schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
|
|
402
|
-
position: `${idx + 1}/${folderBundles.length}`,
|
|
403
|
-
...b,
|
|
404
|
-
}));
|
|
405
|
-
folderOutput = JSON.stringify(bundlesWithPosition, null, 2);
|
|
406
|
-
}
|
|
407
|
-
else {
|
|
408
|
-
// pretty format
|
|
409
|
-
folderOutput = folderBundles.map((b, idx) => {
|
|
410
|
-
const bundleWithSchema = {
|
|
411
|
-
$schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
|
|
412
|
-
position: `${idx + 1}/${folderBundles.length}`,
|
|
413
|
-
...b,
|
|
414
|
-
};
|
|
415
|
-
const header = `\n# Bundle ${idx + 1}/${folderBundles.length}: ${b.entryId}`;
|
|
416
|
-
return header + '\n' + JSON.stringify(bundleWithSchema, null, 2);
|
|
417
|
-
}).join('\n\n');
|
|
418
|
-
}
|
|
419
|
-
// Estimate tokens for this folder's context file
|
|
420
|
-
const folderTokenEstimate = estimateGPT4Tokens(folderOutput);
|
|
421
|
-
totalTokenEstimate += folderTokenEstimate;
|
|
422
|
-
// Write folder's context.json to output directory maintaining relative structure
|
|
423
|
-
const contextFileName = relativePath === '.' ? 'context.json' : join(relativePath, 'context.json');
|
|
424
|
-
const contextFilePath = relativePath === '.' ? 'context.json' : `${relativePath}/context.json`;
|
|
425
|
-
const folderContextPath = join(outputDir, contextFileName);
|
|
426
|
-
await mkdir(dirname(folderContextPath), { recursive: true });
|
|
427
|
-
await writeFile(folderContextPath, folderOutput, 'utf8');
|
|
428
|
-
filesWritten++;
|
|
429
|
-
if (!options.quiet) {
|
|
430
|
-
console.log(` ✓ ${displayPath(folderContextPath)} (${folderBundles.length} bundles)`);
|
|
431
|
-
}
|
|
432
|
-
// Add to folder info array
|
|
433
|
-
folderInfos.push({
|
|
434
|
-
path: relativePath === '.' ? '.' : relativePath,
|
|
435
|
-
contextFile: contextFilePath,
|
|
436
|
-
bundles: folderBundles.length,
|
|
437
|
-
components: components.sort(),
|
|
438
|
-
isRoot,
|
|
439
|
-
rootLabel,
|
|
440
|
-
tokenEstimate: folderTokenEstimate,
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
// Write context_main.json as metadata index
|
|
444
|
-
const mainContextPath = join(outputDir, 'context_main.json');
|
|
189
|
+
// Write context files
|
|
190
|
+
const { filesWritten, folderInfos, totalTokenEstimate } = await writeContextFiles(bundles, outputDir, projectRoot, {
|
|
191
|
+
format: options.format,
|
|
192
|
+
quiet: options.quiet,
|
|
193
|
+
});
|
|
194
|
+
// Write main index
|
|
195
|
+
await writeMainIndex(outputDir, folderInfos, contracts, bundles, groupBundlesByFolder(bundles).size, totalTokenEstimate, projectRoot, {
|
|
196
|
+
quiet: options.quiet,
|
|
197
|
+
suppressSuccessIndicator: options.suppressSuccessIndicator,
|
|
198
|
+
});
|
|
445
199
|
if (!options.quiet) {
|
|
446
|
-
console.log(`📝 Writing main context index...`);
|
|
447
|
-
}
|
|
448
|
-
// Sort folders by path for deterministic output
|
|
449
|
-
folderInfos.sort((a, b) => a.path.localeCompare(b.path));
|
|
450
|
-
// Create index structure
|
|
451
|
-
const index = {
|
|
452
|
-
type: 'LogicStampIndex',
|
|
453
|
-
schemaVersion: '0.1',
|
|
454
|
-
projectRoot: '.',
|
|
455
|
-
projectRootResolved: normalizedRoot,
|
|
456
|
-
createdAt: new Date().toISOString(),
|
|
457
|
-
summary: {
|
|
458
|
-
totalComponents: contracts.length,
|
|
459
|
-
totalBundles: bundles.length,
|
|
460
|
-
totalFolders: bundlesByFolder.size,
|
|
461
|
-
totalTokenEstimate,
|
|
462
|
-
},
|
|
463
|
-
folders: folderInfos,
|
|
464
|
-
meta: {
|
|
465
|
-
source: 'logicstamp-context@0.1.1',
|
|
466
|
-
},
|
|
467
|
-
};
|
|
468
|
-
const indexOutput = JSON.stringify(index, null, 2);
|
|
469
|
-
await writeFile(mainContextPath, indexOutput, 'utf8');
|
|
470
|
-
if (options.quiet && !options.suppressSuccessIndicator) {
|
|
471
|
-
// Minimal output in quiet mode (unless suppressed for internal calls)
|
|
472
|
-
process.stdout.write('✓\n');
|
|
473
|
-
}
|
|
474
|
-
else if (!options.quiet) {
|
|
475
|
-
console.log(` ✓ ${displayPath(mainContextPath)} (index of ${bundlesByFolder.size} folders)`);
|
|
476
200
|
console.log(`✅ ${filesWritten + 1} context files written successfully`);
|
|
477
201
|
}
|
|
478
202
|
// Auto-create config with safe defaults if it doesn't exist (first run)
|
|
479
|
-
|
|
480
|
-
try {
|
|
481
|
-
if (!await configExists(projectRoot)) {
|
|
482
|
-
await writeConfig(projectRoot, {
|
|
483
|
-
gitignorePreference: 'skipped',
|
|
484
|
-
llmContextPreference: 'skipped',
|
|
485
|
-
});
|
|
486
|
-
configCreated = true;
|
|
487
|
-
if (!options.quiet) {
|
|
488
|
-
console.log('\n💡 No LogicStamp config found – created .logicstamp/config.json with safe defaults (no .gitignore changes).');
|
|
489
|
-
console.log(' Run `stamp init` to customize behavior.\n');
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
catch (error) {
|
|
494
|
-
// Ignore config creation errors - not critical
|
|
495
|
-
}
|
|
496
|
-
// Determine skipGitignore: CLI flag OR config says skip OR no config (default to skip)
|
|
497
|
-
const config = await readConfig(projectRoot);
|
|
498
|
-
const shouldSkipGitignore = options.skipGitignore ||
|
|
499
|
-
config.gitignorePreference === 'skipped' ||
|
|
500
|
-
!config.gitignorePreference; // default to skip if no preference
|
|
203
|
+
await ensureConfigExists(projectRoot, { quiet: options.quiet });
|
|
501
204
|
// Smart .gitignore setup (no prompting - only init prompts)
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
// Only show output if patterns were actually added (config preference was 'added')
|
|
507
|
-
if (added && !options.quiet) {
|
|
508
|
-
if (created) {
|
|
509
|
-
console.log('\n📝 Created .gitignore with LogicStamp patterns');
|
|
510
|
-
}
|
|
511
|
-
else {
|
|
512
|
-
console.log('\n📝 Added LogicStamp patterns to .gitignore');
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
catch (error) {
|
|
517
|
-
// Silently ignore gitignore errors - not critical to context generation
|
|
518
|
-
// Users can run `stamp init` manually if needed
|
|
519
|
-
}
|
|
205
|
+
await setupGitignore(projectRoot, {
|
|
206
|
+
skipGitignore: options.skipGitignore,
|
|
207
|
+
quiet: options.quiet,
|
|
208
|
+
});
|
|
520
209
|
// Smart LLM_CONTEXT.md setup (no prompting - only init prompts)
|
|
521
|
-
|
|
522
|
-
const { added } = await smartLLMContextSetup(projectRoot);
|
|
523
|
-
// Only show output if file was actually created (config preference was 'added')
|
|
524
|
-
if (added && !options.quiet) {
|
|
525
|
-
console.log('\n📝 Created LLM_CONTEXT.md');
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
catch (error) {
|
|
529
|
-
// Silently ignore LLM_CONTEXT.md errors - not critical to context generation
|
|
530
|
-
}
|
|
210
|
+
await setupLLMContext(projectRoot, { quiet: options.quiet });
|
|
531
211
|
}
|
|
532
212
|
else {
|
|
533
213
|
if (!options.quiet) {
|
|
@@ -536,37 +216,30 @@ export async function contextCommand(options) {
|
|
|
536
216
|
}
|
|
537
217
|
// Print summary (skip in quiet mode)
|
|
538
218
|
if (!options.quiet) {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
b.meta.missing.forEach(dep => allMissing.add(dep.name));
|
|
559
|
-
});
|
|
560
|
-
Array.from(allMissing).slice(0, 10).forEach(name => console.log(` - ${name}`));
|
|
561
|
-
if (allMissing.size > 10) {
|
|
562
|
-
console.log(` ... and ${allMissing.size - 10} more`);
|
|
563
|
-
}
|
|
564
|
-
}
|
|
219
|
+
await generateSummary(contracts, manifest, bundles, stats, tokenEstimates, {
|
|
220
|
+
includeCode: options.includeCode,
|
|
221
|
+
includeStyle: options.includeStyle,
|
|
222
|
+
files,
|
|
223
|
+
projectRoot,
|
|
224
|
+
currentGPT4,
|
|
225
|
+
currentClaude,
|
|
226
|
+
totalSourceSize,
|
|
227
|
+
packOptions: {
|
|
228
|
+
depth,
|
|
229
|
+
maxNodes: options.maxNodes,
|
|
230
|
+
format: options.format,
|
|
231
|
+
hashLock,
|
|
232
|
+
strict,
|
|
233
|
+
allowMissing: options.allowMissing,
|
|
234
|
+
predictBehavior: options.predictBehavior,
|
|
235
|
+
},
|
|
236
|
+
quiet: options.quiet,
|
|
237
|
+
});
|
|
565
238
|
console.log(`\n⏱ Completed in ${elapsed}ms`);
|
|
566
239
|
}
|
|
567
240
|
// Exit with non-zero code if --strict-missing is enabled and there are missing dependencies
|
|
568
|
-
if (options.strictMissing && totalMissing > 0) {
|
|
569
|
-
console.error(`\n❌ Strict missing mode: ${totalMissing} missing dependencies found`);
|
|
241
|
+
if (options.strictMissing && stats.totalMissing > 0) {
|
|
242
|
+
console.error(`\n❌ Strict missing mode: ${stats.totalMissing} missing dependencies found`);
|
|
570
243
|
process.exit(1);
|
|
571
244
|
}
|
|
572
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style command - Thin wrapper for context generation with style metadata
|
|
3
|
+
*/
|
|
4
|
+
import { type ContextOptions } from './context.js';
|
|
5
|
+
export type StyleOptions = Omit<ContextOptions, 'includeStyle'>;
|
|
6
|
+
/**
|
|
7
|
+
* Generate context with style metadata
|
|
8
|
+
* This is a thin wrapper around contextCommand with includeStyle: true
|
|
9
|
+
*/
|
|
10
|
+
export declare function styleCommand(options: StyleOptions): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/style.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAEhE;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style command - Thin wrapper for context generation with style metadata
|
|
3
|
+
*/
|
|
4
|
+
import { contextCommand } from './context.js';
|
|
5
|
+
/**
|
|
6
|
+
* Generate context with style metadata
|
|
7
|
+
* This is a thin wrapper around contextCommand with includeStyle: true
|
|
8
|
+
*/
|
|
9
|
+
export async function styleCommand(options) {
|
|
10
|
+
await contextCommand({
|
|
11
|
+
...options,
|
|
12
|
+
includeStyle: true,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/cli/commands/style.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAuB,MAAM,cAAc,CAAC;AAInE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,MAAM,cAAc,CAAC;QACnB,GAAG,OAAO;QACV,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC"}
|