Overview
poke-cli is a hybrid of a classic CLI and modern TUI tool for viewing data about Pokémon! I am new to writing Go and taking my time in building this
project.
My aim is to have eight commands finished for v1.0.0. Read more in the Roadmap section.
Demo

Install
Binary
Download a pre-built binary
- Head to the releases page of the project.
- Choose a version to download. The latest is best.
- Choose an operating system and click on the matching zipped folder to start the download.
- Extract the folder. The tool is ready to use.
- Either change directories into the extracted folder or move the binary to a chosen directory.
- Run the tool!
[!IMPORTANT]
For macOS, you may have to allow the executable to run as it is not signed. Head to System Settings > Privacy & Security > scroll down and allow executable to run.
View Image of Settings

Example usage
# Windows
.\poke-cli.exe pokemon charizard --types --abilities
# Unix
.\poke-cli pokemon vespiquen -t -a
Docker Image
Use a Docker Image
- Install Docker Desktop.
- Once installed, use the command below to pull the image and run the container!
--rm: Automatically remove the container when it exits.
-i: Interactive mode, keeps STDIN open for input.
-t: Allocates a terminal (TTY) for a terminal-like session.
docker run --rm -i -t digitalghostdev/poke-cli:v0.12.2 <command> [subcommand] flag]
Go Install
If you have Go already, install the executable yourself
- Run the following command:
go install github.com/digitalghost-dev/poke-cli@latest
- The tool is ready to use!
Usage
By running poke-cli [-h | --help], it'll display information on how to use the tool.
╭─────────────────────────────────────────────────────────╮
│Welcome! This tool displays data related to Pokémon! │
│ │
│ USAGE: │
│ poke-cli [flag] │
│ poke-cli <command> [flag] │
│ poke-cli <command> <subcommand> [flag] │
│ │
│ FLAGS: │
│ -h, --help Shows the help menu │
│ -l, --latest Prints the latest version available │
│ -v, --version Prints the current version │
│ │
│ COMMANDS: │
│ ability Get details about an ability │
│ natures Get details about Pokémon natures │
│ pokemon Get details about a specific Pokémon │
│ types Get details about a specific typing │
╰─────────────────────────────────────────────────────────╯
Roadmap
The architecture behind how the tool works is straight forward.
- Commands indicate which data endpoint to focus on.
- Flags provide more information and can be all stacked together or chosen.
Planned for Version 1.0.0
Not 100% up-to-date, may add or remove some of these choices
Below are the commands and flags that are planned for v1.0.0
-
ability: get data about a specific ability.
-
-p | --pokemon: display Pokémon that learn this ability.
-
berry: get data about a specific berry.
-
move: get data about a specific move.
-
-p | --pokemon: display Pokémon that learn this move.
-
natures: get data about natures.
-
pokemon: get data about a specific Pokémon.
-
-a | --abilities: display the Pokémon's abilities.
-
-i | --image: display a pixel image of the Pokémon.
-
-s | --stats: display the Pokémon's base stats.
-
-t | --types: display the Pokémon's typing.
-
-m | --moves: display learnable moves.
-
search: search for a resource (ability, berry, pokemon, move)
-
speed: compare speed stats between two Pokémon.
-
types: get data about a specific typing.