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

yonyon

v0.1.0

Published

Command line client for the public yonyon.ai agent API. Ask questions, list projects, wire up the MCP server, book an intro call. No auth, no config.

Readme

yonyon

Command line client for the public yonyon.ai agent API.

Ask the site's agent a question, list the portfolio projects, wire up the MCP server, or grab the booking link, without writing an HTTP integration first.

The API is public and unauthenticated. There is no key to set, no config file to write, and no login step. The only constraint is rate: 10 requests per IP per minute, shared across every endpoint.

Install

Run it without installing anything:

npx yonyon ask "What has Yonatan built with MCP?"

Or install it globally:

npm install -g yonyon
yonyon --help

Requires Node.js 24 or newer.

Commands

yonyon ask "<question>"

Ask the agent about Yonatan Gross, his projects, or his services. The default path is POST /ask, the single-shot endpoint built for server-side callers.

$ yonyon ask "What is OrchestKit?"
OrchestKit is an open-source Claude Code agent framework with 100+ skills,
35+ agents, and 200+ hooks.

Follow-ups you could ask:
  What else has he built?
  Is he available for consulting?

Add --stream to use POST /api/chat instead and print tokens as they arrive. Add --json to get the raw /ask response body.

yonyon ask "Is he available for consulting?" --stream
yonyon ask "List his projects" --json

yonyon projects [--limit N] [--json]

List the portfolio projects from GET /api/v1/projects.

$ yonyon projects --limit 2
NAME                  DESCRIPTION                                    URL
--------------------  ---------------------------------------------  ------------------------------------------------
OrchestKit            Open-source Claude Code agent framework.       https://yonyon.ai/projects/orchestkit
AI Operations Platfo  Production WhatsApp AI (RAG), commerce, cont…  https://yonyon.ai/projects/ai-operations-platform

--limit accepts 1 to 50, the range the API itself enforces. Use --json for the raw body, which also carries total and nextCursor for pagination.

yonyon projects --json

yonyon mcp [--tools] [--json]

Print ready-to-paste MCP client configuration for the yonyon.ai MCP server, a JSON-RPC 2.0 Streamable HTTP endpoint that needs no auth.

$ yonyon mcp
MCP endpoint: https://yonyon.ai/api/mcp
Transport: Streamable HTTP. Authentication: none.

Add it to Claude Code:
  claude mcp add --transport http yonyon https://yonyon.ai/api/mcp

Or add this to .mcp.json:
{
  "mcpServers": {
    "yonyon": {
      "type": "http",
      "url": "https://yonyon.ai/api/mcp"
    }
  }
}

--tools queries tools/list live and prints each tool with its description. --json prints only the config object, so it can be redirected into a file.

yonyon mcp --tools
yonyon mcp --json > .mcp.json

yonyon book [--no-open]

Print the link for a free 15-minute intro call, and open it in the default browser.

$ yonyon book
Book a free 15-minute intro call: https://cal.com/yonyon
Opening it in your browser.

The browser is only opened when stdout is a terminal, so piping the command never launches anything. Pass --no-open to suppress it explicitly.

yonyon book --no-open

yonyon docs [--json]

Print the discovery map: every machine-readable document an agent can read to learn what the site offers and how to call it.

$ yonyon docs
Discovery documents
URL                                                 WHAT IT IS
--------------------------------------------------  ------------------------------------------------
https://yonyon.ai/llms.txt                          Short site summary written for LLMs
https://yonyon.ai/llms-full.txt                     Full bio, projects, services and FAQ
https://yonyon.ai/developers                        Human-readable API and MCP documentation
...
yonyon docs --json

Global options

| Option | Meaning | | ------------------ | ---------------------------------------------------------------------------------------------------------- | | -h, --help | Show help. Works per command too: yonyon ask --help. | | -v, --version | Print the CLI version. | | --base-url <url> | Target another deployment. Defaults to https://yonyon.ai, or the YONYON_BASE_URL environment variable. | | --timeout <ms> | Per-request timeout. Defaults to 60000 for ask and 15000 elsewhere. | | --json | Machine-readable output, on the commands that support it. |

Point it at a local dev server:

yonyon projects --base-url https://portfolio.localhost

Exit codes

| Code | Meaning | | ---- | ------------------------------------------------------------------------- | | 0 | Success. | | 1 | The request failed: network error, timeout, non-2xx response, rate limit. | | 2 | A usage mistake: unknown command, unknown flag, missing or invalid value. |

Rate limiting gets its own message rather than a bare HTTP 429:

$ yonyon ask "hello"
yonyon: Rate limited by yonyon.ai (10 requests per IP per minute). Retry in 43s.
  The public API is unauthenticated, so the budget is shared per source IP.
  Wait for the window to reset and run the command again.

Development

pnpm install
pnpm test          # vitest, network fully mocked
pnpm exec tsc --noEmit
pnpm run build     # emits dist/
node dist/index.js --help

The CLI has zero runtime dependencies. Argument parsing is hand-rolled, which is smaller than any parser library at this command count.

License

MIT. See LICENSE.