Play Minesweeper Online for Free https://mnswpr.com
Find a file
ayo 0a3571e2f4
chore: add contribution content checks (#53)
Adds scripts/check-content.mjs, a zero-dependency scanner for commits, branch
names, PR text, and contributed lines. It checks structural rules (attribution
trailers and footers, session links) and a maintainer-managed reserved-terms
list, shipped as salted digests in .repo-policy.json. Findings report a location
and a masked preview, never the matched term.

Wired up opt-in: the pre-commit hook scans the staged diff and branch name, a new
commit-msg hook scans the message, and the Checks workflow gates PRs and pushes
to main. The digest list ships empty; structural checks run regardless.
2026-07-16 21:17:44 +02:00
.github/workflows chore: add contribution content checks (#53) 2026-07-16 21:17:44 +02:00
.husky chore: add contribution content checks (#53) 2026-07-16 21:17:44 +02:00
.vscode chore: use eslint for linting & formatting 2026-04-02 14:41:52 +02:00
apps/mnswpr chore: relicense to MIT (#52) 2026-07-16 21:15:49 +02:00
docs/decisions chore: move to @cozy-games/mnswpr 2026-07-06 00:11:22 +02:00
packages chore: relicense to MIT (#52) 2026-07-16 21:15:49 +02:00
scripts chore: add contribution content checks (#53) 2026-07-16 21:17:44 +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
.repo-policy.json chore: add contribution content checks (#53) 2026-07-16 21:17:44 +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: add contribution content checks (#53) 2026-07-16 21:17:44 +02:00
CONTRIBUTING.md chore: add contribution content checks (#53) 2026-07-16 21:17:44 +02:00
eslint.config.js chore: monorepo scripts (dev, build, db, etc) 2026-07-03 20:25:33 +02:00
LICENSE chore: relicense to MIT (#52) 2026-07-16 21:15:49 +02:00
package.json chore: update docs 2026-07-16 16:10:46 +02:00
pnpm-lock.yaml chore: update docs 2026-07-16 16:10:46 +02:00
pnpm-workspace.yaml refactor: use wcb v5 createElement-safe static props 2026-07-05 13:03:08 +02:00
README.md chore: add contribution content checks (#53) 2026-07-16 21:17:44 +02:00
screenshot.png chore: add sreenshot 2026-07-03 10:29:17 +02:00
tsconfig.types.json chore: update docs 2026-07-16 16:10:46 +02:00
vitest.config.js chore: add contribution content checks (#53) 2026-07-16 21:17:44 +02: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
mnswpr (game core) Built @cozy-games/mnswpr
leaderboard Built @cozy-games/leaderboard
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

MIT © Ayo Ayco