Colibri (pronounced /ˈkoʊ lɪ bri/) is a chat app built on the AT Protocol.
It uses the protocol as infrastructure rather than as a login provider, so your
messages live in your own repository and travel with your identity.
Colibri’s communities are built on
permissioned spaces, a part of the protocol that
lets a group of repositories agree on who may read them. Most of the rest of
these docs builds on it.
| Page |
Contents |
| Permissioned Spaces |
The protocol primitive Colibri is built on, and how access is granted |
| Communities |
The six spaces a community is made of, and where each record lives |
| AppView |
What the service does, what it runs on, and how the code is arranged |
| Sync |
Keeping a copy of a space current without a relay |
| Storage |
What the database holds, and which parts can be thrown away |
| Moderation |
What a community can do about content it does not own |
| Client |
The frontend that talks to an AppView |
| Page |
Contents |
| AppView |
Every XRPC method, both WebSockets, and the protocol callbacks |
| Lexicons |
The schemas themselves, grouped by kind |
| Facets |
How rich-text facets are encoded, rendered, and which take precedence |
| Page |
Contents |
| Overview |
The local stack and how dev mode differs from production |
| AppView |
Running the TypeScript service, its build, and its configuration |
| Client |
The SolidJS client, the Astro website, and the native shell |
| Testing |
Unit tests, the integration suite, and what CI runs |
| Running a PDS |
The spaces-alpha PDS this depends on |
| Errors |
How errors are declared and surfaced |
| Page |
Contents |
| Getting Started |
Running your own AppView, and the reachability it requires |
| Page |
Contents |
| Overview |
How to get involved |