aeo.js CLI
Site package that audits AI search visibility and generates llms.txt with markup. Includes a CLI, MCP server and skill.
- 146 ★ on the repository
- Last commit
Extended access
Why this level
- Generation writes files into the project and build directory, and the audit queries the given site over the network.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/aeo-jsDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Generation writes files into the project and build directory, and the audit queries the given site over the network.
This is third-party code. Review the repository files before installing.
What it does
aeo.js prepares a site for answers from AI search engines such as ChatGPT, Claude and Perplexity. `npx aeo.js check mysite.com` returns a readiness score from 0 to 100, an access matrix for 23 AI crawlers, content citability and a list of fixes. `npx aeo.js init` detects the framework and creates `aeo.config.ts`. Generation produces `robots.txt` with AI bot rules, `llms.txt`, `llms-full.txt`, `sitemap.xml`, `ai-index.json`, `schema.json`, `docs.json` and markdown versions of pages. Ready plugins cover Astro, Next.js, Vite, Nuxt, Remix, SvelteKit, Docusaurus, VitePress and other bundlers. Agents get a skill and an MCP server.
Who it is for. Site owners and SEO specialists who want to appear in ChatGPT, Claude and Perplexity answers and check it without signing up.
Good fit when
- You need to know whether `robots.txt` blocks AI crawlers and get a fix list.
- A Next.js or Astro site ships without `llms.txt` or structured data.
- An agent edits a draft and scores its citability before publishing.
- Docusaurus or VitePress documentation is handed to AI assistants as markdown.
Not a fit when
- The goal is classic Google or Yandex rankings: the package targets AI visibility.
- The site cannot change and no build plugin can be added: only the one-off `check` remains.
- You need a citation guarantee: the package improves access and structure, but the model decides.
Example request
Audit example.com for AI search readiness and show the three main fixes without changing the project.Limitations
The score and fix list describe access and markup, not real inclusion in model answers. Generation writes files into the build directory or `public/`, so commit a clean state before the first run and review the output. Plugins cover different bundlers with different automation: some need a separate `postBuild` step. The MCP tool `generate_aeo_files` writes files into the project. Statistics about zero-click searches in the README have no sources.
How to disable. Remove the plugin or `postBuild` step, delete `aeo.config.ts` and the generated `llms.txt`, `ai-index.json` and `schema.json`. The MCP entry is removed with your agent command.
FAQ
How do I audit a site without installing?
Run `npx aeo.js check mysite.com`. It returns a score from 0 to 100 and a fix list. The same report is available in the browser at check.aeojs.org.
Which files does aeo.js create?
`robots.txt` with AI bot rules, `llms.txt`, `llms-full.txt`, `sitemap.xml`, `ai-index.json`, `schema.json`, `docs.json` and markdown versions of pages.
How do I add the MCP server to Claude Code?
Run `claude mcp add aeo -- npx -y aeo.js mcp`. The agent gets `audit_url`, `score_citability` and `generate_aeo_files`.
Is it safe to run init inside an agent?
Yes, without a terminal the command asks no questions. The `--yes` flag creates the configuration and the full file set at once.
What does the Human and AI widget show?
A switch between the normal page and its markdown version for AI. Framework plugins insert it automatically.
Discussion
No questions or reviews yet.
Related
CLI toolsA CLI, Python library and MCP server that scores how ready a site is to be cited by ChatGPT, Perplexity and AI Overviews
An open AEO platform: the cnry CLI, MCP and a web UI track a site's visibility in AI answers and run a technical audit
E-GEO scores a page on 10 GEO criteria, rewrites it and writes JSON-LD so AI search engines cite the site more often
Free Rust CLI and MCP for SEO and GEO: a 64-rule audit, site crawls, AI crawler, schema and llms.txt checks.
A free Claude Code plugin for SEO, AEO and GEO: site audit, content planning, schema markup, link checks and llms.txt.
MCP server and AEO analyst skill: an agent reviews brand visibility in ChatGPT, Gemini, Claude and Perplexity answers.
README in short
The package installs through npm and the check runs through `npx` without installation. The README lists integrations for Astro, Next.js, Vite, Nuxt, Remix, SvelteKit, TanStack Start, Docusaurus, Eleventy, VitePress, Angular and Webpack, `defineConfig` settings and a link to the online checker.
README badge
Original SKILL.md
--- name: aeo description: Make a website discoverable by AI answer engines (ChatGPT, Claude, Perplexity, Gemini). Use when a project needs llms.txt, AI-crawler robots.txt, sitemap.xml, JSON-LD schema, ai-index.json, or an AI-readiness score. Works via npx, framework plugins (Next, Astro, Vite, Nuxt, SvelteKit, Remix, Angular), or an MCP server. --- # aeo.js — Answer Engine Optimization Open-source library that makes sites readable and citable by AI answer engines. npm: `aeo.js` · docs: https://aeojs.org · repo: https://github.com/rubenmarcus/aeo.js ## When to use - The user wants their site to show up in ChatGPT, Claude, Perplexity or Google AI answers. - The project is missing `llms.txt`, `robots.txt` AI-crawler rules, `sitemap.xml`, or JSON-LD structured data. - The user asks "is my site visible to AI?" or wants an AI-readiness score. ## Quick audit (no install) ```bash npx aeo.js check https://example.com ``` Prints a 0-100 GEO readiness score across six categories: AI Access (16), Agent Protocols (30), Schema Presence (15), Content Structure, Meta Quality, Citability (13 each). Use `--json` for machine-readable output. Audit before and after any change to measure the delta. ## Set up a project ```bash npx aeo.js init --url https://example.com --yes ``` Detects the framework from package.json, writes `aeo.config.ts` prefilled with title/url/description, and generates the full file set in one run: `robots.txt` (with AI bot rules), `llms.txt`, `llms-full.txt`, `sitemap.xml`, `ai-index.json`, `schema.json`, `docs.json`, per-page markdown. Interactive without `--yes`; never prompts when stdin is not a TTY, so it is safe inside agents and CI. ## Framework integration | Framework | Import | |-----------|--------|