chore: initial DSMMG v0.2 — refonte architecturale complète
Release / Release / open changeset PR (push) Has been cancelled
CI / Build, typecheck, test, a11y (push) Has been cancelled

Mise en place du Design System ManageMate Group v0.2 — refonte du
système de tokens (préfixe --mmg-color-*), 9 presets accent
user-themable validés WCAG AA, overlays Radix UI + Floating UI,
Storybook 8 + Vitest + axe-core en CI, doc Astro Starlight,
DESIGN.md (format google-labs-code) et exports tokens DTCG/CSS/
TS/Figma/Tailwind v3 et v4.

- 4 packages monorepo pnpm : @managemate/{tokens,css,react,icons}
- 62 composants React headless-first (Sheet, HoverCard, ContextMenu,
  Slider, ToggleGroup, AvatarGroup, UserCard, ProfileHeader,
  MetricCard, PricingCard, FeatureCard, Text/Display/Eyebrow/Lead…)
- Lint contraste WCAG : 37/37 paires AA, branché CI
- Toast pile Sonner-style avec ResizeObserver
- Theming user (9 presets) sans casser sémantique fixe
- Identité Synapse (rose #D12B6A) préservée

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dinawo
2026-05-04 22:07:57 +02:00
parent 5e019857fc
commit 62317f2ad7
172 changed files with 31397 additions and 1 deletions
+37
View File
@@ -0,0 +1,37 @@
---
"@managemate/css": major
"@managemate/react": major
"@managemate/icons": major
---
# DSMMG 0.2 — refonte architecturale
**Breaking changes :**
- **Tokens couleur** : tous les tokens couleur passent sous le préfixe `--mmg-color-*`.
- `--mmg-bg-*``--mmg-color-bg-*`
- `--mmg-text-1/2/3/4``--mmg-color-text-{primary,secondary,tertiary,quaternary}`
- `--mmg-border-*``--mmg-color-border-*`
- `--mmg-brand-*``--mmg-color-accent-*`
- `--mmg-success/warning/danger/info-*``--mmg-color-*`
- `--mmg-art-*``--mmg-color-art-*`
- `--mmg-state-*``--mmg-color-state-*`
- **Tokens typographie** : `--mmg-text-{xs..5xl}``--mmg-font-size-*`, `--mmg-leading-*``--mmg-line-height-*`, `--mmg-weight-*``--mmg-font-weight-*`.
- **Suppression `[data-mmg-product]`** : remplacé par presets utilisateur via `[data-mmg-accent]`.
- **Composants splittés** : `Advanced.tsx`, `Chrome.tsx`, `Article.tsx` éclatés en un fichier par composant. Imports inchangés via le barrel `index.tsx`.
- **Build** : packages désormais distribués via `dist/` (ESM + CJS + types). Les imports depuis `src/` ne sont plus supportés.
**Nouveautés :**
- **9 presets accent** utilisateur (`synapse`, `rose`, `blue`, `violet`, `green`, `amber`, `red`, `cyan`, `slate`) avec rampes complètes et variantes dark.
- Composant `ThemePicker` + hooks `useAccent`, `useTheme`.
- Cascade `@layer reset, tokens, base, components, utilities` pour permettre les surcharges sans `!important`.
- Utilitaires CSS `mmg-u-*` (stack, flex, grid, text, bg, padding, margin…).
**Migration :**
Lancer le codemod fourni pour migrer ton codebase consommateur :
```sh
node scripts/migrate-tokens.mjs
```
+30
View File
@@ -0,0 +1,30 @@
# Changesets
Ce dossier contient les "changesets" — des fichiers Markdown qui décrivent les changements à publier.
## Workflow
1. Pour chaque PR qui modifie un package versionné, ajouter un changeset :
```sh
pnpm changeset
```
2. Sélectionner les packages impactés et le bump (patch / minor / major).
3. Décrire le changement (1-2 phrases, orienté consommateur).
4. Commit le `.changeset/*.md` généré avec ta PR.
## Release
Sur `main` :
```sh
pnpm version-packages # consume les changesets, bump les versions, met à jour CHANGELOG
pnpm release # build + publish (registre privé)
```
## Politique de versioning (SemVer strict)
- **major** : breaking change API publique (rename/suppression d'export, signature de prop modifiée, token renommé).
- **minor** : nouveau composant, nouvelle prop, nouveau token, nouvelle variante.
- **patch** : bugfix, doc, perf interne sans surface publique.
Les 4 packages versionnés sont **fixed** (même version) pour éviter les
incompatibilités de tokens entre `@managemate/css` et `@managemate/react`.
+11
View File
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [["@managemate/css", "@managemate/react", "@managemate/icons", "@managemate/tokens"]],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["demo", "storybook", "docs"]
}