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

zap-search

v1.1.0

Published

Fuzzy search files, folders, and zsh history from the terminal

Downloads

71

Readme

zap

zap is a small terminal helper for when you know "it is somewhere here" but do not want to manually dig for it.

It lets you:

  • fuzzy search files and folders from the current directory
  • jump into folders from the same prompt
  • search your shell history and run old commands fast
  • search ready-made terminal snippets for stuff like docker, pick one, and send it back to your shell

Install

npm install -g zap-search

Current version: 1.1.0

Shell setup

Shell integration now supports:

  • zsh
  • bash
  • fish
  • powershell

Use the setup for the shell you actually use.

zsh

zap init zsh >> ~/.zshrc
source ~/.zshrc

bash

zap init bash >> ~/.bashrc
source ~/.bashrc

fish

zap init fish >> ~/.config/fish/config.fish
source ~/.config/fish/config.fish

PowerShell

zap init powershell >> $PROFILE
. $PROFILE

This wrapper is what allows zap to change your current directory and hand commands back to your shell cleanly.

Quick use

Search files or folders in the current project:

zap pac

Search command history:

zap %git

Search command examples/snippets from the web:

zap web docker

That last one is handy when you are stuck on some random command, like Docker flags you vaguely remember. Pick the one you want and zap sends it back to your shell so you can run it as-is or tweak it first.

What happens after selection

  • file selected: opens the file
  • folder selected: changes your current shell directory
  • history command selected: executes the command
  • zap web <topic> selection: puts the chosen command into your shell line

Plain mode

If you do not want the interactive selector and just want the top match for files or folders:

zap pac --plain

Typical examples

Open a file quickly:

zap readme

Jump into a folder:

zap src

Run something from history:

zap %docker

Look up a command pattern when your brain is half-working:

zap web docker-compose
zap web tar
zap web find

Notes

  • hidden folders and common heavy folders like node_modules, dist, build, .next, .turbo, out, and coverage are skipped
  • history search checks your active shell and reads from ~/.zsh_history, ~/.bash_history, ~/.local/share/fish/fish_history, or PowerShell history accordingly
  • shell handoff features depend on running the shell setup above

Final Words

I'm Sujal Rana, and I'm making zap because when I was very new to programming and got exposed to the terminal, even basic things felt harder than they should.

At that time, even small terminal tasks used to feel irritating. Finding the right file, jumping into the right folder, remembering some old command, or searching for one Docker command I knew I had seen before, all of that was enough to break flow.

That feeling is the whole reason behind zap. I want something simple that makes terminal work feel less messy, especially when you're still learning and do not want to fight your tools for basic things.

If you use zap, build something around it, or just want to say hi, you can find me here:

And if you want to contribute, you're welcome !

If you have an idea, a fix, a weird edge case, or just want to improve the flow, open an issue or PR. This project is still being shaped, good contributions help make zap better for everyone using it.