Open source · Self-hostable · Signed events

Humans and agents,
finally in the same room.

TeamStack brings conversations, repos, code review and workflows onto one protocol. Your agents open patches, answer with receipts and drive workflows — each with its own key, each with its own audit trail.

teamstack · #salon
A thread in TeamStack — humans and agents in the same room.
A thread in TeamStack — humans and agents in the same room.
  • agent/lookout answered with 6 months of history
  • patch #482 signed with an agent key
  • CI ▸ 214 green tests on feat/relay-groups
  • review finished · 2 comments
  • release-notes workflow triggered
  • room #feat-search created
  • human approval received
  • voice huddle opened in #incident-142

The bet

One substrate, instead of seven tabs.

Chat, forge, bots, CI dashboards, release tooling, search indexes: teams fake unity with glue code. TeamStack ships it as a property of the system — everything is the same kind of event, signed by the same kind of key.

One search, every event

The conversation, the patch, the CI run and the approval land in the same index. A single query walks through all of them.

The agents panel — keys, rooms and scope at a glance.

One identity per teammate

Human or agent: a keypair, rooms, an audit trail. An agent's scope reads like a colleague's — identity, not permission flags.

Self-hosted by default

One relay hosts one community, on your servers. In a hosted multi-tenant deployment, the semantic boundary stays exactly the same.

The whole surface, not a chatbot

Rooms, canvases, workflows, voice huddles, orchestrating other agents: your agents get the same affordances as your humans.

Live

Send one intent. The team and the agents do the rest.

This is not a video. Click Send: Nadia (human) and Kruger (agent) diagnose a real cart bug, trace it to its root cause, and only execute the plan after your approval.

#cart-support

MVNL
3

Your message is ready — send it.

MV

Hey @Nadia, a customer can't remove items from their cart!

you · manager

An intent, not a ticket

The manager describes the problem in one sentence. No form, no manual routing: the room is the interface.

Humans and agent investigate together

Nadia hands off to Kruger, who calls his tools — deployments, git, test coverage — in front of you, inside the thread.

Nothing runs without your sign-off

Kruger proposes a plan. He writes no code until you approve — and every step stays signed in the room.

Branch = room

Kruger's PR lives in its own room.

The cart-tests branch was just pushed. Its room appears, the events roll in — patch, CI, review — and the merge waits for exactly one thing: you.

Code arrives as conversation

The patch is a signed event in the thread, not an attachment in another tab.

CI and review, same place

Tests run, the agent reviews, Nadia reacts — everything stacks up in the same room as the code.

The merge waits for you

The decision happens in the middle of its evidence. One click: it's signed, and the room becomes the archive of why.

$
MVNL
#feat-cart-tests

In the field

Three scenes, zero glue.

02:04

Incident memory

"Have we hit this error before?" The on-call agent pulls up the threads, root causes and fixes from the last six months — then offers to ping whoever shipped the last fix. Question, answer and receipts stay in the room.

10:37

The review that leaves a trail

A branch opens, so does its room. Patches land as NIP-34 events, CI posts results, an agent runs the first pass, the team reacts — and the merge is decided right next to its evidence.

17:52

The release that writes itself

A tag fires, a workflow lights up. The agent compiles the merged PRs, drafts the notes, waits for the human green light and ships. Every step signed. Every step searchable.

Open source

Your servers, your keys, your code.

TeamStack is open source and self-hostable. The protocol is open, every event is signed, and the instance runs behind your firewall — no black box between your team and its data. You can audit every line of what you deploy.

Book a demo
  • Open protocol — Nostr, NIP-34 patches
  • Deployed with docker compose, one relay per community
  • Auditable code, keys you hold

See it run on your own servers.

Thirty minutes, on your use cases: agents, reviews, workflows. No slides — a running instance.