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

@ainyc/aeo-audit

v4.1.3

Published

The most comprehensive open-source Answer Engine Optimization (AEO) audit tool. Scores websites across 16 ranking factors that determine AI citation.

Readme

@Canonry/aeo-audit

npm version Node.js >= 20 License: MIT

The most comprehensive open-source technical AEO (Answer Engine Optimization) audit tool. Scores any website across 16 ranking factors that decide whether AI answer engines (ChatGPT, Perplexity, Gemini, Claude) will cite your content.

  • Score any URL across 16 AEO factors: structured data, llms.txt, E-E-A-T, extractability, snippet eligibility, and more. Scoring
  • Audit a whole site from its sitemap; per-page findings roll up into ranked fixes. Sitemap mode
  • Audit built HTML offline in CI: a next export / dist / out directory, no network. Static output
  • Detect the platform / CMS / framework: WordPress, Webflow, Shopify, Next.js, Vercel. Platform detection
  • Opt in to Lighthouse, geographic, and agent-skill factors. Optional factors
  • text, json, markdown, and agent output with CI-friendly exit codes. CLI reference
  • Agent-native output: a versioned schemaVersion, a slim --format agent decision, ranked structured fixes, and stable finding codes so integrations key on codes, not prose. API
  • Use as a library (API) or from Claude Code via the /aeo skill (skill).

Website: canonry.ai

Audit your site

npx @ainyc/aeo-audit https://example.com

Prints a scored report. Common variations:

# Every page in the sitemap, site-wide issues only
npx @ainyc/aeo-audit https://example.com --sitemap --top-issues

# JSON for CI/CD (exit 1 when score < 70)
npx @ainyc/aeo-audit https://example.com --format json

# A built directory, offline
npx @ainyc/aeo-audit ./out --base-url https://example.com

Full flag and mode reference: docs/cli.md.

From your AI coding agent

The package ships a Claude Code / ClawHub skill. Install it, then:

/aeo audit https://example.com

Modes: audit, fix, schema, llms.txt, monitor. See the skill guide.

Guard CI against regressions (GitHub Action)

Drop the AEO Audit Guard action into any pipeline to fail a PR when its AEO score drops, a page stops auditing, or a new structural defect appears — measured against a committed baseline. It builds your site, audits the HTML offline (no deploy, no secrets), and posts a sticky PR comment with the per-factor diff.

# .github/workflows/aeo.yml
on:
  pull_request: { branches: [main] }
permissions:
  contents: read
  pull-requests: write          # for the sticky comment
jobs:
  aeo-gate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v4
        with: { version: 9 }
      - uses: actions/setup-node@v4   # the engine needs Node >= 20
        with: { node-version: 20, cache: pnpm }
      - uses: Canonry/aeo-audit-action@v4
        with:
          build-command: "pnpm install --frozen-lockfile && pnpm run build"
          target: "./out"                      # your built HTML (Next export / Astro dist / Hugo public)
          base-url: "https://www.example.com"
          baseline-path: ".aeo/baseline.default.json"

The first run has no baseline, so it passes and tells you to seed one (npx @ainyc/aeo-audit@4 ./out --base-url https://www.example.com --format json > .aeo/baseline.default.json, then commit it). See the aeo-audit-action README for url/sitemap modes, baseline strategies, monorepos, tolerances, and every input.

Documentation

| Doc | What's in it | |---|---| | CLI reference | Every flag, mode, and exit code | | GitHub Action | The CI regression gate: inputs, baselines, monorepos | | Scoring | The 16 factors, weights, score bands | | Programmatic API | runAeoAudit, runSitemapAudit, runStaticAudit | | Skill | /aeo modes and install | | Changelog | Release history | | Roadmap | What's planned |

Contributing

git clone https://github.com/Canonry/aeo-audit.git && cd aeo-audit
pnpm install && pnpm run typecheck && pnpm run build && pnpm test && pnpm lint

See CONTRIBUTING.md.

License

MIT