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

@boole/cli

v0.6.9

Published

Command-line interface for Boole — run, pull, and serve local LLMs via llama.cpp. Companion CLI to the @boole/boole SDK, bundling the same edge-inference engine independently.

Readme

@boole/cli

Run AI models at the edge, from your terminal. Zero network round-trip. No cold start. No cloud dependency. Powered by llama.cpp — run GGUF models directly on your own machine.

npm version CI license node

npx @boole/cli

This launches an interactive TUI (text user interface) where you can chat with Boole's default model. No model specification needed — just type your prompt and press enter.

No install needed — this always runs the latest version. If you use Boole often and want the shorter boole command without the npx prefix, install it globally:

npm install -g @boole/cli

Requirements

  • Node.js >= 22 (some dependencies require Node 22+)
  • macOS, Linux, or Windows (x64/arm64)

Quickstart

Option 1: Use the default model (Boole 20B)

npx @boole/cli run --prompt "Write a haiku about GPUs"

The first run downloads Boole's default model (~TBD GB) to ~/.boole/models; subsequent runs load from disk instantly.

Option 2: Use any other GGUF model

npx @boole/cli run TheBloke/Mistral-7B-Instruct-v0.2-GGUF:Q4_K_M --prompt "Write a haiku about GPUs"

Same behavior — first run downloads, then runs entirely on your machine with no network call, API key, or per-token bill.

Every command below is shown with npx @boole/cli. If you've installed globally (npm install -g @boole/cli), drop the npx @boole/cli prefix and use boole directly — both forms behave identically.

Commands

boole run

Run a single prompt through a local model and print the result.

npx @boole/cli run [model] --prompt "<text>" [options]

If you omit [model], Boole uses its default model (Boole 20B, Q4_K_M). The default model downloads automatically on first use and is cached locally.

| Flag | Description | |---|---| | --prompt <text> | The prompt to generate from. Required. | | --stream | Stream tokens to stdout as they generate, instead of waiting for the full response. | | --max-tokens <n> | Maximum tokens to generate. | | --temperature <n> | Sampling temperature. | | --top-p <n> | Nucleus sampling threshold. | | --top-k <n> | Top-k sampling cutoff. |

Examples:

# Use default model
npx @boole/cli run --prompt "Explain recursion in one sentence" --stream

# Use specific model
npx @boole/cli run TheBloke/Mistral-7B-Instruct-v0.2-GGUF:Q4_K_M \
  --prompt "Explain recursion in one sentence" \
  --stream \
  --max-tokens 200

boole pull

Pre-download a model into the local cache without running inference — useful for warming the cache ahead of offline use, or in CI.

npx @boole/cli pull TheBloke/Mistral-7B-Instruct-v0.2-GGUF:Q4_K_M

boole serve

Start a local HTTP server exposing a loaded model over a simple REST endpoint, so other tools or languages can hit it without needing a JS runtime.

npx @boole/cli serve --port 8080
curl -X POST http://localhost:8080/generate \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Say hello"}'

Local use only. boole serve has no authentication and no production hardening — it's a convenience for local development and scripting, not a deployable server. Don't expose it to an untrusted network.

boole list

List locally cached models and their size on disk.

npx @boole/cli list

--help / --version

Standard help and version output. Every subcommand also supports --help (e.g. npx @boole/cli run --help).

Model specifiers

Models are referenced as <huggingface-repo>:<pattern>, where <pattern> can be either:

  • An exact GGUF filename (e.g. mistral-7b-instruct-v0.2.Q4_K_M.gguf)
  • A quant pattern like Q4_K_M — Boole will find the matching GGUF file automatically

If the pattern matches multiple files, Boole lists them so you can pick the exact one. If no files match, it shows all available GGUF files in the repo.

You can also pass a local file path to a .gguf file already on disk.

Authentication

Some Hugging Face repositories are gated and require authentication. If you encounter a 401 error, provide your Hugging Face token:

Via command-line flag:

npx @boole/cli run mistralai/Mistral-7B-Instruct-v0.2-GGUF:Q4_K_M \
  --hf-token hf_xxxx \
  --prompt "Hello"

Via environment variable:

export HF_TOKEN=hf_xxxx
npx @boole/cli run mistralai/Mistral-7B-Instruct-v0.2-GGUF:Q4_K_M --prompt "Hello"

Get your token from huggingface.co/settings/tokens.

Platform support

@boole/cli uses native bindings (via node-llama-cpp) to talk to llama.cpp directly, with GPU offload where available.

| Platform | CPU | GPU acceleration | |---|---|---| | macOS (Apple Silicon) | ✅ | ✅ Metal | | macOS (Intel) | ✅ | — | | Linux (x64/arm64) | ✅ | ✅ CUDA / Vulkan | | Windows (x64) | ✅ | ✅ CUDA / Vulkan |

Prebuilt binaries are used where available; unsupported platform/architecture combinations fall back to compiling from source on install.

Contributing

Issues and PRs welcome. See CONTRIBUTING.md for local dev setup.

License

MIT © Boole