# studio

> Listez les workflows de Dev Studio et préparez un lot de contexte en lecture seule pour l’un d’eux, afin que votre assistant l’exécute avec les instructions exactes livrées dans votre projet.

Canonical: https://bmad-plus.rochetta.fr/fr/docs/reference/cli-studio/
Language: fr
BMAD+ version: 0.23.1
Documentation reviewed: 2026-10-19
Author: Laurent Rochetta
License: MIT

Documentation BMAD+ › [Référence](https://bmad-plus.rochetta.fr/fr/docs/reference/) › studio

Dev Studio est le pack de six personas (Miriam, Huldah, Yosef, Rachel, Bezalel, Oholiab) et de 38 workflows comme `product-brief`, `validate-prd` ou `investigate`. Un workflow est une procédure en Markdown que votre assistant suit. `bmad-plus studio` n’exécute rien : `list` montre le catalogue, et `prepare` réunit en un seul lot tout ce dont l’assistant a besoin pour un workflow (la configuration, les instructions livrées, les fichiers que vous désignez), avec une empreinte pour chaque fichier. C’est pour qui veut un départ reproductible, ou un script qui remet le lot à un assistant.

<a id="synopsis"></a>
## Synopsis

**Dans le terminal de votre projet**

```sh
npx bmad-plus studio list [--json] [-d <path>]
npx bmad-plus studio prepare <workflow> [--request <text>] [--input <file> ...] [--json] [-d <path>]
```

**Arguments et options de studio**

| Option | Argument | Défaut | Ce qu’elle fait |
| --- | --- | --- | --- |
| `<action>` | `list` ou `prepare` | obligatoire | Toute autre valeur échoue avec `Use studio list or studio prepare WORKFLOW.` |
| `[workflow]` | id de workflow ou alias | aucun | Requis par `prepare`, refusé par `list`. Les alias `bmad-<id>` et `bmad-plus-<id>` fonctionnent aussi. |
| `-d, --directory <path>` | dossier | dossier courant | Projet installé à lire. |
| `--request <text>` | texte | vide | Périmètre de la tâche pour l’assistant, 256 Kio au plus. |
| `--input <file>` | fichier relatif au projet | aucun | Répétable, 32 fichiers au plus. Chacun doit être un fichier texte UTF-8 de 256 Kio au plus, dans le projet. |
| `--json` | - | désactivé | Affiche le lot complet en JSON au lieu du résumé texte. |

<a id="reads-writes"></a>
## Ce qu’elle lit et écrit

- Lit `.agents/skills/pack-dev-studio/` (le catalogue `shared/catalog.json`, le fichier de la persona, celui du workflow et les ressources vers lesquelles il renvoie), `_bmad/config.yaml`, vos fichiers `--input` et le rapport précédent s’il existe.
- N’écrit rien. Ni le rapport, ni cache, ni configuration. Le chemin de rapport qu’elle propose est `<output_folder>/dev-studio/<workflow-id>.md` (par défaut `_bmad-output/dev-studio/<workflow-id>.md`) ; c’est votre assistant qui l’écrira plus tard.
- N’ouvre aucune connexion réseau et ne lance aucun processus. Le lot est plafonné à 2 Mio.
- Demande le pack Dev Studio : `npx bmad-plus install --packs core,dev-studio`.

<a id="input-kinds"></a>
### Types d’entrée

Chaque workflow déclare ce dont il a besoin. Quand cela manque, `prepare` affiche quand même le lot mais signale `needs-input` et sort avec le code 2, ce qui permet à un script de demander plus avant d’appeler l’assistant.

**Types d’entrée du catalogue**

| Type | Exige | Exemples |
| --- | --- | --- |
| `request` | Un texte `--request` ou au moins un fichier `--input`. | `product-brief`, `create-prd`, `create-architecture` |
| `project` | Un texte `--request` ou au moins un fichier `--input`. | `investigate`, `quick-dev`, `code-review` |
| `artifact` | Au moins un fichier `--input`. | `validate-prd`, `edit-prd`, `dev-story` |
| `none` | Rien. | déclaré par le catalogue pour les workflows sans entrée |

<a id="exit-codes"></a>
## Codes de sortie

**Codes de sortie de studio**

| Code | Signification |
| --- | --- |
| 0 | `list` a réussi, ou le statut de `prepare` est `ready`. |
| 2 | Le statut de `prepare` est `needs-input` : il manque au workflow sa demande ou son fichier d’entrée. |
| 1 | Erreur : pack non installé, workflow inconnu, entrée invalide, configuration illisible. Avec `--json`, l’erreur est affichée sous la forme `{"schemaVersion":1,"status":"error","error":"..."}`. |

<a id="real-output"></a>
## Lire la sortie

**Lister le catalogue (premières lignes)**

```text
$ npx bmad-plus studio list
product-brief (analyst-agent; input: request)
prfaq (analyst-agent; input: request)
document-project (tech-writer-agent; input: project)
market-research (analyst-agent; input: request)
domain-research (analyst-agent; input: request)
technical-research (analyst-agent; input: request)
create-prd (pm-agent; input: request)
prd (pm-agent; input: request)
edit-prd (pm-agent; input: artifact)
validate-prd (pm-agent; input: artifact)
...
investigate (dev-agent; input: project)
# La vraie liste compte 38 workflows ; les lignes marquées « ... » sont omises ici.
```

Sortie capturée lors d’une exécution réelle. Source: Rejoué avec le paquet 0.23.0 (packs Core et Dev Studio) dans un projet jetable ; lignes omises là où c’est indiqué

**Préparer un workflow auquel il manque son entrée**

```text
$ npx bmad-plus studio prepare validate-prd
validate-prd: needs-input — prepared for the host, not executed.
Project: /work/app
Request: (none supplied)
Resolved configuration:
{
  "user_name": "Developer",
  "communication_language": "English",
  "document_output_language": "English",
  "output_folder": "_bmad-output",
  "project_name": "app"
}
Defaulted fields: (none)
Proposed report: _bmad-output/dev-studio/validate-prd.md
Supply a project artifact with --input RELATIVE_FILE.

--- shared/execution.md (b8152ec5057fc79749aa7b0823fa35c241c6a0c3f13d12716fa3aae11bcbf354) ---
...
# Code de sortie 2. Les valeurs affichées dépendent de votre _bmad/config.yaml ; les longs corps d’instructions qui suivent sont omis (« ... »).
```

Sortie capturée lors d’une exécution réelle. Source: Rejoué avec le paquet 0.23.0 (packs Core et Dev Studio) dans un projet jetable ; le chemin du projet est remplacé par /work/app et les longs corps d’instructions sont omis

Le résumé texte affiche, dans l’ordre : le workflow et son statut, le dossier du projet, la demande, la configuration résolue, les champs de configuration qui sont retombés sur une valeur par défaut, le chemin de rapport proposé, ce qui manque encore, puis chaque fichier d’instructions et chaque fichier d’entrée avec son SHA-256. Si un rapport existe déjà au chemin proposé, son contenu suit sous « Continue existing report », pour que l’assistant reprenne au lieu de recommencer. Avec `--json`, les mêmes données forment un seul objet avec `schemaVersion`, `status` (`ready` ou `needs-input`), `execution: "host-managed"`, `executed: false`, `catalogSha256`, `instructions`, `inputs` et `missingInputs`.

> **Remarque · Préparé ne veut pas dire exécuté** Le lot prouve que les instructions ont été livrées et quels octets elles contenaient. Il ne prouve pas que l’assistant les a suivies, et rien dedans n’écrit le rapport ni ne lance de tests. Les agents indépendants, la navigation et l’exécution de commandes dépendent de votre assistant.

<a id="errors"></a>
## Erreurs et que faire

Les erreurs sont affichées sous la forme `Dev Studio: <message>` sur le flux d’erreur.

**Erreurs de studio**

| Message | Cause | Que faire |
| --- | --- | --- |
| `Dev Studio is not installed. Run bmad-plus install --packs core,dev-studio` | Le dossier n’a pas de `.agents/skills/pack-dev-studio`. | Installez le pack, ou passez `--directory` pour le bon projet. |
| `Use studio list or studio prepare WORKFLOW.` | Action inconnue, `list` avec un workflow, ou `prepare` sans workflow. | Vérifiez la synopsis ci-dessus. |
| `Unknown Dev Studio workflow: <name>` | Le nom n’est ni un id de workflow ni un alias. | Lancez `studio list` et copiez un id. |
| `Invalid or oversized workflow inputs` | La demande dépasse 256 Kio ou plus de 32 fichiers `--input` ont été donnés. | Raccourcissez la demande, passez moins de fichiers. |
| `Resource is not bounded text: <file>` | Une entrée est absente, binaire ou plus grande que 256 Kio. | Désignez un fichier texte UTF-8 plus petit, dans le projet. |
| `Expected a portable relative file path: <file>` | Le chemin `--input` est absolu, contient `..`, une lettre de lecteur ou d’autres caractères non pris en charge. | Utilisez un chemin relatif au projet, avec des séparateurs `/`. |
| `Prepared context exceeds 2 MiB` | Instructions, entrées et rapport précédent forment ensemble un lot trop gros. | Passez moins d’entrées, ou plus petites. |
| `_bmad/config.yaml: <key> must be a nonempty string` | Une clé connue de la configuration est vide ou n’est pas du texte. | Corrigez la valeur ; voir la page de configuration. |
| `Dev Studio catalog disagrees with registry routes` ou `Unsupported Dev Studio catalog` | Les fichiers du pack installé ont été modifiés ou sont incomplets. | Lancez `doctor`, puis réinstallez ou mettez à jour le pack. |

<a id="examples"></a>
## Exemples

<a id="example-cli-studio-brief-from-request"></a>
### Un product brief à partir d’une demande d’une ligne

Dev Studio est installé. Vous voulez que Miriam parte d’un périmètre précis, avec les instructions exactes consignées par empreinte.

**Dans votre assistant IA**

```text
Miriam, utilise product-brief pour définir le plus petit outil de tri de tickets utile à notre équipe support. Si la CLI est disponible, lance d’abord `npx bmad-plus studio prepare product-brief --request "Définir le plus petit outil de tri de tickets utile" --json` et travaille à partir de ce lot.
```

**Ce que vous devriez obtenir** La commande affiche un lot de statut `ready`, `executed: false`, le chemin de rapport proposé `_bmad-output/dev-studio/product-brief.md` et les instructions livrées avec leurs empreintes. Miriam suit ensuite la procédure `product-brief` et écrit le rapport à ce chemin ; la commande elle-même n’a rien écrit.

<a id="example-cli-studio-validate-prd"></a>
### Valider un PRD que vous avez déjà

`validate-prd` est un workflow de type `artifact` : il lui faut le fichier à valider.

**Dans votre assistant IA**

```text
Yosef, validate-prd sur docs/prd.md. Prépare le contexte avec `npx bmad-plus studio prepare validate-prd --input docs/prd.md --json` et ne rapporte une observation que si tu peux montrer le texte qui l’appuie.
```

**Ce que vous devriez obtenir** Sans `--input`, la commande afficherait `needs-input` et sortirait avec 2. Avec lui, le statut est `ready`, le fichier figure sous `inputs` avec son SHA-256 et le rapport proposé est `_bmad-output/dev-studio/validate-prd.md`. Yosef valide ce contenu exact.

**Voir aussi**

- [La CLI en un coup d’œil et les codes de sortie](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-overview/)
- [install : ajouter le pack dev-studio](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-install/)
- [doctor contrôle les ressources du pack](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-doctor/)
- [Le fichier de configuration](https://bmad-plus.rochetta.fr/fr/docs/reference/config-yaml/)
- [Dépannage](https://bmad-plus.rochetta.fr/fr/docs/faq/troubleshooting/)

[Documentation BMAD+](https://bmad-plus.rochetta.fr/fr/docs/) · [Référence](https://bmad-plus.rochetta.fr/fr/docs/reference/)

[Code sur GitHub](https://github.com/lrochetta/BMAD-PLUS)
