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

toolk

v0.1.3

Published

A modular CLI toolkit built with Bun and Commander.js. Easily extendable with a plugin-like module system.

Readme

toolk

A modular CLI toolkit built with Bun and Commander.js. Easily extendable with a plugin-like module system.

Note: Some modules may require additional system dependencies (e.g., ollama). The tool was primarily developed for my personal use on Linux, I encourage you to adapt it to your needs.

Installation

bun install toolk -g

Usage

toolk [command] --help

Available Commands (Built-in)

| Command | Description | |---------|-------------| | ai ask [prompt] | One-shot AI question (supports stdin piping) | | ai chat | Interactive AI chat session | | ollama on/off | Start/stop local Ollama server | | tool add <name> | Scaffold a new tool module | | tool from <script> | Create a tool from a Bash script | | edit | Open toolk in editor | | install-completions | Generate shell completions |

Examples

# AI (supports Google and Ollama providers)
bun run start ai ask "explain async/await"
echo "what is rust?" | bun run start ai ask
bun run start ai chat                   # Interactive mode

# Add a new tool
bun run start tool add mytool

Configuration

Configuration is stored in ~/.config/toolk/boot.yaml (or $XDG_CONFIG_HOME/toolk/boot.yaml). Built-in modules are enabled/disabled here, and some support additional config:

modules:
  ai:
    enabled: true
    provider: google    # or "ollama"
    model: gemini-3-flash-preview

Adding New Modules

User Modules (Recommended)

User modules are auto-discovered from ~/.config/toolk/modules/ (or $XDG_CONFIG_HOME/toolk/modules/). No configuration needed.

  1. Create a file (e.g., ~/.config/toolk/modules/mytool.ts)
  2. Register commands using the global program:
const program = (globalThis as Record<string, unknown>).toolkProgram as typeof import("commander").program;

program
  .command("mytool")
  .description("My custom tool")
  .action(async () => {
    // implementation
  });

Supports both mytool.ts and mytool/index.ts patterns.

Built-in Modules

For modules shipped with toolk, create a file in modules/ and enable it in ~/.config/toolk/boot.yaml:

import { program } from "commander";

program.command("mytool").action(async () => { /* ... */ });
modules:
  mytool:
    enabled: true

Environment Variables

| Variable | Description | |----------|-------------| | GOOGLE_API_KEY | Required for AI chat functionality |

Development

bun run dev      # Run with watch mode
bun run check    # Lint and format check
bun run build.ts # Build to ./build