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

easy-command

v2.0.9

Published

Configure a polished Zsh terminal with one command.

Readme

easy-command

Configure a polished Zsh terminal in one command.

easy-command installs and configures Oh My Zsh, the agnoster theme, Git status, command suggestions, Tab completion, and syntax highlighting. It preserves your existing .zshrc content and creates a backup before every change.

See CHANGELOG.md for release notes.

INSTALL

npm (recommended)

npm i -g easy-command
easy-command -y

Or install globally and configure your terminal in one command:

npx easy-command -y --global
exec zsh -l

GitHub

No Node.js or npm is required:

curl -fsSL https://raw.githubusercontent.com/UnionSchool/easy-command/main/install.sh | bash -s -- -y

When installation finishes, open a new terminal session or run:

exec zsh -l

Everyday commands

# Preview installation without changing your machine
easy-command --dry-run

# Check Shell, dependencies, managed repositories, and .zshrc configuration
easy-command doctor

# Restore missing managed files and configuration
easy-command repair -y

# Safely update Oh My Zsh and managed plugins
easy-command update -y

If you do not want a global npm installation, replace easy-command in the examples with npx easy-command.

What you get

  • A clean agnoster prompt with your user, path, Git branch, and working-tree status.
  • History-based command suggestions. Press or Ctrl+E to accept one.
  • Syntax highlighting: valid commands are green; unknown commands are bold red.
  • Native Zsh completion. Press Tab to complete; press it twice to view candidates.
  • Shared history across terminal sessions, retaining the latest 10,000 commands.
  • Built-in preview, diagnostics, repair, and update commands for easy maintenance.

Preview

Git branch and working-tree status

agnoster displays Git branch and working-tree status

History-based command suggestions

A suggested history command appears while typing

Syntax highlighting and error feedback

Valid commands are green and unknown commands are red

Options

# Configure a specific user
bash install.sh -y --user bell

# Keep the current login shell
bash install.sh -y --no-chsh

# Remove only the configuration block managed by easy-command
bash install.sh --uninstall

# Enable optional fuzzy search
bash install.sh -y --with-fzf

zoxide is installed by default. It enables z <keyword> directory jumping and z add <directory> (or z a <directory>) for manually recording a directory. Directories are recorded only through z add, z a, ec add, or ec a; normal jumps never add a directory automatically. Use --without-zoxide to disable it. fzf adds fuzzy history and file searching. Git aliases are added by default, including git st, git br, git sw, git ci, git cam, git lg, git la, git lb, and git ec-status; existing aliases are never overwritten. Use --without-git-aliases to skip or remove aliases managed by easy-command.

For a unified interface, use ec <keyword> to jump, ec add <directory> (or ec a <directory>) to record a directory, ec list (or ec l) to view entries, and ec del <directory> (or ec remove <directory>) to remove one. ec doctor, ec repair, ec update, ec install, ec uninstall, and ec --dry-run run the matching easy-command maintenance operation. z remains available for zoxide compatibility.

Requirements

  • macOS: Homebrew must already be installed.
  • Ubuntu / Debian: dependencies are installed with apt-get.

The script needs sudo to install packages and change the default shell. Without sudo access, use --no-chsh and have an administrator install Zsh first.

Configuration and rollback

The installer manages only the marked easy-command block in ~/.zshrc. Before each update, it creates a timestamped backup. Running --uninstall removes only that managed block; it does not remove Oh My Zsh, plugins, command history, or other personal settings.

Installed components:

~/.easy-command/oh-my-zsh
~/.zshrc
~/.zsh_history

Security

For a first-time trial, download and inspect the script before running it:

curl -fsSLO https://raw.githubusercontent.com/UnionSchool/easy-command/main/install.sh
less install.sh
bash install.sh -y

For production, pin a release tag instead of running main directly:

npx [email protected] -y

Or, without npm:

curl -fsSL https://raw.githubusercontent.com/UnionSchool/easy-command/v2.0.9/install.sh | bash -s -- -y

License

MIT