{"id":29258062,"url":"https://github.com/zilliztech/codeindexer","last_synced_at":"2025-07-04T05:09:52.786Z","repository":{"id":300160477,"uuid":"997125912","full_name":"zilliztech/CodeIndexer","owner":"zilliztech","description":"An open-source code indexing and search tool implemented with Milvus vector database and popular embedding models. You can build your AI Coding IDE or code search plugin with it.","archived":false,"fork":false,"pushed_at":"2025-06-28T10:21:11.000Z","size":1583,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-28T11:31:36.631Z","etag":null,"topics":["agent","agentic-rag","ai-coding","chrome-extension","code-generation","code-search","cursor","embedding","ide","mcp","merkle-tree","nodejs","openai","rag","semantic-search","typescript","vector-database","vibe-coding","voyage-ai","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zilliztech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-06T02:12:47.000Z","updated_at":"2025-06-28T10:21:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff3da194-7fc1-4ee5-859d-78868d7837ab","html_url":"https://github.com/zilliztech/CodeIndexer","commit_stats":null,"previous_names":["zilliztech/codeindexer"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/zilliztech/CodeIndexer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zilliztech%2FCodeIndexer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zilliztech%2FCodeIndexer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zilliztech%2FCodeIndexer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zilliztech%2FCodeIndexer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zilliztech","download_url":"https://codeload.github.com/zilliztech/CodeIndexer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zilliztech%2FCodeIndexer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263450009,"owners_count":23468154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agentic-rag","ai-coding","chrome-extension","code-generation","code-search","cursor","embedding","ide","mcp","merkle-tree","nodejs","openai","rag","semantic-search","typescript","vector-database","vibe-coding","voyage-ai","vscode-extension"],"created_at":"2025-07-04T05:09:50.318Z","updated_at":"2025-07-04T05:09:52.773Z","avatar_url":"https://github.com/zilliztech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔍 CodeIndexer\n\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Node.js](https://img.shields.io/badge/Node.js-20%2B-green.svg)](https://nodejs.org/)\n[![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/zilliz.semanticcodesearch?label=VS%20Code%20Extension\u0026logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=zilliz.semanticcodesearch)\n[![npm - core](https://img.shields.io/npm/v/@code-indexer/core?label=%40code-indexer%2Fcore\u0026logo=npm)](https://www.npmjs.com/package/@code-indexer/core)\n[![npm - mcp](https://img.shields.io/npm/v/@code-indexer/mcp?label=%40code-indexer%2Fmcp\u0026logo=npm)](https://www.npmjs.com/package/@code-indexer/mcp)\n[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/zilliz_universe.svg?style=social\u0026label=Follow%20%40Zilliz)](https://twitter.com/zilliz_universe)\n\u003ca href=\"https://discord.gg/mKc3R95yE5\"\u003e\u003cimg height=\"20\" src=\"https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"discord\"/\u003e\u003c/a\u003e\n\nAn open-source code indexing and semantic search tool implemented by Milvus vector database and popular embedding models. You can build your AI Coding IDE or code search plugin with it.\n\n## 🌟 Why CodeIndexer?\n\nIn the **AI-first development era**, traditional keyword-based search is no longer sufficient for modern software development:\n\n### 🚀 **The AI Coding Revolution**\n- **AI-Powered IDEs** like Cursor and GitHub Copilot are transforming development workflows\n- **Growing demand** for intelligent code assistance and semantic understanding\n- **Modern codebases** contain millions of lines across hundreds of files, making manual navigation inefficient\n\n### ❌ **Current Limitations**\n- Regex and keyword-based search miss **contextual relationships**\n- Developers waste time navigating large codebases manually  \n- Knowledge transfer between team members is inefficient\n- Traditional search tools can't bridge the gap between **human intent** and **code implementation**\n\n### ✅ **Our Solution**\nCodeIndexer bridges the gap between human understanding and code discovery through:\n- **Semantic search** with natural language queries like *\"find authentication functions\"*\n- **AI-powered understanding** of code meaning and relationships\n- **Universal integration** across multiple platforms and development environments\n\n\u003e 💡 **Find code by describing functionality, not just keywords** - Discover existing solutions before writing duplicate code.\n\n## ✨ Features\n\n- 🔍 **Semantic Code Search**: Ask questions like *\"find functions that handle user authentication\"* instead of guessing keywords\n- 📁 **Intelligent Indexing**: Automatically index entire codebases and build semantic vector databases with contextual understanding\n- 🎯 **Context-Aware Discovery**: Find related code snippets based on meaning, not just text matching\n- ⚡ **Incremental File Synchronization**: Efficient change detection using Merkle trees to only re-index modified files\n- 🧩 **Smart Chunking**: AST-based code splitting that preserves context and structure\n- 🚀 **Developer Productivity**: Significantly reduce time spent searching for relevant code and discovering existing solutions\n- 🔧 **Embedding Providers**: Support for OpenAI, VoyageAI, Ollama as embedding providers\n- 💾 **Vector Storage**: Integrated with Milvus/Zilliz Cloud for efficient storage and retrieval\n- 🛠️ **VSCode Integration**: Built-in VSCode extension for seamless development workflow\n- 🤖 **MCP Support**: Model Context Protocol integration for AI agent interactions\n- 📊 **Progress Tracking**: Real-time progress feedback during indexing operations\n- 🎨 **Customizable**: Configurable file extensions, ignore patterns, and embedding models\n\n## 🏗️ Architecture\n![](assets/Architecture.png)\n\nCodeIndexer is a monorepo containing three main packages:\n\n### Core Components\n\n- **`@code-indexer/core`**: Core indexing engine with embedding and vector database integration\n- **VSCode Extension**: Semantic Code Search extension for Visual Studio Code\n- **`@code-indexer/mcp`**: Model Context Protocol server for AI agent integration\n\n### Supported Technologies\n- **Embedding Providers**: [OpenAI](https://openai.com), [VoyageAI](https://voyageai.com), [Ollama](https://ollama.ai)\n- **Vector Databases**: [Milvus](https://milvus.io) or [Zilliz Cloud](https://zilliz.com/cloud)(fully managed vector database as a service)\n- **Code Splitters**: AST-based splitter (with automatic fallback), LangChain character-based splitter\n- **Languages**: TypeScript, JavaScript, Python, Java, C++, C#, Go, Rust, PHP, Ruby, Swift, Kotlin, Scala, Markdown\n- **Development Tools**: VSCode, Model Context Protocol\n\n## 🚀 Quick Start (for the core package)\n\n### Prerequisites\n\n- Node.js \u003e= 20.0.0\n- pnpm \u003e= 10.0.0\n- Milvus database\n- OpenAI or VoyageAI API key\n\n### Installation\n\n```bash\n# Using npm\nnpm install @code-indexer/core\n\n# Using pnpm\npnpm add @code-indexer/core\n\n# Using yarn\nyarn add @code-indexer/core\n```\n\n\n### Prepare Environment Variables\n#### OpenAI API key\nSee [OpenAI Documentation](https://platform.openai.com/docs/api-reference) for more details to get your API key.\n```bash\nOPENAI_API_KEY=your-openai-api-key\n```\n\n#### Milvus configuration\n**Optional 1**: Self-hosted Milvus\nSee [Milvus Documentation](https://milvus.io/docs/install_standalone-docker-compose.md) for more details to install Milvus.\n- `MILVUS_ADDRESS` is the address of your Milvus instance\n- (Optional)`MILVUS_TOKEN` is the token of your Milvus instance, which can be left empty if you don't use token-based authentication.\n```bash\nMILVUS_ADDRESS=localhost:19530\nMILVUS_TOKEN=your-milvus-token\n```\n**Optional 2**: Zilliz Cloud(fully managed vector database as a service, you can [use it for free](https://zilliz.com/cloud))\n\n- `MILVUS_ADDRESS` is the Public Endpoint of your Zilliz Cloud instance\n- `MILVUS_TOKEN` is the token of your Zilliz Cloud instance.\n```bash\nMILVUS_ADDRESS=https://xxx-xxxxxxxxxxxx.serverless.gcp-us-west1.cloud.zilliz.com\nMILVUS_TOKEN=xxxxxxx\n```\n\n\n\n### Basic Usage\n[@code-indexer/core](packages/core/README.md)\nCore indexing engine that provides the fundamental functionality for code indexing and semantic search. Handles embedding generation, vector storage, and search operations.\n\n```typescript\nimport { CodeIndexer, MilvusVectorDatabase, OpenAIEmbedding } from '@code-indexer/core';\n\n// Initialize embedding provider\nconst embedding = new OpenAIEmbedding({\n    apiKey: process.env.OPENAI_API_KEY || 'your-openai-api-key',\n    model: 'text-embedding-3-small'\n});\n\n// Initialize vector database\nconst vectorDatabase = new MilvusVectorDatabase({\n    address: process.env.MILVUS_ADDRESS || 'localhost:19530',\n    token: process.env.MILVUS_TOKEN || ''\n});\n\n// Create indexer instance\nconst indexer = new CodeIndexer({\n    embedding,\n    vectorDatabase\n});\n\n// Index your codebase with progress tracking\nconst stats = await indexer.indexCodebase('./your-project', (progress) =\u003e {\n    console.log(`${progress.phase} - ${progress.percentage}%`);\n});\nconsole.log(`Indexed ${stats.indexedFiles} files, ${stats.totalChunks} chunks`);\n\n// Perform semantic search\nconst results = await indexer.semanticSearch('./your-project', 'vector database operations', 5);\nresults.forEach(result =\u003e {\n    console.log(`File: ${result.relativePath}:${result.startLine}-${result.endLine}`);\n    console.log(`Score: ${(result.score * 100).toFixed(2)}%`);\n    console.log(`Content: ${result.content.substring(0, 100)}...`);\n});\n```\n\n## 📦 Built on Core\n\nAll the following packages are built on top of the `@code-indexer/core` engine, extending its capabilities to different platforms and use cases. They leverage the core's semantic search and indexing functionality to provide specialized interfaces and integrations.\n\n\u003e 📖 Each package has its own detailed documentation and usage examples. Click the links below to learn more.\n\n\n### [@code-indexer/mcp](packages/mcp/README.md) \nModel Context Protocol (MCP) server that enables AI assistants and agents to interact with CodeIndexer through a standardized protocol. Exposes indexing and search capabilities via MCP tools.\n![img](https://lh7-rt.googleusercontent.com/slidesz/AGV_vUfOR-7goqarF653roYT5u_HY_J3VkMMeUPUc2ZVj11ue82_tIzE_lIOuJ27HWcVYjTEQj2S3v9tZtS0-AXpyOP6F9VV_mymssD-57wT_ZVjF2MrS7cm5Ynj0goSEPpy81N4xSqi=s2048?key=DDtZSt7cnK5OdJgxQI2Ysg)\n\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCursor\u003c/strong\u003e\u003c/summary\u003e\n\n\u003ca href=\"https://cursor.com/install-mcp?name=code-indexer\u0026config=JTdCJTIyY29tbWFuZCUyMiUzQSUyMm5weCUyMC15JTIwJTQwY29kZS1pbmRleGVyJTJGbWNwJTQwbGF0ZXN0JTIyJTJDJTIyZW52JTIyJTNBJTdCJTIyT1BFTkFJX0FQSV9LRVklMjIlM0ElMjJ5b3VyLW9wZW5haS1hcGkta2V5JTIyJTJDJTIyTUlMVlVTX0FERFJFU1MlMjIlM0ElMjJsb2NhbGhvc3QlM0ExOTUzMCUyMiU3RCU3RA%3D%3D\"\u003e\u003cimg src=\"https://cursor.com/deeplink/mcp-install-dark.svg\" alt=\"Add code-indexer MCP server to Cursor\" height=\"32\" /\u003e\u003c/a\u003e\n\nGo to: `Settings` -\u003e `Cursor Settings` -\u003e `MCP` -\u003e `Add new global MCP server`\n\nPasting the following configuration into your Cursor `~/.cursor/mcp.json` file is the recommended approach. You may also install in a specific project by creating `.cursor/mcp.json` in your project folder. See [Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol) for more info.\n\n```json\n{\n  \"mcpServers\": {\n    \"code-indexer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@code-indexer/mcp@latest\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key\",\n        \"MILVUS_ADDRESS\": \"localhost:19530\"\n      }\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Desktop\u003c/strong\u003e\u003c/summary\u003e\n\nAdd to your Claude Desktop configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"code-indexer\": {\n      \"command\": \"npx\",\n      \"args\": [\"@code-indexer/mcp@latest\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key\",\n        \"MILVUS_ADDRESS\": \"localhost:19530\"\n      }\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Code\u003c/strong\u003e\u003c/summary\u003e\n\nUse the command line interface to add the CodeIndexer MCP server:\n\n```bash\n# Add the CodeIndexer MCP server\nclaude mcp add code-indexer -e OPENAI_API_KEY=your-openai-api-key -e MILVUS_ADDRESS=localhost:19530 -- npx @code-indexer/mcp@latest\n\n```\n\nSee the [Claude Code MCP documentation](https://docs.anthropic.com/en/docs/claude-code/mcp) for more details about MCP server management.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWindsurf\u003c/strong\u003e\u003c/summary\u003e\n\nWindsurf supports MCP configuration through a JSON file. Add the following configuration to your Windsurf MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"code-indexer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@code-indexer/mcp@latest\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key\",\n        \"MILVUS_ADDRESS\": \"localhost:19530\"\n      }\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eVS Code\u003c/strong\u003e\u003c/summary\u003e\n\nThe CodeIndexer MCP server can be used with VS Code through MCP-compatible extensions. Add the following configuration to your VS Code MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"code-indexer\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@code-indexer/mcp@latest\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key\",\n        \"MILVUS_ADDRESS\": \"localhost:19530\"\n      }\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCherry Studio\u003c/strong\u003e\u003c/summary\u003e\n\nCherry Studio allows for visual MCP server configuration through its settings interface. While it doesn't directly support manual JSON configuration, you can add a new server via the GUI:\n\n1. Navigate to **Settings → MCP Servers → Add Server**.\n2. Fill in the server details:\n   - **Name**: `code-indexer`\n   - **Type**: `STDIO`\n   - **Command**: `npx`\n   - **Arguments**: `[\"@code-indexer/mcp@latest\"]`\n   - **Environment Variables**:\n     - `OPENAI_API_KEY`: `your-openai-api-key`\n     - `MILVUS_ADDRESS`: `localhost:19530`\n3. Save the configuration to activate the server.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCline\u003c/strong\u003e\u003c/summary\u003e\n\nCline uses a JSON configuration file to manage MCP servers. To integrate the provided MCP server configuration:\n\n1. Open Cline and click on the **MCP Servers** icon in the top navigation bar.\n\n2. Select the **Installed** tab, then click **Advanced MCP Settings**.\n\n3. In the `cline_mcp_settings.json` file, add the following configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"code-indexer\": {\n      \"command\": \"npx\",\n      \"args\": [\"@code-indexer/mcp@latest\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key\",\n        \"MILVUS_ADDRESS\": \"localhost:19530\"\n      }\n    }\n  }\n}\n```\n\n4. Save the file.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAugment\u003c/strong\u003e\u003c/summary\u003e\n\nTo configure Code Indexer MCP in Augment Code, you can use either the graphical interface or manual configuration.\n\n#### **A. Using the Augment Code UI**\n\n1. Click the hamburger menu.\n\n2. Select **Settings**.\n\n3. Navigate to the **Tools** section.\n\n4. Click the **+ Add MCP** button.\n\n5. Enter the following command:\n\n   ```\n   npx @code-indexer/mcp@latest\n   ```\n\n6. Name the MCP: **Code Indexer**.\n\n7. Click the **Add** button.\n\n------\n\n#### **B. Manual Configuration**\n\n1. Press Cmd/Ctrl Shift P or go to the hamburger menu in the Augment panel\n2. Select Edit Settings\n3. Under Advanced, click Edit in settings.json\n4. Add the server configuration to the `mcpServers` array in the `augment.advanced` object\n\n```json\n\"augment.advanced\": { \n  \"mcpServers\": [ \n    { \n      \"name\": \"code-indexer\", \n      \"command\": \"npx\", \n      \"args\": [\"-y\", \"@code-indexer/mcp@latest\"] \n    } \n  ] \n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGemini CLI\u003c/strong\u003e\u003c/summary\u003e\n\nGemini CLI requires manual configuration through a JSON file:\n\n1. Create or edit the `~/.gemini/settings.json` file.\n\n2. Add the following configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"code-indexer\": {\n      \"command\": \"npx\",\n      \"args\": [\"@code-indexer/mcp@latest\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key\",\n        \"MILVUS_ADDRESS\": \"localhost:19530\"\n      }\n    }\n  }\n}\n```\n\n3. Save the file and restart Gemini CLI to apply the changes.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eRoo Code\u003c/strong\u003e\u003c/summary\u003e\n\nRoo Code utilizes a JSON configuration file for MCP servers:\n\n1. Open Roo Code and navigate to **Settings → MCP Servers → Edit Global Config**.\n\n2. In the `mcp_settings.json` file, add the following configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"code-indexer\": {\n      \"command\": \"npx\",\n      \"args\": [\"@code-indexer/mcp@latest\"],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"your-openai-api-key\",\n        \"MILVUS_ADDRESS\": \"localhost:19530\"\n      }\n    }\n  }\n}\n```\n\n3. Save the file to activate the server.\n\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eOther MCP Clients\u003c/strong\u003e\u003c/summary\u003e\n\nThe server uses stdio transport and follows the standard MCP protocol. It can be integrated with any MCP-compatible client by running:\n\n```bash\nnpx @code-indexer/mcp@latest\n```\n\n\u003c/details\u003e\n\n### [VSCode Extension](packages/vscode-extension/README.md)\nVisual Studio Code extension that integrates CodeIndexer directly into your IDE. Provides an intuitive interface for semantic code search and navigation.\n\n1. **Direct Link**: [Install from VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=zilliz.semanticcodesearch)\n\n2. **Manual Search**:\n    - Open Extensions view in VSCode (Ctrl+Shift+X or Cmd+Shift+X on Mac)\n    - Search for \"Semantic Code Search\"\n    - Click Install\n\n\n![img](https://lh7-rt.googleusercontent.com/slidesz/AGV_vUeRa3Luaxqwi1yk3AtAO2IJNQr-nF8ZwRjPz6YSrqw8LgFFMh_ry3IHdTuINOIMMbSAQo-eq3ffgpfS0hFInfa-k9Uwgw1YlRyMqc1ean2KFyyyqCv3lenFZIpCB3dsBuGMp40MUQ=s2048?key=DDtZSt7cnK5OdJgxQI2Ysg)\n\n\n\n## 🛠️ Development\n\n### Setup Development Environment\n\n```bash\n# Clone repository\ngit clone https://github.com/zilliztech/CodeIndexer.git\ncd CodeIndexer\n\n# Install dependencies\npnpm install\n\n# Build all packages\npnpm build\n\n# Start development mode\npnpm dev\n```\n\n### Building\n\n```bash\n# Build all packages\npnpm build\n\n# Build specific package\npnpm build:core\npnpm build:vscode\npnpm build:mcp\n```\n\n### Running Examples\n\n```bash\n# Development with file watching\ncd examples/basic-usage\npnpm dev\n```\n\n\n### Supported File Extensions\n\nBy default, CodeIndexer supports:\n- Programming languages: `.ts`, `.tsx`, `.js`, `.jsx`, `.py`, `.java`, `.cpp`, `.c`, `.h`, `.hpp`, `.cs`, `.go`, `.rs`, `.php`, `.rb`, `.swift`, `.kt`, `.scala`, `.m`, `.mm`\n- Documentation: `.md`, `.markdown`\n\n### Ignore Patterns\n\nCommon directories and files are automatically ignored:\n- `node_modules/**`, `dist/**`, `build/**`\n- `.git/**`, `.vscode/**`, `.idea/**`\n- `*.log`, `*.min.js`, `*.map`\n\n## 📖 Examples\n\nCheck the `/examples` directory for complete usage examples:\n\n- **Basic Usage**: Simple indexing and search example\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details on how to get started.\n\n**Package-specific contributing guides:**\n- [Core Package Contributing](packages/core/CONTRIBUTING.md)\n- [MCP Server Contributing](packages/mcp/CONTRIBUTING.md)  \n- [VSCode Extension Contributing](packages/vscode-extension/CONTRIBUTING.md)\n\n\n## 🗺️ Roadmap\n\n- [x] AST-based code analysis for improved understanding\n- [x] Support for additional embedding providers\n- [ ] Agent-based interactive search mode\n- [ ] Enhanced code chunking strategies\n- [ ] Search result ranking optimization\n- [ ] Robust Chrome Extension\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🔗 Links\n\n- [GitHub Repository](https://github.com/zilliztech/CodeIndexer)\n- [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=zilliz.semanticcodesearch)\n- [Milvus Documentation](https://milvus.io/docs)\n- [Zilliz Cloud](https://zilliz.com/cloud)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzilliztech%2Fcodeindexer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzilliztech%2Fcodeindexer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzilliztech%2Fcodeindexer/lists"}