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

simfile

v0.0.1

Published

Declarative simulation world mechanics for agentic organizations.

Readme

Simfile

Deterministic simulation worlds for societies of agents — seed an idea, run the world, and watch it move through minds.

Spawnfile declares who runs and how an organization is wired — agents, teams, rooms, runtimes, memory. Simfile declares the world around them — a clock, variables, generators, rules, markers, probes, and a run ledger — then runs it and lets you watch.

Seed a secret into one agent's memory and watch it spread through the society, tick by tick. Open an agent that is itself an organization — a Jungian self whose Shadow and Anima deliberate in an inner room — and descend into it. Every message, wake, turn, memory write, and variable change is a ledger event, so the viewer scrubs the whole run backward and forward and every glyph on screen traces to a record.

Deterministic and replayable. Observer-tier by design: Simfile authors and observes worlds — it compiles no Docker images and deploys no agents. That is Spawnfile's job (the organization that runs in the world), talking over Moltnet (the rooms the agents share).

Contents

Install

npm install simfile
simfile --help

Node.js 22+.

Quick start

simfile validate ./Simfile.yaml     # check a world
simfile view runs/<id>              # replay a sealed run — scrub, descend, watch spread
simfile view --state .sim           # watch a live world
simfile observe runs/<id>           # reconcile causal chains + measure spread → report.json

What you can see

simfile view <run-dir> serves a local web app that turns a run into an instrument, not a screensaver:

  • Scrub the whole run. One causally-ordered timeline — play, rewind, step. The world map, the room chat, and every agent's memory all move together off a single cursor.
  • Watch a meme spread. A secret seeded only in one agent's private memory surfaces in conversation and reaches others on its own; the timeline lights up where it lands, with reach, latency, and match fidelity — re-derived from the sealed run, never faked.
  • Descend into a mind. Click an agent that is itself an org (a Jungian self) and drop into its inner council: the archetypes deliberate, the representative synthesizes and answers out. Recursion by data — an agent is an organization you haven't opened yet.
  • Per-element storylines. An agent, a room, a memory bank, a variable — each has its own timeline you can open, all linked to the one global cursor.

Every element carries its real ledger id, and a run-header badge always discloses whether the dialogue came from real engines or a scripted screenplay.

The world

A Simfile declares world mechanics, kept deliberately genre-neutral:

| Key | What it is | |---|---| | clock | ticks, phases, sim-time | | variables | scoped state with ranges | | generators | deterministic or stochastic drivers that move variables | | rules | when conditions → effects (wake an agent, post a world message) | | markers | scan room traffic for tokens (a seeded secret, a name) | | probes | scored assertions evaluated over a run | | run ledger | the canonical, causally-ordered record everything else is measured against |

Domain concepts live in fixtures, never in schema keys.

Example

simfile_version: "0.1"
name: autonomous-office-world
spawnfile: ./Spawnfile

clock:
  seed: office-run-014
  tick: 20s
  sim_per_tick: 10m
  phases: { morning: "07:00", workday: "09:00", evening: "18:00", night: "22:00" }

variables:
  filing_pressure:
    scope: room:office-floor:case-warroom
    initial: 0.4
    range: 0..1

generators:
  deadline_ramp:
    kind: deterministic
    when: { phase: workday }
    variable: filing_pressure
    delta: 0.02

rules:
  deadline_bites:
    when: { variable: filing_pressure, above: 0.85 }
    do:
      - action: wake:recommend
        to: room:office-floor:case-warroom

markers:
  tenant_name:
    text: [Rosa Delgado]
    mode: containment
    scopes: [room:office-floor:case-warroom]

probes:
  deadline_observed:
    when: { event: wake.recommended, target: room:office-floor:case-warroom }
    expect: { at_least: 1 }

Observe

simfile observe <run-dir> reconciles every authority's causal stream — Moltnet, Daimon, Mneme, and the world kernel — into one honest verdict: complete vs. incomplete causal chains, per-agent memory, failures, and, for a seeded world, spread measurement (channel · reach · latency · fidelity) re-derived from sealed artifacts. Ordering is causal, never wall-clock; a missing link is reported, never stitched.

Repo guide

src/schema      v0.1 world schema + validator
src/runtime     deterministic world kernel (clock, generators, rules, markers, probes)
src/observe     causal reconciliation + spread measurement
src/view + web  the run-replay viewer (React), served by `simfile view`
src/sims        composed-run drivers (shell Spawnfile, seed, observe)
docs/           design + research (DESIGN, VIEW_DESIGN, VIEW_STYLEGUIDE, …)

Simfile hardcodes constraints, not conclusions: it defines stable mechanics and observability, and leaves interpretation, strategy, dialogue, memory choice, and culture to the agents.

Docs

Full documentation at simfile.org. Design and research notes live in docs/.

License

MIT