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

@zcouncil/cli

v0.6.0

Published

Command-line client for zcouncil.com.

Downloads

1,305

Readme

@zcouncil/cli

@zcouncil/cli is the shell client for zcouncil.com. It runs councils directly from a terminal, asks individual members, executes council scripts, lists members/profiles for automation, and serves MCP.

For headless use, run zcouncil run or zcouncil ask.

Why Use It?

zcouncil is built around comparison: one chat, multiple AI models, clear disagreements. Agents and scripts can call that council directly from a shell, without MCP setup.

The CLI is not required to use zcouncil — it exists for terminals, scripts, and agents.

Install

You need Node 22+.

npx -y @zcouncil/cli --help

Create an API token and pass it with --token or ZCOUNCIL_TOKEN. The CLI saves valid tokens per API environment. Agents should let the CLI resolve saved tokens. Do not read, print, copy, or inline token files from ~/.zcouncil yourself.

npx -y @zcouncil/cli run --token ztk_... "Review this plan"
ZCOUNCIL_TOKEN=ztk_... npx -y @zcouncil/cli members --json

On first run without a token, the CLI prints a link to create one:

No zcouncil token found.

1. Create one: https://zcouncil.com/chat?action=new-token
2. Paste it here:

After the token is validated, it is saved under ~/.zcouncil/tokens/ with local file permissions and scoped to the environment you used, so future runs can start without --token.

Commands

zcouncil run "Review this plan"     # Run the council
zcouncil run - < prompt.md
zcouncil ask <member> "Critique"    # Ask one member
zcouncil exec script.mjs            # Run a council script
zcouncil members --json             # List members
zcouncil profiles --json            # List profiles
zcouncil mcp                        # Serve MCP over stdio
zcouncil doctor                     # Check token + API reachability
zcouncil update                     # Update the CLI
zcouncil logout                     # Remove the saved token

zcouncil ask accepts short member aliases (claude, gpt, grok, gemini) when unambiguous; run zcouncil members for the full list.

If a newer CLI is published, startup prints an update notice:

zcouncil update

Local Repo Usage

When working inside the zcouncil repo, use the root dev runtime instead of npx, a global zcouncil, or direct package scripts. This keeps CLI auth/config/cache state local to the current worktree and points API calls at the worktree's Portless URLs.

bun run dev:print
bun run dev:run -- node packages/cli/cli.mjs --help
bun run dev:run -- node packages/cli/cli.mjs --version

Use API-backed commands only after the local Worker is running for that worktree:

bun run dev:run -- node packages/cli/cli.mjs members --json

dev:run installs missing workspace dependencies, builds the local SDK/CLI inputs, sets the current worktree's service URLs, and avoids host zcouncil token state.