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

@eightstate/escli

v0.26.0

Published

`escli` is the Eightstate command line for agent-friendly AI workflows: auth, models, usage, docs, fetch, search, social search, audio transcription, and image generation/editing.

Readme

escli

escli is the Eightstate command line for agent-friendly AI workflows: auth, models, usage, docs, fetch, search, social search, audio transcription, and image generation/editing.

Version 0.5.0 is the TypeScript/Bun cutover. The CLI now ships as native binaries and uses the stable {ok,data,error,meta} JSON envelope.

Install

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/eight-state/eightstate/main/cli/install.sh | bash

Set ESCLI_VERSION, ESCLI_RELEASE_BASE_URL, or ESCLI_INSTALL_DIR to override the release or install location. Default install dir: $HOME/.local/bin.

Windows PowerShell

irm https://raw.githubusercontent.com/eight-state/eightstate/main/cli/install.ps1 | iex

Default install dir: $env:LOCALAPPDATA\eightstate\bin.

npm

pnpm add -g @eightstate/escli
# or npm install -g @eightstate/escli

The native archive installers are the primary zero-runtime path. npm is supported for JS environments.

Quickstart

escli auth login
escli models
escli docs get react "useEffect cleanup" --tokens 5000
escli search "Cloudflare Workers 2026 limits"
escli fetch https://example.com --objective "pricing"
escli audio transcribe meeting.mp3 --speakers
escli image generate "a sunset over the ocean" --open

Short aliases include i g/i e, a s, d g, au t, m, s, f, and u.

JSON envelope

Use --json --quiet for automation. stdout is exactly one JSON object plus a trailing newline.

Success:

{"ok":true,"data":{},"error":null,"meta":{"schema_version":"1","escli_version":"0.5.0","command":"version","warnings":[]}}

Failure:

{"ok":false,"data":null,"error":{"code":"auth.required","message":"not authenticated","remediation":{"command":"escli auth login"}},"meta":{"schema_version":"1","escli_version":"0.5.0","command":"models","warnings":[]}}

This replaces the pre-0.5 {success,...} shape.

Exit codes

| Code | Meaning | |---:|---| | 0 | success | | 1 | non-retryable service/client error | | 2 | usage, parsing, validation, missing argument | | 4 | auth or permission failure | | 5 | not found | | 8 | transient/retryable network, rate-limit, timeout, or service-unavailable failure |

Manifest and schema

escli --describe                 # compact full manifest
escli --schema                   # full manifest with schemas
escli --schema docs              # docs namespace only
escli --schema docs get          # docs get leaf only

Manifest output is contract-validated and includes command ids, aliases, args, flags, examples, error codes, input schemas, and output envelope schemas.

Command shape

Commands use noun verb [args] [options]. Root leaves (models, search, fetch, social, usage, version) remain single-token. Namespaced topics (auth, audio, docs, image) print a usage envelope and exit 2 when called without a verb.

Environment

Common variables:

| Variable | Description | |---|---| | ESCLI_API_KEY | API key override | | ESCLI_BASE_URL | OpenAI-compatible endpoint override | | ESCLI_GATE_URL | Eightstate gate endpoint override | | ESCLI_CONFIG_DIR | config directory, default ~/.escli | | ESCLI_CACHE_DIR | cache directory | | service keys | OPENAI_API_KEY, PARALLEL_API_KEY, ASSEMBLYAI_API_KEY, TAVILY_API_KEY, CONTEXT7_API_KEY |

Credentials are stored in config.json under ESCLI_CONFIG_DIR with owner-only permissions where supported.