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

spock

v0.5.5

Published

Spock — prototype an authority backend and optional Uhura client as one inspectable project.

Readme

🖖 spock

It's only logical.

Spock is an early meta-framework for prototyping an authoritative application backend and an optional Uhura client as one inspectable project. The Spock language materializes the backend from tables, functions, and rules; Uhura defines the client experience; one command checks and serves both on one origin.

Install

# run without installing
npx spock new demo
cd demo
npx spock dev

# or install globally
npm i -g spock

This package bundles a prebuilt native binary for your platform (macOS arm64/x64, GNU-libc Linux x64, Windows x64), plus one shared Uhura Editor/Play web and WebAssembly sidecar. Alpine and other musl-based Linux distributions are not supported yet. There is no build step and no network access at install time.

Usage

spock new demo                   # create a full-stack project
cd demo
spock check                      # check manifest, backend, and client
spock dev                        # client-live, backend-pinned development host
spock start                      # fixed combined generation
spock init [PATH]                # adopt existing sources without moving them
spock new api --backend-only     # omit the optional Uhura client

# language-level commands
spock check backend/app.spock    # parse + check one program
spock run backend/app.spock      # materialize + serve (GraphQL, REST, /~studio)
spock gen types backend/app.spock        # emit TypeScript types
spock gen graphql-schema backend/app.spock

spock run serves REST at /rest/v1, the contract at /~contract, and the studio console at /~studio — all from the single binary, offline. It also serves GraphQL at /graphql/v1 when the contract derives an operation root; an empty authority reports that capability as unavailable instead of inventing a placeholder field.

For a project with a configured client, spock start and spock dev serve the Uhura Editor at / and integrated Play at /play. Both modes serve Spock Studio and the framework protocols on the same origin, with no cross-origin CORS grant by default. A backend-only project redirects / to Studio and returns structured 404 responses for client routes. The framework package's executable-bound shared sidecar provides the browser and WebAssembly assets offline.

In spock dev, valid client saves publish live. Invalid saves keep the last good client generation when one exists; an initially invalid client is reported as cold_invalid while Editor diagnostics remain available. Backend inputs—including the .spock source and referenced seed assets—and topology-affecting spock.toml saves are noticed and reported as restart-required, but never migrate, reseed, or replace the running database. Restarting the command reconstructs backend state from seed.

The one-command host does not merge language ownership. Spock remains the authority for durable facts, policy, and mutations; Uhura owns the client experience and non-authoritative UI-session state. spock.toml composes their roots, while each language keeps its own checker and configuration.

Links

  • Website: https://spock.sh
  • Documentation: https://spock.sh/docs/
  • Source: https://github.com/gridaco/spock
  • Issues: https://github.com/gridaco/spock/issues

MIT