DevPilot is a desktop app that helps you understand any codebase — open a repository and explore its structure, dependencies and quality, then ask an AI questions about the code. It runs on Windows, macOS and Linux, and works fully offline with a local model.
Status: actively developed in the open. Build it from source today (see Getting started); packaged releases are on the way.
- Repository Manager — open a local folder or clone a GitHub repo; recent projects; branch, commit and language metadata.
- Repository Scanner — detects languages, frameworks and dependencies (npm, Cargo, PyPI, Go), folder structure and git contributors.
- AST analyzer — tree-sitter parsing of Rust and TypeScript/JavaScript into a structural model (functions, classes, interfaces, imports, exports).
- Architecture graphs — interactive dependency, module, folder and call graphs with pan, zoom and drag.
- AI Chat — repository-aware, streaming chat about your code with Ollama (local, no key), Claude, OpenAI or Gemini. Markdown and highlighted code blocks.
- Code Intelligence — find cyclic dependencies, dead code and duplication, and search "where is authentication?" across symbols and paths.
All analysis is deterministic and local; the AI is optional and provider-agnostic. API keys stay on your machine.
Prerequisites: Rust (stable), Node.js 20+, pnpm, and the Tauri system dependencies for your OS.
git clone https://github.com/s1rry/devpilot.git
cd devpilot/apps/desktop
pnpm install
pnpm tauri devTo use AI Chat, open Settings and pick a provider. Ollama works locally with no API key — install Ollama and pull a model (e.g. ollama pull llama3). For Claude, OpenAI or Gemini, paste your API key.
A Cargo workspace following Clean Architecture: every dependency points inward to devpilot-core, which defines the domain and the ports (traits) that adapter crates implement. See ADR-0001.
| Path | Purpose |
|---|---|
crates/devpilot-core |
Domain: entities, ports, use cases, pure detectors (graphs, code intelligence). |
crates/devpilot-git |
Repository reading via libgit2: open, clone, tree, history, churn. |
crates/devpilot-analysis |
tree-sitter parsing into the AST model. |
crates/devpilot-scan |
Manifest detection: languages, frameworks, dependencies. |
crates/devpilot-ai |
LLM provider adapters (Ollama, Claude, OpenAI, Gemini). |
crates/devpilot-storage |
Local JSON persistence (recent projects, settings). |
crates/devpilot-testing |
Shared mocks and fixtures. |
apps/desktop |
Tauri shell (composition root) + React/TypeScript/Tailwind UI. |
More: docs/architecture.md · Decisions: docs/adr · Changes: CHANGELOG.md.
Contributions are welcome — the project is young, which is the best time to shape it. Start with CONTRIBUTING.md: it maps the codebase and shows how to add a provider, a language or a feature slice.