Rules

astro-doctor provides 13 ESLint rules for .astro files, covering performance, accessibility, security, and best practices. All rules are enabled in the recommended config at their default severities.

All rules

Rule Category Default Fixable
astro-doctor/no-client-load-overuse Performance warn
astro-doctor/use-astro-image Performance warn
astro-doctor/require-image-dimensions Performance warn
astro-doctor/no-missing-alt Accessibility error
astro-doctor/no-set-html Security warn
astro-doctor/no-public-secret-env Security warn
astro-doctor/prefer-class-list Best Practices warn
astro-doctor/no-blocking-script Performance warn
astro-doctor/no-unprocessed-script-surprises Performance warn
astro-doctor/no-missing-lang Accessibility error
astro-doctor/require-island-fallback Accessibility warn
astro-doctor/no-process-env Best Practices warn
astro-doctor/prefer-content-collections Best Practices warn

Rule categories

Performance

Rules that help you ship faster pages. Covers hydration strategies (no-client-load-overuse), image optimization (use-astro-image), image dimensions (require-image-dimensions), render-blocking scripts (no-blocking-script), and accidental script processing opt-outs (no-unprocessed-script-surprises).

Accessibility

Rules that ensure your pages are usable by everyone, including screen-reader users. Covers missing alt text (no-missing-alt) and missing language declaration (no-missing-lang), plus fallback content for islands (require-island-fallback).

Security

Rules that prevent common vulnerabilities. Covers unescaped HTML injection (no-set-html) and public environment variables that look like secrets (no-public-secret-env).

Best Practices

Rules that encourage idiomatic Astro patterns: conditional class composition (prefer-class-list), environment variable access (no-process-env), and content management (prefer-content-collections).

Customizing rules

Override any rule severity in your eslint.config.js:

import astroDoctorPlugin from '@santi020k/eslint-plugin-astro-doctor'

export default [
  astroDoctorPlugin.configs.recommended,
  {
    rules: {
      // Upgrade to error
      'astro-doctor/no-client-load-overuse': 'error',
      // Disable a rule
      'astro-doctor/prefer-class-list': 'off',
    },
  },
]
  
  

Or use a doctor.config.* file for CLI-only overrides.