Enhance
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.

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?"

Enhance combines multiple search strategies for the best results:

StrategyHow it works
SemanticVector similarity search across code unit embeddings
Codebase mapRoutes queries through domain boundaries and entry points
Path matchingFinds files by path patterns and naming conventions
Dependency graphTraverses 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

LanguageExtracts
TypeScript / JavaScriptFunctions, classes, interfaces, types, exports, imports
PythonFunctions, classes, methods, imports
C#Classes, interfaces, methods, using statements

Indexing pipeline

When you connect a repository, Enhance runs a 7-step pipeline:

  1. Clone — Shallow clone to a temporary directory
  2. Discover — Walk the file tree, filter by language and include/exclude patterns
  3. Parse — Extract code units (functions, classes, interfaces, exports)
  4. Resolve — Build dependency graph (import, call, extends, implements, uses)
  5. Summarize — Generate AI summaries via OpenAI
  6. Embed — Create vector embeddings (text-embedding-3-small, 1536 dimensions)
  7. Finalize — Update statistics and clean up temporary files

Re-indexing is incremental — only changed files are reprocessed.