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
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Desired username (prompted if omitted) |
--password | -p | Yes | Account password, input is hidden (prompted if omitted) |
--email | -e | No | Optional 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
| Argument | Description |
|---|
opponent | Username of the player to challenge |
Flags
| Flag | Short | Default | Description |
|---|
--format | -f | singles_3v3 | Battle format (see valid values below) |
--username | -u | — | Your username (required, prompted if omitted) |
--password | -p | — | Your password (required, prompted if omitted) |
| Value | Description |
|---|
singles_1v1 | 1 Pokémon each — first to faint loses |
singles_3v3 | 3 Pokémon each — last standing wins |
singles_6v6 | Full 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
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Your username |
--password | -p | Yes | Your password |
battle accept
Accept an incoming challenge. After accepting, submit your team with battle team.
pokedo battle accept <battle-id> [OPTIONS]
Flags
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Your username |
--password | -p | Yes | Your password |
Example
pokedo battle accept abc123 -u misty -p starmie99
battle decline
Decline a pending challenge.
pokedo battle decline <battle-id> [OPTIONS]
Flags
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Your username |
--password | -p | Yes | Your 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
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Your username |
--password | -p | Yes | Your 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
| Flag | Short | Default | Description |
|---|
--move | -m | 0 | Move index to use (0–3) |
--username | -u | — | Your username (required) |
--password | -p | — | Your 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
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Your username |
--password | -p | Yes | Your 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
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Your username |
--password | -p | Yes | Your 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
| Flag | Short | Required | Description |
|---|
--username | -u | Yes | Your username |
--password | -p | Yes | Your 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
| Flag | Short | Default | Description |
|---|
--username | -u | — | Your username (required) |
--password | -p | — | Your password (required) |
--limit | -n | 10 | Number 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