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

@beauraines/pig-latin-privacy

v1.1.1

Published

PGP-style 'encryption' using Pig Latin

Readme

Pig Latin Privacy

Project Description

Pig Latin Privacy (PLP) is a joke command-line tool modeled after PGP. Instead of real encryption, it "encrypts" and "decrypts" messages using Pig Latin translation. Output includes PGP-style ASCII armor headers and footers.

Installation and Usage

Installation

npm install
npm link   # optional: makes 'plp' available globally

Usage

Encrypt (default):

# Encrypt a message (with ASCII armor)
plp "Hello World"

# Encrypt with explicit armor flag (like gpg -e -a)
plp -e -a "Hello World"

# Encrypt without armor
plp --no-armor "Hello World"

# Encrypt from stdin
echo "This is a secret message" | plp

# Encrypt from a file
plp -i message.txt

# Encrypt to an output file
plp -o encrypted.txt "Hello World"

Decrypt:

# Decrypt a wrapped message (auto-detected)
plp -i encrypted.txt

# Decrypt with explicit flag
plp -d -i encrypted.txt

# Decrypt from stdin
echo "Ellohay Orldway" | plp -d

# Decrypt to an output file
plp -d -o decrypted.txt -i encrypted.txt

# Round-trip: encrypt then decrypt
plp "Hello World" | plp -d

Options:

| Flag | Description | |------|-------------| | -e, --encrypt | Encrypt (translate to Pig Latin) — this is the default | | -d, --decrypt | Decrypt (translate from Pig Latin back to English) | | -a, --armor | Create ASCII armored output (header/footer) — on by default for encrypt | | --no-armor | Omit the ASCII armor | | -o, --output <file> | Write output to a file | | -t, --type <type> | Armor type label (default: plp) | | -i, --input <file> | Read input from a file instead of args/stdin |

When no mode is specified, PLP auto-detects: if input contains a PLP armor wrapper, it decrypts; otherwise it encrypts.

Shell Completion

PLP supports tab completion powered by yargs built-in completion for bash/zsh, and a static script for fish.

Bash:

# Add to ~/.bashrc for permanent completion
eval "$(plp completion)"

# Or install system-wide
plp completion > /etc/bash_completion.d/plp

Zsh:

# Add to ~/.zshrc for permanent completion
eval "$(plp completion)"

Fish:

# Install to fish completions directory
plp completion fish > ~/.config/fish/completions/plp.fish

Example Output

-----BEGIN PLP MESSAGE-----
Isthay isyay ayay ecretsay essagemay

-----END PLP MESSAGE-----

Known Limitations

Pig Latin is inherently ambiguous when reversing — some words cannot be perfectly round-tripped:

  • Words starting with "y" (yes, you, yellow) may decode incorrectly
  • Vowel-starting words ending in "y" (army, easy, every) may lose their trailing "y"
  • Apostrophes in contractions are lost during encoding

Development

  1. Run tests: npm test
  2. Node.js and npm required

Contributing

  1. Clone: git clone https://github.com/beauraines/pig-latin-privacy.git
  2. Install: npm install
  3. Run tests: npm test
  4. PRs welcome!

License and Credits

This project is licensed under the ISC license.

Commander.js and PigLatinizer are used under their respective licenses.