Monorepo Organization
Relevant source files
The following files were used as context for generating this wiki page:
Claude Context is organized as a monorepo containing multiple packages that provide semantic code search capabilities across various platforms. The architecture centralizes core indexing logic into a single library while offering specialized interfaces for developers via VSCode, Chrome, and the Model Context Protocol (MCP).
Sources: README.md:468-473, CONTRIBUTING.md:40-47
Core Workspace Structure
The project utilizes pnpm for workspace management, separating the codebase into distinct packages under the packages/ directory and usage demonstrations under examples/.
Package Breakdown
| Package Path | Package Name | Purpose |
|---|---|---|
packages/core | @zilliz/claude-context-core | The central indexing engine, handling embeddings, vector DB integration, and AST parsing. |
packages/mcp | @zilliz/claude-context-mcp | An implementation of the Model Context Protocol server for AI agent integration. |
packages/vscode-extension | semanticcodesearch | The Visual Studio Code extension providing an IDE-native search interface. |
packages/chrome-extension | @zilliz/claude-context-chrome-extension | Browser extension for web-based code indexing (e.g., GitHub integration). |
examples/basic-usage | claude-context-basic-example | Reference implementation for developers using the core library. |
Sources: package.json:6-23, CONTRIBUTING.md:40-47, README.md:468-473
Dependency Relationships
The monorepo structure allows specialized platform packages to depend on the local core package using workspace protocols.
The diagram shows that all platform-specific implementations and examples depend on the shared core indexing engine.
Sources: packages/mcp/package.json:20, packages/vscode-extension/package.json:151, packages/chrome-extension/package.json:18
Build and Development Workflow
The root package.json defines centralized scripts to manage the entire monorepo or specific subsets of packages.
Scripts Summary
| Command | Action | Scope |
|---|---|---|
pnpm build | Compiles all packages and examples. | Entire Workspace |
pnpm build:core | Compiles only the core indexing engine. | @zilliz/claude-context-core |
pnpm build:vscode | Compiles the VSCode extension. | semanticcodesearch |
pnpm dev | Starts watch mode for all packages. | Entire Workspace |
pnpm clean | Removes build artifacts (dist folders) across the monorepo. | Entire Workspace |
Sources: package.json:8-23
Build Pipeline Logic
The sequence illustrates how a platform-specific build triggers the necessary build of its dependencies within the workspace.
Sources: package.json:19
Technical Specifications
Engine Requirements
The monorepo enforces specific runtime environments to ensure compatibility across packages:
- Node.js: Requires versions
>= 20.0.0(specifically recommended< 24.0.0in some contexts). - Package Manager:
pnpm >= 10.0.0.
Sources: package.json:37-40, CONTRIBUTING.md:7-11
Shared Configuration and Linting
Linting and TypeScript configurations are applied per package but managed through root-level devDependencies such as eslint and typescript.
{
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^8.31.1",
"eslint": "^9.25.1",
"typescript": "^5.8.3",
"rimraf": "^6.0.1"
}
}
Sources: package.json:25-36
Summary
The Claude Context monorepo organization facilitates a modular architecture where the @zilliz/claude-context-core engine remains the single source of truth for indexing and search logic. This structure enables rapid deployment across multiple platforms—VSCode, Chrome, and MCP—while maintaining consistent build and contribution workflows across the entire project.
Sources: README.md:468-473, CONTRIBUTING.md:40-47