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

broapp-autoapp

v0.3.20

Published

A Broapp application its owner can reshape while using it: launcher, renderer, specification, engineer, activation

Readme

broapp-autoapp

Autoapp turns a Broapp application into one its owner can reshape while using it: a launcher that supervises applications, a renderer that draws a declarative view specification, and an AI engineer that proposes changes as candidate releases. Everything an application's owner approves is built and run by a child process as trusted local code — crash-isolated, not permission-isolated, running with the owner's own permissions. See the design.

A launcher that has just been downloaded starts with nothing, so it carries two starter applications inside its own binary: New application in its tab — and broapp-autoapp create <appId> [--template starter|blank], and the engineer's apps.create — writes one of them to disk, installs its dependencies, builds the first release and opens it. starter, the default, is a list of items with a table and a form; blank is one empty page to describe to the engineer. What comes out is an ordinary source workspace, indistinguishable from one you imported yourself. --at <dir> puts that workspace at <dir>/<appId> instead of inside the launcher's own folder, and broapp-autoapp locate <appId> <dir> says where it went after it was moved or renamed; everything else stays with the launcher. In the tab, New application has a Where it lives group for the same choice: In the launcher’s own folder until you press Choose a folder… (the system's folder window) or Type a path instead, and then It will be made at the full path, checked before you press Create. A row whose workspace has gone says so and has Locate…; the removal confirmation says a chosen folder is left where it is.

broapp-autoapp remove <appId> --yes, and Remove on the row in the tab, move an application's whole directory — releases, source workspace and data — into <root>/trash/; a workspace made with --at is left where it is. Nothing is deleted, the launcher never empties that directory, and nothing is removed while the application is running.

Every application the launcher serves has an Autoapp mark in its page that opens the launcher's tab again on a fresh one-time address, so closing that tab is not a reason to stop the launcher. broapp-autoapp open against a launcher that is already running over the same root opens its tab (or, with --no-open, prints the address) and exits, rather than starting a second launcher. Applications that were serving when the launcher stopped are started again when it starts, on new ports; broapp-autoapp open --no-restore skips that.

The Knowledge panel in the tab shows what the launcher remembers: each engineer turn with what it was given and what became of each lesson served, the lessons with their provenance, and the cases; a person confirms, retires, writes or replaces a lesson there, writing the same rows broapp-autoapp knowledge confirm|retire write. See what the launcher remembers.

The Backlog panel runs a plan the engineer wrote: each task is its own engineer turn on the model its tier names, and a task counts as done only when a build passes an example for every criterion; nothing is activated. While a run goes it approves that application's edits, builds and previews for you and puts every other question to you. See the backlog.