Your Cloudflare Worker, reviewed against the config you actually deploy
Paste wrangler.jsonc — or wrangler.toml — plus whichever of your
entrypoint, Durable Object classes, generated types and package.json you have. You
get a readiness verdict, a check-by-check table, the binding map in both directions, the
findings that matter with a corrected fragment each, a hardened config, and the commands to
prove it worked.
Both examples ship with a saved model run, so you can see the whole review — including the hardened wrangler config — without signing in and without spending a credit.
What this does, and what it does not
The prescan is real parsing, not a keyword search. wrangler.jsonc is read as JSONC
by a character scanner, so a // inside a string is not mistaken for a comment;
wrangler.toml is read as TOML with nested table paths, so
[[durable_objects.bindings]] lands where it belongs. Every declared binding is
pulled out by type and cross-referenced against every env.X the code reads, in both
directions, so a binding you use but never declared and a binding you declared but never use are
different flags. A secret read from env that is absent from the config is
recognised as correct — that is where secrets belong — and turns into a reminder to
confirm wrangler secret put actually ran, not a false alarm about a missing
binding. Everything the prescan finds is handed to the model as facts it must reconcile, and the
review is checked against them afterwards — if the model skips a flag, this page says so.
It reads; it does not run anything, it never deploys, and it never reaches your account. This is
a review of the text you pasted, not a load test, a dependency CVE scan or a substitute for
wrangler deploy --dry-run — which is the last command every review here ends with.
A secret you paste is a secret you should rotate: the review is told to name it rather than
repeat it, and this page checks the returned config for any value it echoed back anyway.
Nothing to hand? Load the ,
a Worker with a 2023 compatibility_date, a secret in plain vars and a
module-level cache, or the ,
which is mostly right and wants a second opinion. Both replay a saved run for free.