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

@estokad/cli

v0.1.6

Published

Customer-side CLI: estokad push, pull, diff, init, status.

Downloads

76

Readme

@estokad/cli

The customer-side CLI. Loads schemas/*.ts, compiles to JSON IR via @estokad/schema, and pushes to the management API.

Status

M1.2: init, push, status shipped. pull and diff land in M1.2b once the Library and editor surfaces are in.

Install (in a customer repo)

pnpm add -D @estokad/cli @estokad/schema
pnpm estokad init                  # scaffolds estokad.config.ts and schemas/

estokad init writes:

estokad.config.ts                  # workspace, region, apiUrl, paths
schemas/index.ts                   # re-export entry point
schemas/site-settings.ts           # tiny singleton, smoke test the loop
.estokad/.gitignore

Configure

Three sources, highest precedence first: CLI flags → env vars → estokad.config.ts.

| Setting | Env var | Default | | --------- | ------------------- | -------------------------------- | | workspace | ESTOKAD_WORKSPACE | (required) | | apiUrl | ESTOKAD_API_URL | (required) | | apiKey | ESTOKAD_API_KEY | (required, never in config file) | | region | ESTOKAD_REGION | eu-fra-1 | | schemas | — | ./schemas | | state | — | ./.estokad/schema-state.json |

The state file maps type/field names to UUIDs across runs so renames stay stable in the IR. Commit it so your team shares identity.

Commands

estokad init

Scaffolds the customer repo. --force overwrites existing files.

estokad push

$ estokad push
  workspace default @ http://localhost:3001
  ✓ loaded 12 definitions from ./schemas
  ✓ compiled to JSON IR (12 types)
  ✓ pushed to default@eu-fra-1 (12 types)
  ✓ state saved to ./.estokad/schema-state.json

Exit codes: 0 success · 2 config or schema-load error · 3 API rejected the push.

estokad status

$ estokad status
  estokad status
    workspace default @ http://localhost:3001
    region    eu-fra-1
    local     12 types · 7c8b...
    remote    12 types · 7c8b...
    drift     in sync

Local hash is a stable hash of the compiled IR. Remote hash is the join of every type's schema_hash from the API.

What this package does not do

  • File watching / hot reload — run estokad push explicitly.
  • --migrate prompts for breaking changes — M1.3 (server-side validation against existing entries) gates this.
  • Studio writeback to Git — Phase 2+ (the Studio's job, not the CLI's).

Documentation

Full reference at docs.estokad.com/cli and docs.estokad.com/schema.

License

Apache-2.0. Estokad is a Samarkand Industries OÜ product.