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

@anuragdev/nst

v0.1.0

Published

Copy-on-write Git workspaces for coding agents

Readme

nst

nst creates copy-on-write Git workspaces for coding agents. A new workspace starts with the source checkout's installed dependencies and environment files, but subsequent changes stay isolated.

Requires macOS, Node 20+, and a destination volume that supports copy-on-write file cloning.

Install

npm install -g @anuragdev/nst

The package installs a single nst executable.

Use

Run nst from inside a Git repository.

nst create agent/my-task      # new branch + isolated workspace
nst list                      # activity board for every workspace
nst editor agent/my-task      # open the workspace in your editor
nst test agent/my-task        # run tests in the isolated runtime
nst publish agent/my-task     # push the branch (--pr opens a pull request)
nst remove agent/my-task      # stop services and delete the workspace

To work on an existing branch or pull request instead of creating one:

nst checkout feature/existing
nst checkout pr:123

Pass --json to any command for machine-readable output. The full command surface — shadow testing, verification receipts, handoff capsules, causal diffs, knowledge salvage, managed services, previews — is documented in COMMANDS.md.

Configuration

Repositories can add nst.config.json for monorepo-specific artifacts, ports, services, and setup hooks:

{
  "envFiles": ["apps/*/.env.local"],
  "dependencyPaths": ["apps/legacy/node_modules"],
  "postCreate": {
    "command": "pnpm prisma generate && pnpm db:seed",
    "timeoutMs": 300000
  },
  "ports": [
    {
      "name": "frontend",
      "preferred": 5173,
      "env": "VITE_PORT",
      "originEnv": ["CORS_ALLOWED_ORIGIN"]
    },
    { "name": "api", "preferred": 8000, "env": "API_PORT" }
  ],
  "services": [
    { "name": "web", "command": "pnpm dev", "cwd": "apps/web", "stopTimeoutMs": 5000 }
  ],
  "runtime": {
    "env": {
      "DATABASE_SCHEMA": "databaseSchema",
      "QUEUE_NAMESPACE": "queuePrefix",
      "CALLBACK_URL": "callbackOrigin"
    }
  }
}

Every workspace receives ports distinct from the preferred main-checkout ports, plus a persisted runtime profile (compose project name, database schema, queue prefix, socket and cache directories). originEnv can override an API's allowed CORS origin with the workspace frontend origin.

A configured postCreate command runs once, from the new workspace, after dependencies, env files, and ports are ready. Because hooks are executable code committed to the repository, nst prints the exact command and asks for approval on the first interactive run; non-interactive agents opt in with --trust, and --no-post-create skips the hook entirely.

Coding-agent integration

nst integrate codex     # AGENTS.md block
nst integrate claude    # WorktreeCreate/WorktreeRemove adapters + .claude/settings.json
nst integrate copilot   # .github/copilot-instructions.md
nst docs agent          # print the stable agent contract

Every integration is idempotent and supports --dry-run --json. Agents get a versioned JSON envelope with stable error codes, retryability, remediation, and stable exit-code families — see the agent-safe contract in COMMANDS.md.

How it fits together

  • Isolation. Each workspace is a Git worktree with cloned dependencies, its own ports, and its own runtime namespace, so parallel agents never collide on a database, port, or compose project.
  • Coordination. nst intent declare reserves symbols and contracts before editing; nst shadow run --pairs merges every workspace pair in memory and optionally tests the mergeable cells.
  • Evidence. nst verify stores tamper-evident receipts of what was run against exactly which inputs; nst explain records why a changed range exists.
  • Continuity. nst handoff export hands one agent's context to the next, and nst discard --salvage keeps the useful dead-end knowledge from a failed attempt without keeping its code.

Development

pnpm install
pnpm build
npm link

npm link installs a global symlink to this checkout rather than copying it. To rebuild the linked CLI whenever local source files change, keep this running in another terminal:

pnpm dev

Other scripts: pnpm typecheck, pnpm test, pnpm test:watch.

Source architecture

Production code is organized by product domain rather than kept in a flat src/ directory:

  • core/ contains durable state and shared protocol primitives.
  • workspaces/, lifecycle/, and git/ own workspace creation, recovery, and repository operations.
  • integrations/, services/, and observability/ own external tools, processes, and live state presentation.
  • coordination/, evidence/, delivery/, and preview/ own their complete feature workflows.
  • cli/ contains small command registrars; the root cli.ts is only the executable bootstrap.

Each domain exposes an index.ts public surface. Domain internals import concrete sibling modules so dependency direction remains visible and barrel cycles do not become hidden runtime behavior.