Commit 3c04783
authored
feat(indexer): implement repository indexer orchestration layer (#15)
Implements the integration layer that orchestrates Scanner, Embedder, and Vector Store
into a cohesive indexing pipeline with state management and incremental updates.
Implementation:
- RepositoryIndexer class orchestrating full pipeline
- State management for incremental updates
- Progress tracking with callbacks
- Batch processing for efficient embedding
- File change detection via content hashing
- Comprehensive error handling
Features:
- Full repository indexing with progress tracking
- Incremental updates (only changed files)
- Semantic search over indexed content
- Statistics and monitoring
- Configurable batch sizes and exclusion patterns
- Language filtering
- State persistence for incremental updates
Testing:
- 16 comprehensive tests, all passing
- 75.2% statement coverage (100% function coverage)
- Tested: full indexing, incremental updates, search, state management
- Tested: progress tracking, error handling, configuration options
Documentation:
- Comprehensive README with usage examples
- Real-world repository indexing example
- API reference and best practices
- Performance characteristics and benchmarks
- State management documentation
- Troubleshooting guide
Architecture:
- Clean orchestration layer
- Pluggable components
- Type-safe throughout
- Efficient batch processing
Performance:
- ~15-25 docs/second indexing speed
- Batch processing with configurable size
- Incremental updates for fast re-indexing
- State tracking for change detection
Coverage:
- 75.2% statements, 44% branches, 100% functions
- All core functionality tested
- Integration tests with scanner + embedder + storage
All Tests: 80/80 passing ✅
Issue: #121 parent 9d3608c commit 3c04783
File tree
7 files changed
+2712
-3
lines changed- docs
- packages/core/src
- indexer
7 files changed
+2712
-3
lines changed
0 commit comments