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

@volter/twin

v0.1.0

Published

Local twins of SaaS APIs — the kernel + control plane: append-only event log, projection, mirror/simulator/fork modes, egress write-ledger, connectors, and the operator control plane (status/plan/lease/refs/queue/fork). Point your real vendor SDK at a fai

Readme

@volter/twin

The kernel + control plane that the vendor twins build on. It is the shared layer of the twins project: the uniform way every twin is driven (the controlPlane namespace), plus the optional data-plane libraries a twin may reuse. It does not make twins implement their vendor alike — each @volter/twin-<vendor> pack presents its own vendor's exact API on top of this. CLI: volter-twin.

The model

  • Events (events.jsonl): append-only, idempotency-keyed observations — facts pulled or confirmed from the real vendor. Replays append nothing; conflicting payloads under one key throw.
  • Actions / transaction commits (actions.jsonl): append-only local writes. They project into visible state but do not pollute the observed-event log; undo is a later revert/cancel commit.
  • Projected state: a twin's read model is fold(events) + apply(active actions), suppressing a local projection once a push is confirmed by an observed vendor event.
  • Push / egress ledger: selected local actions are replicated to the real vendor idempotently; the ledger records action → attempt/result → confirmation.
  • Shadow state + deltas: pollers fold the event log into per-subject field state and append only changed fields.
  • Connectors (runConnectorPoll / runConnectorSweep): cursor/subject poll runners owning the sync invariants.
  • Control plane (the controlPlane namespace): status, plan, push (+ phases), lease, refs/checkpoints, the queue lifecycle, and fork operations (rebase/merge/cherry-pick/revert/reset) — the one uniform surface for driving any twin.
  • Validation (volter-twin validate / validateWorld): twin integrity — egress reconciliation + schema conformance.

One twin, three operations (not "modes"): pull reality, write local actions (unless started read-only), fork the local commits — like pull/commit/branch on a repo. The on-disk state is a "world" (a synchronized set of twins).

CLI (volter-twin)

volter-twin events append <service> --file evt.json   # append an observed event
volter-twin events list <service> --json
volter-twin state rebuild <service>                   # rebuild projected state from events
volter-twin status <service>                          # queued/unpushed/drift/conflicts
volter-twin plan <service>                            # reviewable apply plan
volter-twin refs <service>                            # remote checkpoints
volter-twin validate [--services <a,b>]               # twin integrity (egress reconciliation)

State lives under <cwd>/.volter/world/ by default (directory name overridable via VOLTER_STATE_DIR, or pass --root); per-service config in .volter/world/config.json. Pin a --root / VOLTER_STATE_DIR in CI so a twin doesn't write into your repo.

API

listEvents, appendEvent, createEvent, loadState, rebuildGenericState, buildShadowState, recordObservedDelta, performExternalWrite, recordWriteIntent, listEgressLedger, validateWorld, runConnectorPoll, createTwinServer, applyTwinWrite, loadWorldConfig, plus the controlPlane namespace and the optional queryHelpers / recordedDiff / derive / pack-registry libraries. See src/index.ts.

(Annotations + source books are a tracker concern, not a twin one: @volter/tracker/world-annotations, @volter/tracker/world-source-books.)

The vendor twins

Each vendor's twin is its own modular package that peerDepends on @volter/twin: @volter/twin-stripe, @volter/twin-linear, @volter/twin-jira, @volter/twin-github, @volter/twin-slack (at packages/twin/<vendor>), each with its own world-<vendor> CLI (serve / mirror / conformance) and React UI mirror.