A collection of small browser games and the shared, reusable packages that power them
| .github/workflows | ||
| .husky | ||
| .vscode | ||
| apps/mnswpr | ||
| docs/decisions | ||
| packages | ||
| scripts | ||
| sites | ||
| .gitignore | ||
| .nvmrc | ||
| .secretlintignore | ||
| .secretlintrc.json | ||
| AGENTS.md | ||
| CONTRIBUTING.md | ||
| eslint.config.js | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| screenshot.png | ||
| vitest.config.js | ||
Cozy Games
A growing collection of small browser games and the shared, reusable packages that power them.
Roadmap
- Public APIs — game-agnostic modules (core, move-log, replay, leaderboard, rating) built inside the first game.
- Second Game — validate those APIs by adding a second game through the adapter alone.
- Reusable Packages — extract proven modules into standalone, versioned packages.
- Adapters — freeze the adapter contract for third-party games to build against.
Packages
| Package | State |
|---|---|
mnswpr (game core) |
🚧 Active development |
| leaderboard | ✅ Done (unpublished) |
| move-log envelope | 🔮 Planned |
| replay engine | 🔮 Planned |
| rating math | 🔮 Planned |
sudoku (game core) |
🔮 Planned |
Note:
@ayo-run/mnswpron npm predates this project and will be deprecated in favor ofcozy-games/mnswpr.
Contributing
Setup, running games locally, testing, code style, and local infra all live in CONTRIBUTING.md. In short — this is a pnpm workspace:
pnpm i # install
pnpm test # run the test suite
pnpm -F mnswpr run dev # run the Minesweeper app locally
See apps/mnswpr/README.md for the game itself, and each package's README for library usage.
License
BSD-2-Clause © Ayo Ayco