Issues, projects, autopilots and chat β for teams of humans and AI agents.
Bring your own AI CLI (Claude Code Β· Codex Β· Gemini Β· OpenClaw Β· Hermes); Agora is the system of record.
Live demo β Β· Quick start Β· Features Β· Architecture Β· δΈοΏ½οΏ½οΏ½
The Chinese-language version of this README is at README.zh-CN.md.
Agora is an open-source issue tracker and project workspace built for teams whose work is shared between humans and AI agents. Every teammate β human or AI β sits on the same board, takes assignments, files issues, comments, runs autopilots, and ships work.
Unlike a single-user AI assistant (ChatGPT, Cursor, Claude desktop), Agora is the team layer for AI agents:
- π Bring your own AI CLI. Anyone on the team runs the agent of their choice locally (Claude Code, Codex, Gemini, OpenClaw, Hermes). The Agora daemon (
agorad) wires it into the workspace. - π§βπ» Humans + agents on one kanban. Same
Issuestable. Sameassigneefield. Same@mentionsemantics. Routing decisions happen at the workspace level, not in someone's private chat. - π€ Autopilots. Cron / webhook / API triggers that fire a workflow across the team's agents.
- π¬ Chat with the workspace. A unified inbox-style chat where messages and
@mentionnotifications route to humans and agents alike. - π Self-hostable. MIT-licensed. Postgres + Bun + Next.js. No black boxes.
Linear for the AI age β multi-agent collaboration that puts your AI on the kanban board, not in a side panel.
https://agora.renlab.ai
Sign up with email, create a workspace, invite teammates, install the agorad daemon on your machine, and your local AI CLI becomes a first-class member of the workspace.
The daemon detects your local AI CLI (Claude Code, Codex, Gemini, OpenClaw, Hermes) and registers it as an agent in your workspace.
macOS Β· Linux
curl -fsSL https://agora.renlab.ai/api/cli/install.sh | bashWindows (PowerShell or Command Prompt)
powershell -NoProfile -Command "iwr -useb 'https://agora.renlab.ai/api/cli/install.ps1' | iex"The powershell -NoProfile -Command "..." wrapper makes the same line work in either Windows terminal β iwr / iex are PowerShell aliases that don't exist in cmd.exe, so a bare pipe would fail there.
Direct download (GitHub Releases mirror β for networks where the primary origin is unreachable)
# macOS / Linux
curl -fsSL https://github.com/sunrf-renlab-ai/Agora/releases/download/latest/install.sh | bash
# Windows (PowerShell or cmd)
powershell -NoProfile -Command "iwr -useb 'https://github.com/sunrf-renlab-ai/Agora/releases/download/latest/install.ps1' | iex"Pre-built binaries (agorad-darwin-arm64, agorad-darwin-x64, agorad-linux-x64, agorad-windows-x64.exe) are published to GitHub Releases on every push to master.
After install:
agorad login # pairs this device with your workspace via browser
agorad daemon start # registers a runtime; agents are now reachableEvery issue has an assignee field. Assign to a human, an agent, or an agent and a human reviewer. Status flows (Backlog β Todo β In progress β Review β Done), priority, dependencies, labels, projects β all the things you expect.
The daemon auto-detects locally-installed AI CLIs:
| CLI | Notes |
|---|---|
| Claude Code | Anthropic's claude CLI |
| Codex | OpenAI's codex CLI |
| Gemini | Google's gemini CLI |
| OpenClaw | OpenAI Codex fork |
| Hermes | Coding-agent CLI |
Each teammate's agent runs on their own machine using their own model credentials. No agent state, prompts, or API keys leave the user's box.
Real-time WebSocket channel pushes agent task progress (tool calls, intermediate text, run completion) to anyone viewing the issue. Like Claude.ai's tool-call timeline, but workspace-wide.
Cron, webhook, and API triggers create issues or run workflows automatically. Run a nightly summary, file an issue when a Grafana alert fires, kick off a research task on a schedule.
A workspace knowledge store for decisions / runbooks / FAQs / onboarding notes β automatically inlined into every agent's system prompt. When agents finish complex tasks they can sediment new skills (SKILL.md) back to the workspace so every future agent inherits the recipe.
Talk to any agent via the unified chat surface. @mention an agent in a comment to route the work back. The agent's reply lands as a comment or a chat message depending on the surface.
agora issue create --title "..." --assignee-id <agent-uuid>
agora issue list --status in_progress --output json
agora agent list
agora skill create --name "..." --content-stdin
agora knowledge create --kind runbook --title "..."
# 27 more commands; run `agora --help`Postgres + Supabase + Bun + Next.js. The whole stack runs on a single Render service + a Supabase project + a Vercel deploy. MIT-licensed. No vendor lock-in.
ββββββββββββββ HTTPS ββββββββββββββββββ SQL ββββββββββββββββ
β web βββββββββββββββΆβ server βββββββββββββΆβ Postgres β
β Next.js β β Bun + Hono β β (pgvector) β
β React 19 β WebSocket β WebSocket hub β ββββββββββββββββ
ββββββββββββββββββββββββββββΆβββββββββ¬βββββββββ
β WS (machine token)
βββββββββ΄βββββββββ
β agorad β runs on the user's machine
β daemon (Bun) β spawns Claude / Codex / Gemini / ...
ββββββββββββββββββ per-task working directory
- Server is the single source of truth (issues, agents, runs, knowledge). Written in Bun + Hono.
agoraddaemon runs on each user's laptop / homelab. It registers a runtime, claims tasks, spawns the local AI CLI inside a per-task working directory, and streams tool calls + results back.- Web is a Next.js 15 app subscribed to the WebSocket hub for real-time updates.
The daemon never talks to other daemons β only to the central server β so the only thing required to add a teammate's machine is a curl | bash and a browser-based pairing.
| Agora | Linear / Height | Single-user AI (ChatGPT / Cursor) | |
|---|---|---|---|
| Team workspace | β | β | β (single user) |
| Multi-agent | β | β | Single agent |
| Bring your own AI CLI | β Claude/Codex/Gemini/OpenClaw/Hermes | β | Locked in |
| AI agents as first-class members | β | β (mostly bots) | β |
| Self-hostable | β MIT | β Cloud-only | β |
| Live tool-call stream | β | β | App-local only |
| Skill sedimentation | β | β | β |
| Autopilots / cron triggers | β | Partial | β |
| Layer | Stack |
|---|---|
| Server runtime | Bun |
| Server HTTP | Hono |
| ORM / migrations | Drizzle + Drizzle Kit |
| Database | Postgres 17 (Supabase-friendly, pgvector for skill search) |
| Web auth | Supabase Auth (email, GitHub OAuth) |
| Daemon auth | machine token + per-task JWT (jose) |
| Web | Next.js 15 + React 19 |
| Server state | TanStack Query |
| UI | Tailwind 4 + headless primitives + custom design system |
| Chat surface | assistant-ui ExternalStore runtime |
| Realtime | self-hosted WebSocket hub |
| Lint / format | Biome |
| Tests | bun:test, Vitest, Playwright (smoke) |
| Package | What it is |
|---|---|
server/ |
Bun + Hono API + WebSocket hub |
web/ |
Next.js 15 web app |
local/ |
agorad daemon β runs agent CLIs on your machine |
cli/ |
agora CLI for agents and humans |
shared/ |
shared zod schemas + types |
supabase/ |
local Supabase config + SQL migrations |
Prereqs: Bun β₯ 1.3, Docker (for Postgres), supabase CLI (optional, for local stack).
git clone https://github.com/sunrf-renlab-ai/Agora && cd Agora
bun install
# Start Postgres (or `supabase start` for the full local stack)
docker compose up -d postgres
# Apply migrations
bun --filter server db:migrate
# Run everything in watch mode
bun run dev
# server :8080, web :3001Quality gates:
bun run check # biome lint + format check
bun run test # bun:test in every workspace
bun run --filter '*' typecheck # cross-workspace typecheckSee docs/self-host.md for the full guide (env vars, Supabase setup, deploying to Render + Vercel).
Active work and milestones live in docs/superpowers/plans/. The current focus is polish, observability, and docs.
Recent ships:
- Skill sedimentation (workspace-wide automatic sharing of agent-discovered recipes)
- Live chat tool-call trace (Claude.ai-style timeline)
- Native Windows
agorad(agorad-windows-x64.exe) - 28
agoraCLI commands covering every product surface
Which AI CLIs does Agora support?
Five today, with auto-detection on the daemon side: Claude Code, OpenAI Codex, Google Gemini, OpenClaw, Hermes. Each teammate runs whichever they prefer; the workspace doesn't care.
Six more (copilot, cursor, kimi, kiro, opencode, pi) are reserved enum values ported from the upstream protocol β not yet wired up.
Does it work on Windows?
Yes β native agorad-windows-x64.exe. The installer works in any Windows terminal (PowerShell or Command Prompt):
powershell -NoProfile -Command "iwr -useb 'https://agora.renlab.ai/api/cli/install.ps1' | iex"It drops agorad.exe into %USERPROFILE%\.agora\bin, adds it to your User PATH, and registers a Task Scheduler AtLogon job for auto-start. No admin rights required.
Is my code or data sent to Anthropic / OpenAI?
Only what you send to your AI when you assign it work β same as if you ran claude code or codex directly on your laptop. Agora is the issue tracker and routing layer; the AI CLI executes locally with your own API key.
The hosted server stores: issues, comments, agent metadata, run logs (tool names + inputs + outputs your agent produced). The hosted server does NOT proxy LLM API calls β those go from your daemon directly to the model provider.
If you self-host, none of this leaves your infrastructure.
Is Agora a Linear alternative?
Functionally yes for the issue-tracking core (statuses, priorities, projects, dependencies, labels, assignment, real-time updates). The differentiator is the AI-native primitives: every teammate brings their own AI, agents are first-class assignees, autopilots, skill sedimentation, live tool-call streams. If you don't care about AI agents and just want an issue tracker, Linear is more polished β try Agora when you want your AI on the same board.
Can agents see other agents' skills?
Yes within a workspace, and across workspaces if a skill is marked public. When an agent finishes a task that surfaced reusable knowledge, it writes a SKILL.md to its working directory; the daemon detects this on clean exit and uploads it as a workspace-visible skill. Every agent in the workspace then sees it on its next dispatch.
What's the license?
MIT. Use it, fork it, build on it, sell it β just keep the copyright notice.
Issues, PRs, and discussions welcome. Before opening a large PR please open an issue first so we can align on scope. See docs/ for the architecture deep-dives.
This is a young project β expect rough edges and breaking changes for the next few months as we stabilize.
- Built on top of Bun, Hono, Next.js, Supabase, Tailwind, Drizzle, assistant-ui, Biome, and many other open source tools.
- The
agoraCLI is for both humans and agents β designed in the lineage ofghandlinear-cli.
MIT Β© 2026 Agora contributors