# Comment utiliser le Discourse Theme CLI ?

## Utilité

> Discourse Theme CLI permet de syncroniser son code local avec une instance discourse en ligne.

#### Installation

Il faut commencer par [générer une clé API `Global Key`](https://meta.discourse.org/t/discourse-theme-cli-console-app-to-help-you-build-themes/82950#credentials-4) dans Discourse, et on enregistre une clé API par thème.

1. Installer `Ruby 2.2` minimum, le mieu c'est d'utiliser [`rbenv`](https://github.com/rbenv/rbenv).
2. Installer la gem `discourse_theme`.

```bash
gem install discourse_theme
```

- [Ressources sur Discourse Theme CLI.](https://meta.discourse.org/t/discourse-theme-cli-console-app-to-help-you-build-themes/82950)

#### Utilisation

Au lancement la CLI va nous proposer plusieurs options :

1. Créer un nouveau thème via le discourse CLI :

```bash
discourse_theme new <my_new_theme>
```

2. Syncroniser un thème ou un composant local avec le Discours distant. Pour ça on doit lancer le `watch` sur le répartoire de notre projet.

```bash
discourse_theme watch <my_theme>
```

3. Télécharger un thème existant sur le Discourse distant, et le synchroniser grâce au `watch`.

```bash
discourse_theme download <my_remote_theme>
```
#### Bon à savoir

Ça y est ! Vous utilisez Discourse Theme CLI et vous avez la possibilité de créer ou de `watch` des thèmes et des composants.

**⛔ Note : il n'est pas possible de regarder plusieurs thèmes/composants en simultané.**

Exemple :

```bash
discourse_theme watch component-community-fonts community-theme component-colors
```

Ceci génèrera une erreur. Il faut dans ce cas lancer un cli par répertoire.