Check that every file the site points at exists
check_assetsConfirms every asset and internal link referenced by a site exists, reporting file:line for failures. Audits CSS theme tokens to flag variables only defined inside a dark-mode media query.
Instructions
Follows every image, stylesheet, script, icon and internal link in the site and confirms the file is really there. Reports file:line for anything that is not.
Catches the case-sensitivity trap specifically: a file that resolves on a Mac because macOS ignores capitalisation, and 404s the moment the site is published to a Linux host. That one cannot be found by looking at the site in a browser on the machine that built it.
Also audits the stylesheet theme contract, because var(--token) is a reference too. A custom property defined only inside @media (prefers-color-scheme: dark) has no value in the state most visitors are in.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ignore | No | Folder or file names to skip. Defaults cover node_modules, .git, dist, build and friends. | |
| directory | Yes | Full path to the site folder, for example /Users/brian/Sites/chess-lessons. | |
| check_links | No | Also follow internal <a href> links to other pages. Default true. | |
| check_theme | No | Also audit the CSS theme contract. Default true. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fix | No | ||
| why | No | ||
| tool | Yes | Which tool produced this. | |
| theme | No | ||
| counts | No | ||
| status | Yes | pass = checked and clean. fail = checked and found problems. skipped = nothing was measured. error = the tool could not run. | |
| problem | No | ||
| headline | Yes | One sentence verdict, safe to show a non-technical user. | |
| problems | No | ||
| directory | No | ||
| error_code | No | Set only when status is "error". | |
| files_scanned | No | ||
| references_checked | No |