Skip to contentView the source on GitHub

A second opinion for your Astro code

Your agent writes
bad Astro.
This catches it.

Ship the idea. Catch the mistakes. Find performance, accessibility, and security issues with diagnostics that tell you what to fix.

bashTry it without installing
pnpm dlx @santi020k/astro-doctor@latest
Project healthExample scan
74/100
C · Needs attention

Clear findings.
A place to start.

14 files scanned2 errors · 2 warnings
  • Sanitize raw HTMLno-set-html
    error
  • Describe the imageno-missing-alt
    error
  • Hydrate when neededno-client-load-overuse
    warn
  • Optimize your imagesuse-astro-image
    warn

Unresolved security errors cap the score at 74.

Built for Astro. Open source by design.CLI / ESLint / Editor / CI
Astro ESLint rules
13
Project audit checks
11
Project health score
0–100
Open source license
MIT

01 / The workflow

Good habits.
Where you already work.

One set of diagnostics, from your first local scan to the pull request that ships it.

02 / The diagnosis

Small details.
Real consequences.

Every finding names the problem, explains why it matters, and shows a better pattern.

Explore every rule

03 / A useful signal

Know where
your project stands.

A score you can act on. Review the findings, fix the cause, and keep new issues out of your next pull request.

S100Zero diagnostics
A90–99Excellent
B75–89Good
C60–74Fair
D40–59Needs attention
F0–39Critical

Each file starts at 100. Errors cost 25 points and warnings cost 10; file scores are clamped at zero, then averaged. Unresolved errors cap the result at 89, or 74 for security errors.

Understand the score

Your next commit can be better

Start with
a second opinion.

Run a scan. Read the findings. Ship with more confidence.

Get started
01

Scan your project

bash
pnpm dlx @santi020k/astro-doctor@latest
02

Teach your coding agent

bash
pnpm dlx @santi020k/astro-doctor@latest install

Ready for CI? Add the GitHub Action

Inspired by react-doctor by Million Software. The same care, built for the Astro ecosystem.