CLI Tool
Plugin usage analytics for the softwaresoftware marketplace.
Anonymous telemetry ingest service that tracks install, uninstall, and resolve events. Monitor release health and understand how plugins are used.
Know what's happening with your plugins.
Publishing a plugin without telemetry is flying blind. You don't know if installs are succeeding, which plugins are popular, or if a new release is breaking things.
plugin-telemetry collects anonymous events from the softwaresoftware installer — installs, uninstalls, and dependency resolutions — and gives you a dashboard to monitor release health.
$ make start
starting on port 8902...
telemetry service running
$ curl localhost:8902/api/stats -H "Authorization: Bearer $TOKEN"
total events: 1,247
top plugin: gmail-mcp (312 installs)
error rate: 0.8%
How it works.
Ingest
The softwaresoftware installer sends anonymous events to the telemetry endpoint on each install, uninstall, and resolve. No PII is collected.
Store
Events land in a local SQLite database running in WAL mode. Fast writes, zero external dependencies, single-file storage.
Query
Authenticated API endpoints let you query events with filters, get summary stats, see top plugins, and track error rates over time.
Details
Anonymous by design
No usernames, no IPs, no device fingerprints. Events contain only the plugin name, event type, timestamp, and success/failure status.
FastAPI + SQLite
Built with FastAPI and uvicorn. SQLite in WAL mode for the datastore. Lightweight, fast, and runs anywhere Python does.
Three API endpoints
POST events anonymously, GET events with filters, or GET summary stats. Reads require a bearer token; writes are open.
Reverse-proxied via Nginx
Runs on localhost:8902, fronted by Nginx and Cloudflare Tunnel. Public endpoint at telemetry.softwaresoftware.dev.
Run it
Requires Python 3.10+ and pip.
Clone the repo
git clone https://github.com/softwaresoftware-dev/plugin-telemetry.git
Install dependencies
pip install -r requirements.txt
Start the service
make start