Features
Code Intelligence
Semantic search, codebase maps, and multi-strategy code search.
Enhance indexes your repositories to enable natural-language code search and AI-powered analysis.
Semantic search
Ask questions about your code in plain English. Enhance uses vector embeddings to find relevant code units even when your query doesn't match exact keywords.
Example queries:
- "How does the authentication flow work?"
- "Where are database migrations handled?"
- "Which files deal with payment processing?"
Multi-strategy search
Enhance combines multiple search strategies for the best results:
| Strategy | How it works |
|---|---|
| Semantic | Vector similarity search across code unit embeddings |
| Codebase map | Routes queries through domain boundaries and entry points |
| Path matching | Finds files by path patterns and naming conventions |
| Dependency graph | Traverses import/call/extends relationships between code units |
Codebase maps
When a repository is indexed, Enhance generates a codebase map that captures:
- Domain boundaries — Logical groupings of related code
- Entry points — Main files, API routes, and public interfaces
- Tech stack — Detected frameworks, libraries, and tools
- Module graph — How packages and modules relate to each other
Codebase maps help AI agents navigate large repositories efficiently.
Supported languages
| Language | Extracts |
|---|---|
| TypeScript / JavaScript | Functions, classes, interfaces, types, exports, imports |
| Python | Functions, classes, methods, imports |
| C# | Classes, interfaces, methods, using statements |
Indexing pipeline
When you connect a repository, Enhance runs a 7-step pipeline:
- Clone — Shallow clone to a temporary directory
- Discover — Walk the file tree, filter by language and include/exclude patterns
- Parse — Extract code units (functions, classes, interfaces, exports)
- Resolve — Build dependency graph (import, call, extends, implements, uses)
- Summarize — Generate AI summaries via OpenAI
- Embed — Create vector embeddings (text-embedding-3-small, 1536 dimensions)
- Finalize — Update statistics and clean up temporary files
Re-indexing is incremental — only changed files are reprocessed.