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

@asymmetric-ai/cli

v0.2.0

Published

Spin up high-fidelity local SaaS clones for AI agents and evals.

Readme

@asymmetric-ai/cli

Spin up high-fidelity local SaaS clones for AI agents and evals.

asym runs production-grade clones of real SaaS apps (Slack today, more coming) on your machine in one command — seeded with realistic data and exposing the real HTTP API plus a queryable database. Point an agent at it, run your evals, reset to a clean state, tear it down. No accounts, no rate limits, no flaky third-party sandboxes.

Requirements

  • Docker running locally (clones run as containers)
  • Node.js ≥ 18

Install

# zero-install trial
npx @asymmetric-ai/cli quickstart

# or install globally
npm i -g @asymmetric-ai/cli
asym quickstart

The CLI installs two equivalent commands: asym (recommended) and asymmetric (alias). Use whichever you like.

Quickstart

asym quickstart

This spins a seeded Slack clone and prints everything you need to use it: a ready-to-run curl against its live API, the SQL to read its state, and the commands to reset or tear it down.

# read the clone's state
asym query <id> "SELECT username FROM users" --json

# reset to the seeded baseline anytime
asym reset <id>

# tear it down
asym destroy <id>

Common workflows

# see what you can spin
asym ls --templates

# create one or more clones from templates, seeded on create
asym spin slack --seed acme-corp

# list running clones
asym ls

# print a clone's bot + user API tokens (for programmatic access)
asym tokens <id>

# run SQL (read-only by default; --write to mutate)
asym query <id> "SELECT * FROM channels"
asym db <id>            # print a psql shell command instead

# lifecycle
asym stop <id>          # stop, keep data
asym start <id>         # start it back up
asym reset <id>         # drop + re-migrate + re-seed
asym destroy <id>       # remove entirely

Environments

An environment is the top-level primitive: a composition of one or more clones managed as a unit.

asym env spin <environment.yaml>
asym env status

Command reference

| Command | Description | | --- | --- | | quickstart | One command: spin a seeded Slack clone and show how to use it | | spin <template...> | Create and start one or more clones from templates | | env | Create and manage environments (compositions of clones) | | status | ls | List running clones (or templates with --templates) | | seed <id> | Seed data into a running clone (fixtures and/or AI-generated) | | query <id> [sql] | Run SQL against a clone's database (read-only by default) | | db <id> | Print the command to open a psql shell into a clone | | tokens <id> | Show a clone's bot + user API tokens | | reset <id> | Reset a clone to a clean seeded state | | start <id> / stop <id> | Start / stop a clone without destroying data | | destroy <id> | Tear a clone down and remove its registry entry | | logs <id> | Stream container logs for a clone | | verify <template> | Inspect a template's live API surface + fidelity score | | doctor | Reconcile the local registry against Docker (--fix to repair) | | upgrade [id] | Check for a newer clone image and repin clones to it | | login | Connect to a control plane (cloud mode; local needs no login) | | completion | Print a shell completion script |

Run asym <command> --help for the full options of any command.

Configuration

  • State lives in ~/.asymmetric/ (override the base dir with ASYM_HOME).
  • Local mode needs no login or account.

Shell completion

asym completion >> ~/.bashrc   # or ~/.zshrc

Completes the top-level subcommands for both asym and asymmetric.

Support

Docs, releases, and issue tracker: https://github.com/asymmetric-ai/cli — open an issue.

License

Proprietary. Copyright © Asymmetric. All rights reserved. See LICENSE.