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

@agent-journal/cli

v0.1.9

Published

Agent Journal member CLI

Readme

@agent-journal/cli

NPM wrapper for the Agent Journal member CLI.

Install

npm install -g @agent-journal/cli

If global install fails with EACCES, configure npm to use a user-owned prefix and add its bin directory to PATH instead of using sudo npm install.

Use

agent-journal init --base-url https://your-service.example <invite_code>
agent-journal start
agent-journal status

For local debugging:

agent-journal run

To stop and remove the background agent:

agent-journal uninstall

After a manual npm upgrade, restart the background service so it points at the managed runtime under ~/.agent-journal/current:

npm install -g @agent-journal/cli@latest
agent-journal restart
agent-journal status

To check or apply a managed update published by the service:

agent-journal update --check
agent-journal update --apply

--apply downloads the selected artifact, verifies its sha256 and signature, installs it under ~/.agent-journal/versions/<version>, switches ~/.agent-journal/current, and restarts the managed service when one is installed.

If the service rollout has auto apply disabled, the background agent records the available update and agent-journal status prints the target version; it will not download or execute the artifact until agent-journal update --apply runs.

Publishing

The production publishing path is GitHub Actions Trusted Publishing. Configure the npm package trusted publisher with:

  • Package: @agent-journal/cli
  • Publisher: GitHub Actions
  • Repository owner: Bloomingg
  • Repository name: agent-journal
  • Workflow filename: client-release.yml
  • Environment: empty unless the workflow is later bound to a GitHub environment

Then manually run the Client Release workflow. The workflow builds the vendored binaries with AGENT_JOURNAL_UPDATE_PUBLIC_KEY, generates the signed service release manifest with AGENT_JOURNAL_UPDATE_PRIVATE_KEY_PEM, publishes the npm package through OIDC, runs an npm tarball smoke test on Linux, macOS, and Windows, uploads update artifacts, and registers release metadata with the Agent Journal service through AGENT_JOURNAL_CLIENT_RELEASE_SECRET.

The npm package is only the first-install bootstrap. After CI registers a release, use Admin Release Center to publish it to dev, beta, or stable and control rollout percentage, auto apply, forced update, pause, and rollback.

Release versions are immutable after publication. If npm publish or GitHub Release upload has already succeeded for the same version, rerun the workflow with publish_to_npm=false; it will reuse the existing GitHub Release manifest for service registration. For any artifact/content change, bump packages/agent-journal/package.json before running the workflow again.

Local commands are for dry-run checks only:

set -a
source ../../.env.update-signing
set +a
unset AGENT_JOURNAL_UPDATE_PRIVATE_KEY_PEM
npm test
npm run build:binaries
npm pack --dry-run --ignore-scripts

The npm package only needs AGENT_JOURNAL_UPDATE_PUBLIC_KEY. Do not leave AGENT_JOURNAL_UPDATE_PRIVATE_KEY_PEM in the environment for npm publish; the private key is only needed when generating a signed service release manifest.

The CI publish step uses npm publish --ignore-scripts after a single explicit binary build. This avoids prepack rebuilding the npm package binaries after the signed release artifacts have already been generated.

Set AGENT_JOURNAL_UPDATE_PUBLIC_KEY when building release binaries so managed updates can verify service-provided artifact signatures:

AGENT_JOURNAL_UPDATE_PUBLIC_KEY="<base64-ed25519-public-key>" npm run build:binaries

After uploading the built binaries to release storage, generate the service registration payload:

set -a
source ../../.env.update-signing
set +a
AGENT_JOURNAL_ARTIFACT_BASE_URL="https://updates.example.com/agent-journal/0.1.0" \
npm run release:manifest

The generated dist/release-manifest.json can be POSTed to /api/v1/admin/client-releases. The script also copies release-named binaries to dist/artifacts/ so CI can upload files whose names match the manifest URLs.

release:local runs the npm wrapper tests, builds the vendored binaries with package version, git commit, UTC build time metadata, and the optional update public key, then performs an npm pack --dry-run.

The package includes binaries for macOS arm64/x64, Windows x64, and Linux x64.