Help Us Build This
Get Early Access
We'll send you updates as we add features and improve LogicStamp
LogicStamp is live, and we're looking for early users to help us improve
LogicStamp is currently built and maintained primarily by Amit Levi, with early contributions from the community. I'd love more collaborators - your feedback and ideas directly shape what we build next.
πΊοΈ Roadmap
Here's what we're building next. Your feedback will help us prioritize what matters most.
Roadmap
Planned features, improvements, and known limitations. See CHANGELOG.md for release notes.
Current Status
Version: v0.8.7 (Beta)
Recent milestones:
- Biome baseline and CI linting (v0.8.7) - Added
biome.json, Biome lint/format scripts and dependency setup, updated contributing docs for lint/format workflows, applied a one-time formatting baseline across the codebase, and added a Biome lint step to CI. No runtime or behavioral changes intended - Runtime caches, NodeNext/ESM alignment, dependency refresh (v0.8.6) - Encapsulated tokenizer and package.json caches behind runtime/loader helpers. Switched TypeScript
moduleandmoduleResolutiontoNodeNext, added conditionalexports(types+import), normalizedbinpaths, and updated dependencies to current compatible versions - Watch lock, file lock, secrets, compare fixes (v0.8.5) - Watch: synchronous
isRegeneratingflag and queued change processing instead of a promise-based lock race. File lock: exclusive write helper with cleanup on failed write/close; Windows PID liveness viatasklist(with safe fallbacks) instead ofprocess.kill(pid, 0). Secret scanner: case-insensitive AWS/GitHub/PEM patterns. skip invalid match indices before snippets. Compare:exportKindtreatsexports.namedas named only when it is a non-empty array - CLI packaging, paths, and token summary (v0.8.4) -
logicstamp-contextregistered as npm bin (fixesnpx logicstamp-context). centralizednormalizeEntryId/toForwardSlashesacross CLI, watch, pack loader, and AST;stamp contextsummary shows the current modeβs exact token count vs raw source with savings % (use--compare-modesfor full breakdown). tag-based npm publish via GitHub Actions and updated contributing/release docs - Secret scanner & watch reliability (v0.8.3) - Long-line skip and regex optimizations in secret detection. watch logging, full rebuild fallback after incremental errors, async/error hardening
- Documentation layout, watch perf, path boundaries (v0.8.2) - Core docs under
docs/guides/anddocs/reference/with link updates; style/framework docs aligned with CLI; watch mode avoidsArray.fromon the contract map (directMapiteration per change); centralizedisPathWithinRootfor pack loader and hash-lock - CLI argument validation and robustness fixes (v0.8.1) - Numeric arg validation for
--depth/--max-nodes, safe compare normalization, token savings bounds --strictflag for compare (v0.8.0) - Exit code 1 on breaking changes- Git baseline comparison (v0.7.2) -
--baseline git:<ref>for drift detection - Full contract comparison (v0.7.2) - State, variables, API signatures, prop/emit types
- Strict watch enhancements (v0.7.1) - Session tracking,
--strict-watch,--verbose - Watch mode (v0.4.1) - Incremental rebuilds, change detection
- Backend support (v0.4.0) - Express.js, NestJS
Bug Fixes & Accuracy
High Priority
| Item | Status | Notes |
|---|---|---|
| Emit Detection | β v0.3.7 | Only extracts prop-based handlers. See limitations.md |
| Dynamic Class Parsing | β Phase 1 (v0.3.9), π‘ Phase 2 planned | ~70-80% coverage. Phase 2: object lookups, cross-file refs. See limitations.md |
Medium Priority
| Item | Status | Notes |
|---|---|---|
| CSS-in-JS | β v0.5.1 | All major libs: styled-components, Emotion, MUI, ShadCN, Radix, Framer, Chakra, Ant Design |
| Third-Party Info | π‘ Phase 1 done | Package names + versions. Phase 2: prop types from .d.ts |
| TypeScript Types | π‘ Partial | Missing: generics, complex unions/intersections. See limitations.md |
| Project-Level Insights | π΄ Not started | Cross-folder relationships, project-wide stats in context_main.json |
Low Priority
| Item | Status | Notes |
|---|---|---|
| Test File Analysis | π΄ Not started | Excluded by design. Optional flag if requested. |
| Comment Extraction | π‘ Partial | JSDoc only. Missing: //, /* */, TODOs |
| Runtime Behavior Hints | π΄ Not started | Expected limitation (static analysis) |
Framework Expansion
Near-Term
| Item | Status | Notes |
|---|---|---|
| Backend Support | β v0.4.0 | Express, NestJS. Routes, HTTP methods, API signatures. Future: Fastify, Koa, Hapi. |
| JavaScript & JSX | π΄ Not started | Add .js/.jsx. JSDoc type inference. High priority |
| Watch Mode | β v0.4.1 | Incremental rebuilds, debouncing, status file, --strict-watch. See watch.md |
Future
| Item | Status | Notes |
|---|---|---|
| Vue SFC | π‘ Partial | Vue 3 TS/TSX done. Missing: .vue file parsing. High |
| Svelte | π΄ Not started | .svelte files. Medium |
| Python | π΄ Planned | Depends on conditional schema. FastAPI, Django, Flask. Medium |
| Java | π΄ Planned | Depends on conditional schema. Spring Boot. Medium |
Future Enhancements
Comparison & Drift Detection
Git Baseline β
v0.7.2 β Compare against any git ref: stamp context compare --baseline git:main. Uses worktrees; generates context at baseline + current, then compares. Hash-only changes filtered in git mode (TS resolution differences). Works with branches, tags, commits. Limitations: local refs only, no caching. See compare.md for hash behavior, use cases, and full details.
Enhanced Compare β v0.7.2 β Full contract comparison: state, variables, API signatures, prop/emit type changes. Matches watch mode behavior.
Compare export classification β
v0.8.5 β exportKind classifies named exports only when exports.named is a non-empty array; malformed shapes map to none instead of a false named match.
Schema & Architecture
Conditional Schema by Language π΄ Planned β Make UIFContract schema conditional on kind (e.g., style only for frontend, apiSignature required for backend). Prerequisite for Python/Java. Depends on JS/JSX support first. High priority.
- Tokenizer/package cache encapsulation β
v0.8.6 β Replaced module-level tokenizer and
package.jsoncaches withTokenizerRuntimeandPackageJsonLoader, pluscreate*/clear*helpers re-exported from the package root.
Performance & Optimization
-
Context summary token display β v0.8.4 β Summary uses the current modeβs measured token count only (no blended heuristics), compares to raw source with savings %, and points to
--compare-modesfor per-mode detail. -
Formal benchmarks π΄ Planned β Today:
stamp context --compare-modesalready compares bundle token costs across modes on your repo (optionalcontext_compare_modes.jsonwith--stats). Planned work adds published baselines and methodology: fixed reference corpora, reproducible tables, CI or scheduled runs, and assistant-side task evals. Two tracks where possible:- Tool / runtime β Cold/warm
stamp context, watch incremental cost, memory, scaling with repo size. - LLM / workflow (with vs without LogicStamp) β The main question: do models do better when given LogicStamp bundles than when they only see raw source (or minimal repo context)? Planned evals hold tasks and prompts fixed, vary only the context channel (bundles vs baseline), and report metrics such as task success, prop/API factual accuracy, tokens to a correct answer, and hallucination rate. Complements per-repo token comparison from
--compare-modes; extends the docs with published numbers others can reproduce on reference corpora.
- Tool / runtime β Cold/warm
-
Incremental watch optimization β v0.8.2
- Avoid unnecessary array allocations during incremental rebuilds
- Direct
Mapiteration for contract lookups reduces per-change overhead - Improves performance for large codebases in watch mode
Security & Reliability
-
Path traversal protection hardening β v0.8.2
- Centralized
isPathWithinRootfor consistent project boundary enforcement - Prevents file access outside project root in pack loader and hash-lock flows
- Aligns validation across
loadContract,readSourceCode, and related fs operations
- Centralized
-
Path normalization consistency β v0.8.4
- Standardizes
normalizeEntryIdandtoForwardSlashesacross CLI, watch mode, pack loader, and AST handling displayPath()delegates totoForwardSlashes()(bundle diff still usesnormalizeName()where appropriate)
- Standardizes
-
Secret detection performance & safety β v0.8.3
- Skips very long lines (1000+ characters) to avoid pathological regex cost
- Fewer per-line
RegExpallocations; simplified overlapping patterns (api[_-]?key, etc.)
-
Secret detection consistency β v0.8.5
- Case-insensitive matching for AWS-style keys, GitHub token prefixes, and PEM private-key headers (aligned with other patterns)
- Skip recording a match when
match.indexor full match text is invalid before building snippets
-
Watch mode error handling β v0.8.3
- Clearer logging for context load/read failures (respects
--quiet) - Full rebuild fallback after incremental errors to restore consistent state
- Hardened async/error paths to avoid masked failures and unhandled rejections
- Clearer logging for context load/read failures (respects
-
Watch mode regeneration lock β v0.8.5
- Synchronous
isRegeneratingflag replaces promise-based lock to avoid races when multiple callers process the same file changes whileloop drains changes that arrive during regeneration
- Synchronous
-
File lock robustness β v0.8.5
writeLockFileExclusive()removes empty or partial.lockfiles if write or close fails after exclusive create- Windows: use
tasklistto detect whether the lock PID still exists; treat current process as alive; indeterminatetasklistoutput does not drop valid locks (fixes lost updates under heavy concurrent waiters, e.g.appendWatchLog)
-
β Incremental bundle caching (watch mode)
-
Style verbosity reduction π΄ β Less verbose style for nested components with
depth=2; planned--full-styleflag for full extraction (distinct from--style-mode full). ~30-40% token reduction. -
Output size optimization β Further token reduction
Configuration & DX
- NodeNext / ESM package alignment β
v0.8.6 β
tsconfig.jsonnow usesNodeNextfor bothmoduleandmoduleResolution; packageexportsincludetypesandimport;binpaths normalized for cleaner ESM-aware publishing and consumption. - β
Normalized paths,
--verbose(v0.7.1) - npm CLI entry (
npx) β v0.8.4 βpackage.jsonbinmapslogicstamp-contextto the same CLI asstamp, sonpx logicstamp-contextworks reliably. - Release & publish workflow β v0.8.4 β Tag-based npm publishing in GitHub Actions; contributing guidelines aligned with the new release process.
- Custom profiles β User-defined beyond presets
- Integration examples β Cursor, Claude, Copilot
- Debugging tools β Better diagnostics
Known Limitations
See docs/reference/limitations.md for full details with code evidence.
Summary: Dynamic classes Phase 1 done (~70-80%); TypeScript generics/complex unions missing; third-party prop types missing (names/versions done); no project-level insights; JSDoc only for comments; test files excluded by design.
Coverage: ~95% component contracts, ~100% imports, ~90-95% style metadata.
Contributing
- See CONTRIBUTING.md
- Open an issue to discuss
- Submit a PR
Priority areas: Dynamic class Phase 2, JS/JSX support, third-party prop types, Vue SFC parsing.
Feedback
This roadmap is actively maintained. This is a solo project, so priorities will shift based on what I learn from early users.
For the complete roadmap with detailed implementation plans, see Context ROADMAP.md and MCP ROADMAP.md. For known limitations with code evidence, see Known Limitations.
Looking for contributors! If you're interested in helping build LogicStamp, check out the contributing guide or reach out directly.
Repositories: CLI β’ MCP Server
Who Should Join?
We're looking for developers who use AI assistants and want to help us make this better
Developers Using AI Assistants
If you're already using Cursor, Copilot, or Claude regularly, you probably know the pain of managing context. Help us make it better.
Teams with React/TypeScript Codebases
LogicStamp works best with React and TypeScript right now. If that's your stack, we'd love to see how it works for your team.
Open Source Maintainers
If you maintain an open source project, we think LogicStamp could help contributors understand your codebase faster. We'd love to test this theory.
People Who Like Trying New Tools
If you enjoy being an early adopter and don't mind the occasional rough edge, we'd love your feedback. We're responsive and actually listen.
Contributors Welcome
This is a solo project, and I'm actively looking for contributors! Whether it's bug fixes, new features, or documentation improvements, your contributions are welcome. Check out the contributing guide to get started.
Developers with Large Codebases
If you're working on a large codebase where context management is a real challenge, LogicStamp could help. We're especially interested in feedback from projects with complex architectures or many components.
Want to Help Us Build This?
We're just getting started. Your feedback will help us figure out what to build next.
Open source CLI β’ Free to use β’ Built with your feedback β’ Looking for contributors