node package manager


riichi-core: JS Riichi Mahjong game engine

npm GitHub license GitHub stars Twitter URL

riichi-core is a CommonJS library that implements the game of Riichi Mahjong / リーチ麻雀, a popular modern Japanese variant of the traditional Chinese table game of Mahjong.


  • Consistent, canonical, non-confusing terminology
  • Customizable rule variations (excluding so-called "local rules")
  • Clean, intuitive API
  • Event sourcing architecture
    • deterministic behavior
    • succinct game logs
    • built-in client-server capability
  • Free software

Full Documentation


Issues and pull requests are welcome.

The project is mostly written in LiveScript, a compile-to-javascript language.

mocha and istanbul are used to run the tests. Data used in some tests are not commited to repo as of now due to copyright concerns.




If you find this library helpful or are using / plan to use this library in your project, please kindly drop me a note on Twitter (@summivox). I appreciate it.