Summary
Part of #488. Formalize the existing ./lite export as a standalone published npm package @libscope/lite. The code boundary already exists — this is primarily a packaging and publishing task.
Problem / Motivation
LibScopeLite is already isolated in src/lite/ with a clean export boundary and no imports from CLI, MCP, connectors, or servers. It's the ideal embeddable interface for apps and agents that want in-process semantic search. Currently it's only accessible as a sub-path export of the main libscope package, which means consumers still install the full package.
Proposed Solution
Move src/lite/ into packages/lite/ with its own package.json. The existing libscope/lite import path should continue to resolve via a re-export in the root package for backwards compatibility.
Acceptance Criteria
Out of Scope
- Changes to the
LibScopeLite API
- Adding new functionality to the lite interface
Technical Notes
src/lite/ contains: index.ts (public API), core.ts (LibScopeLite class), normalize.ts, chunker-treesitter.ts
- Depends on:
@libscope/core (indexing, search, rag, bulk, ratings), @libscope/parsers (via normalize.ts)
- Tree-sitter packages remain optional peer dependencies:
tree-sitter, tree-sitter-javascript, tree-sitter-typescript, etc.
Summary
Part of #488. Formalize the existing
./liteexport as a standalone published npm package@libscope/lite. The code boundary already exists — this is primarily a packaging and publishing task.Problem / Motivation
LibScopeLiteis already isolated insrc/lite/with a clean export boundary and no imports from CLI, MCP, connectors, or servers. It's the ideal embeddable interface for apps and agents that want in-process semantic search. Currently it's only accessible as a sub-path export of the mainlibscopepackage, which means consumers still install the full package.Proposed Solution
Move
src/lite/intopackages/lite/with its ownpackage.json. The existinglibscope/liteimport path should continue to resolve via a re-export in the root package for backwards compatibility.Acceptance Criteria
@libscope/liteis published as a standalone package and installable independentlyimport { LibScopeLite } from '@libscope/lite'works correctlyimport { LibScopeLite } from 'libscope/lite'import continues to resolve (backwards-compatible re-export)@libscope/litebuilds and tests pass independently, depending only on@libscope/coreTreeSitterChunker) remains available as before, gated on peer depsOut of Scope
LibScopeLiteAPITechnical Notes
src/lite/contains:index.ts(public API),core.ts(LibScopeLite class),normalize.ts,chunker-treesitter.ts@libscope/core(indexing, search, rag, bulk, ratings),@libscope/parsers(via normalize.ts)tree-sitter,tree-sitter-javascript,tree-sitter-typescript, etc.