# fern-api/fern

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/fern-api-fern).**

3,680 stars · 323 forks · TypeScript · Apache-2.0

## Links

- GitHub: https://github.com/fern-api/fern
- Homepage: https://buildwithfern.com
- awesome-repositories: https://awesome-repositories.com/repository/fern-api-fern.md

## Description

Fern is a toolset for managing API specifications, generating type-safe client libraries, and producing hosted developer documentation. It provides a utility for validating, transforming, and exporting API definitions into standardized OpenAPI formats, serving as a system to maintain a consistent source of truth for API designs.

The project differentiates itself through an automated SDK distribution pipeline that publishes generated libraries to package managers such as npm, PyPI, Maven, and NuGet. It also includes an AI-powered search assistant trained on API and SDK specifications to answer developer questions and a documentation generator that converts API definitions and markdown into branded, versioned, and localized portals.

The platform covers a broad range of capabilities including automated semantic versioning and release coordination, role-based content visibility for documentation, and the integration of product analytics into developer portals. It further manages API workspaces to organize multiple definitions within a unified configuration.

## Tags

### Development Tools & Productivity

- [OpenAPI Client SDK Generators](https://awesome-repositories.com/f/development-tools-productivity/openapi-client-sdk-generators.md) — Automatically generates type-safe client SDKs and definitions from OpenAPI and AsyncAPI specifications. ([source](https://github.com/fern-api/fern#readme))
- [API Documentation Generators](https://awesome-repositories.com/f/development-tools-productivity/api-documentation-generators.md) — Produces static sites containing technical references by processing API definitions and markdown files. ([source](https://github.com/fern-api/fern/blob/main/CLAUDE.md))
- [Automated Distribution Pipelines](https://awesome-repositories.com/f/development-tools-productivity/automated-distribution-pipelines.md) — Provides an automated workflow for distributing generated client libraries to various package registries.
- [Client SDK Generators](https://awesome-repositories.com/f/development-tools-productivity/client-sdk-generators.md) — Produces type-safe client libraries in various programming languages from API specifications. ([source](https://github.com/fern-api/fern/blob/main/CLAUDE.md))
- [Publishing Automation](https://awesome-repositories.com/f/development-tools-productivity/command-line-automation-tools/publishing-automation.md) — Automates the publishing of generated SDKs to package managers such as npm, PyPI, Maven, and NuGet.
- [Schema Validators](https://awesome-repositories.com/f/development-tools-productivity/configuration-file-validators/schema-validators.md) — Ensures API definitions and project configurations are correct via strict validation against predefined structural schemas.
- [AI-Powered Search](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/code-search-utilities/codebase-search-engines/ai-powered-search.md) — Ships an AI-powered search assistant that uses LLMs to answer developer questions by indexing API and SDK specifications. ([source](https://github.com/fern-api/fern#readme))
- [Static Site Documentation](https://awesome-repositories.com/f/development-tools-productivity/documentation-generators/static-site-documentation.md) — Processes API definitions and markdown into hosted websites featuring interactive references and versioned documentation.
- [OpenAPI Specification Generators](https://awesome-repositories.com/f/development-tools-productivity/openapi-configurations/documentation-generators/openapi-specification-generators.md) — Produces detailed OpenAPI specifications, including validation constraints and response codes, from internal API definitions. ([source](https://github.com/fern-api/fern/blob/main/generators/openapi/versions.yml))
- [OpenAPI Specification Transformers](https://awesome-repositories.com/f/development-tools-productivity/openapi-specification-transformers.md) — Provides utilities for validating, transforming, and exporting API definitions into standardized OpenAPI formats.
- [Documentation Generators](https://awesome-repositories.com/f/development-tools-productivity/typescript-declaration-generators/documentation-generators.md) — Automatically generates comprehensive technical documentation websites by analyzing source code and metadata. ([source](https://github.com/fern-api/fern/blob/main/docs-yml.schema.json))
- [Collaborative API Workspaces](https://awesome-repositories.com/f/development-tools-productivity/api-development-tools/api-lifecycle-management/collaborative-api-workspaces.md) — Organizes and validates multiple API definitions within a single project using a unified configuration structure. ([source](https://github.com/fern-api/fern/blob/main/CLAUDE.md))
- [Generation Configurations](https://awesome-repositories.com/f/development-tools-productivity/client-sdk-generators/generation-configurations.md) — Allows precise control over SDK generation through configurable input sources, output paths, and target languages. ([source](https://github.com/fern-api/fern/blob/main/fern-yml.schema.json))
- [Documentation Navigation](https://awesome-repositories.com/f/development-tools-productivity/documentation-navigation.md) — Customizes site structure via landing pages, navigation menus, navbar links, and footer links. ([source](https://github.com/fern-api/fern/blob/main/docs-yml.schema.json))
- [Project Release Versions](https://awesome-repositories.com/f/development-tools-productivity/project-version-managers/project-release-versions.md) — Tracks software version history and associates them with structured changelog entries for fixes and features. ([source](https://github.com/fern-api/fern/blob/main/fern-versions-yml.schema.json))
- [SDK Bundle Creation](https://awesome-repositories.com/f/development-tools-productivity/sdk-bundle-creation.md) — Provides tools for formatting runtime-enabled software kits and developer guides into bundles for distribution. ([source](https://github.com/fern-api/fern/blob/main/package.json))
- [Monorepo Release Coordinators](https://awesome-repositories.com/f/development-tools-productivity/versioned-package-managers/automated-release-management/monorepo-release-coordinators.md) — Coordinates the release of interdependent products within a monorepo by tracking versions and changelogs. ([source](https://github.com/fern-api/fern/blob/main/release-config.schema.json))

### Software Engineering & Architecture

- [Automated API Documentation](https://awesome-repositories.com/f/software-engineering-architecture/automated-api-documentation.md) — Generates hosted technical reference sites and developer guides directly from OpenAPI definitions and markdown.
- [API Specification Management](https://awesome-repositories.com/f/software-engineering-architecture/api-specification-management.md) — Provides tools for validating, standardizing, and maintaining a consistent source of truth for API definitions.
- [Versioned Documentation](https://awesome-repositories.com/f/software-engineering-architecture/versioned-documentation.md) — Provides a mechanism to organize and toggle between different versions of technical documentation. ([source](https://github.com/fern-api/fern/blob/main/docs-yml.schema.json))

### Web Development

- [API Client SDK Generators](https://awesome-repositories.com/f/web-development/api-client-sdk-generators.md) — Automatically generates type-safe client SDKs from API specifications using language-specific code templates.
- [Documentation Portals](https://awesome-repositories.com/f/web-development/technical-websites/documentation-portals.md) — Builds hosted documentation websites featuring interactive UIs, auto-generated API references, and versioned markdown pages. ([source](https://github.com/fern-api/fern#readme))
- [Portal Configurations](https://awesome-repositories.com/f/web-development/technical-websites/documentation-portals/portal-configurations.md) — Defines URLs, custom domains, audience targeting, and source-code links for generated documentation sites. ([source](https://github.com/fern-api/fern/blob/main/fern-yml.schema.json))

### Data & Databases

- [Intermediate Representations](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing-frameworks/intermediate-representations.md) — Uses a canonical internal format to normalize diverse input API specifications for uniform processing across generators.
- [Format Conversions](https://awesome-repositories.com/f/data-databases/structured-data-schemas/format-conversions.md) — Transforms various external API specifications into a canonical internal representation for consistent downstream processing. ([source](https://github.com/fern-api/fern/blob/main/CLAUDE.md))
- [AI-Enhanced Search Indexes](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-and-indexing/ai-enhanced-search-indexes.md) — Provides an AI-powered assistant that answers developer questions by indexing API and SDK specifications.

### DevOps & Infrastructure

- [API Definition Validation](https://awesome-repositories.com/f/devops-infrastructure/api-definition-validation.md) — Checks the structural correctness of API definitions and project configurations before generating output. ([source](https://github.com/fern-api/fern/blob/main/README.md))
- [Specification Exports](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-orchestration-interfaces/api-driven-resource-orchestration/specification-driven-access/openapi-specifications/specification-exports.md) — Converts internal API definitions into standard OpenAPI specifications to ensure portability and prevent vendor lock-in. ([source](https://github.com/fern-api/fern#readme))
- [Distribution Package Generators](https://awesome-repositories.com/f/devops-infrastructure/package-packaging-tools/distribution-package-generators.md) — Automates the delivery of generated client libraries to multiple package managers like npm, PyPI, and Maven.
- [Package Registry Publishing](https://awesome-repositories.com/f/devops-infrastructure/package-registry-publishing.md) — Automates the publishing and delivery of generated libraries to package managers such as npm and PyPI. ([source](https://github.com/fern-api/fern/blob/main/CLAUDE.md))
- [Automated Version Incrementing](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/version-compatibility-management/semantic-versioning-systems/automated-version-incrementing.md) — Calculates the next software version by mapping structured changelog entry types to semantic version increments.

### Testing & Quality Assurance

- [API Schema Validators](https://awesome-repositories.com/f/testing-quality-assurance/api-schema-validators.md) — Performs schema validation, reference checking, and example verification to ensure API definitions are correct. ([source](https://github.com/fern-api/fern/blob/main/CLAUDE.md))

### Artificial Intelligence & ML

- [AI-Powered Search](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-powered-search.md) — Provides an AI-powered documentation assistant trained on API specifications to answer developer questions.

### Part of an Awesome List

- [Portal Customization](https://awesome-repositories.com/f/awesome-lists/devtools/api-documentation-and-portals/portal-customization.md) — Builds branded documentation websites featuring versioning and role-based access control for API users.
- [API Documentation](https://awesome-repositories.com/f/awesome-lists/devtools/api-documentation.md) — Generates SDKs and interactive documentation from API definitions.

### User Interface & Experience

- [Documentation Localisation](https://awesome-repositories.com/f/user-interface-experience/interface-localisation-mappings/documentation-localisation.md) — Creates localized versions of documentation by mapping supported locales to specific language-content files.
- [Documentation Localization](https://awesome-repositories.com/f/user-interface-experience/multi-language-support/documentation-localization.md) — Creates localized versions of documentation by mapping supported locales to language-specific content. ([source](https://github.com/fern-api/fern/blob/main/docs-yml.schema.json))
- [Documentation Brand Customization](https://awesome-repositories.com/f/user-interface-experience/visual-theme-configurations/visual-themes/theme-customization/documentation-brand-customization.md) — Allows customization of the documentation site's visual identity through logos, typography, and color themes. ([source](https://github.com/fern-api/fern/blob/main/docs-yml.schema.json))
