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.
Files changed (159) hide show
  1. package/LLM_CONTEXT.md +4 -3
  2. package/README.md +116 -19
  3. package/dist/cli/commands/compare.d.ts.map +1 -1
  4. package/dist/cli/commands/compare.js +17 -8
  5. package/dist/cli/commands/compare.js.map +1 -1
  6. package/dist/cli/commands/context/bundleFormatter.d.ts +20 -0
  7. package/dist/cli/commands/context/bundleFormatter.d.ts.map +1 -0
  8. package/dist/cli/commands/context/bundleFormatter.js +55 -0
  9. package/dist/cli/commands/context/bundleFormatter.js.map +1 -0
  10. package/dist/cli/commands/context/configManager.d.ts +23 -0
  11. package/dist/cli/commands/context/configManager.d.ts.map +1 -0
  12. package/dist/cli/commands/context/configManager.js +69 -0
  13. package/dist/cli/commands/context/configManager.js.map +1 -0
  14. package/dist/cli/commands/context/contractBuilder.d.ts +18 -0
  15. package/dist/cli/commands/context/contractBuilder.d.ts.map +1 -0
  16. package/dist/cli/commands/context/contractBuilder.js +72 -0
  17. package/dist/cli/commands/context/contractBuilder.js.map +1 -0
  18. package/dist/cli/commands/context/fileWriter.d.ts +38 -0
  19. package/dist/cli/commands/context/fileWriter.d.ts.map +1 -0
  20. package/dist/cli/commands/context/fileWriter.js +170 -0
  21. package/dist/cli/commands/context/fileWriter.js.map +1 -0
  22. package/dist/cli/commands/context/statsCalculator.d.ts +44 -0
  23. package/dist/cli/commands/context/statsCalculator.d.ts.map +1 -0
  24. package/dist/cli/commands/context/statsCalculator.js +150 -0
  25. package/dist/cli/commands/context/statsCalculator.js.map +1 -0
  26. package/dist/cli/commands/context/tokenEstimator.d.ts +76 -0
  27. package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -0
  28. package/dist/cli/commands/context/tokenEstimator.js +258 -0
  29. package/dist/cli/commands/context/tokenEstimator.js.map +1 -0
  30. package/dist/cli/commands/context.d.ts +1 -0
  31. package/dist/cli/commands/context.d.ts.map +1 -1
  32. package/dist/cli/commands/context.js +72 -399
  33. package/dist/cli/commands/context.js.map +1 -1
  34. package/dist/cli/commands/style.d.ts +11 -0
  35. package/dist/cli/commands/style.d.ts.map +1 -0
  36. package/dist/cli/commands/style.js +15 -0
  37. package/dist/cli/commands/style.js.map +1 -0
  38. package/dist/cli/handlers/cleanHandler.d.ts +5 -0
  39. package/dist/cli/handlers/cleanHandler.d.ts.map +1 -0
  40. package/dist/cli/handlers/cleanHandler.js +28 -0
  41. package/dist/cli/handlers/cleanHandler.js.map +1 -0
  42. package/dist/cli/handlers/compareHandler.d.ts +5 -0
  43. package/dist/cli/handlers/compareHandler.d.ts.map +1 -0
  44. package/dist/cli/handlers/compareHandler.js +332 -0
  45. package/dist/cli/handlers/compareHandler.js.map +1 -0
  46. package/dist/cli/handlers/contextHandler.d.ts +5 -0
  47. package/dist/cli/handlers/contextHandler.d.ts.map +1 -0
  48. package/dist/cli/handlers/contextHandler.js +24 -0
  49. package/dist/cli/handlers/contextHandler.js.map +1 -0
  50. package/dist/cli/handlers/initHandler.d.ts +6 -0
  51. package/dist/cli/handlers/initHandler.d.ts.map +1 -0
  52. package/dist/cli/handlers/initHandler.js +30 -0
  53. package/dist/cli/handlers/initHandler.js.map +1 -0
  54. package/dist/cli/handlers/styleHandler.d.ts +5 -0
  55. package/dist/cli/handlers/styleHandler.d.ts.map +1 -0
  56. package/dist/cli/handlers/styleHandler.js +30 -0
  57. package/dist/cli/handlers/styleHandler.js.map +1 -0
  58. package/dist/cli/handlers/validateHandler.d.ts +5 -0
  59. package/dist/cli/handlers/validateHandler.d.ts.map +1 -0
  60. package/dist/cli/handlers/validateHandler.js +23 -0
  61. package/dist/cli/handlers/validateHandler.js.map +1 -0
  62. package/dist/cli/parser/argumentParser.d.ts +44 -0
  63. package/dist/cli/parser/argumentParser.d.ts.map +1 -0
  64. package/dist/cli/parser/argumentParser.js +194 -0
  65. package/dist/cli/parser/argumentParser.js.map +1 -0
  66. package/dist/cli/parser/helpText.d.ts +11 -0
  67. package/dist/cli/parser/helpText.d.ts.map +1 -0
  68. package/dist/cli/parser/helpText.js +373 -0
  69. package/dist/cli/parser/helpText.js.map +1 -0
  70. package/dist/cli/stamp.js +14 -821
  71. package/dist/cli/stamp.js.map +1 -1
  72. package/dist/core/astParser/detectors.d.ts +24 -0
  73. package/dist/core/astParser/detectors.d.ts.map +1 -0
  74. package/dist/core/astParser/detectors.js +102 -0
  75. package/dist/core/astParser/detectors.js.map +1 -0
  76. package/dist/core/astParser/extractors/componentExtractor.d.ts +13 -0
  77. package/dist/core/astParser/extractors/componentExtractor.d.ts.map +1 -0
  78. package/dist/core/astParser/extractors/componentExtractor.js +41 -0
  79. package/dist/core/astParser/extractors/componentExtractor.js.map +1 -0
  80. package/dist/core/astParser/extractors/eventExtractor.d.ts +14 -0
  81. package/dist/core/astParser/extractors/eventExtractor.d.ts.map +1 -0
  82. package/dist/core/astParser/extractors/eventExtractor.js +49 -0
  83. package/dist/core/astParser/extractors/eventExtractor.js.map +1 -0
  84. package/dist/core/astParser/extractors/propExtractor.d.ts +14 -0
  85. package/dist/core/astParser/extractors/propExtractor.d.ts.map +1 -0
  86. package/dist/core/astParser/extractors/propExtractor.js +73 -0
  87. package/dist/core/astParser/extractors/propExtractor.js.map +1 -0
  88. package/dist/core/astParser/extractors/stateExtractor.d.ts +13 -0
  89. package/dist/core/astParser/extractors/stateExtractor.d.ts.map +1 -0
  90. package/dist/core/astParser/extractors/stateExtractor.js +66 -0
  91. package/dist/core/astParser/extractors/stateExtractor.js.map +1 -0
  92. package/dist/core/astParser.d.ts.map +1 -1
  93. package/dist/core/astParser.js +5 -307
  94. package/dist/core/astParser.js.map +1 -1
  95. package/dist/core/contractBuilder.d.ts +1 -0
  96. package/dist/core/contractBuilder.d.ts.map +1 -1
  97. package/dist/core/contractBuilder.js +1 -0
  98. package/dist/core/contractBuilder.js.map +1 -1
  99. package/dist/core/pack/builder.d.ts +35 -0
  100. package/dist/core/pack/builder.d.ts.map +1 -0
  101. package/dist/core/pack/builder.js +76 -0
  102. package/dist/core/pack/builder.js.map +1 -0
  103. package/dist/core/pack/collector.d.ts +20 -0
  104. package/dist/core/pack/collector.d.ts.map +1 -0
  105. package/dist/core/pack/collector.js +71 -0
  106. package/dist/core/pack/collector.js.map +1 -0
  107. package/dist/core/pack/loader.d.ts +23 -0
  108. package/dist/core/pack/loader.d.ts.map +1 -0
  109. package/dist/core/pack/loader.js +66 -0
  110. package/dist/core/pack/loader.js.map +1 -0
  111. package/dist/core/pack/resolver.d.ts +21 -0
  112. package/dist/core/pack/resolver.d.ts.map +1 -0
  113. package/dist/core/pack/resolver.js +79 -0
  114. package/dist/core/pack/resolver.js.map +1 -0
  115. package/dist/core/pack.d.ts +17 -27
  116. package/dist/core/pack.d.ts.map +1 -1
  117. package/dist/core/pack.js +18 -225
  118. package/dist/core/pack.js.map +1 -1
  119. package/dist/core/styleExtractor/index.d.ts +11 -0
  120. package/dist/core/styleExtractor/index.d.ts.map +1 -0
  121. package/dist/core/styleExtractor/index.js +11 -0
  122. package/dist/core/styleExtractor/index.js.map +1 -0
  123. package/dist/core/styleExtractor/layout.d.ts +14 -0
  124. package/dist/core/styleExtractor/layout.d.ts.map +1 -0
  125. package/dist/core/styleExtractor/layout.js +86 -0
  126. package/dist/core/styleExtractor/layout.js.map +1 -0
  127. package/dist/core/styleExtractor/motion.d.ts +20 -0
  128. package/dist/core/styleExtractor/motion.d.ts.map +1 -0
  129. package/dist/core/styleExtractor/motion.js +74 -0
  130. package/dist/core/styleExtractor/motion.js.map +1 -0
  131. package/dist/core/styleExtractor/scss.d.ts +30 -0
  132. package/dist/core/styleExtractor/scss.d.ts.map +1 -0
  133. package/dist/core/styleExtractor/scss.js +80 -0
  134. package/dist/core/styleExtractor/scss.js.map +1 -0
  135. package/dist/core/styleExtractor/styleExtractor.d.ts +11 -0
  136. package/dist/core/styleExtractor/styleExtractor.d.ts.map +1 -0
  137. package/dist/core/styleExtractor/styleExtractor.js +115 -0
  138. package/dist/core/styleExtractor/styleExtractor.js.map +1 -0
  139. package/dist/core/styleExtractor/styled.d.ts +13 -0
  140. package/dist/core/styleExtractor/styled.d.ts.map +1 -0
  141. package/dist/core/styleExtractor/styled.js +31 -0
  142. package/dist/core/styleExtractor/styled.js.map +1 -0
  143. package/dist/core/styleExtractor/tailwind.d.ts +16 -0
  144. package/dist/core/styleExtractor/tailwind.d.ts.map +1 -0
  145. package/dist/core/styleExtractor/tailwind.js +85 -0
  146. package/dist/core/styleExtractor/tailwind.js.map +1 -0
  147. package/dist/core/styleExtractor.d.ts +8 -0
  148. package/dist/core/styleExtractor.d.ts.map +1 -0
  149. package/dist/core/styleExtractor.js +8 -0
  150. package/dist/core/styleExtractor.js.map +1 -0
  151. package/dist/types/UIFContract.d.ts +71 -0
  152. package/dist/types/UIFContract.d.ts.map +1 -1
  153. package/dist/types/UIFContract.js.map +1 -1
  154. package/dist/utils/tokens.d.ts +18 -10
  155. package/dist/utils/tokens.d.ts.map +1 -1
  156. package/dist/utils/tokens.js +100 -10
  157. package/dist/utils/tokens.js.map +1 -1
  158. package/package.json +5 -1
  159. package/schema/logicstamp.context.schema.json +288 -0
