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

silo-drift-cli

v0.1.5

Published

Run Silo prompt drift checks from your terminal and CI

Downloads

747

Readme

silo-drift-cli

Run Silo prompt drift checks from your terminal and CI.

Silo is already deployed and ready to use. Install the CLI, sign in to the app to create an API key, and connect it to your hosted Silo workspace.

Website: https://silo-frontend.onrender.com/

npm package: https://www.npmjs.com/package/silo-drift-cli

Production backend API: https://silo-siix.onrender.com

Published name is silo-drift-cli (short names like silo-cli / silo-prompt are taken or blocked on npm).

Install

npm install -g silo-drift-cli

The CLI talks to the Silo HTTP API only. Most users can point it at the deployed Silo app, set SILO_API_BASE_URL and SILO_API_KEY, and start using it right away.

Update

npm update -g silo-drift-cli
# or install the latest explicitly
npm install -g silo-drift-cli@latest

Local development (this repo)

cd packages/cli
npm install
npm run build
npm link

Auth Setup

silo login
silo doctor

Config precedence:

  1. CLI flags like --url and --key
  2. SILO_API_BASE_URL and SILO_API_KEY
  3. ~/.config/silo/config.json
  4. Default URL https://silo-siix.onrender.com

Command Reference

silo login --url https://silo-siix.onrender.com --key silo_...
silo doctor
silo whoami
silo setup [--repo <path>] [--force]
silo revert-setup [--repo <path>] [--force] [--dry-run]
silo suites list
silo suites get <suite-id>
silo suites create --name "Support Eval" --model gpt-4o-mini
silo prompts list --suite <suite-id>
silo prompts get <prompt-id>
silo test-cases list --suite <suite-id>
silo test-cases create --suite <suite-id> --file cases.json
silo test-cases generate --suite <suite-id> --prompt-key refund --candidate "..." --baseline "..." --count 10
silo run --suite <suite-id> --prompt refund --candidate 12 --test-input "Where is my refund?"
silo run --suite <suite-id> --prompt refund --candidate 12 --test-case-id tc1 tc2 --preset ci --stream
silo runs list --limit 10
silo runs get <run-id>
silo runs explain <run-id>
silo gate --run-id <run-id> --config thresholds.json
silo sync --base origin/main --head HEAD
silo dashboard

silo setup

Creates a skeleton git layout at the repo root (no suite or prompt content):

  • silo/silo.yml — empty suites / suite_definitions, default defaults, empty prompt_meta
  • silo/prompts/.gitkeep — so silo/prompts/ is tracked before you add *.prompt files
  • .github/workflows/silo-prompt-pipeline.yml — GitHub Actions job that runs npx silo-drift-cli sync with SILO_API_BASE_URL and SILO_API_KEY secrets

Use --repo for a path other than the current directory; use --force to overwrite an existing silo.yml or workflow file.

silo revert-setup

Removes what silo setup added: .github/workflows/silo-prompt-pipeline.yml and the entire silo/ directory.

If there are any files under silo/prompts/ besides .gitkeep, or silo/silo.yml has non-empty suites, suite_definitions, or prompt_meta, the command prints a warning and exits with code 1 unless you pass --force (to delete that content). Use --dry-run to preview removal; with populated content, --dry-run shows the warning without exiting 1.

CI Example

npx silo-drift-cli login --url "$SILO_API_BASE_URL" --key "$SILO_API_KEY"
npx silo-drift-cli sync --base origin/main --head HEAD

Publish a new version to npm

Each release that changes the published package needs a new semver in package.json, a build, then npm publish.

  1. Bump version in packages/cli/package.json (for example 0.1.00.1.1 for a fix/feature release).
  2. From packages/cli: npm install (updates the lockfile if needed), then npm run build.
  3. Log in once per machine: npm login (npm account with publish rights to silo-drift-cli).
  4. Publish: npm publish --access public (scoped packages need --access public once; this name is unscoped but the flag is harmless).

After publish, consumers run npm install -g silo-drift-cli@latest or npm update -g silo-drift-cli to get the new command.

cd packages/cli
npm run build
npm publish

Run npm view silo-drift-cli first; if the name is taken, pick another unscoped name in package.json and try again.