Run aeogeo deterministic checks in CI on every PR.
GitHub Action
The aeogeosite/action GitHub Action runs the same check engine as the CLI and MCP — deterministic, no LLMs on your content.
Workflow example
name: AEO check
on:
pull_request:
paths: ['**/*.html', '**/*.md', 'site/**']
jobs:
aeogeo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: aeogeosite/action@v1
with:
api_key: ${{ secrets.AEOGEO_API_KEY }}
paths: site/dist
Inputs
api_key(required): your aeogeo API key. Store it as the repository secretAEOGEO_API_KEY.paths: files, folders or globs to lint, space-separated. Default**/*.html **/*.htm **/*.md.content_types: comma-separated content types to filter checks by, such asblog,landing. Empty runs every applicable check.fail_on:error(default) orwarn, the lowest severity that fails the job.allow_stale:truelets a run use an expired cached ruleset when the API is unreachable.cli_version: theaeogeoCLI version from npm. Pinned by default, so a new release never changes your runs unannounced.
Failed checks appear as annotations on the pull request. The full report is uploaded as the aeogeo-report artifact and returned in the json_report output for a coding agent to read.
Running it locally
The same checks run on your machine: npx aeogeo lint site/dist --api-key $AEOGEO_API_KEY. Without a key, scan a public page for free with the scan_url MCP tool.
Self-scan gate (this site)
aeogeo.site CI fails if the built static HTML scores below grade A on its own scanner.