← Agentic analytics

The CLI for analytics.

Eyepup is headless, greppable, and pipe-friendly. Query visitor heat scores, friction patterns, and session evidence straight from the terminal. No dashboard. No tab-switching. Same data your coding agent reads.

Install

$ brew install eyepup
# or
$ npm i -g @eyepup/cli
# auth once
$ eyepup login

Commands.

eyepup ask <question>

Free-text question routed across visitor / funnel / anomaly buckets. Returns answer + evidence + ranked actions.

eyepup todo [--site] [--limit N]

Friction-pattern To-Do queue. Each row carries a paste-ready prompt for your coding agent.

eyepup visitors [--site] [--hours] [--flag] [--persona]

List recently profiled visitors with their LLM verdict. Filter by sensitivity flag, persona, or recency.

eyepup visitor <distinct_id>

Full dossier: heat, persona, friction points, recommended action, recent sessions.

eyepup hottest

Top 5 high-intent visitors right now.

eyepup tail

Stream new visitors as they arrive (polls every 3s). tail -f for your traffic.

eyepup status

Live visitor counts, channel breakdown, top sources.

eyepup funnels [--days 7|30]

AI-generated conversion funnels for a site.

eyepup acquisition [--days 7|30]

Channel + source breakdown.

eyepup log <title> [--kind] [--paths]

Log a change you just shipped. The dossier agent reasons about whether the next batch of visitors recovered or not.

eyepup done <pattern_id>

Mark a friction pattern resolved (auto-records to changelog).

eyepup install [--dry-run]

Auto-inject the tracking snippet into Next.js / Astro / Vite / Nuxt.

Compose like Unix

# send the top friction pattern straight to claude code
$ eyepup todo --limit 1 | claude -p
# watch new visitors + grep for high-intent
$ eyepup tail | grep high_intent
# log a change after every deploy (drop into your post-deploy hook)
$ eyepup log "$(git log -1 --pretty=%s)" --kind feature_ship

Used most with