Skip to content

richardfogaca/agor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,952 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agor logo

Agor

Team command center for all things agentic.

Agor is a self-hosted, multiplayer-ready web workspace for running coding agents — Claude Code, Codex, Gemini, and others — on isolated git branches. Each branch is a first-class git working directory with its own dev environment and conversation history. Agents run in the browser instead of a terminal, with per-prompt token and cost accounting, structured tool output, and an MCP endpoint agents can drive themselves. Run it solo in a few minutes; turn on multiplayer and Unix-level isolation when you bring your team.

npm License: BSL 1.1 Docs Discord

Documentation · Quick Start · Architecture · Contributing


Built on the agent CLIs & SDKs you already use

Agor ships no model of its own. It drives the coding-agent CLIs and SDKs you already run, interchangeable per session — bring your own provider and subscription, no vendor lock-in. Compare the harnesses →

Claude Code    Codex    Gemini CLI    GitHub Copilot    OpenCode    Cursor

Agor board with live cursors, branch cards, zones, and agent dashboards

The board: branches as cards, zones as regions, agent sessions, and — optionally — teammates present live.

Watch the unscripted demo on YouTube (13 min)


What it does

  • Branches as the anchor — every piece of work is a git branch with its own working directory, dev environment, conversation history, and PR. One entity to point at.
  • Isolated dev environments — a one-click dev server per branch, with ports auto-assigned so parallel branches never collide.
  • Multi-runtime — Claude Code, Codex, Gemini, OpenCode, Copilot, and Cursor (beta) are interchangeable per session. Bring your own provider; no vendor lock-in.
  • Rich session UI — per-prompt token and dollar accounting, structured tool blocks, model/effort selectors, completion chimes. The terminal experience, in the browser.
  • MCP-native — Agor exposes itself over MCP; sessions are auto-issued a token, so agents fork, spawn, schedule, and report on their own work.
  • Long-lived assistants — persistent coworkers, each with a Knowledge-base namespace for durable, searchable memory, plus skills and schedules. They collaborate with the team and with each other, beyond one-off sessions.
  • Multiplayer when you want it — live cursors, comments, and shared sessions/environments for your team. Optional; works fine solo.
  • Governance & observability — branch-scoped RBAC and ACLs, per-user credentials and env vars, and per-prompt token + dollar accounting with full, durable history across every session.
  • Self-hosted, with real isolation — your repos, your DB (LibSQL or Postgres), and progressive Unix isolation modes (simpleinsulatedstrict). BSL 1.1.

Quick Start

Requires Node.js ≥ 22.12 (install).

npm install -g agor-live

agor init           # creates ~/.agor/ and the database
agor daemon start   # runs the daemon in the background
agor open           # opens the web UI

That's it — add a repo and create your first session from the onboarding wizard.

Prefer Homebrew? See the Getting Started guide for the brew path. For Docker, source builds, Postgres, and team setups, see Extended Installation.


Core Concepts

Agor is built on three foundational entities — everything else builds on these:

  • Branches — the unit of work. A first-class git working directory on its own branch, with an isolated dev environment and its own conversations. Conventionally 1 branch = 1 feature/PR.
  • Sessions & Trees — agent conversations with genealogy. Fork to explore alternatives (copies context), spawn subsessions for focused subtasks (fresh context window).
  • Boards & Zones — a Figma-like 2D canvas of branches. Drop a branch into a zone to fire a templated prompt.

Read the Features Overview →


Key Capabilities

Assistants Long-lived AI coworkers, each with its own Knowledge-base namespace for durable, semantically searchable memory — shared with the team and able to collaborate with other assistants. Taught conversationally, then equipped with skills, MCP tools, gateway channels, and schedules.
Agor MCP Server Agor exposes itself over MCP. Agents introspect sessions, branches, and boards, and drive the system themselves.
Multiplayer & Social Live cursors, facepiles, spatial comments, and a shared multiplayer terminal.
Rich Chat UX Per-prompt token + dollar accounting, model/effort selectors, structured tool blocks, completion chimes.
Environments One-click dev servers per branch with auto-managed unique ports — no more port fights.
Security & RBAC Branch-scoped permission tiers (ACLs), per-user credentials and env vars, and progressive Unix isolation (simple / insulated / strict).
Knowledge A shared, searchable markdown knowledge base — one place for decisions, runbooks, prompts, and agent memory.
Scheduler Cron-style triggers for templated prompts. Powers assistant heartbeats, standups, and automated audits.
Message Gateway Slack and GitHub as portals into Agor sessions.
Artifacts Live, interactive apps (dashboards, mockups, tools) rendered directly on the board.
Cards (Beta) Generic workflow entities for non-code workflows.

