---
audience: developer
summary: 'Building on ScaiWave: local setup, auth, REST + WebSocket, plugins, bridges,
  deployment, federation.'
title: Developer
path: tutorials/developer
status: published
---

# Developer

Building an integration, a plugin, or operating a ScaiWave
deployment? These tutorials are arranged roughly in the order
you'll hit them.

## Getting your environment running

- [Local development setup](/docs/scaiwave/tutorials/developer/local-development) — venv, infra, migrations, hot-reload.
- [Authenticate with ScaiKey](/docs/scaiwave/tutorials/developer/authenticate-with-scaikey) — OIDC, token exchange, refresh.

## Talking to the API

- [Your first REST API call](/docs/scaiwave/tutorials/developer/first-rest-api-call) — register, list rooms, send a message, search.
- [Send a message via the API](/docs/scaiwave/tutorials/developer/send-a-message-via-api) — the event model in detail.
- [Subscribe to WebSocket events](/docs/scaiwave/tutorials/developer/subscribe-to-websocket-events) — `/v1/stream`, event types, reconnect.

## Extending

- [Write a plugin](/docs/scaiwave/tutorials/developer/write-a-plugin) — add a tool the AI can call.
- [Build an integration bridge](/docs/scaiwave/tutorials/developer/build-an-integration-bridge) — relay messages to/from Slack, Discord, a custom system.

## Operating

- [Deploy ScaiWave](/docs/scaiwave/tutorials/developer/deploy-scaiwave) — production topology, env, capacity.
- [Enable federation with a peer](/docs/scaiwave/tutorials/developer/enable-federation-with-a-peer) — admin setup for cross-tenant rooms.

For lookups, see the [Reference](/docs/scaiwave/reference).
