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

v4.40.0

Published

Agent-first open-source AEO operating platform - track how answer engines cite your domain

Downloads

12,211

Readme

Canonry

npm version Node.js >= 22.14

Agent-first AEO operating platform. Open source. Self-hosted.

  • Track citations across Gemini, ChatGPT, Claude, Perplexity, and local LLMs
  • Watch AI engines crawl and refer traffic via server-log ingestion — Cloud Run, Vercel, and the WordPress Traffic Logger plugin today
  • Diagnose against real traffic with built-in GSC, GA4, and Bing Webmaster
  • Execute fixes via WordPress, JSON-LD schema, and indexing submissions
  • Manage many clients declaratively — config-as-code YAML + cnry apply
  • Schedule recurring visibility checks AND traffic syncs, with webhook alerts on regressions
  • Generate client-ready HTML reports — cnry report <project>
  • Drive from your own agent via the 67-tool MCP adapter or webhooks
  • Or use Aero — Canonry's built-in agent that wakes up after every run

Every dashboard view has a matching CLI command and API endpoint. The CLI is the surface; the UI consumes the same API your agent does.

Canonry Dashboard

Run your first AI visibility check in 5 minutes

npm install -g @ainyc/canonry
cnry init
cnry serve

The CLI installs as cnry (short form) and canonry — the two are interchangeable.

Open http://localhost:4100/setup. A guided wizard walks you through provider keys, project setup, queries, and your first visibility check.

Prefer the terminal?

cnry project create my-site --domain example.com
cnry query add my-site "your first query" "second query"
cnry run my-site --wait
cnry evidence my-site
cnry insights my-site

If you get stuck

| Problem | Fix | |---------|-----| | No provider key configured | Grab a free Gemini key, set GEMINI_API_KEY, restart cnry serve. | | No results after a run | Visibility checks are async — check the Runs tab or use cnry run <project> --wait. | | Not sure what queries to test | The setup wizard auto-generates them by analyzing your site. | | npm install fails on node-gyp | Install build tools for better-sqlite3 (guide). |

Provider keys

| Provider | Key source | Env var | |----------|-----------|---------| | Gemini | aistudio.google.com | GEMINI_API_KEY | | OpenAI | platform.openai.com | OPENAI_API_KEY | | Claude | console.anthropic.com | ANTHROPIC_API_KEY | | Perplexity | perplexity.ai/settings/api | PERPLEXITY_API_KEY | | Local LLMs | Any OpenAI-compatible endpoint | LOCAL_LLM_URL |

Configure during cnry init, in the dashboard /settings, or as env vars.

Documentation

| | | |---|---| | Architecture & data model | docs/architecture.md · docs/data-model.md | | Aero — built-in agent | skills/aero/SKILL.md | | MCP — Claude Desktop / Cursor / Codex | docs/mcp.md | | Integrations | GSC · GA4 · Bing · WordPress · Server-side traffic (Cloud Run + Vercel + WordPress logs) | | Deployment — Docker, Railway, Render, systemd, Tailscale | docs/deployment.md | | API — 118+ endpoints | GET /api/v1/openapi.json (no auth) | | Skills bundle for Claude Code / Codex | cnry skills install (details) | | Roadmap & ADRs | docs/roadmap.md · docs/adr/ | | All docs | docs/README.md |

Requirements

Node.js ≥ 22.14.0. At least one provider API key.

Contributing

git clone https://github.com/ainyc/canonry.git && cd canonry
pnpm install && pnpm run typecheck && pnpm run test && pnpm run lint

See CONTRIBUTING.md.

License

FSL-1.1-ALv2. Free to use, modify, and self-host. Each version converts to Apache 2.0 after two years.