# Schemas and type files

Files for editors and AI agents. Point your editor's TOML or JSON support at the schemas, and your
Lua language server at the type files, and you get completion and errors as you type.

| File | What it's for |
|---|---|
| [router.schema.json](https://steonmod.com/docs/files/router.schema.json) | `router.toml`: a router's blocks, binds, launch and setup recipes |
| [scenario.schema.json](https://steonmod.com/docs/files/scenario.schema.json) | scenario and Experience files |
| [package.schema.json](https://steonmod.com/docs/files/package.schema.json) | `package.toml` inside a `.fusion` file |
| [router-api.lua](https://steonmod.com/docs/files/router-api.lua) | types for `router.lua` (the `Router` and `Game` tables), for lua-language-server |
| [fusion-addons.d.luau](https://steonmod.com/docs/files/fusion-addons.d.luau) | types for addons and Devices (Luau), for luau-lsp |
| [example-unreal.router.toml](https://steonmod.com/docs/files/example-unreal.router.toml) + [.lua](https://steonmod.com/docs/files/example-unreal.router.lua) | a complete router on the Unreal kit |
| [example-unity.router.toml](https://steonmod.com/docs/files/example-unity.router.toml) | a complete router on the Unity kit |
| [example-sdk.router.toml](https://steonmod.com/docs/files/example-sdk.router.toml) | a router for a game that links the guest SDK |

## Using the schemas

With the **Even Better TOML** extension (VS Code), add this first line to a `router.toml`:

```toml
#:schema https://steonmod.com/docs/files/router.schema.json
```

`fusion-cli router check` checks the same rules and more (it runs the router), so the schema is a
help while typing, not the last word.

## For AI agents

Every docs page is also plain Markdown at its address plus `.md`
(`https://steonmod.com/docs/router-api.md`), and
[steonmod.com/llms.txt](https://steonmod.com/llms.txt) lists them all. Give your agent the
[agent pack](https://steonmod.com/docs/agent-pack) first: it says which pages to read for which kind of game.
