Context-Aware AI Code Review β AMD Developer Hackathon 2026
Multi-agent system that learns your repository first (AST + 3D knowledge graph), then runs context-aware code review on your PRs.
> Note: This application is designed to run locally for privacy and performance. Follow the installation guide below to run the demo.
- AST analysis with tree-sitter β extracts symbols, imports, real dependencies
- Interactive 3D knowledge graph β Three.js, force-directed, visualizes architecture
- Automatic project profile β architecture, patterns, conventions (via LLM)
- Multi-query retrieval β search by file, symbol, and semantics
- Reviewer with few-shot β examples of good vs. bad justification
- Adversarial Critic β filters generic issues before the final report
- Privacy first β local Ollama, your code never leaves your machine
- Secure secrets β centralized config, automatic masking in logs
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β INDEXER (runs once per repo) β
β Files β AST (tree-sitter) β Knowledge Graph β
β β β
β Project Profile (LLM) β
β β β
β Vector Store (ChromaDB) β
β β β
β 3D Graph (Three.js) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β REVIEW PIPELINE (LangGraph) β
β Diff β Parse β Contextualize β Review β
β β β
β Critic β
β β β
β Report β
β β
β Context files GLOW in the 3D graph in real time β
β while the pipeline runs β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Python 3.11+
- Node.js 18+
- Ollama installed
From the project folder:
setup.batDoes everything: creates the venv, installs deps, pulls the Ollama model, validates.
:: Terminal 1
run_backend.bat
:: Terminal 2
run_frontend.batTo produce a single RepoMind.exe (frontend + backend bundled):
build.batOutput: dist\RepoMind.exe (~500MB). See BUILD_EXE.md for details.
API keys are NEVER stored in code. Everything goes through .env:
backend/.env β your credentials (DO NOT commit)
backend/.env.example β template (safe to commit)
backend/config.py β loads and validates secrets
.gitignore β protects .env
The backend:
- Validates config on startup and fails fast if anything is missing
- Automatically masks any credential that shows up in logs
- The
/configendpoint returns public info (provider/model) without keys - WebSockets sanitize messages before sending them to the frontend
Switching providers (Ollama β AMD Cloud β Groq) is just editing .env. Zero code changes.
3D Knowledge Graph (Three.js):
- Nodes = files, size proportional to LOC
- Colors by language
- Edges = imports
- Drag to rotate, scroll to zoom, click nodes to inspect
- During review, context files pulse in red showing exactly what the RAG retrieved
Live pipeline visualizer:
- Each agent lights up green with timing
- Shows queries used, retrieved context, issues raised vs. filtered out by the Critic
repomind/
βββ setup.bat β automatic Windows setup
βββ run_backend.bat β starts the backend
βββ run_frontend.bat β starts the frontend
βββ README.md
βββ .gitignore β protects secrets
β
βββ backend/
β βββ config.py β config + secret sanitization
β βββ agents/
β β βββ llm_client.py
β β βββ code_analyzer.py β AST via tree-sitter
β β βββ indexer.py β + serialize_graph_for_viz
β β βββ diff_parser.py
β β βββ contextualizer.py
β β βββ reviewer.py
β β βββ pipeline.py
β βββ api/main.py β + /config + /repos/{id}/graph
β βββ .env.example
β βββ requirements.txt
β
βββ frontend/
β βββ package.json β + three
β βββ vite.config.js
β βββ index.html
β βββ src/
β βββ main.jsx
β βββ App.jsx
β βββ components/
β βββ GraphViz3D.jsx β Three.js graph
β
βββ scripts/
β βββ validate_setup.py
β βββ test_e2e.py
β
βββ sample_diffs/
Edit backend/.env:
Ollama (default, local)
AMD_BASE_URL=http://localhost:11434/v1
AMD_API_KEY=ollama
AMD_MODEL=qwen2.5-coder:14b
AMD Developer Cloud (when credits arrive)
AMD_BASE_URL=https://api.amd.com/v1
AMD_API_KEY=your_amd_key
AMD_MODEL=Qwen/Qwen2.5-Coder-32B-Instruct
Groq (free, fast)
AMD_BASE_URL=https://api.groq.com/openai/v1
AMD_API_KEY=gsk_...
AMD_MODEL=qwen-2.5-coder-32b
- Point it at a real Python project (FastAPI/Django/anything)
- Live indexing β 3D graph appears, profile extracted
- Paste a diff that violates a project-specific pattern
- Streaming pipeline β each agent lights up, context is retrieved
- Relevant files pulse in the 3D graph β this is the "wow moment"
- Result: issues with project-specific justification
| Component | Tech |
|---|---|
| Orchestration | LangGraph |
| LLM | Qwen2.5-Coder via Ollama / AMD ROCm |
| AST | tree-sitter |
| Embeddings | BAAI/bge-small-en-v1.5 (local CPU) |
| Vector Store | ChromaDB |
| Knowledge Graph | NetworkX + Three.js |
| Cache | DiskCache |
| Backend | FastAPI + WebSockets |
| Frontend | React + Vite + Three.js |
"AMD_API_KEY not configured"
β cd backend && copy .env.example .env
"Could not connect to localhost:11434"
β Ollama isn't running. Open the app (tray icon) or run ollama serve.
"Model not installed"
β ollama pull qwen2.5-coder:14b
Slow pipeline
β Check Task Manager to see if the GPU is actually being used. If it falls back to CPU, reinstall NVIDIA drivers. Or use a smaller model: ollama pull qwen2.5-coder:7b
3D graph doesn't show up β Index a repo first (step 01 in the UI). Then select it under "REPOS".