Dokkit Claim a name soon

DokkitCheck a file

Check a file

Write a dokkit.toml and see, as you type, whether Dokkit accepts it, what it will watch, and what would be sent.

Try a file

Write or paste a dokkit.toml. The program's own checking code, built for the browser, reads it as you type. Nothing leaves this page.

Start from
dokkit.toml

Loading the checker

What dokkit apply sends JSON

On your machine

The browser can read the file, but only your machine can make the checks. On the machine, dokkit check does both, and prints exactly what would be sent. It needs no server.

dokkit check dokkit.toml
dokkit.toml: upload-portal, 3 check(s)
  ok   http           http://localhost:8080/
       would send {"at":"2026-10-19T05:52:28.4482109Z","check":"http","service":"upload-portal","state":"ok","type":"state","value":11}
  ok   tcp            port 8080
       would send {"at":"2026-10-19T05:52:28.4487947Z","check":"tcp","service":"upload-portal","state":"ok","type":"state","value":0}
  worker             reported by the app, not run here

It exits with 1 when a check fails, so a build can stop on it.

What it refuses

The same rules the server applies when the file is declared, in its words, and three more about what the program reads itself.

  • A file without schema = 1, or a [service] without an id.
  • A service.id with anything but lower-case letters, digits, dots, dashes and underscores.
  • A service.kind that is not service, job, dependency or app.
  • A job without an id, or a schedule that is not a cron line. @reboot has no time and is refused.
  • A fail_after that is not a whole number from 1 to 100, and times that are not like 30s or 5m.
  • A key_env that does not start with DOKKIT_STATS_, a stats address that is not http or https, and a logs path that leaves the file's folder.

Next: