CLI reference — Kata docs
Kata docs

CLI reference

@kata-framework/cli ships a kata binary with three commands.

bun add -d @kata-framework/cli
bunx kata --help

kata build <glob>

Parse .kata files and write compiled .kson.json to an output directory.

kata build "scenes/**/*.kata" --out dist/kson
FlagDefaultPurpose
--out <dir>dist/ksonOutput directory
--config <path>kata.config.jsonConfig file path
--prettyoffPretty-print JSON output

Output layout preserves source directory structure. scenes/intro/prologue.katadist/kson/scenes/intro/prologue.kson.json.

kata watch <glob>

Same as build, but re-runs on file change. Useful in development alongside your UI dev server.

kata watch "scenes/**/*.kata"

kata graph <glob>

Visualize scene connectivity. Two output formats, one analysis flag.

kata graph "scenes/**/*.kata" --format dot > graph.dot
kata graph "scenes/**/*.kata" --format json
kata graph "scenes/**/*.kata" --lint
FlagValuesPurpose
--formatdot | jsonOutput format (default dot)
--lintFail if there are orphan scenes or dead-end choices
--root <id>Start reachability analysis from this scene id

--lint exits non-zero on problems, so you can gate CI on it:

- run: bunx kata graph "scenes/**/*.kata" --lint

dot output pipes into Graphviz:

kata graph "scenes/**/*.kata" --format dot | dot -Tsvg > scenes.svg

kata.config.json

Resolved from CWD. CLI flags take precedence.

{
  "glob": "scenes/**/*.kata",
  "out": "dist/kson",
  "pretty": false,
  "root": "intro"
}

Exit codes

CodeMeaning
0Success
1Parse error or lint failure
2Config error