package/LLM_CONTEXT.md CHANGED
@@ -9,11 +9,12 @@
9
9
  **Note**: "Global CLI" means the tool is installed globally on your system (via `npm install -g`), making the `stamp` command available from any directory in your terminal, not just within a specific project folder.
10
10
 
11
11
  ## Core Workflow
12
- - `src/cli/index.ts` and `src/cli/stamp.ts` orchestrate CLI execution: read CLI flags, call the analyzer pipeline, write bundles to disk, and handle compare/validate commands.
12
+ - `src/cli/index.ts` and `src/cli/stamp.ts` orchestrate CLI execution: read CLI flags via `src/cli/parser/argumentParser.ts`, route to handlers in `src/cli/handlers/`, and coordinate command execution.
13
13
  - `src/cli/commands/compare.ts` implements drift detection for single-file and multi-file comparison modes, including ADDED/ORPHANED/DRIFT/PASS detection.
14
- - `src/core/astParser.ts` uses `ts-morph` to parse source files, derive component metadata, and normalize type information.
14
+ - `src/core/astParser.ts` orchestrates AST parsing modules (`astParser/extractors/` and `astParser/detectors.ts`) that use `ts-morph` to parse source files, derive component metadata, and normalize type information.
15
15
  - `src/core/contractBuilder.ts` converts raw AST findings into UIF contracts and merges incremental updates.
