From 09d6ae30ad2b7cb7b69c5048f64ee84c7bcde9e3 Mon Sep 17 00:00:00 2001
From: Kacper Wojciechowski <39823706+jog1t@users.noreply.github.com>
Date: Fri, 18 Sep 2026 03:10:21 +0200
Subject: [PATCH] fix(website): point workflow references at
@rivet-dev/workflows
The /workflows hero example loaded the old rivetkit/workflow snippet from the
actors docs root; it now reads the workflows docs root. GitHub links, FAQ copy,
the agentOS code tab, and the agent setup issues URL move to the standalone
package.
---
HIDDEN.md | 1 -
src/data/agentSetupPrompt.ts | 2 +-
src/data/faqs/workflows.ts | 4 +-
src/data/use-cases.ts | 104 -----------------------------------
src/pages/actors.astro | 2 +-
src/pages/agentos.astro | 9 ++-
src/pages/workflows.astro | 17 +++---
7 files changed, 16 insertions(+), 123 deletions(-)
delete mode 100644 src/data/use-cases.ts
diff --git a/HIDDEN.md b/HIDDEN.md
index d3f1891d..28be2930 100644
--- a/HIDDEN.md
+++ b/HIDDEN.md
@@ -42,7 +42,6 @@ Pages that render a TODO callout. These are live and indexed.
| `/actors/docs/http-api` | rivet repo |
| `/agentos/docs/software` | agentos repo |
| `/dynamic-apps/docs`, `/docs/concepts`, `/docs/quickstart` | dynamic-apps repo — whole vertical unwritten |
-| `/workflows/docs`, `/docs/concepts`, `/docs/quickstart` | workflows repo — whole vertical unwritten |
## Content parked, not published
diff --git a/src/data/agentSetupPrompt.ts b/src/data/agentSetupPrompt.ts
index 602a77e5..a226f635 100644
--- a/src/data/agentSetupPrompt.ts
+++ b/src/data/agentSetupPrompt.ts
@@ -45,7 +45,7 @@ export const AGENT_SETUP_PROMPTS = {
packageName: '@rivet-dev/workflows',
quickstartUrl: 'https://rivet.dev/workflows/docs/quickstart/',
docsUrl: 'https://rivet.dev/workflows/docs/',
- issuesUrl: 'https://github.com/rivet-dev/actors/issues',
+ issuesUrl: 'https://github.com/rivet-dev/workflows/issues',
}),
'dynamic-apps': buildAgentSetupPrompt({
product: 'Dynamic Apps',
diff --git a/src/data/faqs/workflows.ts b/src/data/faqs/workflows.ts
index 50d16a11..3d9b8ca9 100644
--- a/src/data/faqs/workflows.ts
+++ b/src/data/faqs/workflows.ts
@@ -7,7 +7,7 @@ export const workflowsFaqs: FaqItem[] = [
{
question: "What is a Rivet Workflow?",
answerHtml:
- 'An Actor run handler wrapped in workflow(). Each ctx.step() records its result, so a run resumes after restarts and deployments.',
+ 'An Actor defined with workflow() from @rivet-dev/workflows. Each ctx.step() records its result, so a run resumes after restarts and deployments.',
},
{
question: "Does Workflows guarantee exactly-once execution?",
@@ -32,6 +32,6 @@ export const workflowsFaqs: FaqItem[] = [
{
question: "Is Rivet Workflows open source?",
answerHtml:
- 'Yes, Apache 2.0. Read the implementation on GitHub.',
+ 'Yes, Apache 2.0. Read the implementation on GitHub.',
},
];
diff --git a/src/data/use-cases.ts b/src/data/use-cases.ts
deleted file mode 100644
index 3bc6e7c6..00000000
--- a/src/data/use-cases.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-import {
- faClock,
- faDatabase,
- faDiagramNext,
- faFilePen,
- faGamepad,
- faGaugeHigh,
- faGlobe,
- faNetworkWired,
- faRobot,
- faRotate,
- faUserRobot,
-} from "@rivet-gg/icons";
-
-export interface UseCase {
- title: string;
- href: string;
- icon?: any;
- description?: string;
-}
-
-export const useCases: UseCase[] = [
- {
- title: "AI Agent",
- href: "/docs/use-cases/ai-agent",
- icon: faRobot,
- description:
- "Build durable AI assistants with persistent memory and realtime streaming",
- },
- {
- title: "Realtime Docs",
- href: "/docs/use-cases/crdt",
- icon: faFilePen,
- description:
- "Collaborative documents with CRDTs and realtime synchronization",
- },
- {
- title: "Workflows",
- href: "/docs/use-cases/workflows",
- icon: faDiagramNext,
- description:
- "Durable multi-step workflows with automatic state management",
- },
- {
- title: "Local-First Sync",
- href: "/docs/use-cases/sync",
- icon: faRotate,
- description: "Offline-first applications with server synchronization",
- },
- {
- title: "Bots",
- href: "/docs/use-cases/bots",
- icon: faUserRobot,
- description: "Discord, Slack, or autonomous bots with persistent state",
- },
- {
- title: "Per-Tenant Databases",
- href: "/docs/use-cases/database",
- icon: faDatabase,
- description:
- "Isolated data stores for each user with zero-latency access",
- },
- {
- title: "Multiplayer Game",
- href: "/docs/use-cases/game",
- icon: faGamepad,
- description:
- "Authoritative game servers with realtime state synchronization",
- },
- {
- title: "Background Jobs",
- href: "/docs/use-cases/background-jobs",
- icon: faClock,
- description:
- "Scheduled and recurring jobs without external queue infrastructure",
- },
- {
- title: "Rate Limiting",
- href: "/docs/use-cases/rate",
- icon: faGaugeHigh,
- description: "Distributed rate limiting with in-memory counters",
- },
- {
- title: "Geo-Distributed Database",
- href: "/actors/docs/general/edge",
- icon: faGlobe,
- description:
- "Store data close to users globally with automatic edge distribution",
- },
- {
- title: "Agent Orchestration & MCP",
- href: "/docs/use-cases/ai-agent",
- icon: faRobot,
- description:
- "Build AI agents with Model Context Protocol and persistent state",
- },
- {
- title: "Multiplayer Apps",
- href: "/docs/use-cases/game",
- icon: faNetworkWired,
- description:
- "Build realtime multiplayer applications with authoritative state",
- },
-];
diff --git a/src/pages/actors.astro b/src/pages/actors.astro
index c47e58b9..b127c077 100644
--- a/src/pages/actors.astro
+++ b/src/pages/actors.astro
@@ -75,7 +75,7 @@ const compositionLayers = [
{
name: 'Workflows',
logo: productLogos.workflows.src,
- body: 'Adds recorded steps, retries, and replay for work that outlives a process. Every workflow is an Actor run handler.',
+ body: 'Adds recorded steps, retries, and replay for work that outlives a process. Every workflow is an Actor.',
href: '/workflows/',
},
{
diff --git a/src/pages/agentos.astro b/src/pages/agentos.astro
index 6aa3ceb1..19ec8ab0 100644
--- a/src/pages/agentos.astro
+++ b/src/pages/agentos.astro
@@ -116,17 +116,16 @@ await bob.prompt({
{ key: 'workflows', fileName: 'workflow.ts', code: `// server.ts
import { agentOS, setup } from "@rivet-dev/agentos";
import pi from "@agentos-software/pi";
-import { actor, queue } from "rivetkit";
-import { workflow } from "rivetkit/workflow";
+import { queue, workflow } from "@rivet-dev/workflows";
const vm = agentOS({ software: [pi] });
-const codeReview = actor({
+const codeReview = workflow({
state: { status: "pending" },
queues: {
review: queue<{ approved: boolean; feedback?: string }>(),
},
- run: workflow(async (ctx) => {
+ run: async (ctx) => {
let feedback = "";
for (let revision = 1; revision <= 3; revision++) {
@@ -164,7 +163,7 @@ const codeReview = actor({
}
throw new Error("Review rejected after 3 revisions");
- }),
+ },
});
export const registry = setup({ use: { vm, codeReview } });
diff --git a/src/pages/workflows.astro b/src/pages/workflows.astro
index e3278cce..61ce8eb5 100644
--- a/src/pages/workflows.astro
+++ b/src/pages/workflows.astro
@@ -46,16 +46,15 @@ import {
SITE_SECTION_CLASS,
} from '@/components/marketing/layout';
-const WORKFLOW_SOURCE_ROOT =
- 'https://github.com/rivet-dev/rivet/tree/main/rivetkit-typescript/packages/rivetkit/src/workflow';
-const ACTOR_EXAMPLE_ROOT =
- 'https://github.com/rivet-dev/rivet/blob/main/examples/docs/actors-workflows';
+const WORKFLOW_SOURCE_ROOT = 'https://github.com/rivet-dev/workflows';
+const WORKFLOW_EXAMPLE_ROOT =
+ 'https://github.com/rivet-dev/workflows/blob/main/examples/docs/actors-workflows';
const BUG_FIXER_SOURCE_URL_ROOT =
'https://github.com/rivet-dev/agentos/blob/main/examples/workflows';
const INSPECTOR_IMAGE =
'https://assets.rivet.dev/website/marketing/screenshots/rivet-workflows-inspector.png';
-const actorsRoot = requireDocsRoot('actors');
+const workflowsRoot = requireDocsRoot('workflows');
const workflowsProduct = getProduct('workflows');
if (!workflowsProduct) {
@@ -86,14 +85,14 @@ const progressTabs = await Promise.all([
sourceTab({
key: 'invoice',
label: 'invoice.ts',
- root: actorsRoot,
+ root: workflowsRoot,
file: 'examples/docs/actors-workflows/simple-workflow/index.ts',
documentationUrl: '/workflows/docs/quickstart',
- sourceUrl: `${ACTOR_EXAMPLE_ROOT}/simple-workflow/index.ts`,
+ sourceUrl: `${WORKFLOW_EXAMPLE_ROOT}/simple-workflow/index.ts`,
}),
]);
-// What every run gets from the Actor it lives in. These double as the
+// What every run gets from being an Actor. These double as the
// differentiators against cluster-based durable execution, stated positively.
const actorInheritance = [
{
@@ -129,7 +128,7 @@ const compositionLayers = [
{
name: 'Actors',
logo: productLogos.actors.src,
- body: 'Every workflow is an Actor run handler. Actors provide identity, state, queues, and scheduling.',
+ body: 'Every workflow is an Actor. Actors provide identity, state, queues, and scheduling.',
href: '/actors/',
},
{