vigie.

Agent-first, cookieless web analytics in one static binary.
There is no dashboard — there is a living globe.

# the whole product in five lines
vigie site add example.com
vigie serve --port 8090
<script defer src="https://your-host/vigie.js" data-site="example.com"></script>
vigie stats overview --site example.com --since 7d
{"ok":true,"data":{"pageviews":1234,"visitors":410,"bounce_rate_pct":38,…}}

Built for agents

JSON-only stdout, semantic exit codes, an embedded guide manual, help-json introspection, sha256-verified update. Complies with the agent-first CLI specs.

Cookieless by construction

Visitor = sha256(secret+day+site+ip+ua). The salt rotates daily, the raw IP is never stored. No cookie banner needed.

Agents are users too

vigie track --name deploy --actor ci — server-side events with no browser. Your cron job is a first-class analytics stream.

The dashboard is an artifact

vigie snapshot --publish renders a self-contained HTML report and pushes it to hart → a live, shareable, disposable URL.

One file, one binary

~60 KB native binary (MFL), SQLite storage, vigie prune retention. No Node, no ClickHouse, no Docker.

The full query surface

Timeseries, 9 breakdown dimensions, filters everywhere, goals with conversion rates, ordered funnels with drop-off — CLI and Bearer-gated HTTP API.

Realtime + the living globe

vigie stats live is the last-5-min feed. snapshot --globe --publish --live turns it into a self-refreshing world map hosted on hart — canvas-only, zero external assets.

Session explorer & retention

sessions list/show: per-session rollups + the full ordered event trail. Weekly retention cohorts over identified users (window.vigie.identify()).

Hosted, if you want it

vigie.intrane.fr — org tokens, 10k events/mo free, then metered per-use via a péage wallet (€1/100k, no subscription). Self-hosting stays MIT-complete.

Vitals & errors, auto-collected

The snippet ships LCP/FCP/CLS/INP/TTFB (p50/p75/p90 via stats vitals) and groups JS errors + rejections (stats errors) — nothing to configure.

Install

curl -fsSL https://github.com/javimosch/vigie/releases/latest/download/vigie -o vigie
chmod +x vigie && ./vigie guide   # the manual is in the binary

Linux x86_64; needs libssl3 + libsqlite3 (stock on any distro). Or build from source with machin: ./build.sh.

The 60-second tour

vigie stats timeseries --site s --bucket hour --since 24h
vigie stats referrers --site s --country FR --limit 5
vigie goal add --site s --name signup --kind event --match signup
vigie funnel add --site s --name onboard --steps "/,signup,/welcome"
vigie funnel show --site s --name onboard
vigie stats live --site s                       # realtime: last 5 minutes
vigie sessions list --site s --since 24h        # session explorer
vigie stats retention --site s --weeks 8        # cohorts over identified users
vigie stats vitals --site s                     # LCP/FCP/CLS/INP/TTFB p50/75/90
vigie stats errors --site s                     # grouped JS errors
vigie snapshot --site s --since 30d --publish   # → live hart URL
vigie snapshot --site s --globe --publish --live # → the living globe
vigie feedback "loved it" --kind praise
vigie update                                    # sha256-verified, atomic, .bak rollback

Remote (hosted) — same verbs over HTTP

curl -H "Authorization: Bearer $TOKEN" \
  "https://vigie.intrane.fr/api/stats/overview?site=example.com&since=7d"