CLI tool for local semantic code search and chat
Top 64.0% on sourcepulse
This project provides a local-first solution for semantic code search and chat, enabling users to build custom copilots by fine-tuning models with code datasets. It targets developers seeking private, efficient code analysis and interaction tools.
How It Works
The system parses codebases using Tree-sitter for accurate syntax analysis, generating embeddings with Sentence-Transformers, Instructor-Embedding, or OpenAI models. These embeddings are stored in a FAISS vector database for fast semantic search. For chat functionality, it integrates with llama.cpp
or Ollama for local LLM inference, or supports OpenAI/Azure OpenAI/Anthropic APIs. Synchronization with Git ensures the vector store remains up-to-date with code changes.
Quick Start & Requirements
pipx install codeqai
.faiss-cpu
or faiss-gpu
(recommended for CUDA 7.5+) must be installed.sentence-transformers
, instructor
, or llama.cpp
.Highlighted Details
Maintenance & Community
The project is actively maintained with CI/CD pipelines for build and publish. Contributions are welcomed via issues or pull requests. Development can be managed with Conda or Poetry.
Licensing & Compatibility
Licensed under Apache 2.0, permitting commercial use and integration with closed-source projects.
Limitations & Caveats
faiss-cpu
wheels are not available for Python 3.12, requiring an earlier Python version for installation. Results may be improved with well-documented code. llama.cpp
requires GGUF format models to be pre-downloaded.
5 months ago
1 week