#pokemon #terminal #cli

app krabby

Print pokemon sprites in your terminal

9 releases

0.1.8 Nov 12, 2023
0.1.7 Aug 3, 2023
0.1.6 May 23, 2022
0.1.4 Apr 23, 2022

#367 in Command line utilities

28 downloads per month

GPL-3.0 license

20MB
264 lines

krabby

Crates.io version AUR version

Krabby is mostly a Rust rewrite of phoney badger's pokemon-colorscripts with some extra features.

Table of contents

Features

  • Pokemon from every generation, including shinies, megas, gigantamax, and regional variants
  • Print random pokemon (with filters for generations and different forms)
  • Print pokemon by name
  • Print pokedex entry together with the sprite
  • Configuration file, right now only for language and shiny rate

Installation

Arch Linux x86_64 (and derivatives)

From the AUR using your favorite AUR helper

yay -S krabby-bin

Or alternatively you can manually download the PKGBUILD file from the repository, then run

makepkg -si

There is also the development package krabby-git that tracks the main branch.

Ubuntu/Debian x86_64 (and derivatives)

Download the latest .deb release. Then run (replacing v.v.v with the version number)

dpkg -i krabby_v.v.v_amd64.deb

Installing from source (other distros and MacOS/Windows)

To install krabby from source, you will need Rust. Installation instructions can be found here.

Now using cargo, run

cargo install krabby

Make sure you have .cargo/bin added to your shell PATH. This can be done by adding the following to your .profile, .bash_profile or .zprofile

export PATH="$PATH:$HOME/.cargo/bin"

Usage

Run the help command krabby help to see the following help message.

USAGE:
    krabby <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    help      Print this message or the help of the given subcommand(s)
    list      Print list of all pokemon
    name      Select pokemon by name. Generally spelled like in the games. A few exceptions are
                  nidoran-f, nidoran-m, mr-mime, farfetchd, flabebe type-null etc. Perhaps grep the
                  output of list if in doubt
    random    Show a random pokemon. This command can optionally be followed by a generation
                  number or range (1-8) to show random pokemon from a specific generation or range
                  of generations. The generations can be provided as a continuous range (eg. 1-3) or
                  as a list of generations (1,3,6)

To get more detailed information about a subcommand you can also view its help, for example

krabby help random

To get the help of the random subcommand.

Examples

Print a specific pokemon

krabby name charizard

Print a specific shiny pokemon

krabby name spheal -s

Print a specific pokemon together with its pokedex entry

krabby name mudkip -i

Print an alternative form of a pokemon

krabby name blastoise -f mega

Print a random pokemon (gens 1-8)

krabby random

Print random pokemon from generations 1-3

krabby random 1-3

Print a random pokemon from generations 1,3 and 6

krabby random 1,3,6

Print a random pokemon excluding megas, gigantamax and regional variants

krabby random --no-mega --no-gmax --no-regional

Configuration

When the program is run, a TOML config file will automatically be created in the user's config directory (usually ~/.config) under krabby/config.toml if it doesn't exist already.

On MacOS the config will be in: /Users/<username>/Library/Application Support/krabby On Windows this will be: C:\Users\<username>\AppData\Roaming\krabby

# The language to use when printing the pokemon's name and/or description.
# Possible options include en (English), fr (French), de (German), ja (Japanese),
# zh_hans (Chinese with simplified characters), zh_hant (Chinese with traditional characters)
language = 'en'

# The probability to show a shiny pokemon when using the random command
shiny_rate = 0.0078125

Credits

The pokemon sprites for krabby were generated using sprites from PokéSprite and converted to unicode using Phoney Badger's pokemon-generator-scripts.

Similar projects

Dependencies

~3–13MB
~125K SLoC