Core Concepts
/
Manifest & OpenAPI
Manifest & OpenAPI
The two artifacts the compiler emits and what each one drives.
Every compile produces two files. Together they are the contract that the entire stack reads from.
schema.rastack.json — the manifest
The canonical manifest is the resolved model: resources, fields, relations, sync config, and admin config. It is what the Rust API and the admin site consume — there is no other server configuration.
7
{
"name"
:
"code"
,
"type"
:
"string"
,
"maxLength"
:
3
,
"unique"
:
true
},
8
{
"name"
:
"name"
,
"type"
:
"string"
,
"maxLength"
:
120
}
11
"search"
:
[
"code"
,
"name"
]
openapi.json — the contract
The OpenAPI document reproduces the /api/{app}/v1/{model}/ REST contract the codegen expects, plus custom extensions the runtime reads:
marks a property as a foreign key to another model
marks a model as local-first replicated
› Good to know
Because the OpenAPI shape is stable, the hooks codegen and the rastack runtime never need to change when you add or edit resources — only the emitted contract does.
Build with AI
Every page is available as clean Markdown for LLMs and coding agents. Point one at the files below to build on top of React API Stack.
React API Stack · alpha · built to scale to millions