Compiler, Runtime, And Generated Client
Understand how Inspire, your exposed functions, and the generated TypeScript packages fit together.
Inspire schema + exposed functions
-> compiler
-> runtime artifact + schema outputs
-> @kizaki/schema
-> @kizaki/clientThe important developer takeaway is that Kizaki keeps schema, auth, authorization, and generated app surfaces aligned.
What The Compiler Actually Connects
The compiler is the bridge between:
- the schema you declare in Inspire
- the runtime contract the platform enforces
- the TypeScript packages your app imports
That bridge matters because otherwise these surfaces drift apart over time. In Kizaki, they are intended to be generated from the same source model.
Why Exposed Functions Matter Here
Your server functions are part of the compilation story too. Kizaki scans the functions you mark with /** @expose */, validates them against the schema, and generates the client package your frontend uses.
That means the browser does not need a hand-maintained REST client or a separate API typing layer.
The Generated Packages
@kizaki/schemagives you typed entity objects@kizaki/clientgives you typed exposed-function calls
Those packages are how the schema becomes a concrete developer experience rather than only a runtime configuration file.
How Kizaki Works
Kizaki turns one schema into a full application workflow: database shape, runtime rules, generated client surfaces, and deployment artifacts.
Authorization Enforcement
Authorization rules are enforced by the platform at the data layer, not recreated independently in each handler and client.