CLI Changelog
All notable user-facing changes to LogicStamp Context CLI are tracked here. The project follows Semantic Versioning and a Keep a Changelog-style format.
This changelog is automatically fetched from the CLI GitHub repository.
Changelog
All notable changes to logicstamp-context are documented in this file.
The format is based on Keep a Changelog and adheres to Semantic Versioning.
[Unreleased]
Roadmap (not yet implemented)
For a comprehensive roadmap with detailed status, priorities, and implementation plans, see ROADMAP.md.
Highlights:
- Emit detection accuracy - Distinguish internal handlers from public API emits
- Dynamic class parsing - Resolve variable-based classes within template literals
- CSS-in-JS support - Complete support for remaining libraries (Chakra UI, Ant Design)
- Enhanced third-party component info - Include package names, versions, prop types
- TypeScript type extraction - Capture full type definitions (generics, unions, intersections)
- Project-level insights - Add cross-folder relationships and project-wide statistics to
context_main.json - Vue Single File Component (
.vue) support - Parse and analyze.vueSFC files - Custom profile configuration and overrides
- Incremental bundle caching
- Output size optimization
- Additional output formats
- Integration examples for popular AI assistants
- Advanced Next.js App Router features (route roles, segment paths, metadata exports)
Known Limitations
See docs/limitations.md for complete details and code evidence.
- Emit detection accuracy - internal handlers vs public API not distinguished
- Dynamic class expressions not resolved (variables in template literals)
- TypeScript types incomplete (generics, complex unions/intersections)
[0.3.6] - 2026-01-11
Added
- Hook parameter detection - Added comprehensive support for extracting function signatures from custom React hooks. Enables accurate parameter extraction for hook contracts:
- Extracts function parameters from exported hook definitions (default or named export)
- Includes parameter types from type annotations, default values, or TypeScript type checker inference
- Handles optional parameters (with
?modifier or default values) - Works with function declarations, arrow functions, and default exports
- Extracts parameters even when Props interfaces/type aliases exist in the same file
- Props take priority on conflicts (Props values override hook parameters when both exist)
- Stores parameters in contract
logic.propsfield for hooks - Performance optimized with early-exit checks
- Comprehensive test coverage included
Example:
Source Code:
export function useTypewriter(text: string, speed = 30, pause = 800) {
const [displayedText, setDisplayedText] = useState('')
// ... implementation
return displayedText
}
Context Output:
{
"version": {
"hooks": ["useTypewriter"]
},
"logic": {
"props": {
"text": "string",
"speed": { "type": "number", "optional": true },
"pause": { "type": "number", "optional": true }
}
}
}
Changed
- Hook contract accuracy - Hook files now include complete parameter signatures in their contracts, improving AI understanding of hook APIs
- Props extraction logic - Enhanced prop extraction to handle hook parameters separately from component Props interfaces, ensuring both are captured correctly
- Default depth changed from 1 to 2 - The default
--depthparameter is now2instead of1to ensure proper signature extraction for React/TypeScript projects. This change addresses issues where depth=1 missed nested component signatures (e.g.,App→Hero→ButtonwhereButton's contract was missing). Depth=2 includes nested components in dependency graphs, providing complete component tree signatures. Users can still override with--depth 1if needed. All profiles (llm-chat,llm-safe) now default to depth=2. See context.md for detailed explanation.
Fixed
- Hook parameter extraction - Fixed issue where hook parameters were not extracted when Props interfaces existed in the same file. Hook parameters are now extracted independently and Props values take precedence on conflicts.
Impact: This release significantly improves hook contract completeness. Hook parameters are now captured for all hook files, regardless of whether Props interfaces exist. This enables better AI understanding of custom hook APIs and their usage patterns. The default depth change from 1 to 2 ensures more complete component tree signatures by including nested components in dependency graphs, addressing cases where depth=1 missed nested component contracts. All changes are backward compatible - existing context files remain valid, the new parameter extraction is additive, and users can still override depth with --depth 1 if needed.
[0.3.5] - 2026-01-06
Added
-
Styled JSX support - Added comprehensive support for Styled JSX. Enables accurate style context extraction for Next.js and React codebases using
<style jsx>blocks:- CSS content extraction from
<style jsx>blocks - Selector extraction from extracted CSS content
- CSS property extraction from extracted CSS content
- Global attribute detection (
<style jsx global>) - Support for template literals, string literals, and tagged template expressions
- Full integration with style metadata extraction when using
--include-styleorstamp context style - Integrated into
UIFContract.style.styledJsxfield in generated context files
- CSS content extraction from
-
Enhanced inline style extraction - Improved inline style object extraction. Provides more complete style metadata by extracting both property names and their literal values:
- Now extracts both CSS property names and their literal values
inlineStylesfield structure enhanced to include:properties: Array of CSS property names (e.g.,['animationDelay', 'color', 'padding'])values: Record of property-value pairs for literal values (e.g.,{ animationDelay: '2s', color: 'blue' })
- Dynamic values (variables, function calls) are detected as properties but their values are not extracted (static analysis limitation)
- Provides more complete style metadata for AI context analysis
Changed
- Style extractor architecture - Added new
styledJsx.tsmodule for Styled JSX extraction, following the modular style extractor pattern - UIFContract schema - Added
styledJsxfield to style metadata structure in contract types - Schema version - Updated context schema to include Styled JSX metadata fields
Fixed
- Inline style values - Fixed issue where inline style objects only extracted property names without values. Now extracts both properties and literal values for better style metadata completeness.
Impact: This release is additive and non-breaking. All changes are backward compatible:
- Styled JSX support - New optional field
styledJsxin style metadata. Only appears when<style jsx>blocks are detected. Existing codebases without Styled JSX are unaffected. - Enhanced inline styles - The
inlineStylesfield structure is extended with an optionalvaluesfield. Existing code accessinginlineStyles.propertiescontinues to work unchanged. Thevaluesfield is only added when literal values are extracted, maintaining backward compatibility with previousinlineStylesformat (boolean or object withpropertiesonly). - Schema compatibility - All additions are optional. No existing fields were removed or modified in a breaking way. Context files generated with previous versions remain valid.
- CLI/API stability - No CLI command changes, no breaking API changes.
[0.3.4] - 2026-01-04
Added
-
Vue.js TypeScript / TSX Support - Added comprehensive support for Vue 3 Composition API:
- Vue component and composable detection (
vue:component,vue:composablekinds) - Vue composables extraction (ref, reactive, computed, watch, lifecycle hooks, etc.)
- Vue component extraction from JSX and component registration
- Vue reactive state extraction (ref, reactive, computed, shallowRef, shallowReactive)
- Vue props extraction from
defineProps(supports both type-based and runtime props) - Vue emits extraction from
defineEmits(supports both type-based and runtime emits) - Full integration with contract building and signature generation
- Framework detection priority: Vue takes priority over React when both are imported
- JSX parsing: Uses React JSX mode (Vue JSX is compatible, but Vue templates are not parsed)
- Note: Works with Vue code in
.ts/.tsxfiles (JSX/TSX components, extracted composables). Single File Components (.vuefiles) are not currently supported. See Vue.js documentation for complete documentation and limitations.
Impact: This release is additive and non-breaking. Existing React/Next.js/TypeScript workflows are unaffected. Vue support is automatically detected when Vue imports are present in your codebase.
- Vue component and composable detection (
[0.3.3] - 2025-12-22
Added
- TOON output format support - Added new
--format toonoption to generate context bundles in TOON format. This provides an alternative output format for AI consumption, expanding format options beyond JSON, pretty, and NDJSON. See PR #41 for details. - TOON format documentation - Added comprehensive
docs/cli/toon.mddocumentation covering TOON format usage, decoding, and integration. - TOON format gitignore support - Added
context.toonandcontext_*.toonpatterns to.gitignoresetup, ensuring generated TOON files are properly excluded from version control.
Changed
- Updated
globdependency to 10.5.0 - Adjustedglobto a Node 18–compatible version while retaining the latest security fixes. - Updated Node.js engine requirement - Clarified minimum supported Node.js version to >= 18.18.0. Node 20+ is now recommended for best performance and features.
- Updated dev dependencies - Updated development dependencies to latest patch versions:
@types/node:^20.11.5→^20.19.27vitest:^4.0.8→^4.0.16@vitest/coverage-v8:^4.0.8→^4.0.16@vitest/ui:^4.0.8→^4.0.16
- Documentation improvements - Enhanced README formatting and clarity for better readability and user experience (PR #45)
- Documentation consistency - Improved formatting consistency across all documentation files for a more cohesive documentation experience (PR #44)
- Framework documentation clarity - Clarified the distinction between what is detected vs extracted across framework documentation, improving understanding of component analysis capabilities (PR #43)
- TOON format tests - Added comprehensive test coverage for TOON format gitignore patterns and initialization behavior.
[0.3.2] - 2025-12-21
Breaking
- Output files now use relative paths - Generated context files (
context_main.jsonand foldercontext.jsonfiles) now use relative paths instead of absolute paths. TheprojectRootfield incontext_main.jsonis now"."(relative) instead of an absolute path, and allcontextFilepaths in folder entries are relative to the project root. Output change:projectRootResolvedis no longer emitted in generated context files (kept as optional in types for backward compatibility). TheLogicStampIndexschema version has been bumped from0.1to0.2to reflect this output change. This improves portability of context files across different machines and environments. Note: This is a breaking change if you have tools or scripts that expect absolute paths in the generated JSON files or rely on theprojectRootResolvedfield. Most consumers should continue to work as-is since relative paths can be resolved from the project root. See Migration Guide for details.
Security
- Updated
globdependency to 11.1.0+ - Updatedglobpackage from^10.3.10to^11.1.0to address CVE-2025-64756 (command injection vulnerability in the-c/--cmdoption). This vulnerability affected versions 10.3.7 through 11.0.3. The update patches the security issue. Note: LogicStamp Context uses theglobAPI (not the CLI), so it was not directly affected by this vulnerability, but the update ensures the latest security patches are in place.
Changed
- CSS/SCSS parsing now uses AST-based parsing - Migrated CSS and SCSS file parsing from regex-based extraction to a deterministic AST walk using
css-tree. This replaces heuristic regex-based parsing with a deterministic AST walk, improving correctness and future extensibility. The parser provides more robust and accurate parsing of CSS/SCSS files, consistent with the AST-based approach used for TypeScript/React files withts-morph, and properly handles:- CSS selectors (class, ID, and type selectors) with accurate extraction
- CSS properties with proper filtering of SCSS variables and at-rules
- SCSS feature detection (variables, nesting, mixins) - detects presence as boolean flags
- Nested rules inside
@media,@supports,@container, and other at-rules - SCSS
//comments (automatically converted to/* */for css-tree compatibility) - Invalid selector filtering (file extensions, numeric values, keyframe percentages, color values, pixel values)
- Better error handling with graceful fallback on parse failures
[0.3.1] - 2025-12-15
Fixed
- Hook classification accuracy - Custom React hooks are now correctly classified as
react:hookinstead ofreact:component. The detection logic now checks if the main export (default or named) is a function starting with "use" and has no JSX elements, ensuring hook files are properly distinguished from component files in context bundles. This improves accuracy when analyzing codebases with custom hooks.
Changed
- Added
react:hookto ContractKind type - TheContractKindtype now includes'react:hook'as a valid kind, allowing proper classification of hook files in the contract system.
[0.3.0] - 2025-12-07
Changed
-
Security scan now runs by default in
stamp init-stamp initnow automatically runs a security scan after initialization by default. This improves security posture for new projects by ensuring secrets are detected during setup. Use the--no-secureflag to skip the security scan if needed. -
Removed
--secureflag fromstamp init- The--secureflag has been removed since security scanning is now the default behavior. If you have scripts or CI/CD pipelines that used--secure, they will continue to work (security scan now runs by default), or you can use--no-secureto skip it. -
Updated initialization command documentation - All documentation has been updated to reflect that security scanning runs by default. The
--no-secureflag is documented as the way to opt out of security scanning during initialization.
Added
--no-secureflag forstamp init- New flag to skip the security scan during initialization when security scanning is not desired.
Fixed
- N/A
Security
-
Improved default security posture - By running security scans by default during initialization, projects are now more likely to catch secrets and sensitive information before they're committed to version control.
-
Automatic secret sanitization in context files - When generating context JSON files with
stamp context, any secrets detected by the security scanner are automatically replaced with"PRIVATE_DATA"in the generated files. This ensures that secrets never appear in context files that might be shared with AI assistants or committed to version control. Source files are never modified - only the generated JSON files contain sanitized values. Important security note: Credentials can only be included in generated bundles when using--include-code fullmode. The other modes (none,header,header+style) only include metadata and contracts (with secrets sanitized), not actual implementation code where credentials would typically be found.
[0.2.7] - 2025-12-03
Added
-
Security scanning command - New
stamp security scancommand to detect secrets in your codebase:- Scans TypeScript, JavaScript, and JSON files for common secret patterns (API keys, passwords, tokens, etc.)
- Generates detailed security reports with file locations and severity levels
- Runs 100% locally — nothing is uploaded or sent anywhere
- Review the security report and use
stamp ignore <file>to manually add files with secrets to.stampignoreto exclude them from context generation
-
Security reset command - New
stamp security --hard-resetcommand to reset security configuration:- Deletes the security report file
- Useful for starting fresh after remediation or resetting security configuration
-
Enhanced initialization - Improved
stamp initcommand with new options:--yes/-yflag for non-interactive mode (CI-friendly)--secureflag to initialize with auto-yes and automatically run security scan (removed in v0.3.0, security scan now runs by default)- Better integration with security scanning workflow
-
stamp ignorecommand - New command to add files or folders to.stampignore:stamp ignore <path> [path2] ...to add files/folders to.stampignore- Automatically creates
.stampignoreif it doesn't exist - Prevents duplicates and normalizes paths
- Supports glob patterns (e.g.,
**/*.key,**/secrets.ts) --quietflag to suppress verbose output- Recommended way to manage file exclusions (alternative to manually editing
.stampignore)
-
File exclusion with .stampignore - Enhanced
stamp contextwith automatic file exclusion:- Automatically excludes files listed in
.stampignorefrom context generation - Prevents files containing secrets or sensitive information from being included in context files
- Supports glob patterns and exact file paths
- Files are filtered before processing, with optional exclusion count messages
- Automatically excludes files listed in
Changed
-
CLI documentation enhancements - Enhanced CLI documentation to include:
- New security commands and options (
stamp security scan,stamp security --hard-reset) - New
stamp ignorecommand for managing.stampignorefile - Details on file exclusion behavior with
.stampignorefor context generation - Improved initialization command documentation with non-interactive mode and security scan integration
- Updated all command references and examples for consistency
- New security commands and options (
-
security documentation improvements - Added comprehensive
docs/cli/security-scan.mddocumentation covering:- Security scanning command usage and options
- Secret detection patterns and severity levels
.stampignoreintegration for excluding files with secrets- Security report format and structure
- CI/CD integration examples
-
Enhanced gitignore pattern documentation - Improved documentation across all files to better explain what each
.gitignorepattern does and why it's being ignored:- Added detailed explanations in
docs/cli/init.mdfor each pattern (context.json, context_*.json, *.uif.json, logicstamp.manifest.json, .logicstamp/, stamp_security_report.json) - Enhanced
docs/USAGE.mdwith brief pattern explanations and reference to detailed docs - Improved
docs/cli/security-scan.mdto clarify why security reports are automatically protected - Updated
SECURITY.mdwith comprehensive explanations of each pattern and security implications - All documentation now consistently explains what each pattern matches, why it's ignored, and when it's generated
- Added detailed explanations in
Fixed
- N/A
Security
- N/A
[0.2.6] - 2025-12-01
Added
-
Export metadata extraction - Added automatic extraction of export information from source files:
- Detects default exports (
export default) - Detects named exports (
export { ... },export function,export class,export const) - Extracts list of exported function names
- Stores export metadata in contracts as
exportsfield (optional) - Export metadata format:
'default','named', or{ named: string[] }for multiple named exports - Used to improve dependency tracking accuracy
- Detects default exports (
-
Internal component filtering - Improved dependency tracking by filtering out internal components:
- Internal components are function components defined in the same file (appear in both
version.functionsandversion.components) - Internal components are now excluded from dependency graphs and missing dependency lists
- Reduces false positives in missing dependency detection
- Improves accuracy of dependency analysis for multi-component files
- Internal components are function components defined in the same file (appear in both
Changed
- Dependency graph accuracy - Dependency graphs now only include external dependencies, excluding internal components defined in the same file
- Missing dependency reporting - Missing dependency lists no longer include internal components, reducing noise in dependency diagnostics
- Documentation updates - Updated SECURITY.md to include 0.2.x in supported versions, updated example files to reflect version 0.2.6
Fixed
- N/A
Security
- N/A
[0.2.5] - 2025-11-30
Added
Style Metadata Extraction
-
ShadCN/UI style extraction - Added ShadCN/UI component library detection and extraction:
- Detects ShadCN components imported from
@/components/ui/*,~/components/ui/*, or relativecomponents/ui/*paths - Identifies ShadCN component usage (Button, Card, Dialog, Form components, etc.)
- Extracts ShadCN variant and size prop values
- Recognizes compound component patterns (e.g., Dialog with DialogTrigger, DialogContent)
- Detects form integration with React Hook Form
- Identifies theme integration patterns (useTheme, ThemeProvider)
- Tracks icon usage (lucide-react, @radix-ui/react-icons)
- Calculates component density based on ShadCN component usage
- Integrated into style metadata extraction when using
--include-styleorstamp context style
- Detects ShadCN components imported from
-
Radix UI style extraction - Added Radix UI primitive library detection and extraction:
- Detects Radix UI primitives imported from
@radix-ui/*packages - Identifies Radix primitive components (Dialog, DropdownMenu, Popover, Tooltip, Accordion, Select, etc.)
- Extracts Radix package usage and component relationships
- Detects controlled/uncontrolled state patterns
- Identifies portal usage patterns
- Recognizes
asChildprop usage - Extracts accessibility features and ARIA patterns
- Integrated into style metadata extraction when using
--include-styleorstamp context style
- Detects Radix UI primitives imported from
-
Enhanced debug logging - Improved debug logging and error handling across core modules for better troubleshooting and diagnostics
Changed
- Model name corrections - Updated all documentation references from "GPT-4o-mini" to "GPT-4o" for accurate token estimation model naming
- Documentation consistency - Improved consistency and clarity across all documentation files
Fixed
- N/A
Security
- N/A
[0.2.4] - 2025-11-29
Added
- Material UI style extraction - Added Material UI component library detection and extraction:
- Detects Material UI components used (Button, TextField, Card, etc.)
- Identifies Material UI packages imported (@mui/material, @material-ui/core, etc.)
- Extracts Material UI styling features: theme usage, sx prop, styled components, makeStyles, and system props
- Integrated into style metadata extraction when using
--include-styleorstamp context style
Fixed
- README clarification - Fixed and clarified the "Global CLI" installation note to better explain the difference between local and global npm installations
Changed
- README.md significantly streamlined and optimized - Reduced from 718 lines to 199 lines (72% reduction) while maintaining all essential information:
- Moved detailed documentation sections to
docs/folder (Token Optimization, Mode Comparison, Behavioral Predictions, CI usage, Troubleshooting, Output Format schema, Next.js examples) - Added "Why LogicStamp?" section highlighting token savings and key benefits
- Added concise "Core Features" list with bullet points
- Added minimal "Example Output" section with realistic JSON sample
- Shortened "Recent Updates" to show only 2 recent versions with link to full CHANGELOG
- Added "Getting Help" section with links to GitHub issues and roadmap
- Updated Quick Start to show both global and local installation methods
- Fixed npm link compatibility - converted all relative links to absolute GitHub URLs for proper rendering on npmjs.com
- Improved structure following best practices from top-tier dev tools (Astro, Vite, ESLint) - README focuses on marketing/onboarding, detailed docs in
/docs
- Moved detailed documentation sections to
- Updated all version references in documentation to reflect 0.2.4 release
[0.2.3] - 2025-11-29
Added
- UIF Contracts documentation - Added comprehensive
docs/uif_contracts.mdguide explaining contract structure, semantic hashing, and contract-based change detection - Enhanced test documentation - Improved
tests/README.mdwith better structure, test categories, and usage examples
Changed
- README.md significantly streamlined - Reduced from 1,015 to 700 lines while preserving all essential information. Removed verbose "What's New" sections in favor of brief summaries with CHANGELOG links, condensed command documentation to quick reference tables, and streamlined output format section with links to detailed schema docs
- Improved token estimation accuracy - Enhanced raw source token estimation formulas in regular output (not
--compare-modes). When in header mode, now uses more accurate formulas to estimate raw source tokens: raw source = header / 0.30 (header is 30% of raw source), and style adds 105% overhead (header+style = header × 2.05). When in header+style mode, first estimates header without style (header = header+style / 2.05), then derives raw source from that estimate. Note: "Raw source" refers to the original source files concatenated, which is always estimated using these formulas (never actually generated). The actual context bundles (header, header+style, etc.) use tokenizers when available for accurate token counts. The--compare-modesflag regenerates contracts to provide accurate token counts for all modes - Updated compare-modes.md documentation - Refined examples and explanations with more accurate token savings percentages and clearer interpretation guidelines
Fixed
- N/A
Security
- N/A
[0.2.2] - 2025-11-28
Fixed
- Documentation accuracy - Fixed all documentation to correctly state that
@dqbd/tiktokenand@anthropic-ai/tokenizerare included as optional dependencies in package.json. npm automatically attempts to install them when installinglogicstamp-context. Previously, documentation incorrectly suggested users needed to manually install these packages.
Changed
- Updated all documentation files (README.md, all docs/cli/*.md files, CHANGELOG.md) to clarify that tokenizers are optional dependencies installed automatically by npm
- Updated user-facing console messages to mention that tokenizers are optional dependencies
- Updated source code comments in
src/utils/tokens.tsto reflect optional dependency installation
[0.2.1] - 2025-11-28
Fixed
- Dynamic version loading - Fixed hardcoded version string in
fileWriter.tsto dynamically load frompackage.json, ensuring version consistency across all generated context files
Changed
- Updated all version references in documentation to reflect 0.2.1 release
[0.2.0] - 2025-11-28
stamp initnow prompts interactively — Prompts for.gitignorepatterns andLLM_CONTEXT.mdgeneration (only in interactive/TTY environments).- Non-interactive defaults — In CI/non-TTY environments,
stamp initdefaults to "yes" for both prompts. - Better user control — Users can establish
.gitignoreandLLM_CONTEXT.mdpreferences early viastamp initbefore runningstamp context.
Added
Style Metadata Extraction
stamp context stylecommand - New subcommand to generate context with style metadata included--include-styleflag - Alternative syntax for enabling style metadata extraction- Style source detection - Identifies Tailwind CSS, SCSS/CSS modules, inline styles, styled-components, and framer-motion usage
- Layout metadata - Extracts flex/grid patterns, hero sections, feature cards, and responsive breakpoints
- Visual metadata - Captures color palettes, spacing patterns, border radius, and typography classes
- Animation metadata - Detects framer-motion animations, CSS transitions, and viewport triggers
- SCSS/CSS module parsing - Analyzes imported style files to extract selectors, properties, and SCSS feature detection (variables, nesting, mixins as boolean flags)
Enhanced Token Comparison
- Four-mode comparison -
--compare-modesnow showsnone,header,header+style, andfullmodes - Dual comparison tables - Shows savings vs raw source and vs full context
- Accurate style impact - Automatically regenerates contracts with/without style metadata for precise token counts
- Style overhead visibility - Clearly displays the token cost of including style metadata
- Optional tokenizer support - Includes
@dqbd/tiktoken(GPT-4) and@anthropic-ai/tokenizer(Claude) as optional dependencies in package.json. npm automatically attempts to install them when installinglogicstamp-context. If installation succeeds, the tool uses them for accurate token counts. If installation fails or is skipped (normal for optional dependencies), gracefully falls back to character-based estimation
Architectural Improvements
- Modular CLI structure - Refactored CLI into dedicated handlers for better maintainability
- Extracted AST parsing - Modularized AST extraction into dedicated detector and extractor modules
- Modularized style extraction - Organized style extraction into focused modules (tailwind, scss, motion, layout, etc.)
- Modularized pack utilities - Separated pack functionality into builder, collector, loader, and resolver modules
- Improved code organization - Better separation of concerns and testability
Changed
--compare-modesoutput format - Enhanced to includeheader+stylemode and show two comparison tables- Token estimation - Now accounts for style metadata in token calculations when
--include-styleis used - Token estimation API - Token estimation functions are now async to support optional tokenizer libraries
Documentation
- Added comprehensive
docs/cli/style.mddocumentation for the style command - Added comprehensive
docs/cli/compare-modes.mdguide for token cost analysis - Updated all command documentation to include style command and
--include-styleflag - Enhanced token optimization documentation with
--compare-modesexamples - Added style metadata examples and use cases throughout documentation
- Documented optional dependencies (
@dqbd/tiktokenand@anthropic-ai/tokenizer) for accurate token counts - these are included in package.json as optionalDependencies and installed automatically by npm - Updated schema documentation to include style metadata fields
--skip-gitignoreflag forstamp context— Temporarily skips.gitignoresetup on a per-run basis, regardless of saved preferences.- Config-based behavior —
stamp contextnow respects preferences saved in.logicstamp/config.jsonwithout prompting.
Fixed
- N/A
Security
- N/A
[0.1.1] - 2025-01-27
Changed
CI-Friendly Defaults
stamp contextno longer prompts — All interactive prompts were moved tostamp initfor better CI/CD compatibility.- Safe defaults —
stamp contextnow skips both.gitignoresetup andLLM_CONTEXT.mdgeneration unless these preferences are explicitly enabled viastamp init. - Auto-config creation — On first run,
stamp contextcreates.logicstamp/config.jsonwith both preferences set to "skipped" for maximum CI safety and reproducibility.
Improved Initialization
stamp initnow prompts interactively — Prompts for.gitignorepatterns andLLM_CONTEXT.mdgeneration (only in interactive/TTY environments).- Non-interactive defaults — In CI/non-TTY environments,
stamp initdefaults to "yes" for both prompts. - Better user control — Users can establish
.gitignoreandLLM_CONTEXT.mdpreferences early viastamp initbefore runningstamp context.
Added
--skip-gitignoreflag forstamp context— Temporarily skips.gitignoresetup on a per-run basis, regardless of saved preferences.- Config-based behavior —
stamp contextnow respects preferences saved in.logicstamp/config.jsonwithout prompting.
Fixed
- N/A
Security
- N/A
[0.1.0] - 2025-01-25
🎉 Initial Release
First public release of LogicStamp Context - a fast, zero-config CLI tool that generates AI-friendly context bundles from React/TypeScript codebases.
Added
Core Functionality
- AST-based component analysis - No pre-compilation required, works directly with source files
- Multi-file context generation - Per-folder
context.jsonfiles plus root-levelcontext_main.jsonindex - Deterministic output - Semantic hashing and bundle hashing for reproducible builds
- Dependency graph traversal - Configurable depth-based dependency analysis
- Missing dependency tracking - Diagnostics for unresolved imports with
--strict-missingflag
CLI Commands
stamp context- Generate context bundles from React/TypeScript codebasestamp context compare- Multi-file drift detection comparing all context filesstamp context validate- Schema validation for generated context filesstamp context clean- Remove all generated context artifactsstamp init- Interactive project initialization with.gitignoresetup
Configuration & Profiles
- Three preset profiles:
llm-safe,llm-chat(default),ci-strict - Code inclusion modes:
none,header,fullfor token optimization - Output formats:
json,pretty,ndjson - Zero configuration - Works out of the box on any React/TypeScript project
Token Optimization
- Automatic token estimates - GPT-4o-mini and Claude token counts
- Mode comparison -
--compare-modesflag for detailed token analysis - CI-friendly stats -
--statsflag outputs JSON with token estimates - Savings calculation - Shows percentage savings compared to full context (code+style) mode
Next.js Support
- App Router detection - Identifies files in
/appdirectory - Directive detection -
'use client'and'use server'directive support - Framework metadata - Next.js-specific annotations in contracts
Context Comparison
- Multi-file drift detection - Compares all context files using
context_main.jsonas index - Three-tier output - Folder summary → component summary → detailed changes
- Auto-approve mode -
--approveflag for Jest-style snapshot updates - Orphaned file cleanup -
--clean-orphanedflag to remove stale context files - Token delta stats - Per-folder token count changes with
--stats
Programmatic API
- Main entry point -
dist/index.jsexports all core functions, types, and CLI commands - TypeScript types - Full type definitions for all exports
- Core modules - AST parser, contract builder, manifest generator, pack utilities
Developer Experience
- Interactive initialization - First-run prompts for
.gitignoreandLLM_CONTEXT.mdsetup - Comprehensive help system - Detailed help for all commands and options
- Cross-platform support - Works on Windows, macOS, and Linux
- Fast performance - ~3–5 seconds for typical 50–150 file projects
- CI/CD integration - Exit codes and JSON output for automation
Documentation
- Complete README with installation, usage, and examples
- Detailed CLI documentation for all commands
- JSON Schema definition for context files
- Example context outputs and use cases
- Troubleshooting guide for common issues
Changed
- N/A (initial release)
Fixed
- N/A (initial release)
Security
- N/A (initial release)