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

@axon402/cli

v0.2.0

Published

Durable control-plane operator CLI for AXON: wallet lifecycle, deposits, allocations, and key management. Companion to the dashboard; not a runtime/agent credential surface.

Readme

@axon402/cli

Durable control-plane operator CLI for AXON — wallet lifecycle, deposits, allocations, and API key management.

AXON splits agent surfaces into a runtime plane (what a worker agent gets — a prepared wallet and a wallet-scoped runtime key) and a control plane (what operators use — org-wide credentials to provision and govern the workforce). @axon402/cli (axon-op) is the control-plane companion to the AXON dashboard: show wallets, deposit USDC, allocate from the vault, create new API keys.

Where @axon402/init is the one-shot runtime bootstrap for a brand-new agent wallet, @axon402/cli is the durable operator tool you run day-to-day once your organization exists. One key = one surface: the operator key you hand to axon-op auth login is never a runtime/agent credential, and vice versa. Never hand this CLI to an autonomous worker agent.


Install

npm install -g @axon402/cli

The binary is axon-op (not axon, which is owned by @axon402/init). Both packages can be installed side by side.

Requirements: Node.js >= 20.


Authentication

@axon402/cli authenticates with an operator API key — a long-lived key minted from the AXON dashboard (or from this CLI via axon-op keys create). There is no browser login flow.

axon-op auth login
# prompts for API URL (default: https://api.axon402.com) and your axon_sk_... key
# verifies the key via GET /v1/me
# writes ~/.axon/operator.json at chmod 0600

Headless / CI login

Interactive prompts are skipped when either flags or environment variables are provided. Use this form in CI, Docker builds, and any non-TTY shell:

# Flag form (both --flag value and --flag=value are accepted):
axon-op auth login --api-key axon_sk_... --api-url https://api.axon402.com

# Environment form:
AXON_API_KEY=axon_sk_... AXON_API_URL=https://api.axon402.com axon-op auth login

| Source | API URL | API key | | --- | --- | --- | | Flag | --api-url <url> | --api-key <key> | | Environment | AXON_API_URL | AXON_API_KEY |

API key resolution: --api-keyAXON_API_KEY → interactive prompt (TTY only). If no key is provided and stdin is not a TTY, the command exits non-zero with a clear error instead of hanging on a prompt.

API URL resolution (headless, i.e. when a key is supplied via flag or env): --api-urlAXON_API_URLAXON_CLI_DEFAULT_ENDPOINThttps://api.axon402.com. No interactive URL prompt runs in headless mode, so piped stdin is never consumed as the URL. In the interactive TTY flow, the URL prompt still defaults to the same production URL and accepts overrides.

To verify your session at any time:

axon-op auth whoami

This re-checks your key against the backend. If the key has been rotated or revoked, you'll see a Session expired message and need to log in again.


Commands

| Command | Description | | --- | --- | | axon-op auth login | Interactively connect an operator API key | | axon-op auth whoami | Print the current login context | | axon-op wallets show <wallet-id> | Show wallet metadata + funding status | | axon-op wallets deposit <wallet-id> | Render a QR code for external USDC deposit | | axon-op wallets allocate <wallet-id> --amount <usdc> | Move USDC from the org vault to the wallet (full-signed orgs only) | | axon-op keys create --name <name> [--wallet <id>] [--scopes read,write] | Mint a new API key |

Funding: deposit vs allocate

AXON supports two wallet-funding paths:

  • External deposit — send USDC from any wallet app on Base to the wallet's deposit address. Works for every org regardless of signing mode. Use axon-op wallets deposit.
  • Vault allocation — move USDC from the org's vault wallet into an agent pocket, signed server-side. Only available for full-signed orgs. Browser-signed orgs get a structured VAULT_ALLOCATION_UNAVAILABLE error and are directed back to external deposit.

axon-op wallets show tells you which path is available for a given wallet.


Configuration

~/.axon/operator.json

| Path | Permissions | Contents | | --- | --- | --- | | ~/.axon/operator.json | 0600 | { api_url, api_key, organization_id, organization_name, signing_mode, wallet_id, created_at } |

Writes are atomic (tmp + rename) so a crash mid-write can't leave a half-written file in place of the previous good one.

This file is separate from ~/.axon/config.json, which is owned by @axon402/init. The two CLIs do not share state — you can log in and out of @axon402/cli without disturbing the init CLI's wallet bootstrap.

Environment variables

| Var | Description | | --- | --- | | AXON_API_KEY | Operator API key used by axon-op auth login in headless mode. Overridden by --api-key. | | AXON_API_URL | API URL used by axon-op auth login in headless mode. Overridden by --api-url. | | AXON_CLI_DEFAULT_ENDPOINT | Override the default API URL (https://api.axon402.com). Useful for local dev and CI. |


TODO (not yet implemented)

  • axon-op wallets list — blocked on a backend endpoint (GET /v1/orgs/:id/wallets) that does not yet exist for API-key auth. The platform uses a Supabase RPC that requires a user JWT. For now, you can see the wallet your key is bound to via axon-op auth whoami and inspect individual wallets via axon-op wallets show <id>.
  • axon-op wallets create — blocked on POST /v1/wallets.
  • axon-op auth logout — trivial wrapper over deleteOperatorConfig; will land in a follow-up.

Exit codes

| Code | Meaning | | --- | --- | | 0 | Success | | 1 | Recoverable failure (invalid input, backend error, not logged in) | | 130 | SIGINT (Ctrl+C aborted a prompt) |


IDE-native operator automation (advanced)

axon-op is the durable control-plane CLI and the right tool for day-to-day operator work. For trusted developer workflows that need the same control-plane actions from within an MCP-speaking IDE (Claude Code, Cursor, VSCode), AXON also ships an explicit operator / manage MCP surface. It is advanced and opt-in — see mintlify-docs/integrations/ide-setup.mdx ("Advanced: Operator / manage surface") for the launch contract and per-IDE config. It is separate from axon-op and must be mounted under an org-wide operator key, never a runtime/wallet-scoped key.


Links

  • Docs: https://axon402.com/docs/cli
  • Dashboard: https://axon402.com
  • Source: https://github.com/alex-reysa/AXON/tree/main/axon-cli-operator
  • Issues: https://github.com/alex-reysa/AXON/issues

License

Apache-2.0 — see LICENSE.