Fern Docs Quickstart

Beautiful documentation in under 5 minutes. Here’s an example.


  • Node 18 or higher

Let’s get started

Open the Fern Docs Starter GitHub repository, then follow the steps below to generate your documentation.

Step 1: Use this template

  1. From the Fern Docs Starter GitHub repository, click the Use this template button. You must be logged into GitHub.
  2. Create a new repository. Name it anything you like; docs is a common naming choice.

Step 2: Clone and open in your preferred code editor

Clone your newly created repository and open it in your favorite code editor.

The files and folders discussed in the following steps will be inside a fern folder in your repository.

Step 3: Customize organization name

In the fern.config.json file, replace the placeholder organization name with your actual organization name. For example:

2 "organization": "YourOrganization",
3 "version": "0.15.18"

In the docs.yml file, update the docs URL to match your organization’s naming convention. For example:

2 - url: your-organization.docs.buildwithfern.com

Step 4: Install the Fern CLI

Install the Fern CLI globally by running:

$npm install -g fern-api

As this is a global command, you can run it from any location. The CLI commands in the following steps must be run from within your repository.

Step 5 (Optional): Use an OpenAPI Specification

If you will be using Fern Definitions to describe your API, skip to Step 6.

If you will be using the OpenAPI Specification (OAS), follow these steps:

  1. Delete the definition folder.
  2. Run:
$fern init --openapi URL_OR_PATH_TO_YOUR_OPENAPI_SPEC


fern init --openapi https://petstore3.swagger.io/api/v3/openapi.json

fern init --openapi ../apis/openapi.yml

You can use a URL to an OAS file online, or you can use a local path. The file must be formatted as JSON or YAML.

Confirm that you see a new folder named openapi and that it contains the OAS file you specified, in YAML format.

Step 6: Generate your documentation

Generate and publish your documentation with the following command:

$fern generate --docs

You will be prompted to log in and connect your GitHub account.

Once the documentation is generated, you will receive a URL where your documentation is published. For example:

>│ ✓ your-organization.docs.buildwithfern.com

Step 7: Customize your documentation

To update your API definitions:

  • For Fern Definitions, update the files in the definition folder.
  • For OpenAPI definitions, update the file in the openapi folder.

Next, modify the markdown pages located in the docs/pages folder, such as the Welcome page.

Further tailor your documentation to match your brand by adjusting settings in the docs.yml file.

To re-publish the updates to your documentation, run fern generate --docs again.

To preview updates to your documentation before publishing changes, run fern generate --docs --preview.

Fern has a built-in component library for you to use. Explore the components.

Step 8: Set up a custom domain

If you wish to use a custom subdomain like https://docs.your-organization.com or a subpath like https://your-organization.com/docs, you can subscribe to the Starter plan. Once subscribed, update docs.yml with the custom domain configuration:

1 - url: your-organization.docs.buildwithfern.com
2 custom-domain: docs.your-organization.com

Step 9: Explore advanced features

For advanced documentation features and options, view the full configuration docs.

Good luck creating beautiful and functional documentation! 🌿