npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@overscore/cli

v0.31.0

Published

CLI for deploying Overscore dashboards and publishing analyses

Downloads

3,955

Readme

@overscore/cli

Command line tool for Overscore — build a dashboard locally with your AI coding agent, deploy it with one command, share a secure URL with your team.

Install

Nothing to install. Everything runs via npx:

npx @overscore/cli auth login

That opens a browser, you approve the device, and credentials are saved to ~/.overscore/config. You never handle an API key. Devices are listed and revocable in the hub under Settings → Agents & devices.

Requires Node 18.17 or later.

Day to day

open is the usual starting point. It sets the project workspace up if you don't have it, fetches the selected dashboard, and hands your AI tool the outer workspace root so project rules, skills, catalog, dbt, and every dashboard remain in view:

npx @overscore/cli open sales-dashboard --project acme
npx @overscore/cli dev       # supervised dev server, temporary auth
npx @overscore/cli deploy    # build, upload, go live

This launches or instructs your normal Codex, Claude Code, VS Code, or terminal environment. Overscore does not replace its profile, plugins, MCP servers, hooks, or authenticated connectors.

dev supervises the local Vite process tree. It prefers port 5173 for compatibility, asks the OS for a free loopback port if that port is busy, and accepts --port N when you need an exact port. The ready URL is printed only after child-owned Vite output and a loopback Vite probe agree. Child output is credential-redacted. POSIX shutdown verifies that the detached process group is gone; Windows makes bounded taskkill /T and /T /F passes while the root PID is still addressable, but a native Job Object remains the gate for guaranteed cleanup after an already-exited root. Cleanup failures are reported, and the temporary development key is revoked or allowed to expire if revocation fails. This remains an explicitly trusted developer workflow because the project's package scripts and Vite configuration are ordinary local code.

Workspace registrations are isolated by Hub environment, signed-in account, and immutable project ID. The outer folder also carries a non-secret immutable identity marker; a remembered path alone is never enough to write into or launch an agent against a deleted-and-recreated folder. Existing workspaces are backfilled only after a local dashboard ID matches the authenticated project's Hub dashboard set. If home set or home forget would ambiguously hit an older slug-only record, the CLI stops and prints the exact identity-qualified repair command instead of claiming a repair that open would ignore.

Overscore-owned generated files use a canonical workspace boundary and atomic writes: a linked folder or config file cannot redirect a pull, sync, scaffold, dbt-pack, or catalog write into another project. Explicit external linked dbt projects still work, and these checks do not alter the agent's own profile, plugins, MCP servers, hooks, or connectors.

The machine config at ~/.overscore/config is likewise opened without following links and updated transactionally. Login and logout change only Overscore-owned authentication fields, preserving unrelated configuration and never treating a Claude, Codex, Gmail, or MCP profile as an Overscore file.

Pull preserves local agent state (.claude, .agents, .codex), connector variables in .env*, and Overscore machine state. It publishes downloaded source from a private stage, records the exact remote bytes as its baseline, and retains the prior managed source under .overscore/pull-recovery/. A save made by Codex, Claude Code, VS Code, or another editor while pull is running is therefore detected or recoverable rather than silently treated as remote code. Fresh pulls recreate generic Claude/Codex entrypoints from the installed CLI and authenticated platform context, so private instructions never have to be embedded in a source archive.

Inside an immutable outer workspace, deploy, pull, sync, and analysis publish bind mutable slugs to the registered project/dashboard/analysis IDs before any source is replaced or uploaded. Reusing an old slug therefore stops with a repair message instead of silently switching clients or artifacts.

Your dashboard lands at https://{project}.overscore.dev/{dashboard}/.

Commands

| Command | What it does | |---|---| | auth / auth login / auth logout | check, create, or remove saved credentials | | open <slug> --project <slug> | set up or fetch a dashboard and hand off the outer workspace root | | dev [--port N] | start a supervised loopback dev server with temporary auth | | deploy | build and deploy the dashboard | | promote / rollback | move a staged deploy live, or revert to a previous version | | versions | list deploy history | | pull <slug> | pull source code from the hub | | list / projects | list dashboards in the project, or every project on your account | | query <sub> | manage dashboard queries — list, add, update, remove, run | | analysis <sub> | manage analyses — new, publish, pull, preview | | platform <sub> | sync platform rules and capabilities | | home list/set/forget | inspect or repair local workspace registrations | | install agent-skill --claude\|--codex | merge-install the owned Overscore router skill without touching unrelated skills | | install-skills | deprecated alias for the ownership-safe global Overscore router install | | upgrade | update the CLI |

Add --json for machine-readable output.

Queries

Dashboard queries are registered with the hub and executed server-side, so warehouse credentials never reach the browser or ship in your bundle:

npx @overscore/cli query add revenue_by_month "SELECT ..."
npx @overscore/cli query run revenue_by_month

Read them in your dashboard with useQuery.

Targeting another environment

The CLI talks to overscore.dev by default. Set OVERSCORE_HUB_URL to point a terminal somewhere else. It is per-terminal on purpose — a fresh shell goes back to production.

Docs

License

Proprietary. Part of the Overscore platform.