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

repty

v1.0.7

Published

Terminal command history with natural language search

Readme

Repty

Terminal command history with natural language search - All offline, project-aware, and built for speed.

Repty is a professional CLI tool that captures your terminal history and makes it searchable using natural language. No cloud services, no AI APIs - everything runs locally using offline NLP techniques.

Key Features

  • Project-Wide Search: Automatically detects project roots (git/npm) to search across the whole codebase, not just your current folder.
  • Sequence Aliases: Combine multiple commands into a single shorthand using the | separator.
  • Interactive Selection: Choose exactly which command to run from multiple matches with a simple TUI picker.
  • CLI Shortcuts: Super-short commands (s, r, a) designed for lightning-fast productivity.
  • Privacy First: All data is stored locally in an SQLite database. No telemetry, no cloud.
  • Auto-Exclude: Automatically filters sensitive data (passwords, tokens, api_keys) from history.

Installation

Install Repty globally via npm:

npm install -g repty

Setup

After installation, initialize the shell integration to start capturing commands:

repty init

This will add a small hook to your ~/.zshrc or ~/.bashrc to capture commands as you run them.

Quick Start

| Command | Shortcut | Description | | :--- | :--- | :--- | | repty search | repty s | Search history with natural language | | repty run | repty r | Search, pick, and execute a command | | repty alias | repty a | Manage manual shortcuts and chains |

Examples

# Search for that one git command from last week
repty s "git push from last Friday"

# Search and run an npm command
repty r "npm test"

# Create a complex workflow alias
repty a "ship-it" "npm run build | git add . | git commit -m 'Release' | git push"

# Run your new alias
repty r ship-it

Commands

repty s <query> (Search)

Searches your history. If you are inside a Git repository or NPM project, Repty automatically expands the search scope to include the entire project.

repty r <query> (Run)

Finds and executes a command. If multiple relevant matches are found, it opens an Interactive Picker.

repty a <name> [command] (Alias)

Creates a manual shorthand.

  • Easy Mode (Recommended): repty a publish (Prompts you for the command - No quotes needed!)
  • Direct Mode: repty a p "git push"

[!TIP] Avoid Shell Interference Large commands with pipes (|) or redirects like > can be intercepted by your shell. Using the Easy Mode (running repty a name without a command) triggers an interactive prompt where you can paste your full workflow safely without any quotes.

repty clear

Safely manage your history data.

  • repty clear --sequences: Clear only detected command chains.
  • repty clear --all: Reset everything (requires confirmation).

How It Works

Repty uses local NLP processing to understand your intent:

  1. Date Extraction: Understands "yesterday", "last week", "3 days ago".
  2. Weighted Scoring: Ranks results based on command type, action keywords, and recency.
  3. Project Detection: Climbs the directory tree to find your .git or package.json for scoped searching.
  4. Offline NLP: Uses natural and chrono-node for all text analysis.

Tech Stack

  • TypeScript & Node.js
  • sql.js: Pure JS SQLite implementation
  • natural: Offline NLP and stemming
  • commander & inquirer: CLI layout and interaction
  • boxen & chalk: Premium terminal aesthetics

License

MIT