Kizaki
Concepts

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/client

The 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/schema gives you typed entity objects
  • @kizaki/client gives you typed exposed-function calls

Those packages are how the schema becomes a concrete developer experience rather than only a runtime configuration file.

On this page