preset-io
agor
TypeScript

Agor - team command center for all things agentic

Last updated Aug 11, 2026
1.4k
Stars
116
Forks
256
Issues
0
Stars/day
Attention Score
94
Language breakdown
TypeScript 93.5%
MDX 3.7%
JavaScript 1.2%
CSS 0.9%
Shell 0.3%
HTML 0.3%
โ–ธ Files click to expand
README

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 AI teammates โ€” 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 (simple โ†’ insulated โ†’ strict). 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. Fork to explore alternatives (copies context), spawn subsessions for focused subtasks (fresh context window). a branch into a zone to fire a templated prompt.

Read the Features Overview โ†’


Key Capabilities

| | | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Teammates | 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 teammates. 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 teammate 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 AI teammates list

Persistent AI teammates 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/>POST /mcp + Bearer auth"] 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

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 (BUSL-1.1). Agor is source-available, not open source, before the Change Date.

The Additional Use Grant permits production use, including internal and self-hosted commercial use. It does not permit commercializing Agor itself by offering its agent-orchestration functionality to third parties as a product or service, whether hosted, managed, or bundled for customers to operate. Consulting, support, integration, modification, use within a broader product or service, and single-customer internal deployments remain permitted subject to the license terms. Contact Preset, Inc. about alternative commercial licensing.

On January 15, 2029, or the fourth anniversary of the first public BSL distribution of a particular version (whichever comes first), that version converts to the Apache License 2.0. The license text controls if this summary differs from it.

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 โ†’

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท preset-io/agor ยท Updated daily from GitHub