datum-cloud/Site Scrub
AI-assisted SEO & meta review for static sites. Scans built HTML with Cheerio, sends a compact report to an AI model (Claude, GPT, or Gemini), posts a sticky PR comment on pull requests and opens a weekly audit issue on scheduled/manual runs.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| provider | AI provider: 'anthropic' (default), 'openai', or 'gemini'. | no | anthropic |
| api-key | API key for the selected provider. | no | "" |
| anthropic-api-key | Deprecated — use `api-key` (kept for backward compatibility with provider: anthropic). | no | "" |
| base-url | Optional API base URL override (e.g. an OpenAI-compatible gateway like OpenRouter or Groq together with provider: openai). | no | "" |
| site-url | Production origin of the site (e.g. https://www.example.com). Used to recognise internal links and render absolute links in the report. | yes | — |
| dist-dir | Directory containing the built HTML output. | no | dist |
| pages-dir | Source directory whose files map 1:1 to routes (used for changed-file detection and broken-link validation). | no | src/pages |
| content-dir | Content-collection directory whose files map to routes (used for changed-file detection). | no | src/content |
| scan-mode | 'auto' (changed-only on pull_request, full otherwise), 'changed-only', or 'full'. | no | auto |
| config-file | Optional path to a JSON config with excludePaths / excludeFiles / excludeFilePatterns. | no | "" |
| broad-change-pattern | Optional regex; when a changed file matches it, the PR scan is skipped as a "broad change". Defaults to an Astro-oriented pattern (layouts, components, styles, config). | no | "" |
| model | Model id override (defaults to the model pinned in the action for the selected provider). | no | "" |
| max-pages | Cap on pages analyzed (0 = unlimited). | no | 0 |
| github-token | Token used to post the PR comment and manage the weekly audit issue. | no | ${{ github.token }} |
Outputs
no outputs