Skip to content

vicentereig/plausible-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plausible CLI

Crates.io Repo Docs License
CI Dependencies Coverage

A Rust-native command-line interface that surfaces the Plausible Analytics APIs with a workflow tailored for humans and automation agents.

📝 Primary documentation lives in docs/llms-full.txt. It is authored in GitHub Flavored Markdown for LLMs and humans alike, and covers setup, command schemas, prompt snippets, and safety guidance.

Requirements

  • A Plausible Analytics API key with access to the desired sites.
  • Rust 1.90+ only if building from source.

Installation

Homebrew (recommended)

brew tap vicentereig/tap
brew install plausible

Cargo

cargo install plausible-cli --git https://github.com/vicentereig/plausible-cli.git --locked

Binary Download

Download pre-compiled binaries for macOS (arm64/amd64) and Linux (arm64/amd64) from GitHub Releases.

First-Run Setup

Add your Plausible API key and friendly metadata with the accounts command:

plausible accounts add \
  --alias personal \
  --api-key PLAUSIBLE_API_KEY_HERE \
  --label "Personal Dashboard" \
  --email [email protected]

# Optionally set a different default account later
plausible accounts use --alias personal

Accounts are stored under ~/.config/plausible-cli/ with secrets held in a per-account key file when the OS keyring is unavailable. On macOS/Linux the CLI attempts to store credentials in the system keychain by default; you can opt out via PLAUSIBLE_CLI_DISABLE_KEYRING=1 for ephemeral or CI environments.

Usage Examples

List every site visible to the current account:

plausible sites list

Fetch aggregate visitors and pageviews for the last 7 days, returning JSON:

plausible stats aggregate \
  --site example.com \
  --metric visitors \
  --metric pageviews \
  --period 7d \
  --output json

Request a daily timeseries of visitors for the same site:

plausible stats timeseries \
  --site example.com \
  --metric visitors \
  --period 7d \
  --output json

Slice traffic by referrer with sorting and pagination:

plausible stats breakdown \
  --site example.com \
  --property visit:source \
  --metric visitors \
  --sort visitors:desc \
  --output json

Check realtime visitors currently online:

plausible stats realtime --site example.com --output json

Inspect the remaining API budget and next reset windows:

plausible status
plausible status --output json

Generate a sample custom event payload:

plausible events template
plausible events template --output json

Inspect the background queue (helpful when scripting bursts of API calls):

plausible queue inspect --output json
plausible queue drain   # block until all jobs finish

Multi-Account Workflow

  • plausible accounts list – show all configured aliases (with default marker).
  • plausible accounts export – print non-secret metadata (table) or --json for machine consumption.
  • plausible accounts budget --alias <alias> [--daily <limit>|--clear] – set or clear a per-account daily request ceiling (defaults to hourly quota).
  • Use --account <alias> on any command to override the default.

Machine-Friendly Mode

Every command accepts --output json so that automation agents can parse a stable structure. See docs/llms-full.txt for tips on driving the CLI from an LLM.

Project Docs

  • docs/architeture.md – architecture overview and diagrams.
  • docs/000-v1-plan.md – roadmap, milestones, and testing strategy.
  • docs/llms-full.txt – LLM-oriented reference and prompt snippets.

Distribution

Pre-compiled binaries are available for macOS (arm64/amd64) and Linux (arm64/amd64). See Installation for all options. The Homebrew formula at vicentereig/homebrew-tap is updated automatically on each release.

Testing

Run the suite (includes unit, async integration, and HTTP mocks):

cargo fmt
cargo clippy --all-targets --all-features -- -D warnings
cargo test

Contributing

Issues and PRs are welcome. Please run the commands in the Testing section before submitting changes. For new features, add coverage via unit/async tests and update the documentation when behavior changes.

About

Give Codex/Claude access to your Plausible Accounts

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •