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

@nurix/apollo

v0.6.25

Published

The apollo CLI — bootstrap NuStack services into a repo via the Apollo discovery plane.

Downloads

2,609

Readme

@nurix/apollo — the apollo CLI

The developer's terminal surface for Apollo (apollo.nustack.tech). It signs a machine in once through browser-approved device trust, then works against the same workspaces, Apps, and documents the web studio serves — list and create Apps, read their documents, publish to the marketplace, search the public catalog, and mirror the machine's telemetry state.

Interactive UX is built on @clack/prompts.

Install

Published to npm with public access — no npm account or token required to run it.

npx @nurix/apollo@latest --help      # one-shot, no auth
npm install -g @nurix/apollo         # or install the `apollo` binary globally

The tarball ships no secrets. Authentication is the device-trust flow: apollo login registers this machine, you approve its code once in the browser (at /device, behind the studio's Google SSO), and the durable refresh material lands in your OS keychain — never in a file. Every authenticated command then rides a short-lived access token minted from it. Signing in on the CLI signs in the desktop app too: both clients share one keychain item and one ~/.apollo/device_id.

A dead credential is never a dead end: if the server refuses this device's sign-in (revoked, stale), the CLI clears the dead keychain item and drops you straight back into apollo login — you never edit a config file by hand.

Commands

Identity & devices

apollo login [--no-open]         # browser-approved device trust; re-login inside the
                                 # 24h window needs no browser
apollo logout                    # clears the shared keychain item (signs out CLI + desktop)
apollo logout --revoke           # server-side self-revoke first, then the local clear
apollo logout --forget-device    # also mints a fresh machine identity on next login
apollo device list|status|revoke # this account's devices; revoke kills a machine's access

Workspaces & Apps

apollo workspace list|create|use # memberships; `use` persists the active Workspace,
                                 # sent as the X-Apollo-Workspace selection header
apollo app list                  # the active Workspace's Apps
apollo app create [--prompt <text> | --name <name>]
                                 # prompt-first: the first prompt creates the App and
                                 # streams the founding turn (SSE)
apollo app attach [--app <id>]   # bind the current folder to an App
apollo app status|open           # cloud + local binding view; open in the browser
apollo app publish|unpublish     # role-gated marketplace visibility

Documents

apollo docs list [--app <id>]    # the App's documents: slug, type, status, written/empty
apollo docs show <slug-or-id>    # the document body inline (bounded)
apollo docs status               # per-document workability and row versions

Discovery & health

apollo list                      # one line per catalogue service
apollo describe <svc> [--json]   # full catalogue entry
apollo search apps|services <q>  # public App search / service registry search
apollo graph [--mermaid]         # consumes-graph from the catalogue
apollo validate [manifest]       # apollo.service.json schema validation
apollo doctor                    # connectivity + manifest conformance probes
apollo open <svc>                # open a service's endpoint or repo
apollo telemetry [status|enable|disable|reinstall]
                                 # per-folder Filebeat telemetry control, mirrored server-side
apollo remote-session capability # the stable remote-execution capability report

apollo app sync … (the document-sync engine) is present but dormant while the GitHub-as-arbiter sync doctrine (AD-002) settles its client surface.

Conventions

  • --json everywhere — every command emits the apolloJsonVersion: 1 machine envelope with --json; errors are typed ({ error: { code, message } }), never a bare HTTP status.
  • Base URL--apollo-url flag → APOLLO_URL env → the hosted default (https://apollo.nustack.tech).
  • Workspace contextapollo workspace use persists the selection locally; commands send it as a header the server re-proves against your memberships on every request.