# Commandes lomi. UI
Source: https://docs.lomi.africa/build/cli/ui

Installez et mettez à jour les composants checkout lomi. UI depuis le registre docs via lomi ui.

***

title: 'Commandes lomi. UI'
description: 'Installez et mettez à jour les composants checkout lomi. UI depuis le registre docs via lomi ui.'
---------------------------------------------------------------------------------------------------------------

`lomi ui` encapsule [shadcn/ui](https://ui.shadcn.com) pour installer des blocs **lomi. UI** depuis le registre public [docs.lomi.africa/r](https://docs.lomi.africa/r). Les composants sont toujours récupérés depuis le dernier déploiement docs, aucune release CLI n'est requise quand de nouveaux blocs sortent.

**Aucune connexion requise.** Ces commandes fonctionnent dans tout projet React + Tailwind avec shadcn configuré.

## Prérequis

* **Node.js 18+** avec `npx` dans le PATH
* Un projet avec **shadcn/ui** initialisé (`components.json`)

Si `components.json` est absent, `lomi ui add` propose d'exécuter `npx shadcn@latest init -y -d`.

## Usage

### Lister les composants disponibles

```bash filename="Terminal"
lomi ui list
```

Récupère l'index du registre et affiche nom, titre et description de chaque bloc. La version du registre est affichée en bas.

### Ajouter un composant

```bash filename="Terminal"
lomi ui add payment-provider-selector
```

Équivalent à :

```bash filename="Terminal"
npx shadcn@latest add https://docs.lomi.africa/r/payment-provider-selector.json
```

### Ajouter tous les composants

```bash filename="Terminal"
lomi ui add --all
```

Installe chaque entrée du registre séquentiellement. shadcn résout les `registryDependencies` entre éléments.

### Mettre à jour les composants installés

```bash filename="Terminal"
lomi ui update
lomi ui update --component payment-provider-selector
```

Relance `shadcn add` pour les composants enregistrés dans `.lomi/ui-lock.json`, en tirant les derniers fichiers du registre.

## Options

Options partagées pour `add` et `update` :

| Option         | Description                                              |
| -------------- | -------------------------------------------------------- |
| `--path <dir>` | Répertoire cible (défaut : répertoire courant)           |
| `--yes`        | Ignorer l'invite shadcn init si `components.json` manque |
| `--dry-run`    | Afficher les commandes `npx shadcn` sans les exécuter    |

`add` uniquement :

| Option  | Description                         |
| ------- | ----------------------------------- |
| `--all` | Installer chaque entrée du registre |

`update` uniquement :

| Option               | Description                                |
| -------------------- | ------------------------------------------ |
| `--component <name>` | Mettre à jour un seul composant verrouillé |

## Fichier de verrouillage

Les installations réussies écrivent `.lomi/ui-lock.json` :

```json filename=".lomi/ui-lock.json"
{
  "registry_version": "1.0.0",
  "registry_url": "https://docs.lomi.africa/r/registry.json",
  "components": [
    {
      "name": "payment-provider-selector",
      "installed_at": "2026-06-06T12:00:00Z"
    }
  ]
}
```

`lomi ui update` lit ce fichier pour savoir quels composants rafraîchir.

## Registre staging / local

Surchargez l'URL du registre lors des tests de build docs :

```bash filename="Terminal"
export LOMI_UI_REGISTRY_URL=http://localhost:3000/r/registry.json
lomi ui list
```

Le CLI dérive les URLs par composant et l'URL d'index depuis cette base.

## Pendant l'init projet

[`lomi init`](/build/cli/init) peut installer un composant après le scaffold :

```bash filename="Terminal"
lomi init --with-ui payment-provider-selector --yes \
  -e sandbox -L ts --api-key lomi_sk_test_xxx
```

En mode interactif, `lomi init` peut demander : *Installer un composant checkout lomi. UI ?*

Utilisez `--skip-ui-install` pour ignorer l'invite.

## Suite

* [Vue d'ensemble lomi. UI](/build/lomi-ui): catalogue et personnalisation
* [Initialiser un projet](/build/cli/init): scaffold SDK + install UI optionnelle
* [Référence des commandes](/build/cli/commands): toutes les commandes CLI
