@reintersect/sdk, and Reintersect draws everything it produces with its own components, so your app
looks like the rest of the product in light and dark mode, on share pages and to agents.
Quickstart
Scaffold an app with
npm create reintersect, run it locally and see your first block in the
playground.Start with what you’re building
Blocks
Interactive cards in conversations, such as a go/no-go vote or a deployment with a promote
button. Reintersect stores their state.
Commands and message actions
Slash commands in the composer and items in a message’s menu. Your app answers in the chat.
References
Teach Reintersect your links, so a pasted URL becomes a chip or a live card.
Events
Signed deliveries when a decision is published, a call recap is ready or someone mentions your
app.
Effect
The same app model with Effect Schema, services, layers and typed errors.
HTTP API
The endpoints behind the SDK, for apps written in any language.
How an app reaches a workspace
- You create the app in Settings → Developer → Apps, let
reintersect devcreate a personal one for you, or ask a coding agent in Reintersect to build one. Any member can build apps, and a development install is visible only to you. - A workspace owner or admin installs it from its install link. The consent screen lists the scopes, outbound hosts, claimed link domains, events and actions the app uses. See Install and consent.
- Members use its blocks, references, commands and message actions. Reintersect calls your app over signed HTTPS when something needs your code, and stores the results.
- You ship new versions with
reintersect deployor the GitHub Action. A version that asks for no new access rolls out to every install on its own. A version that widens access waits for an admin to approve it.
A first look
This block asks a circle for a go/no-go call and shows the tally as people vote:src/app.tsx
summary.
Using Effect? Build with Effect shows a complete app on the Effect API.
Principles
- You describe what something means, and Reintersect decides how it looks. Components take
semantic props such as
tone="warning"and plain numbers, and Reintersect picks the spacing, the primary button and the layout at each width. Blocks have no CSS, colours or raw HTML. - Reintersect stores block state. Your app keeps no database for blocks: actions return the next state, and Reintersect validates and saves it.
- Types catch mistakes before you deploy. A destructive action without a confirm dialog, a misspelled choice label, or a block a message action inserts that the app never added are all compile errors.
- Agents can read every block. Each one has a plain-text projection and a required summary, so the agent can read it, quote it and act on it with a member’s approval.