Screenshots

Multiplayer presence with comments on a branch card

Real-time multiplayer — cursors, facepile, scoped comments

Task-centric conversation UI

Rich agent sessions with structured tool blocks

Persistent assistants list

Persistent assistants with memory and skills

MCP-native control surface

MCP-native — agents drive Agor themselves

Scheduler configuration modal

Scheduler — cron-style triggers for templated prompts

Branch environment configuration

One-click dev environments per branch


Architecture

graph TB
    subgraph Clients
        CLI["CLI (oclif)"]
        UI["Web UI (React)"]
    end

    Client["Feathers Client<br/>REST + WebSocket"]

    subgraph "Agor Daemon"
        Feathers["FeathersJS Server"]
        MCP["MCP HTTP Endpoint<br/>/mcp?sessionToken=..."]
        Services["Services<br/>Sessions, Tasks, Messages<br/>Boards, Branches, Repos"]
        ORM["Drizzle ORM"]
    end

    subgraph Executor["Executor (process-isolated)"]
        AgentSDKs["Agent SDKs<br/>Claude · Codex · Gemini · OpenCode"]
    end

    subgraph Storage
        DB[("LibSQL / Postgres<br/>~/.agor/agor.db")]
        Git["Git Branches<br/>~/.agor/worktrees/"]
        Config["Config<br/>~/.agor/config.yaml"]
    end

    CLI --> Client
    UI --> Client
    Client <-->|REST + WebSocket| Feathers

    Feathers --> Services
    Feathers --> MCP
    MCP --> Services
    Services --> ORM
    Services --> Executor
    Executor -.->|JSON-RPC 2.0| MCP

    ORM --> DB
    Services --> Git
    Services --> Config
Loading

The daemon (apps/agor-daemon, FeathersJS) owns the database, services, WebSocket events, and the MCP HTTP endpoint. The executor (packages/executor) is a process-isolated runtime that spawns agents via their SDKs and can run as a separate Unix user. Shared types, the Drizzle schema, and git utilities live in @agor/core (packages/core).

Full Architecture Guide →

Repository layout

agor/
├── apps/
│   ├── agor-daemon/   # FeathersJS backend (REST + WebSocket + MCP)
│   ├── agor-ui/       # React UI (Ant Design + React Flow)
│   ├── agor-cli/      # oclif CLI
│   └── agor-docs/     # Docs site (Nextra) — canonical reference, published at agor.live
├── packages/
│   ├── core/          # @agor/core — types, db (Drizzle), git, api
│   └── executor/      # Process-isolated agent runtime
└── context/           # Agent-oriented cheat sheets and design docs

Development

The fastest path to a running dev instance from source:

git clone https://github.com/preset-io/agor
cd agor
docker compose up
# Visit http://localhost:5173 → login: admin@agor.live / admin

Prefer running locally without Docker? The two-process workflow (daemon in watch mode + UI dev server) and the .agor.yml variants (sqlite / postgres / full / docs) are documented in the Development Guide. It also covers running Agor inside Agor for dogfooding.

See CONTRIBUTING.md for the contribution workflow, and CLAUDE.md for the agent-oriented map of the codebase.


✨ Pledge ✨

⭐️ I pledge to fix a GitHub issue for every star Agor gets :)


Community

License

Business Source License 1.1.

About

Heavily prompted by @mistercrunch (Preset, Apache Superset, Apache Airflow), built by an army of Claudes and Codexes.

Read more: Agor Cloud — opening a private beta · Agent Modeling 101 · Raise a team helper agent in an afternoon · all posts →

About

Orchestrate Claude Code, Codex, and Gemini sessions on a multiplayer canvas. Manage git worktrees, track AI conversations, and visualize your team's agentic work in real-time.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 93.5%
  • MDX 4.4%
  • JavaScript 0.8%
  • CSS 0.5%
  • HTML 0.4%
  • Shell 0.3%
  • Other 0.1%