Aller au contenu
Design system @paulperigault

Composants

Brouillon à relire par Paul

Ce texte est un brouillon. Paul Périgault le relira et le réécrira avant publication.

Architecture

Cette page décrit les paquets, leurs dépendances, la chaîne de livraison et l’infrastructure. Chaque fait renvoie au fichier qui l’établit.

Paquets et sens des dépendances

Le dépôt compte six paquets npm et une application de documentation. astro dépend de css, et css dépend de tokens. Un import qui remonte ce sens est une erreur (AGENTS.md).

Paquets et dépendances
PaquetRôleDépend de
@paulperigault/tokenssource DTCG, couleur et contrasterien à l’exécution
@paulperigault/cssbase, reset, polices, @theme Tailwind v4tokens
@paulperigault/astrocomposants .astro, behaviors, variants()css, tokens
@paulperigault/guardscontrôles de taille, couleurs, couches, imagesrien à l’exécution
@paulperigault/createCLI create, add, eject, diffrien à l’exécution
@paulperigault/mcpserveur MCP stdio en lecture seuletokens, guards
apps/docsdocumentation vivante du design systemtous les paquets
Dépendances entre les paquets du design systemLes noms sont ceux des paquets sans le préfixe @paulperigault. Chaque flèche part du paquet qui dépend et pointe vers le paquet dont il dépend. Flèche 1 : css dépend de tokens. Flèche 2 : astro dépend de css. Flèche 3 : astro dépend aussi directement de tokens, par la gauche du schéma. Flèche 4 : mcp dépend de tokens. Flèche 5 : mcp dépend de guards. tokens, guards et create ne dépendent d’aucun autre paquet à l’exécution. apps/docs, en bas, dépend de tous les paquets ; il n’a pas de flèche dessinée.tokensguardscssmcpastrocreateapps/docsdépend de tous les paquets

Chaîne de livraison

Chaque modification passe par les workflows de .github/workflows. Le tableau liste ce que chacun vérifie.

Contrôles CI
ContrôleVérificationFichier
CommitlintCommits de la PR, puis titre et corps : Conventional Commitsci.yml
Verifynpm run verify : guards, lint, format, tests, build, packci.yml
E2EBuild puis Chromium : axe WCAG 2.2 AA, 1.4.12, 2.5.8, mouvement réduitci.yml
SiteSite généré par la CLI, installé sur les tarballs, puis verifyci.yml
VisuelCaptures sur 13 projets de matrice, références non versionnéesvisual.yml
CodeQLAnalyse JavaScript et TypeScript, à chaque push, PR et lundicodeql.yml
Supply chainSignatures npm, scripts d’installation, audit haut, SBOMsupply-chain.yml
ScorecardNote OpenSSF sur main, chaque mardi ; métadonnées publiéesscorecard.yml

Le job ci échoue si l’un des jobs requis échoue ou est annulé. Dependabot fusionne automatiquement les correctifs et mineures vers main, pas les majeures.

Publication

Seul le workflow release.yml publie. Il ne publie rien tant que la branche main n’existe pas, selon son propre commentaire. Dans l’ordre :

La garde prepublishOnly refuse une publication hors CI.

Infrastructure

L’infrastructure est décrite en OpenTofu, dans la stack du portfolio et non dans ce dépôt. Selon docs/manual-steps.md, le plan prévoit :

L’apply se fait à la main, par le propriétaire. Tant que les jetons ne couvrent pas le dépôt, le job tofu-plan saute son plan. L’hébergeur des docs n’est pas décidé : voir l’ADR-0004.

Choix cloud