Sistema de Retrieval-Augmented Generation para codebases. Ingere repositórios de código, cria embeddings vetoriais, e permite conversar com um LLM usando o código como contexto.
# Pré-requisitos: Bun, Docker
bun install
cp api/.env.example api/.env # configurar API keysNo macOS, Ollama roda nativamente com acesso direto ao Metal (Apple Silicon GPU), resultando em performance significativamente superior para geração de embeddings comparado ao container Docker.
# Instalar e iniciar Ollama
brew install ollama
ollama serve &
ollama pull unclemusclez/jina-embeddings-v2-base-code
# Subir apenas Qdrant e Neo4j
docker compose up -d
# Dev
cd api && bun run dev # API em :3000
cd web && bun run dev # Frontend em :5173A API conecta no Ollama nativo via host.docker.internal:11434 automaticamente.
Em Linux/Windows, Ollama roda dentro do Docker. Use o override docker-compose.ollama.yml que adiciona os containers ollama e ollama-setup (pull automático do modelo).
docker compose -f docker-compose.yml -f docker-compose.ollama.yml up -d
cd api && bun run dev # API em :3000
cd web && bun run dev # Frontend em :5173# macOS (Ollama nativo deve estar rodando)
docker compose up -d --build
# Linux/Windows (Ollama no container)
docker compose -f docker-compose.yml -f docker-compose.ollama.yml up -d --build
# App em http://localhost:8080| Arquivo | Conteúdo |
|---|---|
docker-compose.yml |
Serviços base: API, Web, Qdrant, Neo4j. Sem Ollama — espera conexão via host |
docker-compose.ollama.yml |
Override para Linux/Windows: adiciona Ollama + auto-pull do modelo de embedding |
O compose base assume que Ollama está acessível em host.docker.internal:11434 (macOS nativo). O override sobrescreve OLLAMA_URL para http://ollama:11434 (rede interna Docker).
| Doc | Conteúdo |
|---|---|
| Arquitetura | Diagrama de componentes, fluxos RAG e ingestão, módulos |
| Setup | Instalação, variáveis de ambiente, troubleshooting |
| API | Endpoints e eventos SSE (+ Swagger em /api/docs) |
| Deployment | Docker Compose, volumes, rede interna |
| ADRs | Decisões arquiteturais |
Bun · ElysiaJS · React 19 · Vite · Tailwind CSS 4 · SQLite · Qdrant · Neo4j · Ollama
Projeto de estudo pessoal.