Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/tldrwtf/pokedo/llms.txt

Use this file to discover all available pages before exploring further.

PokeDo’s battle system is fully server-authoritative and asynchronous. You and your opponent submit actions independently; the server resolves each turn using the Gen V+ damage formula with STAB, type effectiveness, critical hits, 25 natures, and status effects. Battles require a running PokeDo server — see the server setup section in the README for Docker Compose instructions. Every battle command authenticates against the server using --username / -u and --password / -p. If you omit these flags you will be prompted interactively.
pokedo battle <subcommand> [OPTIONS]
The server URL defaults to http://localhost:8000. Override it with the POKEDO_SERVER_URL environment variable.

battle register

Create a new account on the PokeDo server. Your local trainer name is linked to the server account automatically.
pokedo battle register [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesDesired username (prompted if omitted)
--password-pYesAccount password, input is hidden (prompted if omitted)
--email-eNoOptional email address

Example

pokedo battle register -u ash -p pikachu123

battle challenge

Send a battle challenge to another registered player.
pokedo battle challenge <opponent> [OPTIONS]

Arguments

ArgumentDescription
opponentUsername of the player to challenge

Flags

FlagShortDefaultDescription
--format-fsingles_3v3Battle format (see valid values below)
--username-uYour username (required, prompted if omitted)
--password-pYour password (required, prompted if omitted)

Battle format options

ValueDescription
singles_1v11 Pokémon each — first to faint loses
singles_3v33 Pokémon each — last standing wins
singles_6v6Full team of 6 — standard competitive format

Example

pokedo battle challenge misty -u ash -p pikachu123
pokedo battle challenge brock --format singles_6v6 -u ash -p pikachu123

battle pending

List your pending and active battles.
pokedo battle pending [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesYour username
--password-pYesYour password

battle accept

Accept an incoming challenge. After accepting, submit your team with battle team.
pokedo battle accept <battle-id> [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesYour username
--password-pYesYour password

Example

pokedo battle accept abc123 -u misty -p starmie99

battle decline

Decline a pending challenge.
pokedo battle decline <battle-id> [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesYour username
--password-pYesYour password

Example

pokedo battle decline abc123 -u misty -p starmie99

battle team

Submit your current active team for a battle. The server takes a snapshot of your Pokémon’s current stats, moves, and nature — subsequent roster changes will not affect this battle.
pokedo battle team <battle-id> [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesYour username
--password-pYesYour password

Example

pokedo battle team abc123 -u ash -p pikachu123
Once both players have submitted teams, the battle goes live automatically.

battle move

Submit an attack move for the current turn. Move indices 0–3 correspond to your active Pokémon’s four moves.
pokedo battle move <battle-id> [OPTIONS]

Flags

FlagShortDefaultDescription
--move-m0Move index to use (0–3)
--username-uYour username (required)
--password-pYour password (required)

Example

pokedo battle move abc123 -m 2 -u ash -p pikachu123

battle switch

Switch to a different Pokémon during your turn. The slot argument is the zero-indexed position in your battle team roster.
pokedo battle switch <battle-id> <slot> [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesYour username
--password-pYesYour password

Example

pokedo battle switch abc123 1 -u ash -p pikachu123

battle forfeit

Concede the battle. Your opponent is declared the winner and ELO is updated accordingly.
pokedo battle forfeit <battle-id> [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesYour username
--password-pYesYour password

Example

pokedo battle forfeit abc123 -u ash -p pikachu123

battle status

View the current state of a battle: turn number, format, your team’s HP, the opponent’s visible team, and the last turn’s event log.
pokedo battle status <battle-id> [OPTIONS]

Flags

FlagShortRequiredDescription
--username-uYesYour username
--password-pYesYour password

Example

pokedo battle status abc123 -u ash -p pikachu123

battle history

View your completed battle record from the server.
pokedo battle history [OPTIONS]

Flags

FlagShortDefaultDescription
--username-uYour username (required)
--password-pYour password (required)
--limit-n10Number of past battles to retrieve

Example

pokedo battle history -u ash -p pikachu123
pokedo battle history -u ash -p pikachu123 --limit 25

Typical battle flow

# 1. Register once
pokedo battle register -u ash -p pikachu123

# 2. Challenge an opponent
pokedo battle challenge misty -u ash -p pikachu123
# Note the battle ID from the output, e.g. abc123

# 3. Opponent accepts
pokedo battle accept abc123 -u misty -p starmie99

# 4. Both players submit teams
pokedo battle team abc123 -u ash -p pikachu123
pokedo battle team abc123 -u misty -p starmie99

# 5. Take turns — attack or switch
pokedo battle move abc123 -m 0 -u ash -p pikachu123
pokedo battle switch abc123 2 -u misty -p starmie99

# 6. Check status at any time
pokedo battle status abc123 -u ash -p pikachu123

Build docs developers (and LLMs) love