botsu f42134e1d0 feat(tcg): Botsu Emoji TCG MVP — boosters, collection, graveyard
Backend (apps/presence-api):
- tcg-config: centralized rarity/price/shiny config, daily reset Europe/Paris
- tcg-index-catalog: idempotent Emoji Kitchen sticker indexer (23139 combos)
- tcg-catalog-store: in-memory catalog with path-traversal guard
- tcg-card-store: card instances, discoveries (unique constraint), daily tracking
- tcg-booster-store: daily/paid/admin boosters, per-user mutex, replay protection
- tcg-economy-log: JSONL audit log
- cookie-store: added debitCookies/creditCookies (atomic, no negative balance)
- server.ts: 11 HTTP routes (/tcg/images, /tcg/booster/*, /tcg/collection, etc.)
- 47 backend tests (concurrence, atomicity, path traversal, admin auth)

Protocol (packages/protocol):
- tcg.ts: shared types + strict parsers (rarity, burn, pagination)

Frontend (apps/client):
- tcg-controller: client API controller (Matrix OpenID auth)
- BotsuTcgPage: 3 tabs (Booster, Collection, Cimetière) with filters/pagination
- catalog.ts: emoji-tcg app registered
- Router.tsx + paths.ts: /botsu/tcg/ route
- BotsuNav: nav entry with Smile icon

Docs:
- docs/emoji-tcg-licence.md: Emoji Kitchen attribution and licence note

Config: EMOJI_KITCHEN_ROOT, DAILY_BOOSTER_SIZE=3, BOOSTER_PRICE=1000,
SHINY_RATE=0.01, RARITY_* (sum=1 validated at startup), BURN_REWARD=50

Tests: 106 backend + 98 frontend + 46 protocol = 250 pass
2026-08-06 03:50:14 +02:00

BOTSU Collaborative Suite

Monorepo de la suite collaborative BOTSU.

Applications

  • apps/client : client Matrix basé sur Cinny v4.12.6

Structure

  • apps/ : applications déployables
  • packages/ : bibliothèques partagées BOTSU
  • docs/ : architecture, décisions et sécurité
  • infra/ : modèles de déploiement et migrations sans secrets
  • scripts/ : vérifications reproductibles du dépôt

Commandes actuelles

npm test
npm run typecheck:ui
npm run build:client
npm run typecheck:client
npm run lint:client

npm test vérifie actuellement la structure du monorepo. Le build Cinny est vert. Les échecs hérités de typecheck:client et lint:client sont documentés dans docs/adr/0001-development-isolation.md et ne doivent pas être masqués. Les futurs packages BOTSU auront leurs propres gates vertes dès leur création.

La direction visuelle et ses tokens normatifs sont décrits dans DESIGN.md. Le moteur @botsu/ui permet de régler bordures, rayon, opacité du verre, flou, police et accent tout en conservant des valeurs sûres et accessibles.

Le premier shell applicatif est intégré à Cinny sous /botsu/. Il fournit le catalogue Discussions/Documents/Tableaux/Fichiers/Transferts/Services, un lanceur à origines strictes et les réglages visuels persistants. Voir docs/architecture/application-shell.md.

Dépôts Git

  • origin : dépôt privé BOTSU sur git.botsu.net
  • upstream : source officielle Cinny sur GitHub

Le développement reste isolé de la production jusqu’à validation explicite.

S
Description
Suite collaborative BOTSU basée sur Cinny
Readme
9.1 MiB
Languages
TypeScript 96%
CSS 3.3%
JavaScript 0.6%