You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<svgviewBox="0 0 680 146"role="img"aria-label="An HTTP request reaches your Node.js server. Your middleware runs first, then the Dynamic Apps router sends the request to the fetch handler in that app's agentOS VM."style="width:100%;height:auto;max-width:680px;display:block;margin:2.5rem auto 1rem;">
Include `webServerSkill` and `rivetActorsSkill` from `@rivet-dev/dynamic-apps`
63
-
in the model prompt. They describe the supported TypeScript server layout and
64
-
Rivet actor integration. [View the complete AI App Builder example](https://github.com/rivet-dev/dynamic-apps/tree/main/examples/apps-ai-builder).
65
-
66
-
A failed build or incomplete artifact write never replaces the active release.
67
-
A successful call returns only after the immutable artifact is persisted and
68
-
activated; it does not mean a request-serving replica was warmed.
69
-
70
-
With core, this is the `publishRelease` guarantee: make the complete artifact
71
-
durable first, atomically replace the active release second, and resolve only
72
-
when `loadActiveRelease` can read it. The default adapter provides those
73
-
semantics through its per-app Rivet actor.
74
-
75
-
`appId` must contain 1–63 lowercase letters, numbers, or hyphens. Pass exactly
76
-
one of `source` or `files`.
80
+
A failed build never replaces the active release. A successful call resolves
81
+
only after the new release is persisted and activated. Activation is
82
+
all-or-nothing and rolls out instantly: warm VMs load the new release on the
83
+
next request.
77
84
78
85
## Configuration
79
86
80
-
```ts
81
-
awaitdeployApp({
82
-
appId: "my-app",
83
-
source,
84
-
regions: ["atl", "fra"],
85
-
scaling: {
86
-
minReplicas: 0,
87
-
maxReplicas: 128,
88
-
targetConcurrency: 8,
89
-
},
90
-
});
91
-
```
92
-
93
87
| Option | Default | Meaning |
94
88
| --- | --- | --- |
95
-
|`regions`| State actor's current region | Stored compatibility metadata; it does not move direct HTTP execution |
96
-
|`createNamespace`| none | Deprecated compatibility option; every app always receives its own stable namespace |
97
-
|`scaling.minReplicas`|`0`| App-defined actor runner setting; compatibility metadata for direct HTTP |
98
-
|`scaling.maxReplicas`|`128`| App-defined actor runner setting; compatibility metadata for direct HTTP |
99
-
|`scaling.targetConcurrency`|`8`| App-defined actor runner setting; compatibility metadata for direct HTTP |
100
-
101
-
Every app receives its own Rivet namespace. Locally, configure an Engine secret
102
-
token with permission to create namespaces. On Rivet Cloud, set
103
-
`RIVET_CLOUD_TOKEN` to a `cloud_api_*` token for the project; `deployApp()` uses
104
-
it to create the namespace and namespace-scoped actor credentials. Keep this
105
-
management token server-side. The deployment result includes the app's Engine
106
-
endpoint, namespace, pool, and publishable token for connecting to app-defined
107
-
actors.
108
-
109
-
Rivet Compute automatically uses the deployment's `.rivet.run/api/rivet`
110
-
callback. For another public host, set `DYNAMIC_APPS_CALLBACK_URL` to its
111
-
origin.
89
+
|`createNamespace`|`true`| Set `false` to disable namespace provisioning entirely. Unset keeps the default. Apps that use `rivetkit` require a namespace |
90
+
91
+
See [Connect to Rivet](/dynamic-apps/docs/connect) for credentials and
Pass the generated `files` to [`deployApp()`](/dynamic-apps/docs/deploy). If the
37
+
build fails, feed the diagnostics back to the model and deploy again. See
38
+
[Deploy](/dynamic-apps/docs/deploy) for the repair loop.
39
+
40
+
## Skills
41
+
42
+
Skills are prompt fragments exported by `@rivet-dev/dynamic-apps`. Each one
43
+
carries the instructions and a complete starter project for one kind of app, so
44
+
generated code compiles and serves on the first try more often.
45
+
46
+
| Skill | What the model learns |
47
+
| --- | --- |
48
+
|`webServerSkill`| The supported TypeScript Fetch-handler layout: `package.json`, `tsconfig.json`, and a Hono entrypoint with no application-owned listener. |
49
+
|`rivetActorsSkill`| The same layout plus Rivet Actors: durable state, actions, and HTTP routes backed by actors. |
0 commit comments