Adoption
Installation
L'installation détaillée : authentifier GitHub Packages, câbler la CI, satisfaire les peers, connaître les sous-chemins d'import et poser le thème. Si tu veux juste démarrer vite, va à Démarrer ; cette page couvre les cas réels et les pièges.
Registre : GitHub Packages
Les paquets @forme-ch sont hébergés sur
npm.pkg.github.com (GitHub Packages), pas sur le npm public.
Le scope doit être routé vers ce registre via .npmrc :
Le token : un PAT read:packages
NODE_AUTH_TOKEN est un Personal Access Token GitHub
avec au minimum la portée read:packages. Ne l'écris jamais en dur dans
.npmrc — le fichier lit la variable d'environnement. En local :
CI — passer le token par un secret
En CI, setup-node configure le registre et
NODE_AUTH_TOKEN vient d'un secret. Le
GITHUB_TOKEN automatique suffit si les paquets sont dans la même org
et que le workflow a la permission packages: read :
Peers
Le paquet déclare des peer dependencies. Assure-toi de les satisfaire dans l'app hôte :
| Paquet | Version |
|---|---|
react | ≥ 19 |
react-dom | ≥ 19 |
@astryxdesign/core | ≥ 0.4 |
@forme-ch/design-system | ≥ 0.2 |
Sous-chemins d'import
Chaque famille a son sous-chemin. Importe depuis le plus précis :
| Sous-chemin | Contenu |
|---|---|
@forme-ch/ui/controls | Contrôles : Button, TextField, Checkbox, Segmented… |
@forme-ch/ui | Shell, lockups, icônes, layout, date. |
@forme-ch/ui/icons | Icônes Lucide, RSC-safe. |
@forme-ch/ui/shell | Chrome d'application (nav latérale, etc.). |
Thème & CSS
Importe les trois feuilles dans cet ordre, puis pose l'attribut de thème haut dans l'arbre :
Les polices Aeonik sont fournies par @forme-ch/design-system ;
lance son script sync-fonts pour les copier dans
/public/fonts.
Pièges
npm install. Le token est absent, expiré,
ou n'a pas read:packages. Vérifie que NODE_AUTH_TOKEN
est bien exporté et que le .npmrc route le scope
@forme-ch vers npm.pkg.github.com.
data-astryx-theme manquant. Sans l'attribut, la charte
Forme ne s'applique pas : couleurs et typo tombent sur les valeurs par défaut d'Astryx. Pose-le
le plus haut possible dans l'arbre.