Static check
Scans your views and flags unknown controllers and misused target / value / action. It exits non-zero on errors, so you can wire it into CI.
Inspector
Scans your views and flags unknown controllers and misused target / value / action. It exits non-zero on errors, so you can wire it into CI.
Lists every available controller with its target / value / action / event — the public API, generated from the implementation.
--json emits a machine-readable check report or the raw manifest — for editors, pre-commit hooks, and MCP tools.
The catalog is generated from the implementation, never hand-written, so the docs never drift from what ships.
Stimeo UI ships a small command-line tool, stimeo, in the package. It checks whether your markup uses stimeo--* correctly and prints the catalog of available controllers.
Still early. For now it ships a minimal feature set — checking and catalog output — as a private preview. More is on the way.
npx stimeo check app/views
It recursively scans .html, .htm, and .html.erb files for unknown controllers and misused target / value / action. When it finds an error, the command exits with a non-zero status code, so wiring it into CI stops the build whenever something is wrong.
npx stimeo catalog
Lists every available controller with its target / value / action / event. The list is generated from the implementation, so it is never hand-maintained and always matches the code. The output looks like this:
Stimeo UI catalog — 101 controller(s)
stimeo--dialog
targets: trigger, dialog
actions: close, closeOnBackdrop, open
stimeo--tabs
targets: tab, panel
actions: onKeydown, select
…
Add --json and either command returns machine-readable JSON:
npx stimeo check --json app/views
npx stimeo catalog --json
check --json: a check report — per-file diagnostics plus a summary.catalog --json: the controller list as-is (the raw manifest).The exit code is 1 when an error is found, so editors, pre-commit hooks, and MCP tools can read the JSON while CI relies on the exit code.
The catalog the command prints and the API contract tables on each component page are built from the same source (dist/inspector/manifest.json). That source is generated from the implementation, so the docs never drift from what ships. See each component's API contract in the catalog for details.