This is a card game framework and various card game implementations. The core package contains the framework and useful components, including functionality to display a card game in the command line. The various other packages are card game implementations.
Can I Have That is a house variation on Continental Rummy. Hearts and Euchre are trick-taking games. Other implementations of card games or expansions of the core library are welcome.
We use pnpm workspaces to support a number of games on top of the core library. See the documentation pages here or see the wiki articles here.
npx @cards-ts/hearts # or can-i-have-that, etc.
pnpm i # typically only needed the first time
pnpm buildall # use "--include-dependencies --scope=@cards-ts/$GAME" to just build the game dependencies
GAME=can-i-have-that # or hearts, etc.
pnpm start --filter=@cards-ts/$GAME
or
GAME=can-i-have-that # or hearts, etc.
cd packages/$GAME
pnpm start
The tests in spec folder test that each game exports a minimum number of fields and that the bots will be able to complete the game successfully (Run with pnpm start
in the folder locally). Each package can also contain a spec folder as well for unit testing components with mocha (Run all with pnpm testall
or in a package with pnpm test
).
We use SemVer for versioning. For the versions available, see the tags on this repository.
See also the list of contributors who participated in this project.