Fern combines your API specifications, static Markdown files (like how-to guides and tutorials), media assets (images, videos, etc.), and custom settings defined in your docs.yml file to generate a beautiful, interactive hosted documentation site.
This process is built around two major workflows: editing and deploying your documentation.
This diagram shows the technical infrastructure that powers the documentation generation process.
You can update your documentation in two ways:
docs.yml configuration and Markdown files).After the update goes through your review process, an approver can merge it.
You can use the Fern Dashboard to manage your GitHub repository connection, organization members (add or remove), domains, and Fern CLI version.
When a pull request is merged into your docs repository, an automated pipeline transforms your content into a live documentation site and syncs it with your API changes in three main stages:
The merged PR triggers a Fern GitHub Action. The action retrieves your API specification from a separate repository using secure token authentication. The GitHub Action only has access to the specific docs repository from which it’s running.
The Fern CLI runs fern generate --docs to merge your API specs with documentation content. Behind the scenes, this process involves several key components:
docs.yml configuration file, .mdx files, and media content.The processed content is deployed to Vercel as a documentation site with an embedded API Explorer that allows users to test endpoints directly within the documentation.
Vercel Edge middleware handles the underlying routing, authentication, and performance optimization.
The deployed documentation site integrates with external systems like Cloudflare for CORS management and WorkOS for enterprise authentication.
This diagram shows how content flows from editing to deployment.