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
CLI

Extended access

Why this level

  • Generation writes files into the project and build directory, and the audit queries the given site over the network.
All reasons and checks

rubenmarcus/aeo.js

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/aeo-js

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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.

CLI tools

A CLI, Python library and MCP server that scores how ready a site is to be cited by ChatGPT, Perplexity and AI Overviews

CLIExtended access1.3KRepository stars

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

CLIExtended access208Repository stars

E-GEO scores a page on 10 GEO criteria, rewrites it and writes JSON-LD so AI search engines cite the site more often

SkillExtended access218Repository stars

Free Rust CLI and MCP for SEO and GEO: a 64-rule audit, site crawls, AI crawler, schema and llms.txt checks.

CLIExtended access100Repository stars

A free Claude Code plugin for SEO, AEO and GEO: site audit, content planning, schema markup, link checks and llms.txt.

PluginExtended access80Repository stars
Official

MCP server and AEO analyst skill: an agent reviews brand visibility in ChatGPT, Gemini, Claude and Perplexity answers.

MCP serverExtended access238Repository stars

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 |
|-----------|--------|

Report a problem