The surface
Platform code is imported throughzitejs/* aliases. They’re generated into your workspace from its schema
and workflows, which is why they know your table and workflow names:
Workflows can also receive inbound webhooks, and the workspace’s roles and row-level
rules live in
zite.permissions.json.
A workflow
A backend workflow is one file. It reads the database through the typed client, and the frontend calls it with a generated, typed caller:Who writes it
An agent connected to the Zite MCP scaffolds apps, writes the code, and publishes them from a cloud sandbox. The output is not a black box — it’s the monorepo above, which you can read, review, and edit like any other TypeScript project.Don’t confuse the two clients. The
zite client from zitejs/db is
generated inside a Zite app. The Zite client imported from the package root is for calling the
Database API from outside Zite with an API key — see the
JavaScript SDK.Next
Project structure
How a workspace is laid out, and which files are generated.
Database client
Query and mutate your tables with the typed
zite client.