Audit Project
audit_projectAudit a codebase directory to catch cross-file design inconsistencies and accessibility issues that single-file linting misses, returning ranked findings with file:line references.
Instructions
Audit a real codebase instead of a pasted snippet: point it at a directory and it walks the design source, runs the design/accessibility lint over every file, and scores the whole thing for consistency — how many distinct colours, type sizes, radii, shadows and spacings the project actually uses, and which colours are indistinguishable duplicates. Returns findings ranked worst-file-first with file:line, plus an explicit list of what it did not look at. It reads source and does not measure anything: it loads no page, renders nothing, takes no screenshot, and no finding is or can be a rendered-output result. Returns markdown plus structured output: findings (rule, severity, message, fix, doc, file, line), a severity summary, a machine-readable notVisible list of what it could not check, and a scan block saying how many files and bytes were actually read, which files were skipped for size, which could not be opened, and whether the file or byte cap was hit — check that before trusting any absence in findings. It runs design_lint's rules and the consistency count, and nothing else: run audit_security, audit_generic_design, audit_seo_geo and audit_performance on the same directory for theirs. A missing or non-directory path is returned as an error result, not as an empty audit. Cross-file drift is the thing a single-file lint cannot see, which is the point of this tool. Reads only the directory you name; makes no network call. Pair with measure_screenshot for the rendered result and audit_ux_copy for the words.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Directory to audit. Absolute paths are strongly preferred — a relative path is resolved against the server's working directory, which is usually not your project folder. | |
| extensions | No | Override which file extensions are scanned, e.g. ['.tsx','.css','.js']. Replaces the default list rather than adding to it, so name every extension you want read, each with a leading dot — 'js' matches nothing and the audit comes back empty, where '.js' works. Defaults to .css, .scss, .sass, .less, .html, .htm, .jsx, .tsx, .vue, .svelte, .astro — that whole list, read from the array the audit actually uses rather than restated here; .js and .ts are excluded by default because most are logic, not UI. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scan | Yes | What the scan reached. Read it before trusting any absence claim: a capped scan looked at part of the project. | |
| summary | Yes | Counts by severity. Always agrees with `findings` — it is derived from the same list. | |
| findings | Yes | Every finding, in the order the markdown report lists them. | |
| notVisible | Yes | What this audit structurally could not check, one limitation per entry. Read it as a peer of `findings`: silence on a subject named here is this tool's reach, not a clean result. Nothing any of these tools reports is measured. |