doctor runs the checks a publish runs — the ones on your own files and the ones Tappify answers
— so a failure lands on your machine rather than on a release.
✗ is an error and the
command exits non-zero; a line marked ! is a warning, which is printed and does not stop a
release.
--fix names each edit it made and makes only three kinds: it adds the scopes your contributions
require, rewrites src/tappify.d.ts, and adds the $schema line. It never edits a component, a
schema or your listing. A scope owners read a reason for is added with a placeholder
justification, and scopes.justification_placeholder then holds the release until you have
written the real sentence.
What stops a release
Generate and check types with the registry reachable: offline, the generator leaves the host
event payloads out, and
types.stale compares the file byte for byte, so a correct file written
online reads as stale under --offline and --fix rewrites it without those payload types.
What it warns about
--skip-build leaves the accessibility pass out, and Tappify’s own note that it cannot run the
pass without a browser comes back as an a11y warning in its place.
The checks Tappify answers
doctor sends your manifest, along with the expose list your last build produced, and folds the
answers into the same checklist. A rule that runs in both places is reported once. What only
Tappify can answer is this, and every one of them stops a release except storage.pii, which is a
warning:
Every one of them is on
Review and what gets checked, with what a reviewer looks for
alongside.
--offline leaves that half out and reads the registry it last cached. publish runs doctor
itself before it uploads, without your build, lint, tests and accessibility pass — it has just run
your build — and --skip-doctor leaves even that out; the second line of the publish output says
which happened.
One check belongs to publish alone: it asks <base url>/tappify/health for a 200 within three
seconds, on every base url your manifest declares, and stops there if one does not answer. See
Deploy your server.