logicstamp-context 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LLM_CONTEXT.md CHANGED
@@ -88,7 +88,7 @@ The `context_main.json` file serves as a directory index:
88
88
  }
89
89
  ],
90
90
  "meta": {
91
- "source": "logicstamp-context@0.2.3"
91
+ "source": "logicstamp-context@0.2.4"
92
92
  }
93
93
  }
94
94
  ```
@@ -111,7 +111,7 @@ Each folder's `context.json` contains an array of LogicStamp bundles. Each bundl
111
111
  - `graph.edges` lists dependency relationships between nodes (empty when analysis depth is 1).
112
112
  - `meta` section contains two critical fields:
113
113
  - `missing`: Array of unresolved dependencies. Each entry includes `name` (import path), `reason` (why it failed), and `referencedBy` (source component). Empty array indicates complete dependency resolution.
114
- - `source`: Generator version string (e.g., `"logicstamp-context@0.2.3"`) for compatibility tracking.
114
+ - `source`: Generator version string (e.g., `"logicstamp-context@0.2.4"`) for compatibility tracking.
115
115
  - Example bundle skeleton:
116
116
 
117
117
  ```
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # LogicStamp Context
2
2
 
3
3
  <div align="center">
4
- <img src="assets/logicstamp-fox.svg" alt="LogicStamp Fox Mascot" width="120" height="120">
4
+ <img src="https://raw.githubusercontent.com/LogicStamp/logicstamp-context/main/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.2.3-blue.svg)
7
+ ![Version](https://img.shields.io/badge/version-0.2.4-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)
@@ -14,108 +14,100 @@
14
14
 
15
15
  ## Quick Start
16
16
 
17
+ **Global CLI (recommended):**
17
18
  ```bash
18
19
  npm install -g logicstamp-context
19
20
  cd your-project
20
21
  stamp context
21
22
  ```
22
23
 
23
- That's it! LogicStamp Context will scan your project and generate `context.json` files organized by folder, plus a `context_main.json` index file. Share these files with AI assistants for instant codebase understanding.
24
-
25
- ![LogicStamp Context in action](assets/demo-screenshot.png)
26
- *Terminal output showing `stamp context` execution and generated context.json structure*
27
-
28
- > **Note:** This is a beta release (v0.2.3). 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
-
30
- ## What is this?
31
-
32
- **LogicStamp Context** is a lightweight tool that scans your React/TypeScript codebase and generates structured context bundles optimized for AI tools like Claude, ChatGPT, and other LLMs.
33
-
34
- No setup, no configuration, no pre-compilation required. Just point it at your code and get instant, AI-ready documentation.
35
-
36
- ## Installation
37
-
24
+ **OR local:**
38
25
  ```bash
39
- npm install -g logicstamp-context
26
+ npm install -D logicstamp-context
27
+ npx stamp context
40
28
  ```
41
29
 
42
- After installation, the `stamp` command will be available globally.
43
-
44
- **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.
45
- - **Local install**: `npm install logicstamp-context` → only available in that project
46
- - **Global install**: `npm install -g logicstamp-context` → available everywhere via `stamp` command
47
-
48
- ## Recent Updates
49
-
50
- **v0.2.3** - README streamlined, improved token estimation accuracy, UIF Contracts documentation
51
- **v0.2.2** - Documentation fixes for optional tokenizer dependencies
52
- **v0.2.1** - Dynamic version loading from package.json
53
- **v0.2.0** - Style metadata extraction, enhanced token comparison, modular architecture
54
- **v0.1.1** - CI-friendly defaults, improved initialization workflow
55
- **v0.1.0** - Initial release with token optimization, drift detection, and Next.js support
56
-
57
- 📋 **See [CHANGELOG.md](CHANGELOG.md) for complete version history**
58
-
59
- ### Optional Tokenizers
60
-
61
- LogicStamp Context includes `@dqbd/tiktoken` (GPT-4) and `@anthropic-ai/tokenizer` (Claude) as **optional dependencies**. npm automatically attempts to install them when you install `logicstamp-context`.
62
-
63
- - **If installed**: Token counts are model-accurate for GPT-4 and Claude
64
- - **If not installed**: Falls back to character-based estimation (typically within 10–15% accuracy)
30
+ That's it! LogicStamp Context will scan your project and generate `context.json` files organized by folder, plus a `context_main.json` index file. Share these files with AI assistants for instant codebase understanding.
65
31
 
66
- You do **not** need to manually install tokenizers unless automatic installation failed and you specifically need accurate counts.
32
+ ![LogicStamp Context in action](https://raw.githubusercontent.com/LogicStamp/logicstamp-context/main/assets/demo-screenshot.png)
33
+ *Sample stamp context output with generated bundles*
67
34
 
68
- ## What does it generate?
35
+ > **Note:** This is a beta release (v0.2.4). 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).
69
36
 
70
- LogicStamp Context analyzes your React components and outputs a structured JSON file containing:
37
+ ## Why LogicStamp?
71
38
 
72
- - **Component structure**: variables, hooks, components, functions
73
- - **Logic signatures**: props, events, state types
74
- - **Dependency graph**: how components relate to each other
75
- - **Code snippets**: headers or full source (configurable)
76
- - **Semantic hashes**: for tracking changes
77
- - **Next.js metadata**: App Router directives and file location (when applicable)
39
+ LLMs understand your project instantly - without scanning 10,000+ lines of code
78
40
 
79
- This output is designed to be easily understood by AI assistants, helping them provide better suggestions and understand your codebase architecture.
41
+ - **~65–72% token savings** vs raw source
42
+ - **Deterministic, structured contracts** that help AI avoid hallucinations by only referencing the true architecture
43
+ - **Perfect for Cursor/Claude/GitHub Copilot Chat** — share context files for instant codebase understanding
44
+ - **CI-friendly** — detect drift, validate bundles, track changes
80
45
 
81
- ## Next.js App Router Support
46
+ This gives newcomers the "aha moment" in seconds.
82
47
 
83
- LogicStamp Context automatically detects and annotates Next.js App Router components:
48
+ ## Features
84
49
 
85
- ### Detected Features
50
+ - 🧠 **AI-ready bundles** - predictable, structured, deterministic
51
+ - ⚛️ **React/TypeScript awareness** - props, hooks, state, deps
52
+ - 🎨 **Style metadata** - (Tailwind, SCSS, MUI, shadcn)
53
+ - 🛣️ **Next.js App Router detection** - (client/server, layout/page/etc)
54
+ - 🔎 **Dependency graph** - (imports, cycles, missing deps)
55
+ - 📦 **Per-folder bundles** - organized by your project structure
56
+ - ⚙️ **CI validation** - (drift detection, schema validation)
57
+ - 🔢 **Accurate token estimates** - (GPT/Claude)
58
+ - 💨 **Fast, zero-config** - works out of the box
59
+ - 🤖 **MCP-ready (coming soon)** - AI agents can consume context bundles via a standardized MCP interface
86
60
 
87
- - **`'use client'` directive** - Marks Client Components
88
- - **`'use server'` directive** - Marks Server Actions
89
- - **App Router location** - Identifies files in `/app` directory
61
+ ## Example Output
90
62
 
91
- ### Example Contract Output
63
+ LogicStamp Context generates structured JSON contracts for each component:
92
64
 
93
65
  ```json
94
66
  {
95
- "type": "UIFContract",
67
+ "entryId": "src/components/Button.tsx",
96
68
  "kind": "react:component",
97
- "entryId": "app/dashboard/page.tsx",
98
- "nextjs": {
99
- "directive": "client",
100
- "isInAppDir": true
101
- }
69
+ "props": {
70
+ "variant": { "type": "literal-union", "literals": ["primary", "secondary"] },
71
+ "onClick": { "type": "function", "signature": "() => void" }
72
+ },
73
+ "hooks": ["useState"],
74
+ "nextjs": { "directive": "client" },
75
+ "style": {
76
+ "styleSources": {
77
+ "tailwind": { "categories": { "layout": ["flex"], "colors": ["bg-blue-500"] } }
78
+ }
79
+ },
80
+ "edges": ["./Icon"]
102
81
  }
103
82
  ```
104
83
 
105
- ### Benefits for AI Analysis
84
+ 📋 **See [docs/SCHEMA.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/SCHEMA.md) for complete output format documentation**
106
85
 
107
- - **Framework-aware suggestions** - AI knows which APIs are available (client vs server)
108
- - **Better refactoring** - AI understands boundaries between client/server code
109
- - **Accurate recommendations** - AI won't suggest client-only hooks in Server Components
86
+ ## Installation
87
+
88
+ ```bash
89
+ npm install -g logicstamp-context
90
+ ```
91
+
92
+ After installation, the `stamp` command will be available globally.
110
93
 
111
- ### Supported Scenarios
94
+ **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.
95
+ - **Local install**: `npm install logicstamp-context` → only available in that project
96
+ - **Global install**: `npm install -g logicstamp-context` → available everywhere via `stamp` command
112
97
 
113
- Client Components with `'use client'`
114
- ✅ Server Actions with `'use server'`
115
- ✅ Server Components in `/app` directory (no directive)
116
- ✅ Regular components outside `/app` (no metadata)
98
+ ## Recent Updates
117
99
 
118
- **Note:** The `nextjs` field is only added when relevant, keeping contracts clean for non-Next.js projects.
100
+ **v0.2.4**
101
+ - Material UI style extraction
102
+ - Improved global CLI installation docs
103
+ - Refined README and docs structure
104
+
105
+ **v0.2.3**
106
+ - Streamlined README
107
+ - Improved token estimation
108
+ - UIF Contracts documentation
109
+
110
+ 📋 **Full history → [CHANGELOG.md](https://github.com/LogicStamp/logicstamp-context/blob/main/CHANGELOG.md)**
119
111
 
120
112
  ## Usage
121
113
 
@@ -134,12 +126,12 @@ stamp context clean [path] [options] # Remove generated files
134
126
 
135
127
  | Command | Description | Docs |
136
128
  |---------|-------------|------|
137
- | `stamp init` | Initialize project (`.gitignore`, `LLM_CONTEXT.md`, config) | [INIT.md](docs/cli/INIT.md) |
138
- | `stamp context` | Generate AI-ready context bundles organized by folder | [CONTEXT.md](docs/cli/CONTEXT.md) |
139
- | `stamp context style` | Generate context with style metadata (Tailwind, SCSS, etc.) | [STYLE.md](docs/cli/STYLE.md) |
140
- | `stamp context compare` | Compare context files to detect changes (CI-friendly) | [COMPARE.md](docs/cli/COMPARE.md) |
141
- | `stamp context validate` | Validate context file schema and structure | [VALIDATE.md](docs/cli/VALIDATE.md) |
142
- | `stamp context clean` | Remove all generated context artifacts | [CLEAN.md](docs/cli/CLEAN.md) |
129
+ | `stamp init` | Initialize project (`.gitignore`, `LLM_CONTEXT.md`, config) | [INIT.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/INIT.md) |
130
+ | `stamp context` | Generate AI-ready context bundles organized by folder | [CONTEXT.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/CONTEXT.md) |
131
+ | `stamp context style` | Generate context with style metadata (Tailwind, SCSS, etc.) | [STYLE.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/STYLE.md) |
132
+ | `stamp context compare` | Compare context files to detect changes (CI-friendly) | [COMPARE.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/COMPARE.md) |
133
+ | `stamp context validate` | Validate context file schema and structure | [VALIDATE.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/VALIDATE.md) |
134
+ | `stamp context clean` | Remove all generated context artifacts | [CLEAN.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/CLEAN.md) |
143
135
 
144
136
  ### Common Options
145
137
 
@@ -147,484 +139,35 @@ stamp context clean [path] [options] # Remove generated files
147
139
  - `--depth <n>` / `-d` - Dependency traversal depth (default: `1`)
148
140
  - `--include-code <mode>` / `-c` - Code inclusion: `none|header|full` (default: `header`)
149
141
  - `--include-style` - Extract style metadata (Tailwind, SCSS, animations, layout)
142
+ - `--format <fmt>` / `-f` - Output format: `json|pretty|ndjson` (default: `json`)
143
+ - `--max-nodes <n>` / `-m` - Maximum nodes per bundle (default: `100`)
150
144
  - `--profile <profile>` - Preset: `llm-chat` (default), `llm-safe`, `ci-strict`
151
- - `--compare-modes` - Show detailed token comparison across all modes
152
145
  - `--stats` - Emit JSON stats with token estimates (CI-friendly)
153
- - `--strict-missing` - Exit with error if missing dependencies found
154
146
  - `--out <path>` / `-o` - Output directory or file path
155
147
  - `--quiet` / `-q` - Suppress verbose output
156
148
 
157
- **Other commands:**
158
- - `stamp context compare` - `--stats`, `--approve`, `--clean-orphaned`
159
- - `stamp context validate` - Validates schema and structure (exits 0/1)
160
- - `stamp init` - `--skip-gitignore`
161
-
162
- 📋 **See [docs/cli/COMMANDS.md](docs/cli/COMMANDS.md) for complete option reference**
163
-
164
- ### Profiles
165
-
166
- Profiles are preset configurations optimized for different use cases:
167
-
168
- #### `llm-chat` (default)
169
- Balanced mode for AI chat interfaces
170
- - Depth: 1
171
- - Code: headers only
172
- - Max nodes: 100
173
- - Behavioral predictions: disabled by default (enable with `--predict-behavior`)
174
-
175
- #### `llm-safe`
176
- Conservative mode for token-limited contexts
177
- - Depth: 1
178
- - Code: headers only
179
- - Max nodes: 30
180
- - Behavioral predictions: disabled by default (enable with `--predict-behavior`)
181
-
182
- #### `ci-strict`
183
- Strict validation mode for CI/CD
184
- - Code: none
185
- - Strict dependencies enabled
186
- - Behavioral predictions: not applicable (metadata-only mode)
187
-
188
- ### Behavioral Predictions
189
-
190
- The `--predict-behavior` flag enables experimental behavioral analysis that adds predicted component behaviors to the contract output. These predictions include:
191
-
192
- - Form validation patterns
193
- - Side effect management (useEffect)
194
- - Data fetching/mutation patterns
195
- - Memoization usage
196
- - Context consumption
197
- - Ref usage for DOM access
198
- - Loading/error state handling
199
-
200
- **Note:** Behavioral predictions are **disabled by default** in all profiles to minimize token usage. Enable them explicitly when you need richer semantic information about component behavior.
201
-
202
- **Example:**
203
- ```bash
204
- # Enable predictions with the default profile
205
- stamp context --predict-behavior
206
-
207
- # Enable predictions with a specific profile
208
- stamp context --profile llm-safe --predict-behavior
209
- ```
210
-
211
- ## Token Optimization
212
-
213
- LogicStamp Context includes built-in token cost analysis and optimization features:
214
-
215
- ### Automatic Token Estimates
216
-
217
- Every context generation shows token costs for both GPT-4o-mini and Claude:
218
-
219
- ```
220
- 📏 Token Estimates (header+style mode):
221
- GPT-4o-mini: 13,895 tokens
222
- Claude: 12,351 tokens
223
-
224
- Comparison:
225
- Raw source | Header | Header+style
226
- 22,000 | 12,228 | 13,895
227
-
228
- Full context (code+style): ~39,141 GPT-4o-mini / ~34,792 Claude
229
- ```
230
-
231
- This helps you:
232
- - **Understand costs** at a glance
233
- - **Choose the right mode** for your budget
234
- - **See savings** compared to full context (code+style) mode
235
-
236
- **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.
237
-
238
- ### Mode Comparison Table
239
-
240
- Use `--compare-modes` for a detailed comparison across all modes:
241
-
242
- ```bash
243
- stamp context --compare-modes
244
- ```
245
-
246
- Output:
247
- ```
248
- 📊 Mode Comparison
249
-
250
- Comparison:
251
- Mode | Tokens GPT-4o | Tokens Claude | Savings vs Raw Source
252
- -------------|---------------|---------------|------------------------
253
- Raw source | 22,000 | 19,556 | 0%
254
- Header | 12,228 | 10,867 | 44%
255
- Header+style | 13,895 | 12,351 | 37%
256
-
257
- Mode breakdown:
258
- Mode | Tokens GPT-4o | Tokens Claude | Savings vs Full Context
259
- -------------|---------------|---------------|--------------------------
260
- none | 8,337 | 7,411 | 79%
261
- header | 12,228 | 10,867 | 69%
262
- header+style | 13,895 | 12,351 | 65%
263
- full | 39,141 | 34,792 | 0%
264
- ```
265
-
266
- **When to use each mode:**
267
- - **`none`** - API documentation, CI validation (no code snippets, no style)
268
- - **`header`** - AI chat, code review (JSDoc headers + contracts, no style)
269
- - **`header+style`** - Design-aware AI chat (headers + contracts + style metadata)
270
- - **`full`** - Deep analysis, debugging (complete source code + contracts + style info)
271
-
272
- **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.
273
-
274
- **Optional tokenizers for accurate counts:** LogicStamp Context includes `@dqbd/tiktoken` (GPT-4) and `@anthropic-ai/tokenizer` (Claude) as optional dependencies. npm will automatically attempt to install them when you install `logicstamp-context`. If installation succeeds, you get model-accurate token counts. If installation fails or is skipped (normal for optional dependencies), LogicStamp Context gracefully falls back to character-based estimation (typically within 10-15% accuracy). No manual installation is required unless you specifically want accurate counts and the automatic installation failed.
275
-
276
- ### Stats for CI/CD
277
-
278
- Use `--stats` to get machine-readable token data:
279
-
280
- ```bash
281
- stamp context --stats
282
- ```
283
-
284
- Output JSON includes:
285
- ```json
286
- {
287
- "tokensGPT4": 13895,
288
- "tokensClaude": 12351,
289
- "modeEstimates": {
290
- "none": {"gpt4": 8337, "claude": 7411},
291
- "header": {"gpt4": 13895, "claude": 12351},
292
- "full": {"gpt4": 39141, "claude": 34792}
293
- },
294
- "savingsGPT4": "65",
295
- "savingsClaude": "65"
296
- }
297
- ```
298
-
299
- ## Context Drift Detection
300
-
301
- The `compare` command helps you track changes between context versions:
302
-
303
- ### Basic Comparison
304
-
305
- ```bash
306
- stamp context compare old.json new.json
307
- ```
308
-
309
- Output:
310
- ```
311
- ✅ PASS
312
-
313
- # or if changes detected:
314
-
315
- ⚠️ DRIFT
316
-
317
- Added components: 2
318
- + src/components/NewButton.tsx
319
- + src/utils/helpers.ts
320
-
321
- Removed components: 1
322
- - src/components/OldButton.tsx
323
-
324
- Changed components: 3
325
- ~ src/components/Card.tsx
326
- Δ imports, hooks
327
- ~ src/App.tsx
328
- Δ hash
329
- ```
330
-
331
- ### With Token Stats
332
-
333
- ```bash
334
- stamp context compare old.json new.json --stats
335
- ```
336
-
337
- Shows token cost changes:
338
- ```
339
- Token Stats:
340
- Old: 8,484 (GPT-4o-mini) | 7,542 (Claude)
341
- New: 9,125 (GPT-4o-mini) | 8,111 (Claude)
342
- Δ +641 (+7.56%)
343
- ```
344
-
345
- ### Exit Codes
346
-
347
- - `0` - No drift (PASS)
348
- - `1` - Drift detected or error
349
-
350
- Perfect for CI/CD validation:
351
- ```bash
352
- # In your CI pipeline
353
- stamp context compare base.json pr.json || echo "Context drift detected!"
354
- ```
355
-
356
- ## Examples
357
-
358
- ### Basic usage
359
-
360
- ```bash
361
- # Generate context for entire project
362
- stamp context
363
-
364
- # CLI output:
365
- # 🔍 Scanning /path/to/project...
366
- # ⚙️ Analyzing components...
367
- # 🔗 Building dependency graph...
368
- # 📦 Generating context...
369
- # 🔍 Validating generated context...
370
- # ✅ Validation passed
371
- # 📝 Writing context files for 5 folders...
372
- # ✓ context.json (2 bundles)
373
- # ✓ src/context.json (3 bundles)
374
- # ✓ src/components/context.json (5 bundles)
375
- # ✓ src/utils/context.json (2 bundles)
376
- # ✓ app/context.json (3 bundles)
377
- # 📝 Writing main context index...
378
- # ✓ context_main.json (index of 5 folders)
379
- # ✅ 6 context files written successfully
380
- #
381
- # 📊 Summary:
382
- # Total components: 15
383
- # Root components: 3
384
- # ...
385
- ```
386
-
387
- ### Focused analysis
388
-
389
- ```bash
390
- # Analyze only the src directory
391
- stamp context ./src
392
-
393
- # Analyze with custom output directory
394
- stamp context --out ./output
395
-
396
- # Or specify a .json file to use its directory
397
- stamp context --out ./output/context.json # Uses ./output as directory
398
- ```
399
-
400
- ### Deep traversal
401
-
402
- ```bash
403
- # Include 2 levels of dependencies
404
- stamp context --depth 2
405
-
406
- # Include full source code
407
- stamp context --include-code full
408
- ```
409
-
410
- ### Token cost analysis
411
-
412
- ```bash
413
- # Show detailed mode comparison
414
- stamp context --compare-modes
415
-
416
- # Get JSON stats for CI
417
- stamp context --stats
418
-
419
- # See token costs for specific mode
420
- stamp context --include-code none
421
- stamp context --include-code full
422
- ```
423
-
424
- ### Context comparison
425
-
426
- ```bash
427
- # Basic drift detection
428
- stamp context compare old.json new.json
429
-
430
- # With token delta stats
431
- stamp context compare base.json pr.json --stats
432
-
433
- # In CI pipeline
434
- stamp context compare base.json pr.json || exit 1
435
- ```
436
-
437
- ### Clean context files
438
-
439
- ```bash
440
- # Show what would be removed (dry run)
441
- stamp context clean
442
-
443
- # Actually delete all context artifacts
444
- stamp context clean --all --yes
445
-
446
- # Clean specific directory
447
- stamp context clean ./output --all --yes
448
-
449
- # Suppress verbose output (quiet mode)
450
- stamp context --quiet
451
- stamp context validate --quiet
452
- stamp context compare --quiet
453
- stamp context clean --all --yes --quiet
454
-
455
- # Show version number
456
- stamp --version
457
- ```
458
-
459
- ### CI/CD validation
460
-
461
- ```bash
462
- # Use llm-safe profile for smaller output
463
- stamp context --profile llm-safe --out safe-context.json
464
-
465
- # Strict mode: fail if any dependencies missing
466
- stamp context --strict-missing
467
-
468
- # Generate stats for CI monitoring
469
- stamp context --stats > stats.json
470
-
471
- # Validate generated context
472
- stamp context validate context.json
473
- ```
474
-
475
- ## Output Format
476
-
477
- LogicStamp Context generates a **folder-organized, multi-file output structure** that maintains your project's directory hierarchy:
478
-
479
- ```
480
- output/
481
- ├── context_main.json # Main index with folder metadata
482
- ├── context.json # Root folder bundles (if any)
483
- ├── src/
484
- │ └── context.json # Bundles from src/ folder
485
- └── src/components/
486
- └── context.json # Bundles from src/components/
487
- ```
149
+ 📋 **See [docs/cli/COMMANDS.md](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/COMMANDS.md) for complete option reference**
488
150
 
489
- ### Structure Overview
151
+ ## Documentation
490
152
 
491
- - **Folder-based organization** - Each folder containing components gets its own `context.json`
492
- - **Main index** - `context_main.json` indexes all folders with metadata (components, bundles, token estimates)
493
- - **Per-root bundles** - Each bundle contains a root component plus its complete dependency graph
494
- - **Self-contained units** - Each bundle includes all related components and contracts for that feature/page
153
+ - **[Usage Guide](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/USAGE.md)** Complete usage documentation with examples
154
+ - **[Token Optimization](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/USAGE.md#token-cost-comparison)** Understand token costs and savings
155
+ - **[Mode Comparison](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/cli/COMPARE-MODES.md)** Detailed comparison across all modes
156
+ - **[Output Format](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/SCHEMA.md)** Complete schema documentation
157
+ - **[CI Integration](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/USAGE.md#cicd-integration)** — CI/CD workflows and validation
158
+ - **[Troubleshooting](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/USAGE.md#troubleshooting)** — Common issues and solutions
159
+ - **[UIF Contracts](https://github.com/LogicStamp/logicstamp-context/blob/main/docs/UIF_CONTRACTS.md)** — Understanding component contracts
495
160
 
496
- ### Key Fields
161
+ ## Need Help?
497
162
 
498
- **`context_main.json` index:**
499
- - `folders[]` - Array of folder metadata (path, bundles, components, token estimates)
500
- - `summary` - Total components, bundles, folders, token estimates
163
+ - **Open an issue** → https://github.com/LogicStamp/logicstamp-context/issues
164
+ - **Join our roadmap** https://logicstamp.dev
501
165
 
502
- **Bundle structure (`context.json`):**
503
- - `entryId` - Root component file path
504
- - `graph.nodes[]` - Component contracts with structure, props, hooks, state
505
- - `graph.edges[]` - Dependency relationships
506
- - `meta.missing[]` - Unresolved dependencies (if any)
507
- - `meta.source` - Generator version
508
-
509
- **Missing dependencies:**
510
- - `file not found` - Deleted or moved file
511
- - `external package` - Third-party npm package (intentionally excluded)
512
- - `outside scan path` - File exists but outside scan directory
513
- - `circular dependency` - Circular import detected
514
- - `max depth exceeded` - Beyond `--depth` limit
515
-
516
- 📋 **See [`schema/logicstamp.context.schema.json`](schema/logicstamp.context.schema.json) for complete JSON Schema**
517
- 📋 **See [`docs/SCHEMA.md`](docs/SCHEMA.md) for detailed field documentation**
518
-
519
- ## Use Cases
520
-
521
- ### AI-Assisted Development
522
-
523
- Share context with Claude or ChatGPT to get:
524
- - Architecture suggestions
525
- - Refactoring recommendations
526
- - Bug fixes based on full component understanding
527
-
528
- ### Documentation
529
-
530
- Generate up-to-date component documentation automatically:
531
- - API contracts
532
- - Dependency trees
533
- - Component relationships
534
-
535
- ### Code Review
536
-
537
- Quickly understand component structure and dependencies:
538
- - Identify circular dependencies
539
- - Find unused components
540
- - Track component complexity
541
-
542
- ## Troubleshooting
543
-
544
- ### Handling Missing Dependencies
545
-
546
- If your generated context shows missing dependencies in the `meta.missing` array:
547
-
548
- #### 1. External Packages (Expected)
549
- ```json
550
- {
551
- "name": "@mui/material",
552
- "reason": "external package"
553
- }
554
- ```
555
- **Solution:** This is normal. LogicStamp only analyzes your source code, not node_modules. External packages are intentionally excluded.
556
-
557
- #### 2. File Not Found (Action Required)
558
- ```json
559
- {
560
- "name": "./components/OldButton",
561
- "reason": "file not found",
562
- "referencedBy": "src/App.tsx"
563
- }
564
- ```
565
- **Solutions:**
566
- - Check if the file was deleted or moved
567
- - Update the import path in the referencing component
568
- - Use `--strict-missing` in CI to catch these issues early
569
-
570
- #### 3. Outside Scan Path
571
- ```json
572
- {
573
- "name": "../../shared/utils",
574
- "reason": "outside scan path"
575
- }
576
- ```
577
- **Solutions:**
578
- - Expand your scan path: `stamp context ../` (parent directory)
579
- - Or scan from project root: `stamp context .` (from root)
580
-
581
- #### 4. Max Depth Exceeded
582
- ```json
583
- {
584
- "name": "./deeply/nested/component",
585
- "reason": "max depth exceeded"
586
- }
587
- ```
588
- **Solutions:**
589
- - Increase depth: `stamp context --depth 2` or `--depth 3`
590
- - Note: Higher depth = more tokens consumed
591
-
592
- #### 5. Circular Dependencies
593
- ```json
594
- {
595
- "name": "./ComponentA",
596
- "reason": "circular dependency"
597
- }
598
- ```
599
- **Solutions:**
600
- - Refactor to break the circular import
601
- - Extract shared logic to a separate module
602
- - This is a code smell that should be addressed
603
-
604
- ### Common Issues
605
-
606
- **Q: Why is my context.json huge?**
607
- - Use `--include-code none` to exclude all source code (smallest)
608
- - Use `--include-code header` (default) for balanced output
609
- - Use `--profile llm-safe` for token-constrained scenarios
610
- - Check `--compare-modes` to see token savings
166
+ ## What is this?
611
167
 
612
- **Q: Validation failed - what went wrong?**
613
- ```bash
614
- stamp context validate context.json
615
- # Or validate the main index
616
- stamp context validate context_main.json
617
- ```
618
- - Check for schema mismatches (outdated schema version)
619
- - Verify JSON is well-formed (no trailing commas, proper escaping)
620
- - Ensure all required fields are present
621
- - Each folder's context.json should be a valid bundle array
622
- - The context_main.json should have the LogicStampIndex structure
168
+ **LogicStamp Context** is a lightweight tool that scans your React/TypeScript codebase and generates structured context bundles optimized for AI tools like Claude, ChatGPT, and other LLMs.
623
169
 
624
- **Q: How do I ignore certain directories?**
625
- - LogicStamp respects `.gitignore` automatically
626
- - `node_modules/` and common build directories are excluded by default
627
- - Scan specific directories: `stamp context ./src`
170
+ No setup, no configuration, no pre-compilation required. Just point it at your code and get instant, AI-ready documentation.
628
171
 
629
172
  ## How it Works
630
173
 
@@ -638,43 +181,6 @@ stamp context validate context_main.json
638
181
 
639
182
  All in one command, no pre-compilation needed!
640
183
 
641
- ## Planned Orchestrator (@logicstamp/cli)
642
-
643
- `logicstamp-context` is the primary CLI available today. A higher-level orchestrator package `@logicstamp/cli` is planned as an optional wrapper.
644
-
645
- | Feature | logicstamp-context | LogicStamp Orchestrator (planned) |
646
- |---------|-------------------|----------------------------------|
647
- | Standalone | ✅ Yes | ❌ No (wraps underlying tools) |
648
- | Pre-compilation required | ❌ No | ✅ Yes (for verification) |
649
- | Context generation | ✅ Yes | ✅ Yes |
650
- | UIF contracts per file | ✅ Yes (embedded in bundles) | ✅ Yes (as `.uif.json` sidecar files) |
651
- | Contract compilation | ✅ Built-in | ✅ Separate command |
652
- | Contract verification | ❌ No | ✅ Yes (planned) |
653
- | Size | Focused | Orchestrator |
654
-
655
- **TL;DR**: Use `stamp context` (logicstamp-context) for AI context generation today. The future `@logicstamp/cli` orchestrator will provide optional higher-level workflows once it's released.
656
-
657
- ## Future Roadmap
658
-
659
- ### Planned Features
660
-
661
- **Next.js Enhancements:**
662
- - App Router role detection (`page`, `layout`, `route`, `loading`, `error`)
663
- - Dynamic route segment extraction (`[id]`, `[...slug]`)
664
- - Server Action signature extraction and RPC call graphs
665
- - Suspense boundary and streaming component detection
666
-
667
- **Framework Support:**
668
- - Vue.js 3 Composition API components
669
- - Svelte component analysis
670
-
671
- **Other:**
672
- - Custom contract fields via config
673
- - Performance metrics (bundle size, render estimates)
674
- - Incremental bundle caching
675
-
676
- **Note:** Features are added incrementally based on community feedback. Current implementation prioritizes maximum value with minimal complexity.
677
-
678
184
  ## Requirements
679
185
 
680
186
  - Node.js >= 18.0.0
@@ -688,7 +194,7 @@ MIT
688
194
 
689
195
  Issues and PRs welcome! This is an open-source project.
690
196
 
691
- **See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines**, including:
197
+ **See [CONTRIBUTING.md](https://github.com/LogicStamp/logicstamp-context/blob/main/CONTRIBUTING.md) for detailed guidelines**, including:
692
198
  - Branching strategy (feature → `main`, no `develop` branch)
693
199
  - Branch naming conventions (`feature/*`, `fix/*`, `docs/*`)
694
200
  - Commit message format (Conventional Commits)
@@ -696,5 +202,6 @@ Issues and PRs welcome! This is an open-source project.
696
202
 
697
203
  ## Links
698
204
 
699
- - [LogicStamp Main Project](https://github.com/LogicStamp/logicstamp)
205
+ - [LogicStamp Main Project](https://logicstamp.dev)
206
+ - [GitHub Repository](https://github.com/LogicStamp/logicstamp-context)
700
207
  - [Report Issues](https://github.com/LogicStamp/logicstamp-context/issues)
@@ -8,4 +8,5 @@ export { parseStyleFile, extractScssMetadata } from './scss.js';
8
8
  export { extractStyledComponents } from './styled.js';
9
9
  export { extractMotionConfig, extractAnimationMetadata } from './motion.js';
10
10
  export { extractLayoutMetadata, extractVisualMetadata } from './layout.js';
11
+ export { extractMaterialUI } from './material.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
@@ -8,4 +8,5 @@ export { parseStyleFile, extractScssMetadata } from './scss.js';
8
8
  export { extractStyledComponents } from './styled.js';
9
9
  export { extractMotionConfig, extractAnimationMetadata } from './motion.js';
10
10
  export { extractLayoutMetadata, extractVisualMetadata } from './layout.js';
11
+ export { extractMaterialUI } from './material.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Material UI extractor - Extracts Material UI component library usage
3
+ */
4
+ import { SourceFile } from 'ts-morph';
5
+ /**
6
+ * Extract Material UI usage from a source file
7
+ */
8
+ export declare function extractMaterialUI(source: SourceFile): {
9
+ components: string[];
10
+ packages: string[];
11
+ features: {
12
+ usesTheme?: boolean;
13
+ usesSxProp?: boolean;
14
+ usesStyled?: boolean;
15
+ usesMakeStyles?: boolean;
16
+ usesSystemProps?: boolean;
17
+ };
18
+ };
19
+ //# sourceMappingURL=material.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/material.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA0BtC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG;IACrD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH,CA0FA"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Material UI extractor - Extracts Material UI component library usage
3
+ */
4
+ /**
5
+ * Common Material UI component names
6
+ */
7
+ const MUI_COMPONENTS = [
8
+ 'Accordion', 'Alert', 'AppBar', 'Autocomplete', 'Avatar', 'Backdrop', 'Badge', 'BottomNavigation',
9
+ 'Box', 'Breadcrumbs', 'Button', 'ButtonGroup', 'Card', 'Checkbox', 'Chip', 'CircularProgress',
10
+ 'Container', 'CssBaseline', 'Dialog', 'Divider', 'Drawer', 'Fab', 'FormControl', 'FormGroup',
11
+ 'FormLabel', 'Grid', 'Icon', 'IconButton', 'Input', 'InputAdornment', 'InputBase', 'InputLabel',
12
+ 'LinearProgress', 'Link', 'List', 'ListItem', 'ListItemButton', 'ListItemIcon', 'ListItemText',
13
+ 'Menu', 'MenuItem', 'MobileStepper', 'Modal', 'NativeSelect', 'Pagination', 'Paper', 'Popover',
14
+ 'Popper', 'Radio', 'RadioGroup', 'Rating', 'Select', 'Skeleton', 'Slider', 'Snackbar',
15
+ 'SpeedDial', 'Stack', 'Stepper', 'Switch', 'Tab', 'Table', 'TableBody', 'TableCell',
16
+ 'TableContainer', 'TableFooter', 'TableHead', 'TablePagination', 'TableRow', 'Tabs', 'TextField',
17
+ 'ToggleButton', 'ToggleButtonGroup', 'Toolbar', 'Tooltip', 'Typography', 'Zoom'
18
+ ];
19
+ /**
20
+ * Material UI package patterns
21
+ */
22
+ const MUI_PACKAGE_PATTERNS = [
23
+ /^@mui\//,
24
+ /^@material-ui\//,
25
+ ];
26
+ /**
27
+ * Extract Material UI usage from a source file
28
+ */
29
+ export function extractMaterialUI(source) {
30
+ const sourceText = source.getFullText();
31
+ const components = new Set();
32
+ const packages = new Set();
33
+ // Check for Material UI imports
34
+ source.getImportDeclarations().forEach(imp => {
35
+ const moduleSpecifier = imp.getModuleSpecifierValue();
36
+ // Check if it's a Material UI package
37
+ const isMuiPackage = MUI_PACKAGE_PATTERNS.some(pattern => pattern.test(moduleSpecifier));
38
+ if (isMuiPackage) {
39
+ packages.add(moduleSpecifier);
40
+ // Extract component names from imports
41
+ const namedImports = imp.getNamedImports();
42
+ namedImports.forEach(namedImport => {
43
+ const importName = namedImport.getName();
44
+ if (MUI_COMPONENTS.includes(importName)) {
45
+ components.add(importName);
46
+ }
47
+ });
48
+ // Check for default imports (less common but possible)
49
+ const defaultImport = imp.getDefaultImport();
50
+ if (defaultImport) {
51
+ const defaultName = defaultImport.getText();
52
+ if (MUI_COMPONENTS.includes(defaultName)) {
53
+ components.add(defaultName);
54
+ }
55
+ }
56
+ }
57
+ });
58
+ // Also check for component usage in JSX (e.g., <Button>, <TextField>)
59
+ // This catches cases where components might be imported differently
60
+ MUI_COMPONENTS.forEach(componentName => {
61
+ // Match JSX usage: <ComponentName, <ComponentName., or ComponentName.
62
+ const patterns = [
63
+ new RegExp(`<${componentName}\\s`, 'g'),
64
+ new RegExp(`<${componentName}>`, 'g'),
65
+ new RegExp(`<${componentName}/`, 'g'),
66
+ ];
67
+ patterns.forEach(pattern => {
68
+ if (pattern.test(sourceText)) {
69
+ components.add(componentName);
70
+ }
71
+ });
72
+ });
73
+ // Check for theme usage
74
+ const usesTheme = /useTheme\(\)/.test(sourceText) ||
75
+ /ThemeProvider/.test(sourceText) ||
76
+ /createTheme\(/.test(sourceText) ||
77
+ /theme\./.test(sourceText) ||
78
+ /\$\{.*theme\./.test(sourceText);
79
+ // Check for sx prop usage (Material UI's styling prop)
80
+ const usesSxProp = /sx\s*=\s*\{/.test(sourceText);
81
+ // Check for styled from @mui/material/styles
82
+ const usesStyled = /from\s+['"]@mui\/material\/styles['"]/.test(sourceText) ||
83
+ /from\s+['"]@material-ui\/core\/styles['"]/.test(sourceText) ||
84
+ /styled\(/.test(sourceText);
85
+ // Check for makeStyles (legacy Material UI styling)
86
+ const usesMakeStyles = /makeStyles\(/.test(sourceText) ||
87
+ /from\s+['"]@mui\/styles['"]/.test(sourceText) ||
88
+ /from\s+['"]@material-ui\/styles['"]/.test(sourceText);
89
+ // Check for system props (spacing, color, etc. on Box/Stack components)
90
+ const usesSystemProps = /(?:Box|Stack|Grid|Container).*?(?:spacing|color|bgcolor|p|m|px|py|mx|my|pt|pb|pl|pr|mt|mb|ml|mr)\s*=/s.test(sourceText);
91
+ return {
92
+ components: Array.from(components).sort().slice(0, 20), // Top 20 components
93
+ packages: Array.from(packages).sort(),
94
+ features: {
95
+ ...(usesTheme && { usesTheme: true }),
96
+ ...(usesSxProp && { usesSxProp: true }),
97
+ ...(usesStyled && { usesStyled: true }),
98
+ ...(usesMakeStyles && { usesMakeStyles: true }),
99
+ ...(usesSystemProps && { usesSystemProps: true }),
100
+ },
101
+ };
102
+ }
103
+ //# sourceMappingURL=material.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/material.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styleExtractor.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/styleExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,4BAA4B,CAAC;AAO9E;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAsBnH"}
1
+ {"version":3,"file":"styleExtractor.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/styleExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,4BAA4B,CAAC;AAQ9E;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAsBnH"}
@@ -7,6 +7,7 @@ import { extractScssMetadata, parseStyleFile } from './scss.js';
7
7
  import { extractStyledComponents } from './styled.js';
8
8
  import { extractMotionConfig, extractAnimationMetadata } from './motion.js';
9
9
  import { extractLayoutMetadata, extractVisualMetadata } from './layout.js';
10
+ import { extractMaterialUI } from './material.js';
10
11
  /**
11
12
  * Extract style metadata from a source file
12
13
  */
@@ -110,6 +111,19 @@ async function extractStyleSources(source, filePath) {
110
111
  },
111
112
  };
112
113
  }
114
+ // Check for Material UI
115
+ const hasMaterialUI = source.getImportDeclarations().some(imp => {
116
+ const moduleSpecifier = imp.getModuleSpecifierValue();
117
+ return /^@mui\//.test(moduleSpecifier) || /^@material-ui\//.test(moduleSpecifier);
118
+ });
119
+ if (hasMaterialUI) {
120
+ const muiInfo = extractMaterialUI(source);
121
+ sources.materialUI = {
122
+ ...(muiInfo.components.length > 0 && { components: muiInfo.components }),
123
+ ...(muiInfo.packages.length > 0 && { packages: muiInfo.packages }),
124
+ features: muiInfo.features,
125
+ };
126
+ }
113
127
  return sources;
114
128
  }
115
129
  //# sourceMappingURL=styleExtractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styleExtractor.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/styleExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styleExtractor.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/styleExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAkB,EAAE,QAAgB;IAC7E,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEnD,yDAAyD;IACzD,IACE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,MAAkB,EAAE,QAAgB;IACrE,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAExC,+BAA+B;IAC/B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QAC7C,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACjD,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAChE,MAAM,eAAe,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACtD,OAAO,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,GAAG,eAAe,CAAC,uBAAuB,EAAE,CAAC;QAClE,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;QAEpC,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,UAAU,GAAG;gBACnB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACtC,6FAA6F,CAAC,IAAI,CAAC,CAAC,CAAC,CACtG,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEnD,OAAO,CAAC,QAAQ,GAAG;YACjB,UAAU,EAAE,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC9C,GAAG;gBACH,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,sBAAsB;aAC5D,CAAC,CACH;YACD,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YAC9C,UAAU,EAAE,UAAU,CAAC,MAAM;SAC9B,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACpE,MAAM,eAAe,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACtD,OAAO,eAAe,KAAK,mBAAmB,IAAI,eAAe,KAAK,iBAAiB,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,gBAAgB,GAAG;YACzB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9E,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC/C,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC1D,MAAM,eAAe,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACtD,OAAO,eAAe,KAAK,eAAe,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,MAAM,GAAG;YACf,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9E,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxE,QAAQ,EAAE;gBACR,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACjD,GAAG,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;gBACvD,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;aAC5D;SACF,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC9D,MAAM,eAAe,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,CAAC,UAAU,GAAG;YACnB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClE,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -124,6 +124,17 @@ export interface StyleSources {
124
124
  viewportAnimations?: boolean;
125
125
  };
126
126
  };
127
+ materialUI?: {
128
+ components?: string[];
129
+ packages?: string[];
130
+ features: {
131
+ usesTheme?: boolean;
132
+ usesSxProp?: boolean;
133
+ usesStyled?: boolean;
134
+ usesMakeStyles?: boolean;
135
+ usesSystemProps?: boolean;
136
+ };
137
+ };
127
138
  }
128
139
  export interface LayoutMetadata {
129
140
  type?: 'flex' | 'grid' | 'relative' | 'absolute';
@@ -1 +1 @@
1
- {"version":3,"file":"UIFContract.d.ts","sourceRoot":"","sources":["../../src/types/UIFContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UIFContract.d.ts","sourceRoot":"","sources":["../../src/types/UIFContract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UIFContract.js","sourceRoot":"","sources":["../../src/types/UIFContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAkMH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACb,GAAG,CAAC,IAAI,KAAK,aAAa;QAC1B,eAAe,IAAI,GAAG;QACtB,GAAG,CAAC,aAAa,KAAK,KAAK,CAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"UIFContract.js","sourceRoot":"","sources":["../../src/types/UIFContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA+MH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACb,GAAG,CAAC,IAAI,KAAK,aAAa;QAC1B,eAAe,IAAI,GAAG;QACtB,GAAG,CAAC,aAAa,KAAK,KAAK,CAC5B,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "logicstamp-context",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Generate AI-friendly context bundles from React codebases with LogicStamp contracts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -117,7 +117,7 @@
117
117
  "source": {
118
118
  "type": "string",
119
119
  "pattern": "^logicstamp-context@\\d+\\.\\d+\\.\\d+$",
120
- "description": "Generator identifier with version (e.g., 'logicstamp-context@0.2.3'). Used for compatibility tracking and debugging."
120
+ "description": "Generator identifier with version (e.g., 'logicstamp-context@0.2.4'). Used for compatibility tracking and debugging."
121
121
  }
122
122
  },
123
123
  "additionalProperties": false
@@ -609,6 +609,53 @@
609
609
  },
610
610
  "required": ["features"],
611
611
  "additionalProperties": false
612
+ },
613
+ "materialUI": {
614
+ "type": "object",
615
+ "properties": {
616
+ "components": {
617
+ "type": "array",
618
+ "items": {
619
+ "type": "string"
620
+ },
621
+ "description": "Material UI component names used (e.g., ['Button', 'TextField', 'Card'])"
622
+ },
623
+ "packages": {
624
+ "type": "array",
625
+ "items": {
626
+ "type": "string"
627
+ },
628
+ "description": "Material UI packages imported (e.g., ['@mui/material', '@mui/icons-material'])"
629
+ },
630
+ "features": {
631
+ "type": "object",
632
+ "properties": {
633
+ "usesTheme": {
634
+ "type": "boolean",
635
+ "description": "Uses theme (useTheme, ThemeProvider, createTheme)"
636
+ },
637
+ "usesSxProp": {
638
+ "type": "boolean",
639
+ "description": "Uses sx prop for styling"
640
+ },
641
+ "usesStyled": {
642
+ "type": "boolean",
643
+ "description": "Uses styled from @mui/material/styles"
644
+ },
645
+ "usesMakeStyles": {
646
+ "type": "boolean",
647
+ "description": "Uses makeStyles (legacy)"
648
+ },
649
+ "usesSystemProps": {
650
+ "type": "boolean",
651
+ "description": "Uses system props on Box/Stack components"
652
+ }
653
+ },
654
+ "additionalProperties": false
655
+ }
656
+ },
657
+ "required": ["features"],
658
+ "additionalProperties": false
612
659
  }
613
660
  },
614
661
  "additionalProperties": false