Inspector

Check your markup with the stimeo CLI

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.

Catalog output

Lists every available controller with its target / value / action / event — the public API, generated from the implementation.

JSON output

--json emits a machine-readable check report or the raw manifest — for editors, pre-commit hooks, and MCP tools.

Always matches the code

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.

Check your markup

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.

Print the catalog of controllers

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

…

JSON output (tooling / MCP)

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.

Where the catalog comes from

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.