A collection of small browser games and the shared, reusable packages that power them
Find a file
2026-07-06 00:11:22 +02:00
.github/workflows chore: update release action to not publish to npm 2026-04-03 03:18:06 +02:00
.husky chore: security hardening 2026-07-03 23:04:52 +02:00
.vscode chore: use eslint for linting & formatting 2026-04-02 14:41:52 +02:00
apps/mnswpr chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
docs/decisions chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
packages chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
scripts chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
sites chore: restructure to new cozy-games monorepo 2026-07-03 13:53:13 +00:00
.gitignore chore: security hardening 2026-07-03 23:04:52 +02:00
.nvmrc chore: update release gh action 2026-04-03 03:03:08 +02:00
.secretlintignore chore: security hardening 2026-07-03 23:04:52 +02:00
.secretlintrc.json chore: security hardening 2026-07-03 23:04:52 +02:00
AGENTS.md chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
CONTRIBUTING.md chore: fix messed up markdown :) 2026-07-04 10:46:30 +02:00
eslint.config.js chore: monorepo scripts (dev, build, db, etc) 2026-07-03 20:25:33 +02:00
LICENSE Create LICENSE 2023-03-10 09:42:58 +01:00
package.json chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
pnpm-lock.yaml chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
pnpm-workspace.yaml refactor: use wcb v5 createElement-safe static props 2026-07-05 13:03:08 +02:00
README.md chore: fix typo in readme :) 2026-07-05 13:18:14 +02:00
screenshot.png chore: add sreenshot 2026-07-03 10:29:17 +02:00
vitest.config.js chore: restructure to new cozy-games monorepo 2026-07-03 13:53:13 +00:00

Cozy Games

A growing collection of small browser games and the shared, reusable packages that power them.

Note

This repo was originally for mnswpr (see its README) which has been evolved in 2026 to understand AI-assisted development. The purpose of mnswpr has always included understanding the web development landscape and this has changed significantly with the rise of LLMs.

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 Develop Publish Document
mnswpr (game core) Built
leaderboard Built
move-log Built
replay engine Built
rating math 🚧 Development
sudoku (game core) 🔮 Planned

Note: @ayo-run/mnswpr on npm predates this project and will be deprecated in favor of cozy-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