---
title: "Référence d'API — @nodefony/studio"
source: docs/api/studio.md
url: https://nodefony.github.io/nodefony-core/docs/api/studio/
---


[Documentation](../../) › [Référence d'API](../) › `@nodefony/studio`

> Générée depuis les déclarations de types publiées de `@nodefony/studio` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `@nodefony/studio`

`import { … } from "@nodefony/studio"` — 6 symboles.

### Classes (1)

#### `default`

```ts
class Studio extends Module<IStudioConfig>
```

- `static critical: boolean` — Module optionnel : un échec de son boot ne tue jamais le process (résilience Ph.3).
- `ui: PrebuiltUi | null` — Livraison statique de l'UI (mode `static`) — `null` en mode `vite`/`none`.
- `constructor(kernel: Kernel)`
- `configSchema(): unknown` — JSON Schema de la config Studio → data plane admin (config riche).
- `onKernelRegister(): Promise<this>` — Valide la config (défauts + `module.options` de `use("@nodefony/studio", …)`) au boot, AVANT `onKernelBoot` qui lit `this.options.ui`.
- `onKernelBoot(): Promise<this>` — Branche la livraison de l'UI selon la molette `ui` (config module) : - `vite`   → `registerEntry` auprès du FrontendService (HMR dev).

### Fonctions (2)

#### `defineStudioConfig`

```ts
function defineStudioConfig(config?: IStudioConfigInput): IStudioConfig
```

Builder type-safe de la configuration de `@nodefony/studio`.

#### `studioConfigJsonSchema`

```ts
function studioConfigJsonSchema(): unknown
```

JSON Schema introspectable de la config Studio — destiné au formulaire d'édition Studio et à la documentation générée.

### Constantes (1)

#### `studioConfigSchema`

```ts
const studioConfigSchema: z.ZodObject<{ ui: z.ZodDefault<z.ZodEnum<{ auto: "auto"; static: "static"; vite: "vite"; }>>; publicMount: z.ZodDefault<z.ZodLiteral<false>>; "module-frontend": z.ZodDefault<z.ZodObject<{}, z.core.$loose>>; }, z.core.$strict>
```

### Types (2)

#### `IStudioConfig`

```ts
type IStudioConfig = z.infer<typeof studioConfigSchema>
```

Configuration normalisée et gelée de `@nodefony/studio` (sortie du builder `defineStudioConfig`, lue par le module et ses controllers).

#### `IStudioConfigInput`

```ts
type IStudioConfigInput = z.input<typeof studioConfigSchema>
```

Entrée du builder `defineStudioConfig` — tous les champs portant un défaut sont optionnels (l'app ne fournit que ce qu'elle surcharge).

---

[← Toutes les références d'API](../)
