From f6b71023ec8834adc4265820c7228b1606a5ef24 Mon Sep 17 00:00:00 2001 From: Ayo Date: Sat, 18 Jul 2026 21:12:24 +0200 Subject: [PATCH] chore: flatten the app workspace --- .../.env.development => .env.development | 0 apps/mnswpr/.env.example => .env.example | 0 apps/mnswpr/.firebaserc => .firebaserc | 0 .gitignore | 11 +- AGENTS.md | 66 ++-- CONTRIBUTING.md | 59 ++-- README.md | 163 ++++++++-- apps/mnswpr/README.md | 153 ---------- apps/mnswpr/package.json | 30 -- .../docs => docs}/firebase-leaderboards.md | 17 +- .../leaderboard-env-migration.md | 4 +- apps/mnswpr/firebase.json => firebase.json | 0 ...ore.indexes.json => firestore.indexes.json | 0 .../mnswpr/firestore.rules => firestore.rules | 2 +- apps/mnswpr/index.html => index.html | 0 apps/mnswpr/legends.html => legends.html | 0 apps/mnswpr/main.css => main.css | 0 apps/mnswpr/main.js => main.js | 0 .../modules => modules}/nickname/nickname.js | 0 {apps/mnswpr/modules => modules}/user/user.js | 0 apps/mnswpr/netlify.toml => netlify.toml | 7 +- package.json | 26 +- pnpm-lock.yaml | 284 ++++++++---------- pnpm-workspace.yaml | 4 +- {apps/mnswpr/public => public}/favicon.ico | Bin scripts/ensure-java.mjs | 10 +- .../scripts => scripts}/export-legends.js | 5 +- .../scripts => scripts}/seed-dev-scores.js | 5 +- apps/mnswpr/vite-env.d.ts => vite-env.d.ts | 0 apps/mnswpr/vite.config.js => vite.config.js | 0 vitest.config.js | 2 +- 31 files changed, 373 insertions(+), 475 deletions(-) rename apps/mnswpr/.env.development => .env.development (100%) rename apps/mnswpr/.env.example => .env.example (100%) rename apps/mnswpr/.firebaserc => .firebaserc (100%) delete mode 100644 apps/mnswpr/README.md delete mode 100644 apps/mnswpr/package.json rename {apps/mnswpr/docs => docs}/firebase-leaderboards.md (93%) rename {apps/mnswpr/docs => docs}/leaderboard-env-migration.md (95%) rename apps/mnswpr/firebase.json => firebase.json (100%) rename apps/mnswpr/firestore.indexes.json => firestore.indexes.json (100%) rename apps/mnswpr/firestore.rules => firestore.rules (97%) rename apps/mnswpr/index.html => index.html (100%) rename apps/mnswpr/legends.html => legends.html (100%) rename apps/mnswpr/main.css => main.css (100%) rename apps/mnswpr/main.js => main.js (100%) rename {apps/mnswpr/modules => modules}/nickname/nickname.js (100%) rename {apps/mnswpr/modules => modules}/user/user.js (100%) rename apps/mnswpr/netlify.toml => netlify.toml (82%) rename {apps/mnswpr/public => public}/favicon.ico (100%) rename {apps/mnswpr/scripts => scripts}/export-legends.js (95%) rename {apps/mnswpr/scripts => scripts}/seed-dev-scores.js (94%) rename apps/mnswpr/vite-env.d.ts => vite-env.d.ts (100%) rename apps/mnswpr/vite.config.js => vite.config.js (100%) diff --git a/apps/mnswpr/.env.development b/.env.development similarity index 100% rename from apps/mnswpr/.env.development rename to .env.development diff --git a/apps/mnswpr/.env.example b/.env.example similarity index 100% rename from apps/mnswpr/.env.example rename to .env.example diff --git a/apps/mnswpr/.firebaserc b/.firebaserc similarity index 100% rename from apps/mnswpr/.firebaserc rename to .firebaserc diff --git a/.gitignore b/.gitignore index eada6b8..de22aa3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,18 @@ node_modules/ dist/ -# generated at publish time from apps/mnswpr/README.md (see scripts/publish-lib.js) -packages/mnswpr/README.md - .claude # Production / local Firebase config values are not committed — set them as # Netlify env vars, or keep them in a local, gitignored env file. Dev values -# live in the committed apps/mnswpr/.env.development (public, non-secret keys). +# live in the committed .env.development (public, non-secret keys). .env.production .env.local .env.*.local +# Netlify CLI site link (written by `netlify link`) +.netlify/ + # Firebase emulator artifacts firebase-debug.log firestore-debug.log @@ -22,6 +22,3 @@ ui-debug.log *~ *swo *swp - -# TEMPORARY - or unnecesary if done -apps/mnswpr/MIGRATION.md diff --git a/AGENTS.md b/AGENTS.md index 377762b..cc9f52f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,27 +6,27 @@ Guidance for AI coding agents working in this repository. Classic Minesweeper as a vanilla web game — no framework, no TypeScript (JSDoc + `// @ts-check` only). Deployed at [mnswpr.com](https://mnswpr.com) (Netlify), with a Firestore-backed leaderboard. -**This repo is only the app.** The engine, leaderboard, and shared services (`@cozy-games/mnswpr`, `@cozy-games/leaderboard`, `@cozy-games/utils`) live in [ayo-run/cozy-games](https://github.com/ayo-run/cozy-games) and are consumed here **from npm** — there is no local `packages/` to edit. A change to game mechanics, leaderboard internals, or the shared services belongs in that repo and arrives here as a version bump in `apps/mnswpr/package.json`. +**This repo is only the app.** The engine, leaderboard, and shared services (`@cozy-games/mnswpr`, `@cozy-games/leaderboard`, `@cozy-games/utils`) live in [ayo-run/cozy-games](https://github.com/ayo-run/cozy-games) and are consumed here **from npm** — there is no local `packages/` to edit. A change to game mechanics, leaderboard internals, or the shared services belongs in that repo and arrives here as a version bump in `package.json`. -Structurally it is still a pnpm workspace (`pnpm-workspace.yaml` → `apps/*`) with a single member, `apps/mnswpr`, so app scripts are addressed with pnpm's `-F` filter. +Structurally it is a single package at the repo root — no workspace, no `apps/` nesting. Every script runs from the root with plain `pnpm run