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

engelbart-cli

v0.19.20

Published

Engelbart: one-command installer for /bart, chat-scoped goals for Claude Code.

Readme

engelbart-cli

Install /bart — chat-scoped goal workspaces for Claude Code — with one command:

curl -fsSL https://berkeley.mathetic.com/engelbart/install.sh | sh

That downloads a standalone binary -- no Node, npm, or Python needed first -- verifies it against its published SHA-256, and runs the installer. If you already have Node, npx engelbart-cli does exactly the same thing.

The installer takes no required options. It installs the hc runtime, the Claude Code hooks, and the /bart command; connects this machine to your Engelbart account; provisions its Claude key and Supabase project config; then opens the first-project setup page. Authentication is a gate: setup does not start until the account has supplied a Claude key and a usable Supabase configuration.

Connecting your account

There is no password prompt. The installer prints a short code, opens https://berkeley.mathetic.com/engelbart in your browser, and waits while you sign in and approve that code on screen. Approving it writes a machine-scoped token to ~/.human-compact/auth.json, readable only by you.

Only approve a code your own terminal printed. The installer keeps a second secret that never leaves your machine, so a pairing link someone else sends you cannot connect their terminal to your account.

engelbart auth      # connect this machine (or reconnect it)
engelbart whoami    # show which account this machine is connected to
engelbart env       # print exports for the issued Claude credit
engelbart logout    # disconnect this machine and revoke its token

Using your Claude credit

Approving the code also fetches the Claude key your account was allocated, so there is nothing to copy out of the browser. The key lands in the same owner-only file as the token, and the two lines a shell needs are written beside it:

source ~/.human-compact/env.sh     # this terminal
claude

Add that source line to your shell profile and every new terminal picks it up. The file is written by engelbart auth and removed by engelbart logout, so a disconnected machine stops pointing claude at a key it no longer holds.

engelbart env prints the same two lines to stdout. Only the exports reach stdout, so eval "$(engelbart env)" is safe; everything else goes to stderr.

Credits can lag a new account. If the key is not ready when you approve the code, the machine still connects -- run engelbart auth again once it is.

Connecting is skipped when there is no terminal to answer in -- a scripted or CI install never waits on a browser -- and --local-only skips it outright. The install itself does not depend on it: run engelbart auth whenever you are ready. Set ENGELBART_API_BASE to point at a deployment other than https://berkeley.mathetic.com.

First-project setup

After authentication has returned a Claude key and configured Supabase, the installer starts hc setup-ui and opens its /setup page. New work enters the guided onboarding conversation; existing work is handed to the normal /bart flow. If the page cannot be opened, the installer prints hc setup-ui as the recoverable next step. --no-open keeps authentication but suppresses that automatic launch.

From then on the hooks record each chat's own prompts and events to a local, owner-only store under ~/.claude-vault/chat-sessions/<session-id>/ — the same conversation Claude Code already keeps in ~/.claude/projects/. Nothing is analyzed or injected until you run /bart in that chat, and nothing leaves your machine except the model calls your own claude CLI makes.

Start a new Claude Code session (or run /reload-plugins), then run:

/bart

That opens the goal workspace for the current chat. From then on that chat's goals are inferred with your own authenticated Claude CLI and injected back into the chat as context — the whole goals document first, then only what changed since your last message. Subagents and tool batches receive it too. /bart disable turns analysis and injection off again for that chat; /bart turns them back on.

The Python backend is an exact wheel bundled in both the standalone and npm releases. It is installed into a managed private runtime under ~/.human-compact/; neither installer fetches code from a mutable Git branch.

Noninteractive installation

Scripted or deliberately local installation skips browser authentication:

engelbart install --local-only

--non-interactive is still accepted for compatibility and also skips browser authentication. --dry-run verifies the bundled wheel and prints the plan without installing. Neither form waits on a browser, so a scripted install finishes unattended and leaves the account to be connected later with engelbart auth.

Experimental (HC_EXPERIMENTAL=1)

The global Vault — cross-chat conversation capture — and the global goal inference built on it are experimental in this release. --global-vault 1 and --goals 1 are refused unless HC_EXPERIMENTAL=1 is set, and the global capture hooks are installed only when the flag is set at install time:

# Global Vault plus global goal inference
HC_EXPERIMENTAL=1 engelbart install --non-interactive --global-vault 1 --goals 1

# Global Vault without running goal inference now
HC_EXPERIMENTAL=1 engelbart install --non-interactive --global-vault 1 --goals 2

Values other than 1 and 2 are rejected, and --goals 1 is invalid when the global Vault is disabled.

If you already had the global Vault enabled, a plain reinstall leaves it enabled on disk but stops capturing, because the default hook set no longer calls the Vault hook. Reinstall with HC_EXPERIMENTAL=1 to wire it again. See STASHED.md for the full inventory.

Requirements and state

  • macOS or Linux
  • Claude Code 2.1.175+
  • curl for the standalone installer; Node.js 18+ only for the optional npm path

Installer metadata lives at ~/.human-compact/install.json; versioned Python runtimes live under ~/.human-compact/runtimes/; and the stable launchers are ~/.human-compact/bin/hc and ~/.human-compact/bin/bart. Re-running the same Engelbart version repairs the Claude integration and reuses a verified runtime.

If ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN is already exported in the shell, unset it before launching Claude Code: shell variables take precedence over the credential helper. Engelbart never replaces a foreign apiKeyHelper, and logout removes only the Claude settings it authored.

The installer uses an existing compatible Python when available. Otherwise it downloads pinned uv 0.11.32 release assets, verifies their published SHA-256, and provisions a managed Python automatically. Set HUMAN_COMPACT_PYTHON to an explicit Python executable when automatic interpreter discovery is unsuitable.

Maintainer release step

After the matching hc/ source is committed, populate the immutable wheel and its checksum manifest:

npm run build:vendor
npm test
npm publish --dry-run

The published tarball must contain vendor/manifest.json and exactly the wheel named by that manifest.