A cross-platform Electron desktop app (Windows primary; macOS + Linux to follow) that turns Docker into a one-click application launcher.
- Plugins live in the left sidebar — each a containerized app with its own view (e.g. an Ollama chat UI).
- Services run in the background — infrastructure like Samba — and are not in the sidebar.
- DAVE handles the hard parts: verifying prerequisites (Docker, WSL2, NVIDIA GPU + container toolkit), pulling images, starting containers, wiring ports, GPU access, registry logins, and showing the UI.
- Plugins and Services wire together through a typed I/O system (Capabilities): one declares
provides: openai-endpoint, anotherrequires: openai-endpoint, and DAVE binds them — type-checked, with the provider being a local container or a remote endpoint. Storage is typed too (Volume Classes), so temp data never lands in a long-term volume. Seedocs/adr/0001. - A degraded No-Docker Mode can still embed plain web apps.
Status: scaffolding / planning. The current goal is a rock-solid, reusable Docker control layer proven by one Plugin (Ollama) and one Service (Samba) — not the full product. See
docs/PLAN.mdandTODO.md.
electron-vite · React + TypeScript + Tailwind · dockerode ·
electron-builder · dave:// deep-link protocol.
| Path | What |
|---|---|
CLAUDE.md |
Canonical instructions for AI agents working on DAVE. |
CONTEXT.md |
Domain language (Plugin, Service, Container, Doctor, …). |
docs/PLAN.md |
Vision + phased roadmap. |
TODO.md |
Live task board. |
.claude/rules/ |
Binding house rules (discipline, security, delegation, release ban). |
.claude/agents/ |
Lane agents: dave-electron, dave-docker, dave-windows, dave-worker. |
.claude/skills/ |
Project skills (architecture, docker-layer, electron-stack, prerequisites, plugin-system, capabilities, windows-platform). |
docs/adr/ |
Architecture Decision Records. 0001 = the typed Capability/Volume I/O system. |
src/ |
App source (to be scaffolded — see dave-architecture). |
This repo is set up for agent-assisted development. The main agent delegates behavior-relevant work
to the lane agents above (each pre-briefed with the relevant skills via the briefing plugin). Start
by reading CLAUDE.md, then the dave-architecture skill.