Skip to content

AINYC/canonry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

346 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Canonry Canonry canary icon

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 today, more sources coming
  • 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 + canonry apply
  • Schedule recurring visibility checks AND traffic syncs, with webhook alerts on regressions
  • Generate client-ready HTML reports — canonry 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
canonry init
canonry serve

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

Prefer the terminal?

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

If you get stuck

Problem Fix
No provider key configured Grab a free Gemini key, set GEMINI_API_KEY, restart canonry serve.
No results after a run Visibility checks are async — check the Runs tab or use canonry 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 canonry 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 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 canonry 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.