Developers
Build once. Every workspace can install it.
An app is metadata and, when it needs one, code. The CLI scaffolds, tests, packs and publishes it; the kernel does the rest.
The command line
Everything from a new app to a published version.
- zanfira init my-app
- Scaffold an app: manifest and metadata
- zanfira dev --workspace acme
- Run a local kernel, Studio and the workspace
- zanfira generate types
- Typed clients from your metadata
- zanfira lint
- Check metadata before it is promoted
- zanfira test
- Run the app's scenarios and permission cases
- zanfira pack && zanfira publish
- Build a signed package and publish it
The TypeScript SDK
Typed records, a query builder, realtime and sign-in. It refreshes tokens once under concurrency and retries only what is safe to retry.
import { ZanfiraClient, Query } from "@zanfira/client";
const client = new ZanfiraClient({ baseUrl, workspace: "acme" });
await client.signIn("acme", email, password);
// Unpaid invoices over 1,000, newest first,
// as the signed-in person is allowed to see them.
const page = await client.query(
new Query("acme.billing.sales_invoice")
.where({
status: { eq: "Unpaid" },
grand_total: { gte: "1000" },
})
.orderBy("created_at", "desc"),
);
Every way in, generated from the same metadata
REST and OQL
Records, queries, batch, import and export — with exact decimals and cursor paging.
GraphQL
A schema generated per person: a field you cannot read is not in your schema at all.
Realtime
Subscribe to a query and receive diffs, including when a record leaves your view.
MCP
Every Object and action as a tool an agent can call, within the caller's permissions.
WebAssembly functions
Extensions in any language that targets the Component Model, with capabilities and resource limits.
Packages
An app is metadata, functions and UI in one signed archive that the registry reviews before anyone installs it.
Documentation
The documentation ships with the source, in the docs directory. The revenue share for publishers is a proposal: 85% up to the first million dollars a year, then 80%, and 90% for templates and components.
-
Getting started
docs/getting-started.md -
Concepts: metadata, permissions, workflows, CEL, OQL
docs/concepts/ -
Building an app
docs/apps/building-an-app.md -
Publishing to the marketplace
docs/apps/publishing.md -
The API reference
docs/api/README.md -
The TypeScript SDK
docs/sdk/typescript.md