MCPcopy Index your code
hub / github.com/smogon/pokemon-showdown

github.com/smogon/pokemon-showdown @v0.11.10

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.11.10 ↗ · + Follow
6,064 symbols 28,498 edges 797 files 341 documented · 6% updated 3d agov0.11.10 · 2025-02-27★ 5,76883 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Pokémon Showdown

Navigation: Website | Server repository | Client repository | Dex repository

Build Status Dependency Status

Introduction

Pokémon Showdown is many things:

  • A web site you can use for Pokémon battling

  • http://pokemonshowdown.com/

  • A JavaScript library for simulating Pokémon battles and getting Pokédex data

  • sim/README.md

  • Some command-line tools for simulating Pokémon battles (which can be used in non-JavaScript programs)

  • COMMANDLINE.md

  • A web API for the web site for Pokémon battling

  • pokemon-showdown-client: WEB-API.md

  • A game server for hosting your own Pokémon Showdown community and game modes

  • server/README.md

Pokémon Showdown simulates singles, doubles and triples battles in all the games out so far (Generations 1 through 9).

Documentation quick links

  • PROTOCOL.md - How the client and server communicate with each other.
  • sim/SIM-PROTOCOL.md - The part of the protocol used for battles and battle messages.
  • CONTRIBUTING.md - Useful code standards to understand if you want to send pull requests to PS (not necessary if you're just using the code and not planning to contribute back).
  • ARCHITECTURE.md - A high-level overview of how the code works.
  • Bot FAQ - An FAQ compiled by Kaiepi regarding making Pokemon Showdown bots - mainly chatbots and battle bots.

Community

PS has a built-in chat service. Join our main server to talk to us!

You can also visit the Pokémon Showdown forums for discussion and help.

If you'd like to contribute to programming and don't know where to start, feel free to check out Ideas for New Developers.

License

Pokémon Showdown's server is distributed under the terms of the MIT License.

Credits

Owner

  • Guangcong Luo [Zarel] - Development, Design, Sysadmin

Staff

  • Andrew Werner [HoeenHero] - Development
  • Annika L. [Annika] - Development
  • Chris Monsanto [chaos] - Development, Sysadmin
  • Kris Johnson [dhelmise] - Development
  • Leonard Craft III [DaWoblefet] - Research (game mechanics)
  • Mathieu Dias-Martins [Marty-D] - Research (game mechanics), Development
  • Mia A [Mia] - Development

Contributors

  • See http://pokemonshowdown.com/credits

Extension points exported contracts — how you extend this code

RNG (Interface)
* Low-level source of 32-bit random numbers. [4 implementers]
sim/prng.ts
ProcessWrapper (Interface)
(no doc) [3 implementers]
lib/process-manager.ts
MoveFlags (Interface)
Possible move flags.
sim/dex-moves.ts
MoveSlot (Interface)
A Pokemon's move slot.
sim/pokemon.ts
DashyStream (Interface)
* An object representing a Dashycode bitstream. * The stream can be either a read stream or a write stream, but not *
lib/dashycode.ts
MuteEntry (Interface)
* the Room object.
server/rooms.ts
LoggedMessage (Interface)
* A message caught by the filter.
server/chat-plugins/responder.ts
PokemonSets (Interface)
(no doc)
tools/set-import/importer.ts

Core symbols most depended-on inside this repo

add
called by 3119
server/replays.ts
makeChoices
called by 2967
sim/battle.ts
createBattle
called by 1752
test/common.js
get
called by 1646
sim/prng.ts
errorReply
called by 1441
server/chat.ts
has
called by 1331
server/punishments.ts
toID
called by 1099
sim/dex-data.ts
push
called by 1063
sim/battle-queue.ts

Shape

Function 2,842
Method 2,500
Class 438
Interface 284

Languages

TypeScript100%
Python1%

Modules by API surface

server/chat-plugins/mafia.ts179 symbols
server/chat-plugins/trivia/trivia.ts149 symbols
server/chat.ts146 symbols
server/chat-plugins/scavengers.ts124 symbols
server/rooms.ts114 symbols
sim/battle.ts109 symbols
server/punishments.ts105 symbols
data/abilities.ts103 symbols
server/chat-plugins/auction.ts98 symbols
sim/pokemon.ts97 symbols
lib/streams.ts96 symbols
server/tournaments/index.ts93 symbols

Dependencies from manifests, versioned

@stylistic/eslint-plugin4.0.1 · 1×
@types/cloud-env0.2.2 · 1×
@types/node14.18.63 · 1×
@types/node-static0.7.7 · 1×
@types/nodemailer6.4.4 · 1×
@types/pg8.6.5 · 1×
@types/sockjs0.3.33 · 1×
@types/sodium-native2.3.9 · 1×
esbuild0.16.10 · 1×
eslint9.21.0 · 1×
globals16.0.0 · 1×

For agents

$ claude mcp add pokemon-showdown \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact