- Document working CLI approach: /mcp http://localhost:4000/mcp
- Remove non-working config file approach from README
- Add roadmap item to research config file integration issue
- Clarify that server must be running before connecting
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Created npm run clone:repos script to clone required Babylon.js
repositories before indexing. Updated README to document the
two-step setup process:
1. Clone repositories
2. Index all data
This makes the setup process clearer and handles the missing
repository error users were encountering.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The @xenova/transformers package unconditionally imports both
onnxruntime-node and onnxruntime-web at module load time. This
causes immediate failure on Alpine Linux (musl libc) because
onnxruntime-node requires glibc.
Solution: Created alpine:setup script that replaces onnxruntime-node
with a stub module after npm install. The transformers library will
automatically fall back to onnxruntime-web (WASM backend).
Usage on Alpine:
npm install
npm run alpine:setup
npm run build
npm run index:all
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated integration instructions to reflect HTTP transport architecture:
- Clarified that server must be running before connecting clients
- Changed from command-based to URL-based configuration
- Added Claude Code CLI configuration section (~/.claude/config.json)
- Added Linux config file location
- Updated troubleshooting to emphasize server must be running
- Added health check verification step
Configuration now uses:
- Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
- Claude Code CLI: ~/.claude/config.json
- URL format: http://localhost:4000/mcp🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Features:
- Implemented SourceCodeIndexer class for indexing TypeScript/JavaScript source files
- Chunks large files into 200-line segments with 20-line overlap
- Extracts imports, exports, and metadata
- Generates semantic embeddings using Xenova/all-MiniLM-L6-v2
- Creates GitHub URLs with line numbers for easy navigation
- Enhanced LanceDBSearch with source code search capabilities
- Added searchSourceCode() method for semantic source code search
- Added getSourceFile() method for retrieving specific files or line ranges
- Supports package filtering and configurable table names
- Fixed score calculation to ensure values between 0-100%
- Added two new MCP tools
- search_babylon_source: Search Babylon.js source code with semantic search
- get_babylon_source: Retrieve full source files or specific line ranges
- Both tools include comprehensive error handling and JSON responses
- Created indexing and testing scripts
- scripts/index-source.ts: Production script for indexing all packages
- scripts/test-source-indexing.ts: Test script for core package only
- scripts/test-source-search.ts: Test script for search functionality
- Updated package.json with comprehensive indexing commands
- npm run index:docs - Index documentation only
- npm run index:api - Index API documentation only
- npm run index:source - Index source code only
- npm run index:all - Master script to index everything
- Created comprehensive README.md
- Complete setup and installation instructions
- Claude Desktop integration guide with configuration examples
- Documentation of all 5 MCP tools with parameters and examples
- Project structure, development commands, and troubleshooting guide
- Architecture overview and disk space requirements
Testing:
- All 118 tests passing
- TypeScript compilation successful
- Source code search verified with real queries
- Successfully indexed 1,561 files into 5,650 searchable chunks
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>