# Octocode - Intelligent Code Indexer and Graph Builder
[](https://opensource.org/licenses/Apache-2.0)
[](https://www.rust-lang.org)
## π Overview
Octocode is a powerful code indexer and semantic search engine that builds intelligent knowledge graphs of your codebase. It combines advanced AI capabilities with local-first design to provide deep code understanding, relationship mapping, and intelligent assistance for developers.
## β¨ Key Features
- **π Semantic Code Search** - Natural language queries with multi-query support
- **πΈοΈ Knowledge Graph (GraphRAG)** - Automatic relationship discovery between files
- **π Multi-Language Support** - Rust, Python, JavaScript, TypeScript, Go, PHP, C++, Ruby, and more
- **π§ AI-Powered Features** - Smart commits, code review, memory system with semantic search
- **π MCP Server Integration** - Built-in Model Context Protocol server with LSP support
- **β‘ Performance & Flexibility** - Intelligent LanceDB optimization, local/cloud embedding models
## π¦ Quick Installation
```bash
# Universal install script (Linux, macOS, Windows)
**Alternative methods:**
- Download from [GitHub Releases](https://github.com/Muvon/octocode/releases)
- Install with Cargo: `cargo install --git https://github.com/Muvon/octocode`
For detailed installation instructions, see [Installation Guide](INSTALL.md).
## π API Keys Setup
**β οΈ Required for functionality:**
```bash
# Required: Voyage AI (embeddings) - 200M free tokens/month
export VOYAGE_API_KEY="your-voyage-api-key"
# Optional: OpenRouter (LLM features)
export OPENROUTER_API_KEY="your-openrouter-api-key"
```
**Get your free API keys:**
- **Voyage AI**: [Get free API key](https://www.voyageai.com/) (200M tokens/month free)
- **OpenRouter**: [Get API key](https://openrouter.ai/) (optional, for AI features)
## π Quick Start
```bash
# 1. Index your codebase
octocode index
# 2. Search with natural language
octocode search "HTTP request handling"
# 3. Multi-query search for comprehensive results
octocode search "authentication" "middleware"
# 4. AI-powered git workflow
octocode commit --all
# 5. Start MCP server for AI assistants
octocode mcp --path /path/to/your/project
```
## π Complete Documentation
π **Quick Navigation**
- **[Installation Guide](INSTALL.md)** - Detailed installation methods and building from source
- **[Getting Started](doc/GETTING_STARTED.md)** - First steps and basic workflow
- **[API Keys Setup](doc/API_KEYS.md)** - Complete API configuration guide
- **[Configuration Guide](doc/CONFIGURATION.md)** - Configuration system, templates, and customization
- **[Commands Reference](doc/COMMANDS.md)** - Complete command reference with examples
- **[Advanced Usage](doc/ADVANCED_USAGE.md)** - Advanced features and workflows
- **[MCP Integration](doc/MCP_INTEGRATION.md)** - Model Context Protocol server setup
- **[LSP Integration](doc/LSP_INTEGRATION.md)** - Language Server Protocol integration
- **[Memory System](doc/MEMORY_SYSTEM.md)** - Memory management and semantic search
- **[Release Management](doc/RELEASE_MANAGEMENT.md)** - AI-powered release automation
- **[Architecture](doc/ARCHITECTURE.md)** - Core components and system design
- **[Performance](doc/PERFORMANCE.md)** - Performance metrics and optimization
- **[Contributing](doc/CONTRIBUTING.md)** - Development setup and contribution guidelines
## π Supported Languages
| **Rust** | `.rs` | Full AST parsing, pub/use detection, module structure |
| **Python** | `.py` | Import/class/function extraction, docstring parsing |
| **JavaScript** | `.js`, `.jsx` | ES6 imports/exports, function declarations |
| **TypeScript** | `.ts`, `.tsx` | Type definitions, interface extraction |
| **Go** | `.go` | Package/import analysis, struct/interface parsing |
| **PHP** | `.php` | Class/function extraction, namespace support |
| **C++** | `.cpp`, `.hpp`, `.h` | Include analysis, class/function extraction |
| **Ruby** | `.rb` | Class/module extraction, method definitions |
| **JSON** | `.json` | Structure analysis, key extraction |
| **Bash** | `.sh`, `.bash` | Function and variable extraction |
| **Markdown** | `.md` | Document section indexing, header extraction |
## π Privacy & Security
- **π Local-first option**: FastEmbed and SentenceTransformer run entirely offline (macOS only)
- **π Secure storage**: API keys stored locally, environment variables supported
- **π Respects .gitignore**: Never indexes sensitive files or directories
- **π‘οΈ MCP security**: Server runs locally with no external network access for search
- **π Cloud embeddings**: Voyage AI and other providers process only file metadata, not source code
## π€ Support & Community
- **π Issues**: [GitHub Issues](https://github.com/Muvon/octocode/issues)
- **π§ Email**: [opensource@muvon.io](mailto:opensource@muvon.io)
- **π’ Company**: Muvon Un Limited (Hong Kong)
## βοΈ License
This project is licensed under the **Apache License 2.0** - see the [LICENSE](LICENSE) file for details.
---
**Built with β€οΈ by the Muvon team in Hong Kong**