Foundations
Monorepo, docs, CI, and a spike: a minimal runner with the Anthropic adapter and Electron streaming two conversations in parallel with cancel.
Done when: The spike works and the architecture is confirmed in an ADR.
Roadmap
Comitiva is built in phases. Each phase ends when a test exercises the whole path, not when the code is written.
Monorepo, docs, CI, and a spike: a minimal runner with the Anthropic adapter and Electron streaming two conversations in parallel with cancel.
Done when: The spike works and the architecture is confirmed in an ADR.
Anthropic, OpenAI-compatible, Google Gemini and Ollama; secrets in the OS keychain; the connections screen.
Done when: Four providers test and list models.
Claude Code and Codex with their own login, streaming and session resume.
Done when: A turn with streaming and cancellation in both.
Create and edit agents: role, connection, model, avatar.
Done when: The agent shows up in the sidebar.
Full chat with parallel runs, persistence, retry and automatic titles.
Done when: Two agents respond at the same time.
MCP in the runner, the tool loop for APIs, the filesystem server with roots and approvals, and tools for CLI harnesses through the runner.
Done when: An agent reads and creates a file in an allowed folder, a write asks for approval, outside the folder is denied.
OAuth, a built-in Google Drive server, and registering any MCP server in the app.
Done when: An agent reads a Google Doc and creates another one with approval.
Usage records, a versioned pricing table, a dashboard and export.
Done when: The dashboard matches the records.
Attachments, search, export and import, i18n, installers for three systems, auto-update.
Done when: The release is published.
A Laravel hub in its own open source repository: accounts, workspaces, live sync of agents and conversations, and a remote backend in the desktop.
Done when: Two desktops see the same conversation live.
The same UI in the browser, served by the hub. API connections and HTTP MCP servers run in the hub with team keys; a desktop can act as the workspace runner.
Done when: A user without the desktop talks to a team API agent.
Limits, concurrency, fallback and connection switching.
Done when: An agent switches connection when it hits a limit.