Back to the catalog

gemini-code-intel

Semantic code search and indexing for Gemini CLI

Open source Open in the app JSON README (API)

About

Semantic code search and indexing for Gemini CLI

Details

Kind
Plugins
Topic
AI, RAG & memory
Publisher
akh64bit
Origin
gemini
Category
ferramentas
Version
0.1.3
Open pull requests
2
Last push
2026-04-01T16:56:21Z
Repository state
ativo
Language
TypeScript
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
akh64bit/semantic-code-intelligence

README

# Gemini Code Intel

Gemini Code Intel is a Model Context Protocol (MCP) plugin that enables semantic code search for AI assistants. It provides deep context from an entire codebase by indexing it into a local vector database, allowing efficient and cost-effective retrieval of relevant code snippets.

## Modules

### Core (@gemini/gemini-code-intel-core)
The core indexing engine responsible for semantic search and codebase analysis.

- **Key Features**:
  - Multi-language support (TypeScript, JavaScript, Python, Java, C++, and more).
  - Hybrid search combining BM25 and vector search for improved accuracy.
  - AST-based intelligent code chunking to preserve syntax and context.
  - Incremental synchronization using Merkle trees for efficient re-indexing.
- **Configuration**:
  - ContextConfig: Configures embedding provider, vector database instance, splitting strategy, and file patterns.
- **API Reference**:
  - indexCodebase: Indexes an entire directory.
  - reindexByChange: Incrementally updates the index based on file changes.
  - semanticSearch: Performs semantic queries against the indexed code.
  - clearIndex: Removes existing index data.

### MCP (@gemini/gemini-code-intel-mcp)
Integrates the core engine with the Model Context Protocol for use with AI agents and clients.

- **Prerequisites**: Node.js (20+), Gemini API key.
- **Environment Variables**:
  - GEMINI_API_KEY: Required API key for embeddings.
  - EMBEDDING_MODEL: Optional model specification (default: gemini-embedding-001).
  - DB_URI: Optional local storage path (default: ~/.gemini-code-intel/db).
  - EMBEDDING_BATCH_SIZE: Optional batch size for performance tuning.
- **Available Tools**:
  - index_codebase: Index a codebase directory.
  - search_code: Search using natural language queries.
  - clear_index: Reset the search index.
  - get_indexing_status: Retrieve current indexing progress.

## Installation

### Recommended: Install as Gemini Extension
This is the recommended way to use Gemini Code Intel as it automatically configures the MCP server and provides an integrated **Agent Skill**.

#### Direct Installation (Pre-built)
You can install the extension directly from the repository. The build artifacts (`dist` folders) are included, so you don't need to manually build the TypeScript code. However, **you must still install dependencies** because this extension relies on native system bindings (like `tree-sitter` and `vectordb`).

1. Install the extension using the CLI:
   ```bash
   gemini extensions install https://github.com/akh64bit/semantic-code-intelligence
   ```
2. Navigate to the installed extension directory (usually `~/.gemini/extensions/semantic-code-intelligence` or similar).
3. Install the dependencies to fetch the required native binaries for your OS:
   ```bash
   pnpm install
   ```

#### Manual Installation (From Source)
If you are working from the source code, follow these steps:
1. **Build the Project**:
   ```bash
   pnpm install
   pnpm build
   ```
2. **Link the Extension**:
   ```bash
   gemini extensions link .
   ```

### Troubleshooting "Disconnected" Status

If the extension shows as **Disconnected** 🔴 after installation, it's usually due to missing configuration or native dependencies.

#### 1. Configure your API Key
The MCP server requires a Gemini API key. You can set it using the extension configuration:
```bash
# This will prompt you to enter the key
gemini extensions config gemini-code-intel GEMINI_API_KEY
```

#### 2. Install Native Dependencies
This extension uses native binaries for high-performance code parsing and vector search. If they weren't installed correctly:
1. Navigate to the extension directory: `~/.gemini/extensions/gemini-code-intel`
2. Run `pnpm install`
3. If using `pnpm`, you may need to allow the build scripts for native modules:
   ```bash
   pnpm approve-builds
   pnpm install
   ```

#### 3. Check logs
If it's still disconnected, check the extension logs for detailed error messages.

## Manual MCP Setup (Optional)
If you prefer to configure the MCP server manually in your `settings.json`:
1. Build the project as shown above.
2. Add the following to your `mcpServers` section:
```json
"gemini-code-intel": {
  "command": "node",
  "args": ["/path/to/gemini-code-intel/packages/mcp/dist/index.js"],
  "env": {
    "GEMINI_API_KEY": "your-api-key",
    "DB_URI": "~/.gemini-code-intel/db"
  }
}
```

## Technical Overview

- **Storage**: Uses high-performance, serverless embedded vector storage.
- **Embeddings**: Optimized for Google's Gemini embedding models.
- **Languages**: Supports TypeScript, JavaScript, Python, Java, C++, C#, Go, Rust, PHP, Ruby, Swift, Kotlin, Scala, and Markdown.

More