CLI
ANALYTICS.

Built for CLI Builders.

Understand package adoption and how your CLI is actually used.

Local-first Open source Self-hostable

See your product from ecosystem to runtime.

Analytics are measurable traces your product leaves behind: in a registry or on a machine. Secchi collects the two families and reads them together.

■ Ecosystem

Packages · Registries · GitHub · Dependencies

adoption · health · releases · security

■ CLI runtime

CLI

usage · versions · failures · performance

SECCHI
ECOSYSTEM health 86 / 100 Maintenance 20/20 Community 5/15 Documentation 11/15 Releases 15/15 CLI RUNTIME invocations · p95 invocations p95 ms

Illustrative

■ Package analytics

Understand your ecosystem.

Registry metadata, downloads, releases, dependencies, security and GitHub activity in one view. Across PyPI, npm, crates.io, Homebrew, Go, and CRAN. In the terminal, in reports, or over MCP for coding agents.

  • PyPI
  • npm
  • crates.io
  • Homebrew
  • Go
  • CRAN
$ uvx --from secchi secchi dashboard duckdb
Read docs
~/work

      
  • Health score 0–100, graded A–F
  • Adoption trend across 30d / 90d / 1y
  • Security advisories surfaced automatically

■ CLI usage analytics

Understand how your product is actually used.

Instrument your CLI to understand feature usage, versions, failures and performance without collecting command values or application data.

It only ever records command and flag names, never the values you typed, never error messages. Anything that looks like a secret, an API key, a token, an email, is redacted before it's ever written to disk.

$ cargo install secchi-cli-analytics
let analytics = Analytics::builder("myctl")
    .cli_version(env!("CARGO_PKG_VERSION"))
    .allow_values(["format"])
    .start();

let matches = cli::build().get_matches();
let outcome = run(&matches);

analytics.record_exit(&matches, exit_code, error_class);
Read docs
~/work

      
  • Local-first: useful with zero network, zero account
  • Redaction runs even on values you explicitly allow through
  • Off with one switch: SECCHI_ANALYTICS=0
  • Delete everything: secchi analytics purge

A local TUI dashboard for this data ships next.

From analytics to answers.

The same analytics, wherever the decision happens: in your terminal, in a report, on a pull request, inside a coding agent, or as JSON for everything else.

$ uvx --from secchi secchi dashboard duckdb

The local TUI. Health, adoption, versions, and security in one screen. Click to enlarge.

Analytics coverage

CLI analytics, from ecosystem to execution.

■ Ecosystem analytics

  • Package adoption
  • Downloads
  • Dependencies
  • Releases
  • GitHub activity
  • Security

■ CLI usage analytics

  • CLI usage
  • Version adoption
  • Errors
  • Performance
  • Human vs. agent

Built in the open, from the first commit.

Run Secchi locally, explore the source, or help shape what comes next.