A collection of small browser games and the shared, reusable packages that power them
Find a file
2026-07-03 15:51:35 +02:00
.github/workflows chore: update release action to not publish to npm 2026-04-03 03:18:06 +02:00
.husky chore: use eslint for linting & formatting 2026-04-02 14:41:52 +02:00
.vscode chore: use eslint for linting & formatting 2026-04-02 14:41:52 +02:00
apps/mnswpr chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
packages chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
scripts chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
sites chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
.gitignore chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
.nvmrc chore: update release gh action 2026-04-03 03:03:08 +02:00
AGENTS.md chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
AYO.md feat: reusable, time-windowed leaderboard (@cozy-games/leaderboard) 2026-07-03 13:42:03 +02:00
eslint.config.js chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
LICENSE Create LICENSE 2023-03-10 09:42:58 +01:00
package.json chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
pnpm-lock.yaml chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
pnpm-workspace.yaml chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00
README.md chore: update readme 2026-07-03 15:51:35 +02:00
screenshot.png chore: add sreenshot 2026-07-03 10:29:17 +02:00
vitest.config.js chore: restructure to cozy-games monorepo 2026-07-03 15:51:02 +02:00

Cozy Games

A monorepo for Cozy Games — a growing collection of small browser games and the shared, reusable packages that power them.

Layout

cozy-games/
├── apps/          Playable games (each deploys independently)
│   └── mnswpr/    Minesweeper — mnswpr.com  (@ayo-run/mnswpr engine + Firebase leaderboard)
├── packages/      Shared, publishable libraries
│   ├── mnswpr/       @ayo-run/mnswpr   — the vanilla Minesweeper game engine
│   ├── leaderboard/  @cozy-games/leaderboard — backend-agnostic, time-windowed leaderboard
│   └── utils/        @cozy-games/utils — shared browser utilities (storage, timer, …)
└── sites/         Docs (Astro Starlight) and UI demos  — placeholders for now

Each app owns its own backend config (e.g. mnswpr's Firestore rules live in apps/mnswpr/); the shared packages stay backend-agnostic.

Getting started

This is a pnpm workspace (pnpm is required).

pnpm i              # install
pnpm dev            # run the mnswpr app (Vite dev server)
pnpm test           # run all package tests (vitest)
pnpm lint           # eslint
pnpm build          # build the mnswpr app     -> apps/mnswpr/dist
pnpm build:lib      # build the engine package -> packages/mnswpr/dist

See apps/mnswpr/README.md for the game itself, and each package's README for library usage.

License

BSD-2-Clause © Ayo Ayco