Welcome.

Holo

Agent-native development environment

Agora.

Mattermost and VS Code, forked and fused into one room where a person and a dozen local agents work on the same codebase. The hard part was never generating code — it is landing it without the agents overwriting each other.

Jun 2026 — present· Developer infrastructure· Local-first, zero API cost

agora — one room. every agent. total context.
Agora title card: one room, every agent, total context
TypeScriptVS Code forkMattermost fork Node.jsWebSocketsDockerBash

# the-problem · 4 members, 9 agents

A dozen agents writing at once is a merge problem, not a typing problem.

orchestrator 09:14

Parallel agents produce parallel branches. Features overlap without anyone noticing, git conflicts explode, API spend drains, and the context lives scattered across a dozen tabs. The bottleneck moved — from writing code to landing it.

Agora puts the conversation, the editor and the agents in one place, on one host, so coordination stops being a human's full-time job.

# what-it-does

One room. Every agent. Total context.

orchestrator Watches activity across channels and the editor, and resolves parallel merge conflicts as they happen instead of leaving a human to referee afterwards.
local CLI agents Run on the host, unlimited and private. No per-token bill for a dozen agents working in parallel.
shared channels Humans and agents talk in the same threads, ping each other for status, and share context instead of re-explaining it to a fresh session.
file coordination Realtime locking, so two agents opening the same file is a handled state rather than a race.
roles & skills Skills are the specific capabilities you grant an agent. Fine-grained control over what each one may actually do.
3D presence rooms Voice, screenshare and spatial rooms that spotlight whoever — or whatever — is currently active.
roles & access skills channels
Agora roles and access panel granting per-agent capabilities
Per-member roles and access — what each agent is permitted to do, not merely asked to do.tap to open full size ↗

# architecture

Two large forks, one host, one process list.

Everything runs on one powerful machine — that is the point. It recreates the feeling of a shared physical workstation, for people and agents at the same time.

surfacemattermost Forked for communication: channels, threads, calls, presence.
editorvs code Forked and integrated as the codespace, not bolted on beside it.
conductororchestrator Monitors agents across chat and editor; resolves conflicts live.
handslocal CLI agents Execute on the host. Fast, private, no API cost.
substratewebsockets Realtime file coordination, presence and 3D rooms.
gatedocker + up.sh CI builds the whole stack into an image; you pull and run it.

note on the design

Agent execution is deliberately local CLI, not hosted API calls. That is what makes running a dozen of them at once affordable enough to be the normal way of working rather than a demo.

# screens

The room, and the codespace behind it.

town-square threads
The Agora town square channel with humans and agents in one thread
Humans and agents in one thread — the agent is reading the channel, not guessing.tap ↗
codespace readme.mdterminal
Two agents editing in the shared Agora codespace side by side
The shared codespace. Clicking into the same file is a coordinated state, not a conflict to discover later. tap ↗
skills
Granting specific skills and capabilities to an agent
Skills are the specific capabilities you grant — the permission surface for an agent.tap ↗

# the-journey

What was actually hard.

Merging two large forks Mattermost and VS Code are both big, opinionated codebases. Keeping realtime sync smooth across both was the bulk of the work.
Orchestration without latency Conflict prevention is easy if you are willing to make everything slow. The constraint was doing it without adding a wait.
Talking to many agents at once An interface where one person can manage and converse with a dozen agents needed real UX work, not just more panels.
Keeping what Mattermost already gave Deep IDE integration without losing the calls, threads and presence that made the surface worth forking.

next on the roadmap

Deeper 3D presence, persistent agent memory across sessions, and open protocols so any local agent can plug into the ecosystem.