npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

geoaeo

v0.3.0

Published

GEO and AEO artifacts for answer engines and agents

Downloads

671

Readme

geoaeo

geoaeo makes any app discoverable, quotable, and usable by AI answer engines and search — SEO, GEO, and AEO in one tool. It audits a site, scores it 0–100, and generates the files answer engines need. It ships a library, a CLI, and an MCP server, all at one version.

Install

npm install geoaeo

The package name is unscoped: geoaeo, geoaeo (CLI), and geoaeo-mcp (MCP server).

Create geoaeo.config.ts from geoaeo.config.example.ts. The config holds the site facts used by every generator.

Quick start

Audit a live site:

npx geoaeo audit https://example.com
npx geoaeo audit https://example.com --json

Audit a local build or source directory:

npx geoaeo audit ./apps/website

Scaffold a Next.js App Router site:

npx geoaeo init ./apps/website
npx geoaeo init ./apps/website --force

The command detects the framework — Next.js, Astro, SvelteKit, Nuxt, or Remix — and writes the routes that emit each artifact. Other directories receive static files. Existing files stay unchanged unless you pass --force.

Generate artifacts

npx geoaeo gen llms
npx geoaeo gen llms-full --output public/llms-full.txt
npx geoaeo gen jsonld --type faq
npx geoaeo gen webmcp
npx geoaeo gen sitemap --output public/sitemap.xml
npx geoaeo gen robots
npx geoaeo gen ogimage --output public/og.svg
npx geoaeo gen rss --output public/feed.xml
npx geoaeo gen hreflang
npx geoaeo gen mdmirror

The generators use the same config as the generated framework routes. The JSON-LD generator supports software, product, faq, breadcrumb, organization, website, article, howto, person, and review kinds.

Gate a build on the score

Use --ci in a pipeline to fail when a site drops below a minimum score:

npx geoaeo audit https://example.com --ci --min-score 85

The command exits non-zero when the score is below the threshold.

Humanize copy

Run a report for Markdown and JSX files:

npx geoaeo humanize 'content/**/*.md' --check

Rewrite prose in place:

npx geoaeo humanize 'src/**/*.tsx' --write

The humanizer keeps YAML frontmatter, code fences, JSX tags, imports, class names, and expressions. It checks for em dashes, AI vocabulary, filler, hype, fake-depth tails, and title-case headings.

MCP setup

Use the stdio server in an MCP client such as Claude Code or Cursor:

{
  "mcpServers": {
    "geoaeo": {
      "command": "npx",
      "args": ["geoaeo-mcp"]
    }
  }
}

The server exposes audit, gen, and humanize tools.

You can also run it through the CLI:

npx geoaeo mcp

Commands

| Command | Purpose | | --- | --- | | audit <url-or-dir> | Score the site and list missing artifacts. | | init [dir] | Add Next.js routes or static artifacts. | | gen <artifact> | Print one generated artifact or write it to a file. | | humanize <glob> | Check or rewrite prose files. | | mcp | Run the MCP server over stdio. |

Development

npm test
npm run typecheck
npm run build