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

@qmilab/asterism

v0.4.0

Published

Many agents. One runtime. Separate lives. Run distinct local AI agents — each with its own soul, memory, secrets, skills, workspace, and autonomy level.

Readme

Asterism

Many agents. One runtime. Separate lives.

Run distinct local AI agents from one install — each with its own soul, memory, secrets, skills, workspace, event log, and autonomy level. Agents run alone by default; nothing crosses between them unless you say so.

Quickstart

npx @qmilab/asterism init     # Node 20+   (Bun: bunx --bun @qmilab/asterism init)

# create two agents with distinct souls and autonomy
asterism new writer  --soul casual-helper       --trust autonomous
asterism new client  --soul careful-consultant  --trust propose

# give each agent its own secrets and skills
asterism secrets add client GITHUB_TOKEN
# a skill is just a markdown file you write
echo "# Blog writer: tighten drafts, keep the author's voice" > blog-writer.md
asterism skill   add writer blog-writer.md

# put them to work (needs a configured model — see the docs)
asterism run writer "update my blog draft"
asterism run client "summarize the client meeting"

# review what each agent knows and did — separately
asterism memory inspect writer
asterism events tail client
asterism reflect writer --review

Requires Node 20+ or Bun 1.1+. The installed binary runs under Node by default; under Bun, force Bun's runtime with bunx --bun (see the installation docs).

Autonomy you can dial

Every agent gets one of three trust levels:

  • propose — never acts on its own; returns a plan or diff for you to apply.
  • notify — acts automatically inside its workspace, then surfaces each action prominently for after-the-fact review. It does not ask first.
  • autonomous — acts freely inside its workspace, recording everything to its event log.

At every level, destructive actions (deleting files, force-pushes, spending money, irreversible external calls) pause for your explicit confirmation.

The gate acts on an agent's tools. The shipped CLI registers a default catalog of workspace-scoped file tools — read_file, write_file, delete_file — behind it, so with a configured model an ordinary write runs under autonomous while a deletion pauses regardless of trust level. The acceptance test (bun test packages/cli/src/acceptance.test.ts) verifies all five claims, and catalog.test.ts drives the shipped tools directly.

Learning you can review

asterism reflect <agent> --review proposes typed memories from an agent's recent runs. Nothing is written until you accept it — and every memory belongs to exactly one agent.


Full documentation, the architecture, and the issue tracker live at github.com/qmilab/asterism.

Apache-2.0 © QMI Lab