Eulix transforms your codebase into a structured, searchable knowledge base. Ask questions about your code — get accurate answers grounded in actual source structure, not hallucinations.
Using ML algorithms and LLMs, Eulix analyzes your code's architecture (symbols, call graphs, control flow), then intelligently retrieves relevant context to answer questions with precision. Everything stays on your machine. No code leaves your infrastructure.
Eulix analyzes your source code and creates a structured knowledge base:
- Symbol Index — Maps all functions, classes, variables, and their locations
- Call Graphs — Tracks which code calls what (dependencies, relationships)
- Control Flow — Captures structure, complexity, and error handling
- Embeddings — Generates semantic vectors for each code unit (local, no cloud)
Result: Your codebase becomes a "book" with chapters (files), sections (classes), and indexed content (functions).
When you ask a question, Eulix:
- Finds relevant code using multi-layer retrieval (symbol lookup → keyword search → semantic search → call graph traversal)
- Builds precise context — Only includes code that matters, with accurate relationships
- Feeds to LLM — Local model explains based on grounded facts, not guesses
Unlike generic "ask ChatGPT about your code", Eulix's context is structured and accurate. Your 7B local model answers like a 14B cloud model.
Three focused binaries working in concert:
| Component | Language | Role |
|---|---|---|
eulix |
Go | Orchestrator — CLI, config, and the retrieval pipeline |
eulix_parser |
Rust | Static Analyzer — Extracts symbols, call graphs, and complexity |
eulix_embed |
Python | Embedder — Runs transformers via Pytorch with GPU acceleration (ROCm/CUDA support) |
Accurate answers grounded in your actual code. Most AI code tools hallucinate because they guess at context. Eulix builds structured knowledge of your codebase first, so answers are precise.
Works offline, stays private. All parsing, embedding, and reasoning happen locally. Zero code exposure. Perfect for proprietary or regulated codebases.
Fast on small models. With accurate context, a local 7B model explains code as well as ChatGPT-4. No API costs, no latency, no rate limits.
Production-ready. Handles millions of lines of code. Built for large teams, legacy systems, and complex architectures.
- Multi-Language Parsing — Python, Go, C, and more. Extract structure, not just text.
- Precise Call Graphs — Understand which code calls what, across the entire project.
- Local Intelligence — All analysis happens on your machine. No cloud dependency, no privacy concerns.
- GPU Acceleration — CUDA/ROCm support for fast embedding generation.
- MCP Integration — Plugs into any editor or tool via Model Context Protocol (coming soon).
- Anti-Hallucination Design — Retrieval-augmented answering grounded in actual code structure.
Stable: Python · Go · C
Coming soon: Rust · TypeScript · C++
- Onboarding new engineers — Explain "what does this module do?" in seconds
- Debugging unfamiliar code — Trace execution flow and dependencies
- Refactoring legacy systems — Understand impact of changes before making them
- Security audits — Find all callers of sensitive functions
- Architecture decisions — Explore how components interact
Prerequisites: Go 1.22+, Rust stable, a Hugging Face account (for model downloads)
- Go 1.22+
- Rust (stable)
- Python 3.10+
uv
git clone https://github.com/nurysso/eulix
cd eulixmake install# Build CLI
go build -o eulix ./cmd/eulix
# Build parser
cd eulix-parser
cargo build --release
cd ..uv venv 3.10 # or you can also go with 3.11
source .venv/bin/activate
uv pip install -r requirements.txtInstall PyTorch for your platform from:
cd fooPro
eulix initeulix analyzeThis triggers the parser and embedding pipeline, generating a .eulix folder which will be used as knowledge base for llm.
eulix chatOpen's an interactive session to query your codebase using the multi-layer retrieval pipeline.
The main entry point for orchestration.
init: Initialize eulix in current directoryanalyze: Analyze codebase and generate knowledge basechat: Start interactive chat interfacecache: Manage cache entriesconfig: Manage eulix configurationhistory: View query history interactivelyversion: Displays version of eulix and eulix_parser, eulix_embedglados: Checks for errors in knowledge base and embeddings sizeaspirine: tries to fix embedings.bin and kb MEANT TO BE USED IN TEST
Fast static analysis tool.
-r, --root: Project root directory-v, --ver: parser version-o, --output: Output file for knowledge base [default: knowledge_base.json]-t, --threads: Number of threads for parallel parsing [default: 4]-v, --verbose: Verbose output-l, --languages: Languages to parse (comma-separated, or "all") [default: all]--no-analyze: Skip analysis phase (faster, only parse files)--euignore: Path to custom .euignore file (defaults to /.euignore)-h, --help: Print help-V, --version: Print version
Vector generation via Pytorch. Supports sentence-transformers/all-MiniLM-L6-v2, BAAI/bge-small-en-v1.5, BAAI/bge-base-en-v1.5, and more. Native CUDA/ROCm support for high-throughput embedding.
eulix_embed [COMMAND] [OPTIONS]
COMMANDS:
embed: Generate embeddings for knowledge base (default)query: Generate embedding for a query string
EMBED OPTIONS:
-k, --kb-path: Path to knowledge base JSON file-o, --output: Output directory for embeddings-m, --model: HuggingFace model name or local path
QUERY OPTIONS:
-
-q, --query: Query text to embed -
-m, --model: HuggingFace model name or local path -
-f, --format: Output format: json (default) or binary -
-h, --help: Show this help message -
-v, --version: Show version
Benchmarks will be added in docs soon.
Contributions are welcome. Please open an issue before submitting a pull request for significant changes.
