diff --git a/fern/products/docs/pages/getting-started/project-structure.mdx b/fern/products/docs/pages/getting-started/project-structure.mdx
index 781954cf6..9dde140ab 100644
--- a/fern/products/docs/pages/getting-started/project-structure.mdx
+++ b/fern/products/docs/pages/getting-started/project-structure.mdx
@@ -20,7 +20,8 @@ The configuration files for your docs live in the `fern` folder:
-
+
+
@@ -62,7 +63,7 @@ The `assets` folder contains any images or videos used in your documentation. Yo
The `docs.yml` file is the heart of your Fern documentation site. This configuration file controls your documentation's navigation structure, visual design, site functionality, and hosting settings. Only files referenced in your `docs.yml` navigation (or discovered via a [`folder` configuration](/learn/docs/configuration/navigation#add-a-folder)) are included in builds — any unreferenced files are ignored.
-Fern treats `.yml` and `.yaml` extensions identically. This applies to all YAML files in a Fern project, including `docs.yml`, `generators.yml`, and API specification files.
+Fern treats `.yml` and `.yaml` extensions identically. This applies to all YAML files in a Fern project, including `docs.yml`, `sdk-config.yml`, `generators.yml`, and API specification files.
For complete configuration options, see the [`docs.yml` reference](/learn/docs/configuration/site-level-settings).
@@ -121,17 +122,29 @@ css: styles.css
```
-## API definitions and `generators.yml`
+## API definitions
-To generate [API Reference](/learn/docs/api-references/generate-api-ref) documentation, you need to provide your API definition. OpenAPI and AsyncAPI specs require a `generators.yml` file with an `api.specs` section. You can optionally add a `groups` section for SDK generation.
+To generate [API Reference](/learn/docs/api-references/generate-api-ref) documentation, you need to provide your API definition. List your spec files in the `specs` of an `api` entry in `docs.yml`, or in the `api.specs` section of a `generators.yml` file. When an `api` entry has `specs`, Fern [builds it from those files](/learn/docs/api-references/generate-api-ref#reference-a-spec-directly-from-docsyml) and ignores `generators.yml`.
-Using Fern for both API Reference docs and SDKs? You'll use `docs.yml` for your documentation settings and `generators.yml` to configure [SDK code snippets](/learn/docs/api-references/sdk-snippets) in your API Reference.
+SDKs are configured in [`sdk-config.yml`](/learn/sdks/reference/sdk-config). Projects that haven't [migrated to `sdk-config.yml`](/learn/sdks/legacy/generators/migration-guides/sdk-config) still configure SDKs in the `groups` section of `generators.yml`.
+
+Using Fern for both API Reference docs and SDKs? You'll use `docs.yml` for your documentation settings and `sdk-config.yml` or `generators.yml` to configure [SDK code snippets](/learn/docs/api-references/sdk-snippets) in your API Reference.
Place your OpenAPI specification file in the `fern/` directory (or in a subfolder). Fern supports either YAML or JSON format.
- Reference it in `generators.yml`:
+ Reference it in `docs.yml`:
+
+ ```yaml title="docs.yml"
+ navigation:
+ - api: API Reference
+ specs:
+ - type: openapi
+ path: ./openapi.yml
+ ```
+
+ Or reference it in `generators.yml`:
```yaml title="generators.yml"
api:
@@ -143,7 +156,19 @@ To generate [API Reference](/learn/docs/api-references/generate-api-ref) documen
- Place your AsyncAPI specification file in the `fern/` directory alongside your OpenAPI spec. Reference it in `generators.yml`:
+ Place your AsyncAPI specification file in the `fern/` directory alongside your OpenAPI spec. Reference it in `docs.yml`:
+
+ ```yaml title="docs.yml"
+ navigation:
+ - api: API Reference
+ specs:
+ - type: openapi
+ path: ./openapi.yml
+ - type: asyncapi
+ path: ./asyncapi.yaml
+ ```
+
+ Or reference it in `generators.yml`:
```yaml title="generators.yml"
api:
@@ -173,7 +198,7 @@ To generate [API Reference](/learn/docs/api-references/generate-api-ref) documen
- The `apis` folder must use this exact name. Reference each API in `docs.yml` using `api-name` that matches the subfolder name. To see this in practice, check out [Vapi's Fern configuration](https://github.com/VapiAI/docs/tree/main/fern/apis).
+ The `apis` folder must use this exact name. Reference each API in `docs.yml` using `api-name` that matches the subfolder name. If you list specs in `docs.yml` instead, add a separate `api` entry with its own `specs` for each API. To see this in practice, check out [Vapi's Fern configuration](https://github.com/VapiAI/docs/tree/main/fern/apis).