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

@jot-so/cli

v0.1.0

Published

Agent MCP + CLI tooling for Jot — runtime matrix, MCP config, recipes

Readme

@jot-so/cli

Agent MCP + CLI tooling for Jot — runtime matrix, MCP config emission, and named recipes.

Install

npm install -g @jot-so/cli
# or
bun install -g @jot-so/cli

Authenticate and point at your workspace:

jot login
export JOT_URL=https://jot.so   # optional; default is https://jot.so
jot whoami

Release (maintainers)

CLI (recommended)

From the monorepo root — one command, pass the bump type:

chmod +x release   # once
./release patch
# or
bun run release patch

This runs preflight checks, CLI tests + build, creates the GitHub release, and waits for npm publish in Actions.

./release minor
./release major
./release patch --dry-run
./release patch --skip-tests      # trust CI only
./release --current                 # ship 0.1.0 as-is (no bump)
./release --version 0.1.0           # same thing, explicit

Agent / raw gh

VERSION=$(node scripts/next-cli-version.mjs patch)
gh release create "cli-v${VERSION}" \
  --target main \
  --title "@jot-so/cli v${VERSION}" \
  --generate-notes

One-time setup

First publish (package does not exist on npm yet):

npm trusted publishing cannot create a new package — only update an existing one. Bootstrap once from the repo:

npm login                    # must have publish access to @jot-so
./release --bootstrap

Then on npm → @jot-so/cliSettingsTrusted publishingGitHub Actions:

  • Organization or user: 01-studio
  • Repository: jot
  • Workflow filename: release-cli.yml
  • Allowed actions: npm publish

Alternative: GitHub Actions → Publish CLI (initial) with NPM_TOKEN (see workflow in repo).

Every release after that:

./release patch   # or minor / major / --current

Requires gh auth login with access to 01-studio/jot. Publish uses OIDC — no npm token secret.

UI fallback

GitHub → ActionsRelease CLIRun workflow on main (patch/minor/major). This creates the cli-v* release; publish runs on the release event like the command above.

Usage

jot --help
jot runtime detect
jot runtime matrix --json
jot mcp recipe list
jot mcp emit --runtime claude-code --recipe linear
jot mcp validate --runtime hermes

Skill

Pair with the public skill for agent workflows:

bunx skills add jot-so/skills

Development

From the jot monorepo root:

bun run build:packages
bun run jot -- --help
bun run test:packages
bun run test:packages:coverage

From this package:

bun run build
bun run test
bun run test:coverage

CLI tests build the bundled dist/cli.js first, then run integration tests via execFileSync against the published binary shape.

Coverage thresholds are enforced on @jot-so/api (80%+). CLI coverage is reported without thresholds because integration tests exercise the bundled artifact, not TypeScript sources directly.