16
- - `src/core/manifest.ts` and `src/core/pack.ts` assemble dependency graphs, compute bundle hashes, and format final output entries.
16
+ - `src/core/manifest.ts` and `src/core/pack.ts` (with modules in `pack/`) assemble dependency graphs, compute bundle hashes, and format final output entries.
17
+ - `src/core/styleExtractor.ts` (with modules in `styleExtractor/`) extracts style metadata from components (Tailwind, SCSS, styled-components, framer-motion, layout patterns).
17
18
  - `src/types/UIFContract.ts` defines the UIF contract schema; `src/utils/fsx.ts` and `src/utils/hash.ts` provide file and hashing utilities.
18
19
 
19
20
  ## CLI Usage Cheatsheet
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  <img src="assets/logicstamp-fox.svg" alt="LogicStamp Fox Mascot" width="120" height="120">
5
5
  </div>
6
6
 
7
- ![Version](https://img.shields.io/badge/version-0.1.1-blue.svg)
7
+ ![Version](https://img.shields.io/badge/version-0.2.1-blue.svg)
8
8
  ![Beta](https://img.shields.io/badge/status-beta-orange.svg)
9
9
  ![License](https://img.shields.io/badge/license-MIT-green.svg)
10
10
  ![Node](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)
@@ -25,7 +25,7 @@ That's it! LogicStamp Context will scan your project and generate `context.json`
25
25
  ![LogicStamp Context in action](assets/demo-screenshot.png)
26
26
  *Terminal output showing `stamp context` execution and generated context.json structure*
27
27
 
28
- > **Note:** This is a beta release (v0.1.1). We're actively improving the tool based on user feedback. If you encounter any issues or have suggestions, please [open an issue on GitHub](https://github.com/LogicStamp/logicstamp-context/issues).
28
+ > **Note:** This is a beta release (v0.2.1). We're actively improving the tool based on user feedback. If you encounter any issues or have suggestions, please [open an issue on GitHub](https://github.com/LogicStamp/logicstamp-context/issues).
29
29
 
30
30
  ## What is this?
31
31
 
@@ -45,6 +45,64 @@ After installation, the `stamp` command will be available globally.
45
45
  - **Local install**: `npm install logicstamp-context` → only available in that project
46
46
  - **Global install**: `npm install -g logicstamp-context` → available everywhere via `stamp` command
47
47
 
48
+ ## What's New in v0.2.0
49
+
50
+ šŸŽØ **Style Metadata Extraction**
51
+ - **New `stamp context style` command** - Generate design-aware context bundles with visual and layout information
52
+ - **`--include-style` flag** - Alternative syntax for enabling style metadata extraction
53
+ - **Comprehensive style detection** - Identifies Tailwind CSS, SCSS/CSS modules, inline styles, styled-components, and framer-motion
54
+ - **Layout pattern recognition** - Extracts flex/grid patterns, hero sections, feature cards, and responsive breakpoints
55
+ - **Visual design metadata** - Captures color palettes, spacing patterns, border radius, and typography classes
56
+ - **Animation detection** - Identifies framer-motion animations, CSS transitions, and viewport triggers
57
+ - **SCSS/CSS module parsing** - Analyzes imported style files to extract selectors, properties, and SCSS features
58
+
59
+ šŸ“Š **Enhanced Token Comparison**
60
+ - **Four-mode comparison** - `--compare-modes` now shows `none`, `header`, `header+style`, and `full` modes
61
+ - **Dual comparison tables** - Shows savings vs raw source and vs full context for better decision-making
62
+ - **Accurate style impact** - Automatically regenerates contracts with/without style metadata for precise token counts
63
+ - **Optional tokenizer support** - Automatically uses `@dqbd/tiktoken` (GPT-4) and `@anthropic-ai/tokenizer` (Claude) if installed for accurate token counts, with graceful fallback to character-based estimation
64
+
65
+ šŸ—ļø **Architectural Improvements**
66
+ - **Modular CLI structure** - Refactored into dedicated handlers for better maintainability and testability
67
+ - **Extracted AST parsing** - Modularized AST extraction into focused detector and extractor modules
68
+ - **Modularized style extraction** - Organized style extraction into dedicated modules (tailwind, scss, motion, layout, etc.)
69
+ - **Improved code organization** - Better separation of concerns and easier contribution
70
+
71
+ **Installation for Accurate Token Counts:**
72
+
73
+ By default, LogicStamp Context uses a fast character-based heuristic (usually within 10–15% of real token counts). For model-accurate counts, you can optionally install tokenizer libraries in the same environment where you use `stamp`.
74
+
75
+ **If you use LogicStamp Context in a project (recommended):**
76
+
77
+ ```bash
78
+ # Install LogicStamp Context as a dev dependency
79
+ npm install -D logicstamp-context
80
+
81
+ # Install tokenizers in your project root
82
+ npm install @dqbd/tiktoken @anthropic-ai/tokenizer
83
+
84
+ # Run with npx
85
+ npx stamp context
86
+ ```
87
+
88
+ **If you installed LogicStamp Context globally:**
89
+
90
+ ```bash
91
+ # Install LogicStamp Context globally
92
+ npm install -g logicstamp-context
93
+
94
+ # Install tokenizers globally (same environment)
95
+ npm install -g @dqbd/tiktoken @anthropic-ai/tokenizer
96
+
97
+ # Run from anywhere
98
+ stamp context
99
+ ```
100
+
101
+ **Important:**
102
+ - Install tokenizers in your **project root** (for local installs) or **globally** (for global installs), alongside where you installed `logicstamp-context`
103
+ - You do **not** need to (and should **not**) install anything manually inside the `logicstamp-context` package folder under `node_modules`
104
+ - LogicStamp Context will automatically detect and use the tokenizers if available, or gracefully fall back to character-based estimation if not
105
+
48
106
  ## What's New in v0.1.1
49
107
 
50
108
  šŸ”§ **CI-Friendly Defaults**
@@ -103,6 +161,12 @@ stamp init
103
161
  # Generate context.json (llm-chat profile)
104
162
  stamp context
105
163
 
164
+ # Generate context with style metadata (Tailwind, SCSS, animations, layout)
165
+ stamp context style
166
+
167
+ # Or use the flag (equivalent)
168
+ stamp context --include-style
169
+
106
170
  # Preview stats without writing files
107
171
  stamp context --dry-run --stats
108
172
 
@@ -195,6 +259,7 @@ stamp --version # Show version number
195
259
  stamp --help # Show help
196
260
  stamp init [path] [options]
197
261
  stamp context [path] [options]
262
+ stamp context style [path] [options] # Generate context with style metadata
198
263
  stamp context compare <old.json> <new.json> [options]
199
264
  stamp context validate [file] [options]
200
265
  stamp context clean [path] [options]
@@ -210,6 +275,10 @@ stamp context clean [path] [options]
210
275
 
211
276
  See [docs/cli/CONTEXT.md](docs/cli/CONTEXT.md) for detailed documentation.
212
277
 
278
+ - **`stamp context style [path]`** - Generates context with style metadata included. Equivalent to `stamp context --include-style`. Extracts visual and layout information from components including Tailwind classes, SCSS/CSS modules, styled-components, framer-motion animations, layout patterns (flex/grid), color palettes, spacing, typography, and animation configurations. This makes context bundles design-aware, enabling AI assistants to understand both the logic and visual presentation of your components.
279
+
280
+ See [docs/cli/STYLE.md](docs/cli/STYLE.md) for detailed documentation.
281
+
213
282
  - **`stamp context compare [options]`** - Compares all context files (multi-file mode) or two specific files to detect drift. In multi-file mode, uses `context_main.json` as index to compare all folder context files and detect ADDED/ORPHANED folders, per-folder DRIFT, and unchanged files (PASS). Shows three-tier output: folder summary, component summary, and detailed changes. Supports `--approve` for auto-updates (Jest-style), `--clean-orphaned` to remove stale files, and `--stats` for per-folder token deltas. Exits with code 1 if drift is detected (CI-friendly).
214
283
 
215
284
  See [docs/cli/COMPARE.md](docs/cli/COMPARE.md) for detailed documentation.
@@ -250,6 +319,7 @@ See [docs/cli/INIT.md](docs/cli/INIT.md) for detailed documentation.
250
319
  | `--dry-run` | | Skip writing output; show on-screen summary only | `false` |
251
320
  | `--stats` | | Emit single-line JSON stats with token estimates (intended for CI) | `false` |
252
321
  | `--compare-modes` | | Show detailed token comparison table across modes (none/header/full) | `false` |
322
+ | `--include-style` | | Extract style metadata (Tailwind, SCSS, animations, layout) | `false` |
253
323
  | `--skip-gitignore` | | Skip `.gitignore` setup (never prompt or modify) | `false` |
254
324
  | `--quiet` | `-q` | Suppress verbose output (show only errors) | `false` |
255
325
  | `--help` | `-h` | Show help message | |
@@ -327,24 +397,27 @@ LogicStamp Context includes built-in token cost analysis and optimization featur
327
397
  Every context generation shows token costs for both GPT-4o-mini and Claude:
328
398
 
329
399
  ```
330
- šŸ“ Token Estimates (header mode):
331
- GPT-4o-mini: 13,895 | Full code: ~39,141 (~65% savings)
332
- Claude: 12,351 | Full code: ~34,792 (~65% savings)
400
+ šŸ“ Token Estimates (header+style mode):
401
+ GPT-4o-mini: 13,895 tokens
402
+ Claude: 12,351 tokens
403
+
404
+ Comparison:
405
+ Raw source | Header | Header+style
406
+ 22,000 | 12,228 | 13,895
333
407
 
334
- šŸ“Š Mode Comparison:
335
- none: ~8,337 tokens
336
- header: ~13,895 tokens
337
- full: ~39,141 tokens
408
+ Full context (code+style): ~39,141 GPT-4o-mini / ~34,792 Claude
338
409
  ```
339
410
 
340
411
  This helps you:
341
412
  - **Understand costs** at a glance
342
413
  - **Choose the right mode** for your budget
343
- - **See savings** compared to including full source code
414
+ - **See savings** compared to full context (code+style) mode
415
+
416
+ **Enhanced with `--compare-modes`:** The `--compare-modes` flag provides detailed comparisons across all modes (none/header/header+style/full) with accurate token counts. It automatically regenerates contracts with and without style metadata to show the true impact of including style information.
344
417
 
345
418
  ### Mode Comparison Table
346
419
 
347
- Use `--compare-modes` for a detailed comparison:
420
+ Use `--compare-modes` for a detailed comparison across all modes:
348
421
 
349
422
  ```bash
350
423
  stamp context --compare-modes
@@ -354,17 +427,41 @@ Output:
354
427
  ```
355
428
  šŸ“Š Mode Comparison
356
429
 
357
- Mode | Tokens GPT-4o | Tokens Claude | Savings vs Full
358
- ---------|---------------|---------------|------------------
359
- none | 8,337 | 7,411 | 79%
360
- header | 13,895 | 12,351 | 65%
361
- full | 39,141 | 34,792 | 0%
430
+ Comparison:
431
+ Mode | Tokens GPT-4o | Tokens Claude | Savings vs Raw Source
432
+ -------------|---------------|---------------|------------------------
433
+ Raw source | 22,000 | 19,556 | 0%
434
+ Header | 12,228 | 10,867 | 44%
435
+ Header+style | 13,895 | 12,351 | 37%
436
+
437
+ Mode breakdown:
438
+ Mode | Tokens GPT-4o | Tokens Claude | Savings vs Full Context
439
+ -------------|---------------|---------------|--------------------------
440
+ none | 8,337 | 7,411 | 79%
441
+ header | 12,228 | 10,867 | 69%
442
+ header+style | 13,895 | 12,351 | 65%
443
+ full | 39,141 | 34,792 | 0%
362
444
  ```
363
445
 
364
446
  **When to use each mode:**
365
- - **`none`** - API documentation, CI validation (no code snippets)
366
- - **`header`** - AI chat, code review (JSDoc headers + contracts)
367
- - **`full`** - Deep analysis, debugging (complete source code)
447
+ - **`none`** - API documentation, CI validation (no code snippets, no style)
448
+ - **`header`** - AI chat, code review (JSDoc headers + contracts, no style)
449
+ - **`header+style`** - Design-aware AI chat (headers + contracts + style metadata)
450
+ - **`full`** - Deep analysis, debugging (complete source code + contracts + style info)
451
+
452
+ **Note:** The `--compare-modes` flag automatically regenerates contracts with and without style metadata to provide accurate token counts for all modes. This ensures you see the true impact of including style information.
453
+
454
+ **Optional tokenizers for accurate counts:** Token estimation uses character-based approximations by default. For more accurate token counts, you can optionally install these libraries:
455
+
456
+ - `@dqbd/tiktoken` for GPT-4 token counts
457
+ - `@anthropic-ai/tokenizer` for Claude token counts
458
+
459
+ **Installation location:**
460
+ - **Local install** (recommended): Install tokenizers in your project root when using `npm install -D logicstamp-context`
461
+ - **Global install**: Install tokenizers globally when using `npm install -g logicstamp-context`
462
+ - **Do not** install tokenizers inside the `logicstamp-context` package folder
463
+
464
+ LogicStamp Context will automatically detect and use tokenizers if available, or fall back to character-based estimation (typically within 10-15% accuracy) if not installed.
368
465
 
369
466
  ### Stats for CI/CD
370
467
 
@@ -1 +1 @@
1
- {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/compare.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;YAChG,GAAG,EAAE,GAAG,CAAC;YACT,GAAG,EAAE,GAAG,CAAC;SACV,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA+GD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAqGpF;AAqFD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyGxG;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAqInH;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBnH"}
1
+ {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/compare.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;YAChG,GAAG,EAAE,GAAG,CAAC;YACT,GAAG,EAAE,GAAG,CAAC;SACV,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA+GD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAwGpF;AAqFD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyGxG;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CA2InH;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBnH"}
@@ -90,11 +90,11 @@ function diff(oldIdx, newIdx) {
90
90
  /**
91
91
  * Calculate token count for bundles
92
92
  */
93
- function calculateTokens(bundles) {
93
+ async function calculateTokens(bundles) {
94
94
  const text = JSON.stringify(bundles);
95
95
  return {
96
- gpt4: estimateGPT4Tokens(text),
97
- claude: estimateClaudeTokens(text),
96
+ gpt4: await estimateGPT4Tokens(text),
97
+ claude: await estimateClaudeTokens(text),
98
98
  };
99
99
  }
100
100
  /**
@@ -182,11 +182,14 @@ export async function compareCommand(options) {
182
182
  }
183
183
  // Show token stats if requested (skip in quiet mode)
184
184
  if (options.stats && !options.quiet) {
185
- const oldTokens = calculateTokens(oldBundles);
186
- const newTokens = calculateTokens(newBundles);
185
+ const oldTokens = await calculateTokens(oldBundles);
186
+ const newTokens = await calculateTokens(newBundles);
187
187
  const deltaStat = newTokens.gpt4 - oldTokens.gpt4;
188
188
  const deltaPercent = ((deltaStat / oldTokens.gpt4) * 100).toFixed(2);
189
189
  console.log('Token Stats:');
190
+ console.log(` āš ļø Current mode = tokenizer-based.`);
191
+ console.log(` Other modes / raw source = heuristic.`);
192
+ console.log(` For precise per-mode breakdown, use "stamp context --compare-modes".`);
190
193
  console.log(` Old: ${formatTokenCount(oldTokens.gpt4)} (GPT-4o-mini) | ${formatTokenCount(oldTokens.claude)} (Claude)`);
191
194
  console.log(` New: ${formatTokenCount(newTokens.gpt4)} (GPT-4o-mini) | ${formatTokenCount(newTokens.claude)} (Claude)`);
192
195
  console.log(` Ī” ${deltaStat > 0 ? '+' : ''}${formatTokenCount(deltaStat)} (${deltaPercent > '0' ? '+' : ''}${deltaPercent}%)\n`);
@@ -248,8 +251,8 @@ async function compareFolderContext(oldContextPath, newContextPath, stats, quiet
248
251
  // Calculate token delta if stats requested and not in quiet mode
249
252
  let tokenDelta;
250
253
  if (stats && !quiet) {
251
- const oldTokens = calculateTokens(oldBundles);
252
- const newTokens = calculateTokens(newBundles);
254
+ const oldTokens = await calculateTokens(oldBundles);
255
+ const newTokens = await calculateTokens(newBundles);
253
256
  tokenDelta = {
254
257
  gpt4: newTokens.gpt4 - oldTokens.gpt4,
255
258
  claude: newTokens.claude - oldTokens.claude,
@@ -407,7 +410,13 @@ export function displayMultiFileCompareResult(result, stats, quiet) {
407
410
  console.log();
408
411
  }
409
412
  // Display detailed folder results
410
- console.log('šŸ“‚ Folder Details:\n');
413
+ console.log('šŸ“‚ Folder Details:');
414
+ if (stats) {
415
+ console.log(' āš ļø Current mode = tokenizer-based.');
416
+ console.log(' Other modes / raw source = heuristic.');
417
+ console.log(' For precise per-mode breakdown, use "stamp context --compare-modes".');
418
+ }
419
+ console.log();
411
420
  }
412
421
  for (const folder of result.folders) {
413
422
  if (folder.status === 'ADDED') {
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/cli/commands/compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/cli/commands/compare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Bundle Formatter - Formats bundles for output
3
+ */
4
+ import type { LogicStampBundle } from '../../../core/pack.js';
5
+ /**
6
+ * Format bundles for output based on format type
7
+ */
8
+ export declare function formatBundles(bundles: LogicStampBundle[], format: 'json' | 'pretty' | 'ndjson'): string;
9
+ /**
10
+ * Create bundle with schema metadata
11
+ */
12
+ export declare function createBundleWithSchema(bundle: LogicStampBundle, index: number, total: number): LogicStampBundle & {
13
+ $schema: string;
14
+ position: string;
15
+ };
16
+ /**
17
+ * Format bundles for a specific folder
18
+ */
19
+ export declare function formatBundlesForFolder(folderBundles: LogicStampBundle[], format: 'json' | 'pretty' | 'ndjson'): string;
20
+ //# sourceMappingURL=bundleFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleFormatter.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/context/bundleFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GACnC,MAAM,CA6BR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAM1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,gBAAgB,EAAE,EACjC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GACnC,MAAM,CAER"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Bundle Formatter - Formats bundles for output
3
+ */
4
+ /**
5
+ * Format bundles for output based on format type
6
+ */
7
+ export function formatBundles(bundles, format) {
8
+ if (format === 'ndjson') {
9
+ return bundles.map((b, idx) => {
10
+ const bundleWithSchema = {
11
+ $schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
12
+ position: `${idx + 1}/${bundles.length}`,
13
+ ...b,
14
+ };
15
+ return JSON.stringify(bundleWithSchema);
16
+ }).join('\n');
17
+ }
18
+ else if (format === 'json') {
19
+ const bundlesWithPosition = bundles.map((b, idx) => ({
20
+ $schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
21
+ position: `${idx + 1}/${bundles.length}`,
22
+ ...b,
23
+ }));
24
+ return JSON.stringify(bundlesWithPosition, null, 2);
25
+ }
26
+ else {
27
+ // pretty format
28
+ return bundles.map((b, idx) => {
29
+ const bundleWithSchema = {
30
+ $schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
31
+ position: `${idx + 1}/${bundles.length}`,
32
+ ...b,
33
+ };
34
+ const header = `\n# Bundle ${idx + 1}/${bundles.length}: ${b.entryId}`;
35
+ return header + '\n' + JSON.stringify(bundleWithSchema, null, 2);
36
+ }).join('\n\n');
37
+ }
38
+ }
39
+ /**
40
+ * Create bundle with schema metadata
41
+ */
42
+ export function createBundleWithSchema(bundle, index, total) {
43
+ return {
44
+ $schema: 'https://logicstamp.dev/schemas/context/v0.1.json',
45
+ position: `${index + 1}/${total}`,
46
+ ...bundle,
47
+ };
48
+ }
49
+ /**
50
+ * Format bundles for a specific folder
51
+ */
52
+ export function formatBundlesForFolder(folderBundles, format) {
53
+ return formatBundles(folderBundles, format);
54
+ }
55
+ //# sourceMappingURL=bundleFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleFormatter.js","sourceRoot":"","sources":["../../../../src/cli/commands/context/bundleFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,OAA2B,EAC3B,MAAoC;IAEpC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,gBAAgB,GAAG;gBACvB,OAAO,EAAE,kDAAkD;gBAC3D,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;gBACxC,GAAG,CAAC;aACL,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,kDAAkD;YAC3D,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YACxC,GAAG,CAAC;SACL,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,gBAAgB;QAChB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,gBAAgB,GAAG;gBACvB,OAAO,EAAE,kDAAkD;gBAC3D,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;gBACxC,GAAG,CAAC;aACL,CAAC;YACF,MAAM,MAAM,GAAG,cAAc,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;YACvE,OAAO,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAwB,EACxB,KAAa,EACb,KAAa;IAEb,OAAO;QACL,OAAO,EAAE,kDAAkD;QAC3D,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,EAAE;QACjC,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,aAAiC,EACjC,MAAoC;IAEpC,OAAO,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Config Manager - Handles configuration and setup tasks
3
+ */
4
+ /**
5
+ * Ensure config exists, creating with safe defaults if needed
6
+ */
7
+ export declare function ensureConfigExists(projectRoot: string, options: {
8
+ quiet?: boolean;
9
+ }): Promise<void>;
10
+ /**
11
+ * Setup .gitignore with LogicStamp patterns
12
+ */
13
+ export declare function setupGitignore(projectRoot: string, options: {
14
+ skipGitignore?: boolean;
15
+ quiet?: boolean;
16
+ }): Promise<void>;
17
+ /**
18
+ * Setup LLM_CONTEXT.md file
19
+ */
20
+ export declare function setupLLMContext(projectRoot: string, options: {
21
+ quiet?: boolean;
22
+ }): Promise<void>;
23
+ //# sourceMappingURL=configManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configManager.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/context/configManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Config Manager - Handles configuration and setup tasks
3
+ */
4
+ import { readConfig, configExists, writeConfig } from '../../../utils/config.js';
5
+ import { smartGitignoreSetup } from '../../../utils/gitignore.js';
6
+ import { smartLLMContextSetup } from '../../../utils/llmContext.js';
7
+ /**
8
+ * Ensure config exists, creating with safe defaults if needed
9
+ */
10
+ export async function ensureConfigExists(projectRoot, options) {
11
+ try {
12
+ if (!await configExists(projectRoot)) {
13
+ await writeConfig(projectRoot, {
14
+ gitignorePreference: 'skipped',
15
+ llmContextPreference: 'skipped',
16
+ });
17
+ if (!options.quiet) {
18
+ console.log('\nšŸ’” No LogicStamp config found – created .logicstamp/config.json with safe defaults (no .gitignore changes).');
19
+ console.log(' Run `stamp init` to customize behavior.\n');
20
+ }
21
+ }
22
+ }
23
+ catch (error) {
24
+ // Ignore config creation errors - not critical
25
+ }
26
+ }
27
+ /**
28
+ * Setup .gitignore with LogicStamp patterns
29
+ */
30
+ export async function setupGitignore(projectRoot, options) {
31
+ try {
32
+ const config = await readConfig(projectRoot);
33
+ const shouldSkipGitignore = options.skipGitignore ||
34
+ config.gitignorePreference === 'skipped' ||
35
+ !config.gitignorePreference; // default to skip if no preference
36
+ const { added, created } = await smartGitignoreSetup(projectRoot, {
37
+ skipGitignore: shouldSkipGitignore,
38
+ });
39
+ // Only show output if patterns were actually added (config preference was 'added')
40
+ if (added && !options.quiet) {
41
+ if (created) {
42
+ console.log('\nšŸ“ Created .gitignore with LogicStamp patterns');
43
+ }
44
+ else {
45
+ console.log('\nšŸ“ Added LogicStamp patterns to .gitignore');
46
+ }
47
+ }
48
+ }
49
+ catch (error) {
50
+ // Silently ignore gitignore errors - not critical to context generation
51
+ // Users can run `stamp init` manually if needed
52
+ }
53
+ }
54
+ /**
55
+ * Setup LLM_CONTEXT.md file
56
+ */
57
+ export async function setupLLMContext(projectRoot, options) {
58
+ try {
59
+ const { added } = await smartLLMContextSetup(projectRoot);
60
+ // Only show output if file was actually created (config preference was 'added')
61
+ if (added && !options.quiet) {
62
+ console.log('\nšŸ“ Created LLM_CONTEXT.md');
63
+ }
64
+ }
65
+ catch (error) {
66
+ // Silently ignore LLM_CONTEXT.md errors - not critical to context generation
67
+ }
68
+ }
69
+ //# sourceMappingURL=configManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../../../src/cli/commands/context/configManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,OAA4B;IAE5B,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,WAAW,CAAC,WAAW,EAAE;gBAC7B,mBAAmB,EAAE,SAAS;gBAC9B,oBAAoB,EAAE,SAAS;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,+GAA+G,CAAC,CAAC;gBAC7H,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+CAA+C;IACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB,EACnB,OAGC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,mBAAmB,GACvB,OAAO,CAAC,aAAa;YACrB,MAAM,CAAC,mBAAmB,KAAK,SAAS;YACxC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,mCAAmC;QAElE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE;YAChE,aAAa,EAAE,mBAAmB;SACnC,CAAC,CAAC;QAEH,mFAAmF;QACnF,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wEAAwE;QACxE,gDAAgD;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAmB,EACnB,OAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE1D,gFAAgF;QAChF,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6EAA6E;IAC/E,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Contract Builder Helper - Builds contracts from files
3
+ */
4
+ import type { UIFContract } from '../../../types/UIFContract.js';
5
+ export interface BuildContractsResult {
6
+ contracts: UIFContract[];
7
+ analyzed: number;
8
+ totalSourceSize: number;
9
+ }
10
+ /**
11
+ * Build contracts from files
12
+ */
13
+ export declare function buildContractsFromFiles(files: string[], options: {
14
+ includeStyle?: boolean;
15
+ predictBehavior: boolean;
16
+ quiet?: boolean;
17
+ }): Promise<BuildContractsResult>;
18
+ //# sourceMappingURL=contractBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractBuilder.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/context/contractBuilder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE;IACP,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAgE/B"}