
Description
RivetKit React client guidance. Use for React apps that connect to Rivet Actors with @rivetkit/react, create hooks with createRivetKit, or manage realtime state with useActor.
SKILL.md
RivetKit React Client
Use this skill when building React apps that connect to Rivet Actors with @rivetkit/react.
First Steps
- Install the React client (latest: 2.3.7)
npm install @rivetkit/react@2.3.7 - Create hooks with
createRivetKit()and connect withuseActor().
Error Handling Policy
- Prefer fail-fast behavior by default.
- Avoid
try/catchunless absolutely needed. - If a
catchis used, handle the error explicitly, at minimum by logging it.
Getting Started
See the React quickstart guide for getting started.
Install
Minimal Client
Stateless vs Stateful
Getting Actors
Connection Parameters
Subscribing to Events
Connection Lifecycle
Low-Level HTTP & WebSocket
Use the JavaScript client for raw HTTP and WebSocket access:
import { createClient } from "rivetkit/client";
const client = createClient();
const handle = client.chatRoom.getOrCreate(["general"]);
const response = await handle.fetch("history");
const history = await response.json();
const ws = await handle.webSocket("stream");
ws.addEventListener("message", (event) => {
console.log("message:", event.data);
});
ws.send("hello");
Calling from Backend
Use the JavaScript client on your backend (Node.js/Bun). See the JavaScript client docs.
Error Handling
Concepts
Keys
Keys uniquely identify actor instances. Use compound keys (arrays) for hierarchical addressing:
Don't build keys with string interpolation like "org:${userId}" when userId contains user data. Use arrays instead to prevent key injection attacks.
Environment Variables
createRivetKit() (and the underlying createClient() instance) automatically read:
RIVET_ENDPOINTRIVET_NAMESPACERIVET_TOKENRIVET_RUNNER
Defaults to http://localhost:6420 when unset. RivetKit runs on port 6420 by default.
Endpoint Format
Endpoints support URL auth syntax:
https://namespace:token@api.rivet.dev
You can also pass the endpoint without auth and provide RIVET_NAMESPACE and RIVET_TOKEN separately. For serverless deployments, use your app's /api/rivet URL. See Endpoints for details.
API Reference
Package: @rivetkit/react
createRivetKit- Create hooks for ReactuseActor- Hook for actor instances
Need More Than the Client?
If you need more about Rivet Actors, registries, or server-side RivetKit, add the main skill:
npx skills add rivet-dev/skills
Then use the rivetkit skill for backend guidance.
More skills from the skills repository
View all 16 skillsai-agent
build AI agent backends with Rivet
Jul 21AgentsBackendLLMMemory +2ai-agent-workspace
create persistent workspaces for AI agents
Jun 14AgentsFile StorageInfrastructureRivet +1chat-room
build realtime chat rooms with Rivet
Jul 21BackendMessagingReal-timeRivet +2collaborative-text-editor
build collaborative text editors with Rivet
Jul 21BackendCollaborationDocumentsReal-time +1cron-jobs
schedule durable cron jobs with Rivet
Jul 21AutomationBackendInfrastructureRivet +1live-cursors
implement live cursors and multiplayer presence
Jul 21CollaborationFrontendReal-timeRivet +2
More from Rivet
View publishermultiplayer-game
build multiplayer games with Rivet
skills
Jul 21ArchitectureEngineeringGame DevelopmentReal-time +1per-tenant-database
implement multi-tenant data isolation with Rivet
skills
Jul 21ArchitectureDatabaseMigrationMulti-Tenant +1rivetkit
build and debug Rivet Actors
skills
Jul 24AgentsBackendDebuggingDeployment +1rivetkit-client-javascript
use RivetKit JavaScript client
skills
Jul 24BackendFrontendJavaScriptRivet +1rivetkit-client-rust
build RivetKit Rust clients
skills
Jul 24API DevelopmentBackendRust