Roadmap

Forward plan for eVi. Shipped work lives in CHANGELOG.md + project memory; this file is what's next and why. Items carry a rough size (S = an afternoon, M = a day, L = a phase) and a one-line rationale.

Last rewritten 2026-06-06 (post-Phase-48). Supersedes the old v0.11.0-era backlog — most of those "next phase candidates" have since shipped.

Reality check — shipped through Phase 48 (v0.22.0)

The old roadmap's headline candidates are done: self-update (evi update, P29), citations + local rerank (P30), evi review (P31), conversation grep (P32), plus memory/MCP/skills/scheduler/multi-backend/hooks/worktrees/dream/ voice(STT+TTS)/vision/OCR/PDF/SQLite/calendar/routing/auth, the FastAPI+SSE web UI, and the standalone Tauri desktop bundle (onedir sidecar + "no LLM backend" UX, P48). CI is green; the desktop-release pipeline exists.

So the backlog below is genuinely forward-looking.

Planned phases (proposed sequence)

This is a proposed order, weighted toward finishing the distribution story (so new users have a smooth install → first-chat → stay-updated path) before expanding surface area.

Phase 49 — Supply-chain hygiene / vuln checking — ✅ shipped (0.23.0)

Make dependency vulnerabilities visible and gated in CI.

Phase 50 — Frictionless first run (time-to-first-chat) — ✅ shipped (0.23.0)

A fresh user has no LLM backend → today they hit the "no backend" banner. Decision (from research): do NOT bundle a runtime — the multi-GB model download is the real blocker, bundling balloons the installer 5–10×, and eVi is already built around Ollama. Instead:

Phase 51 — Desktop auto-update against GitHub releases — ✅ shipped (desktop 0.2.0)

The CLI/pip path already self-updates (evi update → PyPI). The desktop app (not pip-installed) needs its own updater pointed at the desktop-release.yml GitHub releases we now build.

Phase 52 — Crash / error reporting — ✅ shipped (0.23.0)

Opt-in, privacy-first telemetry so we learn about crashes.

Phase 56 — Desktop UX: settings, menus, tray, in-app docs — ✅ shipped (0.25.0 / desktop 0.2.5)

A Claude-Desktop-style control surface (the "UI enhancements" detour).

Larger backlog (unsequenced — L unless noted)

Phase 56b — desktop/settings polish — ✅ shipped (0.27.0 / desktop 0.2.7)

Phase 63 — session modes (Chat / Cowork / Code) — ✅ shipped (0.28.0 / desktop 0.2.8)

A header segmented control (à la Claude Desktop) that gates a session's tool set: Chat (memory + skills), Cowork (+ files/web/calendar/images/pdf), Code (+ code/shell/git/subagents). Hot-swaps the live agent's tools; the choice persists and follows tab switches. evi/modes.py + /api/modes + /api/session/{id}/mode.

Claude Code parity phases — ✅ all shipped (0.29.0 / desktop 0.2.9)

A pass over the Claude Code docs surfaced these gaps; all eight shipped in 0.29.0 (see CHANGELOG for details). Each was a genuine net-new capability (eVi already had the agentic loop, subagents + parallel research, MCP client/publish, hooks, scheduler, skills, memory + tags, worktrees, routing, guardrails, vuln scanning, voice, computer-use, custom commands, recipes, and session modes).

✅ Shipped in 0.30.0: customizable status line (Phase 72 — format template or custom command in the CLI REPL); routines/triggers (Phase 73 — POST /api/routine/<token> runs a recipe headless); project-level config (Phase 74 — repo-local .evi.toml overlay + AGENTS.md recognition).

Still open: plugin component types beyond commands (skills/hooks/MCP/subagent profiles in a plugin) and the integrations backlog below.

Explicitly not adopting (philosophy mismatch): cloud/enterprise backends (Bedrock/Vertex/Foundry), org admin / managed settings, cloud Ultrareview / Ultraplan, S3/Redis session storage, usage analytics dashboards, and the agentic browser (already deferred in favour of MCP browser servers). A full public Agent SDK is deferred too — headless mode (Phase 65) covers the automation need without committing to a stable library surface.

Next planned phases (79+)

Releases are paused on a GitHub Actions billing block; these are building locally and ship once that clears.

OpenAI / Claude-Code parity additions (post-roadmap review)

From a review of developers.openai.com + code.claude.com — the genuinely-new, local-friendly gaps — ✅ shipped (local):

Follow-on additions from the same review — ✅ shipped (local):

Previously-deferred, now planned

Integrations backlog

A large, separately-tracked list (Home Assistant, Notion, Spotify, Slack, native GitHub tool, generic IMAP/SMTP email, RSS, weather, Wikipedia, YouTube transcripts, Todoist, …) lives in future-integrations.md. Many become trivial once MCP-server-publish lands (consume existing MCP servers instead of building each tool by hand).

Explicitly deferred

Prioritisation note

Distribution polish (49→51) is the current focus: a new user should install, get to first chat without a manual backend setup, and stay updated — all without us hand-holding. After that, MCP-server-publish is the single highest-leverage feature (it subsumes much of the integrations backlog). Beyond that, gather real usage via transcripts + evi dream before piling on more surface area.

Edit on GitHub ↗