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

cmdseek

v1.1.0

Published

Fast recursive command search CLI that learns from your usage patterns and suggests commands with fuzzy matching

Readme

cmdseek 🔍

Fast command search CLI that learns from your usage patterns and suggests commands with fuzzy matching.

npm version License: MIT

Stop Googling the same commands. cmdseek lets you search for commands using natural language, fuzzy matching, and context-aware suggestions. It learns from your usage patterns over time to surface the commands you actually use.

Features

  • Fuzzy search — Type what you remember, get the right command
  • Context-aware — Detects your project type (Node.js, Docker, Git, Python, Rust) and boosts relevant commands
  • Usage learning — Records which commands you use most and ranks them higher
  • 100+ built-in commands — Git, Docker, npm, filesystem, shell, network, and more
  • Zero config — Works out of the box, no setup needed
  • Local only — All data stays on your machine

Install

npm install -g cmdseek

Or use without installing:

npx cmdseek "restart docker container"

Usage

Search for commands

# Quick search (default action)
cmdseek "restart docker"

# Explicit search
cmdseek search "show last commits"

# Limit results
cmdseek search "install package" --limit 5

# Disable context awareness
cmdseek search "build image" --no-context

Output:

  Context: git node in my-project

  1. docker restart <container> — Restart a container [docker] (Exact command match)
  2. docker compose restart <service> — Restart compose services [docker] (Tag match: restart)

Browse commands

# List all categories
cmdseek categories

# List all commands in a category
cmdseek list docker

# List everything
cmdseek list

Usage tracking

# Record a command you just used
cmdseek record "git rebase -i HEAD~5"

# Record a failed command
cmdseek record "docker build ." --fail

# See your usage stats
cmdseek stats

# See recently used commands
cmdseek recent

Context detection

# See what cmdseek detects about your project
cmdseek context

API

You can also use cmdseek as a library:

import { CommandSearch, UsageTracker } from "cmdseek";

const search = new CommandSearch();
const results = search.searchWithContext("restart container", {
  isGitRepo: true,
  isNodeProject: true,
  isDockerProject: true,
  isRustProject: false,
  isPythonProject: false,
  directoryName: "my-app",
});

for (const result of results) {
  console.log(result.entry.command, result.score, result.matchReason);
}

How It Works

  1. Search: Uses Fuse.js for fuzzy matching across command text, descriptions, categories, and tags
  2. Context: Detects project files (package.json, docker-compose.yml, Cargo.toml, etc.) to boost relevant categories
  3. Learning: Records command usage in ~/.cmdseek/usage.json and uses frequency data to boost often-used commands
  4. Scoring: Combines fuzzy relevance + context boost + usage frequency for final ranking

Command Categories

| Category | Description | |----------|-------------| | git | Version control commands | | docker | Container management | | npm | Node.js package manager | | filesystem | File operations (find, grep, sed, awk) | | shell | Process and shell management | | typescript | TypeScript compiler | | python | Python tools | | network | Networking (curl, ssh, scp) | | tools | Miscellaneous dev tools (jq, gh, code) |

License

MIT © sulthonzh