CodeMind is an AI-powered development assistant that runs entirely on your local machine for intelligent document analysis and commit message generation.
Get Started Learn MoreUsing EmbeddingGemma-300m to create semantic representations of your documentation and code.
Using FAISS for vector similarity search to find relevant content based on meaning, not just keywords.
Automatically generate descriptive commit messages based on your changes using Phi-2 model.
Answers questions using your indexed document context for accurate, relevant responses.
All AI processing happens on your machine with no data sent to cloud services.
Customize models and parameters to suit your specific needs and preferences.
CodeMind brings together document semantic search, retrieval-augmented Q&A, and AI-powered commit message generation to help you work faster and smarter by leveraging your own project context.
Makes searching and querying documentation more powerful by using semantic embeddings rather than keyword search.
Automates the creation of meaningful commit messages by analyzing git diffs and using an LLM to summarize changes.
Enables you to ask questions about your project, using your own docs/context rather than just generic answers.
The app uses EmbeddingGemma-300m via sentence-transformers to embed documents. Embeddings are normalized and stored in a FAISS vector index for efficient similarity search. Metadata (document text and filenames) are stored alongside the index.
When you search, your query is embedded using the same embedding model. FAISS searches for the most similar documents based on cosine similarity. Results are filtered by a similarity threshold and returned with scores.
When you ask a question, the system retrieves relevant docs (via semantic search). The retrieved context is fed to the Phi-2 LLM, which generates an answer using both your question and the context.
Analyzes your staged git changes (via a diff analyzer). Summarizes changes and sends them to the Phi-2 LLM, which generates a commit message aligned to your config (tone, style, length).
Download these models:
Place them in the models/ directory as specified in the configuration.
Yes, you can use any GGUF-compatible model for generation and any SentenceTransformers-compatible model for embeddings. Update the paths in config.yaml accordingly.
For the Phi-2 Q4_0 model, 8GB RAM is recommended. Larger models will require more memory.
No, all processing happens locally on your machine. No code or data is sent to external services.
Re-index whenever your documentation or codebase changes significantly to keep search results relevant.