A simple CLI application for exploring the Pokémon world.
Find a file
2024-09-24 15:40:16 +01:00
.forgejo/workflows build: update environment variables 2024-09-22 13:21:14 +01:00
cmd/pokecli fix: add a line break before printing prompt 2024-09-24 15:40:16 +01:00
internal fix: add a line break before printing prompt 2024-09-24 15:40:16 +01:00
magefiles fix: update prompt string plus some refactoring 2024-09-23 22:05:30 +01:00
.gitignore fix: update prompt string plus some refactoring 2024-09-23 22:05:30 +01:00
.golangci.yaml fix(BREAKING): update project name 2024-09-22 13:17:47 +01:00
go.mod fix(BREAKING): update project name 2024-09-22 13:17:47 +01:00
LICENSE chore: add LICENSE 2024-09-21 17:26:02 +01:00
README.md docs: update README.md 2024-09-23 23:16:40 +01:00

pokecli

Overview

pokecli is a simple CLI application that uses the PokéAPI for exploring the Pokémon world and capturing Pokémon.

Repository mirrors

Requirements

  • Go: A minimum version of Go 1.23.1 is required for building the pokecli. Please go here to download the latest version.

Build the application

Clone this repository to your local machine.

git clone https://github.com/dananglin/pokecli.git

Build the application.

  • Build with go.

    go build -o pokecli ./cmd/pokecli
    
  • Or build with mage if you have it installed.

    mage clean build
    

Example Usage

  • Run the application and view the help menu

    $ ./pokecli
    
    Welcome to the Pokemon world!
    pokecli > help
    
    Commands:
    
    catch   Catch a Pokemon and add it to your Pokedex
    exit    Exit the Pokedex
    explore List all the Pokemon in a given area
    help    Display the help message
    inspect Inspect a Pokemon from your Pokedex
    map     Display the next 20 locations in the Pokemon world
    mapb    Display the previous 20 locations in the Pokemon world
    pokedex List the names of all the Pokemon in your Pokedex
    release Release a Pokemon back into the wild
    visit   Visit a location area
    
  • Use map to page through the location areas in the Pokemon world.

    pokecli > map
    mturnback-cave-pillar-1
    turnback-cave-pillar-2
    turnback-cave-pillar-3
    turnback-cave-before-pillar-1
    turnback-cave-between-pillars-1-and-2
    turnback-cave-between-pillars-2-and-3
    turnback-cave-after-pillar-3
    snowpoint-temple-1f
    snowpoint-temple-b1f
    snowpoint-temple-b2f
    snowpoint-temple-b3f
    snowpoint-temple-b4f
    snowpoint-temple-b5f
    wayward-cave-1f
    wayward-cave-b1f
    ruin-maniac-cave-0-9-different-unown-caught
    ruin-maniac-cave-10-25-different-unown-caught
    maniac-tunnel-26-plus-different-unown-caught
    trophy-garden-area
    iron-island-area
    
  • Let's use the visit command to visit iron-island-area.

    pokecli > visit iron-island-area
    You are now visiting iron-island-area
    
  • Use the explore command to discover all the Pokémon in this location area.

    pokecli > explore
    Exploring iron-island-area...
    (using data from cache)
    Found Pokemon:
    - tentacool
    - tentacruel
    - magikarp
    - gyarados
    - qwilfish
    - wingull
    - pelipper
    - finneon
    - lumineon
    
  • Use the catch command to throw a Pokéball at a Pokémon. Currently you have a 50% chance to capture each one.

    pokecli > catch qwilfish
    Throwing a Pokeball at qwilfish...
    qwilfish escaped!
    
    pokecli > catch wingull
    Throwing a Pokeball at wingull...
    wingull escaped!
    
    pokecli > catch lumineon
    (using data from cache)
    Throwing a Pokeball at lumineon...
    lumineon was caught!
    You may now inspect it with the inspect command.
    
    pokecli > catch gyarados
    Throwing a Pokeball at gyarados...
    gyarados was caught!
    You may now inspect it with the inspect command.
    
  • Use the pokedex command to list the names of all the Pokémon that you've caught.

    pokecli > pokedex
    Your Pokedex:
      - corsola
      - lumineon
      - gyarados
      - gastly
      - bidoof
      - wobbuffet
      - lunatone
      - corphish
    
  • Use the inspect command to inspect one of the Pokémon that you've caught.

    pokecli > inspect lunatone
    Name: lunatone
    Height: 10
    Weight: 1680
    Stats:
      - hp: 90
      - attack: 55
      - defense: 65
      - special-attack: 95
      - special-defense: 85
      - speed: 70
    Types:
      - rock
      - psychic
    
  • If you want to release a Pokémon back into the wild use the release command.

    pokecli > release lunatone
    lunatone was released back into the wild.
    
    pokecli > pokedex
    Your Pokedex:
      - corphish
      - corsola
      - lumineon
      - gyarados
      - gastly
      - bidoof
      - wobbuffet