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

@apijack/core

v1.14.1

Published

Jack into any OpenAPI spec and rip a full-featured CLI with AI-agentic workflow automation

Readme

apijack

Jack into any OpenAPI spec and rip a full-featured CLI with AI-agentic workflow automation.

npm tests e2e buy me a coffee

What is apijack?

apijack turns any API into a CLI.

GET /api/pets
GET /api/pets/{id}
GET /api/owners
GET /api/owners/{id}

becomes a command tree that mirrors your API:

apijack
├── pets
│   ├── list
│   └── get <id>
└── owners
    ├── list
    └── get <id>
$ apijack pets get 25

Getting Started

bun install -g @apijack/core
apijack setup              # Configure URL + credentials (auth auto-detected)
apijack generate            # Pull OpenAPI spec, generate types/client/commands
apijack --help              # See all generated commands

New to apijack? Follow the Quickstart guide with a working example API.

Claude Code Plugin

Install as a Claude Code plugin to let Claude interact with your APIs directly:

apijack plugin install

Then in Claude Code, run /reload-plugins. The plugin exposes MCP tools and skills for setup, code generation, command execution, and routine authoring.

Example prompt:

"Use /setup-api to connect apijack to my todo list API at http://localhost:8080, then use /write-routine to automate an e2e test: create 10 todos and then delete them all."

For other MCP-compatible editors (Cursor, Windsurf, etc.), see MCP Server Integration.

As a Framework

Build dedicated CLI products with apijack as a dependency:

bun add @apijack/core
import { createCli, BasicAuthStrategy } from "@apijack/core";

const cli = createCli({
  name: "mycli",
  description: "My API CLI",
  version: "1.0.0",
  specPath: "/v3/api-docs",
  auth: new BasicAuthStrategy(),
});

await cli.run();

See Building a CLI for the full configuration reference.

Features

  • OpenAPI codegen -- types, client, and Commander commands from any spec (details)
  • Claude Code plugin -- one-command setup, MCP server, AI-integrated skills
  • Pluggable auth strategies -- Basic, Bearer, API Key, Session/CSRF, or build your own (details)
  • Secure credential handling -- dev URLs stored locally, production APIs require env vars (details)
  • Multi-environment config -- switch between dev/staging/prod with config switch (details)
  • YAML routine engine -- variables, conditions, forEach, assertions, sub-routines (details)
  • -o routine-step export -- run any command with -o routine-step to emit YAML for workflows (details)
  • Project mode -- project-local config, routines, and extensions (details)
  • OpenAPI 3.0 + 3.1 -- comprehensive spec support (compatibility matrix)

Plugins

apijack supports pre-built plugins as standalone npm packages for common utilities. Install via cli.use(plugin()) and configure per-routine via a top-level plugins: block in routine YAML. See CLAUDE.md for the full contract and <cli> plugins list to inspect registered plugins.

Documentation

Full documentation is available on the wiki:

Requirements

License

MIT