diff --git a/fern/docs.yml b/fern/docs.yml
index 4903c4f4314..056b2007c4c 100644
--- a/fern/docs.yml
+++ b/fern/docs.yml
@@ -39,8 +39,21 @@ tabs:
css: ./assets/styles.css
redirects:
- - source: /api-definition/fern/api-yml-reference
- destination: /api-definition/fern/api-yml/overview
+ - source: /learn/api-definition/fern/api-yml-reference
+ destination: /learn/api-definition/fern/api-yml/overview
+ - source: /learn/sdks/features/:slug
+ destination: /learn/sdks/capabilities/:slug
+ - source: /learn/sdks/package-managers/:slug
+ destination: /learn/sdks/guides/publish-to-package-managers/:slug
+ - source: /learn/sdks/introduction/configuration
+ destination: /learn/sdks/introduction/language-support
+ - source: /learn/sdks/getting-started/generate-your-first-sdk
+ destination: /learn/sdks/guides/generate-your-first-sdk
+ - source: /learn/sdks/getting-started/preview-your-sdk-locally
+ destination: /learn/sdks/guides/preview-your-sdk-locally
+ - source: /learn/sdks/publish-sdk/publish-your-sdk
+ destination: /learn/sdks/guides/publish-your-sdk
+
navigation:
- tab: home
@@ -204,8 +217,8 @@ navigation:
contents:
- page: Overview
path: ./pages/sdks/introduction/overview.mdx
- - page: Configuration
- path: ./pages/sdks/introduction/configuration.mdx
+ - page: Language Support
+ path: ./pages/sdks/introduction/language-support.mdx
- section: Changelogs
slug: changelog
contents:
@@ -227,97 +240,101 @@ navigation:
- changelog: ./pages/changelogs/ruby-sdk
title: Ruby
slug: ruby
- - section: Getting Started
- contents:
- - page: Generate your First SDK
- path: ./pages/sdks/getting-started/generate-your-first-sdk.mdx
- - page: Preview your SDK Locally
- path: ./pages/sdks/getting-started/preview-your-sdk-locally.mdx
- - page: Publish a Public-Facing SDK
- path: ./pages/sdks/publish-sdk/publish-your-sdk.mdx
- - section: Features
+ - section: Capabilities
contents:
- page: Strongly Typed
- path: ./pages/sdks/features/strongly-typed.mdx
+ path: ./pages/sdks/capabilities/strongly-typed.mdx
- page: Idiomatic Method Names
- path: ./pages/sdks/features/idiomatic-method-names.mdx
+ path: ./pages/sdks/capabilities/idiomatic-method-names.mdx
- page: Schema Validation
- path: ./pages/sdks/features/schema-validation.mdx
+ path: ./pages/sdks/capabilities/schema-validation.mdx
- page: Discriminated Unions
- path: ./pages/sdks/features/discriminated-unions.mdx
+ path: ./pages/sdks/capabilities/discriminated-unions.mdx
- page: Multipart Form Data
- path: ./pages/sdks/features/multipart-form-data.mdx
+ path: ./pages/sdks/capabilities/multipart-form-data.mdx
- page: Forward Compatibility
- path: ./pages/sdks/features/forward-compatibility.mdx
+ path: ./pages/sdks/capabilities/forward-compatibility.mdx
- page: Registry Publishing
- path: ./pages/sdks/features/publish-to-registries.mdx
+ path: ./pages/sdks/capabilities/publish-to-registries.mdx
icon: fa-regular fa-pro
- page: Auto-Pagination
- path: ./pages/sdks/features/auto-pagination.mdx
+ path: ./pages/sdks/capabilities/auto-pagination.mdx
icon: fa-regular fa-pro
- page: OAuth Token Refresh
- path: ./pages/sdks/features/oauth.mdx
+ path: ./pages/sdks/capabilities/oauth.mdx
icon: fa-regular fa-pro
- page: Retries with Backoff
- path: ./pages/sdks/features/retries-with-backoff.mdx
+ path: ./pages/sdks/capabilities/retries-with-backoff.mdx
icon: fa-regular fa-pro
- page: Webhook Signature Verification
- path: ./pages/sdks/features/webhook-signature-verification.mdx
+ path: ./pages/sdks/capabilities/webhook-signature-verification.mdx
icon: fa-regular fa-pro
- page: Idempotency Headers
- path: ./pages/sdks/features/idempotency-headers.mdx
+ path: ./pages/sdks/capabilities/idempotency-headers.mdx
icon: fa-regular fa-pro
- page: Server-Sent Events
- path: ./pages/sdks/features/server-sent-events.mdx
+ path: ./pages/sdks/capabilities/server-sent-events.mdx
icon: fa-regular fa-pro
- page: Integration Tests
- path: ./pages/sdks/features/integration-tests.mdx
+ path: ./pages/sdks/capabilities/integration-tests.mdx
icon: fa-regular fa-pro
- page: Code Snippets
- path: ./pages/sdks/features/code-snippets.mdx
+ path: ./pages/sdks/capabilities/code-snippets.mdx
icon: fa-regular fa-pro
- page: Augment with Custom Code
- path: ./pages/sdks/features/augment-with-custom-code.mdx
+ path: ./pages/sdks/capabilities/augment-with-custom-code.mdx
icon: fa-regular fa-pro
- page: Merging Multiple APIs
- path: ./pages/sdks/features/merging-multiple-apis.mdx
+ path: ./pages/sdks/capabilities/merging-multiple-apis.mdx
icon: fa-regular fa-pro
- page: WebSockets
- path: ./pages/sdks/features/websockets.mdx
+ path: ./pages/sdks/capabilities/websockets.mdx
icon: fa-regular fa-pro
# icon: fa-regular fa-pro
# - page: Object oriented SDKs
- # path: ./pages/sdks/features/dummy.mdx
+ # path: ./pages/sdks/capabilities/dummy.mdx
# icon: fa-regular fa-pro
# - page: Polling
- # path: ./pages/sdks/features/dummy.mdx
+ # path: ./pages/sdks/capabilities/dummy.mdx
# icon: fa-regular fa-pro
# - page: GitHub integration
- # path: ./pages/sdks/features/dummy.mdx
+ # path: ./pages/sdks/capabilities/dummy.mdx
# icon: fa-regular fa-pro
- - section: Package Managers
+ - section: Reference
contents:
- - page: NPM (TypeScript)
- path: ./pages/sdks/integration/npm.mdx
- - page: PyPI (Python)
- slug: pypi
- path: ./pages/sdks/integration/pypi.mdx
- - page: NuGet (C#)
- slug: nuget
- path: ./pages/sdks/integration/nuget.mdx
- - page: Pkgsite (Go)
- slug: pkgsite
- path: ./pages/sdks/integration/pkgsite.mdx
- - page: Maven Central (Java)
- slug: maven-central
- path: ./pages/sdks/integration/maven-central.mdx
- - page: RubyGems (Ruby)
- slug: rubygems
- path: ./pages/sdks/integration/rubygems.mdx
- - page: Packagist (PHP)
- slug: packagist
- path: ./pages/sdks/integration/packagist.mdx
-
+ - page: Configuration
+ path: ./pages/sdks/introduction/configuration.mdx
+ - section: Guides
+ contents:
+ - page: Generate your First SDK
+ path: ./pages/sdks/getting-started/generate-your-first-sdk.mdx
+ - page: Preview your SDK Locally
+ path: ./pages/sdks/getting-started/preview-your-sdk-locally.mdx
+ - page: Publish a Public-Facing SDK
+ path: ./pages/sdks/publish-sdk/publish-your-sdk.mdx
+ hidden: true
+ - section: Publish to package managers
+ contents:
+ - page: NPM (TypeScript)
+ path: ./pages/sdks/integration/npm.mdx
+ - page: PyPI (Python)
+ slug: pypi
+ path: ./pages/sdks/integration/pypi.mdx
+ - page: NuGet (C#)
+ slug: nuget
+ path: ./pages/sdks/integration/nuget.mdx
+ - page: Pkgsite (Go)
+ slug: pkgsite
+ path: ./pages/sdks/integration/pkgsite.mdx
+ - page: Maven Central (Java)
+ slug: maven-central
+ path: ./pages/sdks/integration/maven-central.mdx
+ - page: RubyGems (Ruby)
+ slug: rubygems
+ path: ./pages/sdks/integration/rubygems.mdx
+ - page: Packagist (PHP)
+ slug: packagist
+ path: ./pages/sdks/integration/packagist.mdx
- section: Alternatives
hidden: true
contents:
diff --git a/fern/pages/changelogs/csharp-sdk/2024-11-14.mdx b/fern/pages/changelogs/csharp-sdk/2024-11-14.mdx
index ac9c06e9804..fab887bb95e 100644
--- a/fern/pages/changelogs/csharp-sdk/2024-11-14.mdx
+++ b/fern/pages/changelogs/csharp-sdk/2024-11-14.mdx
@@ -1,3 +1,3 @@
## 1.9.8
-**`(feat):`** Add support for [idempotency headers](https://buildwithfern.com/learn/sdks/features/idempotency-headers).
+**`(feat):`** Add support for [idempotency headers](https://buildwithfern.com/learn/sdks/capabilities/idempotency-headers).
diff --git a/fern/pages/sdks/features/augment-with-custom-code.mdx b/fern/pages/sdks/capabilities/augment-with-custom-code.mdx
similarity index 100%
rename from fern/pages/sdks/features/augment-with-custom-code.mdx
rename to fern/pages/sdks/capabilities/augment-with-custom-code.mdx
diff --git a/fern/pages/sdks/features/auto-pagination.mdx b/fern/pages/sdks/capabilities/auto-pagination.mdx
similarity index 100%
rename from fern/pages/sdks/features/auto-pagination.mdx
rename to fern/pages/sdks/capabilities/auto-pagination.mdx
diff --git a/fern/pages/sdks/features/code-snippets.mdx b/fern/pages/sdks/capabilities/code-snippets.mdx
similarity index 100%
rename from fern/pages/sdks/features/code-snippets.mdx
rename to fern/pages/sdks/capabilities/code-snippets.mdx
diff --git a/fern/pages/sdks/features/discriminated-unions.mdx b/fern/pages/sdks/capabilities/discriminated-unions.mdx
similarity index 100%
rename from fern/pages/sdks/features/discriminated-unions.mdx
rename to fern/pages/sdks/capabilities/discriminated-unions.mdx
diff --git a/fern/pages/sdks/features/dummy.mdx b/fern/pages/sdks/capabilities/dummy.mdx
similarity index 100%
rename from fern/pages/sdks/features/dummy.mdx
rename to fern/pages/sdks/capabilities/dummy.mdx
diff --git a/fern/pages/sdks/features/forward-compatibility.mdx b/fern/pages/sdks/capabilities/forward-compatibility.mdx
similarity index 100%
rename from fern/pages/sdks/features/forward-compatibility.mdx
rename to fern/pages/sdks/capabilities/forward-compatibility.mdx
diff --git a/fern/pages/sdks/features/idempotency-headers.mdx b/fern/pages/sdks/capabilities/idempotency-headers.mdx
similarity index 100%
rename from fern/pages/sdks/features/idempotency-headers.mdx
rename to fern/pages/sdks/capabilities/idempotency-headers.mdx
diff --git a/fern/pages/sdks/features/idiomatic-method-names.mdx b/fern/pages/sdks/capabilities/idiomatic-method-names.mdx
similarity index 100%
rename from fern/pages/sdks/features/idiomatic-method-names.mdx
rename to fern/pages/sdks/capabilities/idiomatic-method-names.mdx
diff --git a/fern/pages/sdks/features/integration-tests.mdx b/fern/pages/sdks/capabilities/integration-tests.mdx
similarity index 100%
rename from fern/pages/sdks/features/integration-tests.mdx
rename to fern/pages/sdks/capabilities/integration-tests.mdx
diff --git a/fern/pages/sdks/features/merging-multiple-apis.mdx b/fern/pages/sdks/capabilities/merging-multiple-apis.mdx
similarity index 100%
rename from fern/pages/sdks/features/merging-multiple-apis.mdx
rename to fern/pages/sdks/capabilities/merging-multiple-apis.mdx
diff --git a/fern/pages/sdks/features/multipart-form-data.mdx b/fern/pages/sdks/capabilities/multipart-form-data.mdx
similarity index 100%
rename from fern/pages/sdks/features/multipart-form-data.mdx
rename to fern/pages/sdks/capabilities/multipart-form-data.mdx
diff --git a/fern/pages/sdks/features/oauth.mdx b/fern/pages/sdks/capabilities/oauth.mdx
similarity index 100%
rename from fern/pages/sdks/features/oauth.mdx
rename to fern/pages/sdks/capabilities/oauth.mdx
diff --git a/fern/pages/sdks/features/pro.mdx b/fern/pages/sdks/capabilities/pro.mdx
similarity index 100%
rename from fern/pages/sdks/features/pro.mdx
rename to fern/pages/sdks/capabilities/pro.mdx
diff --git a/fern/pages/sdks/features/publish-to-registries.mdx b/fern/pages/sdks/capabilities/publish-to-registries.mdx
similarity index 100%
rename from fern/pages/sdks/features/publish-to-registries.mdx
rename to fern/pages/sdks/capabilities/publish-to-registries.mdx
diff --git a/fern/pages/sdks/features/retries-with-backoff.mdx b/fern/pages/sdks/capabilities/retries-with-backoff.mdx
similarity index 100%
rename from fern/pages/sdks/features/retries-with-backoff.mdx
rename to fern/pages/sdks/capabilities/retries-with-backoff.mdx
diff --git a/fern/pages/sdks/features/schema-validation.mdx b/fern/pages/sdks/capabilities/schema-validation.mdx
similarity index 100%
rename from fern/pages/sdks/features/schema-validation.mdx
rename to fern/pages/sdks/capabilities/schema-validation.mdx
diff --git a/fern/pages/sdks/features/server-sent-events.mdx b/fern/pages/sdks/capabilities/server-sent-events.mdx
similarity index 100%
rename from fern/pages/sdks/features/server-sent-events.mdx
rename to fern/pages/sdks/capabilities/server-sent-events.mdx
diff --git a/fern/pages/sdks/features/strongly-typed.mdx b/fern/pages/sdks/capabilities/strongly-typed.mdx
similarity index 100%
rename from fern/pages/sdks/features/strongly-typed.mdx
rename to fern/pages/sdks/capabilities/strongly-typed.mdx
diff --git a/fern/pages/sdks/features/webhook-signature-verification.mdx b/fern/pages/sdks/capabilities/webhook-signature-verification.mdx
similarity index 100%
rename from fern/pages/sdks/features/webhook-signature-verification.mdx
rename to fern/pages/sdks/capabilities/webhook-signature-verification.mdx
diff --git a/fern/pages/sdks/features/websockets.mdx b/fern/pages/sdks/capabilities/websockets.mdx
similarity index 100%
rename from fern/pages/sdks/features/websockets.mdx
rename to fern/pages/sdks/capabilities/websockets.mdx
diff --git a/fern/pages/sdks/getting-started/preview-your-sdk-locally.mdx b/fern/pages/sdks/getting-started/preview-your-sdk-locally.mdx
index 622e5865daf..0e118894997 100644
--- a/fern/pages/sdks/getting-started/preview-your-sdk-locally.mdx
+++ b/fern/pages/sdks/getting-started/preview-your-sdk-locally.mdx
@@ -1,17 +1,18 @@
---
title: Preview your SDK
-subtitle: Use Fern's CLI tool to preview your SDK locally.
+subtitle: Use Fern's CLI tool to preview your SDK locally.
---
-[Once you configure your SDK](/learn/sdks/getting-started/generate-your-first-sdk), you can preview the generated SDK code using Fern's CLI.
+[Once you configure your SDK](/learn/sdks/getting-started/generate-your-first-sdk), you can preview the generated SDK code using Fern's CLI.
-Simply append the `--preview` flag to the command used to generate the SDK and you will see the generated code populated in a `.preview` folder within your `fern` folder.
+Simply append the `--preview` flag to the command used to generate the SDK and you will see the generated code populated in a `.preview` folder within your `fern` folder.
-[If you have added custom code to your SDK](/learn/sdks/features/augment-with-custom-code), `--preview` will preserve those changes.
+ [If you have added custom code to your SDK](/learn/sdks/capabilities/augment-with-custom-code), `--preview` will
+ preserve those changes.
-Here's an example of how you can preview your SDK:
+Here's an example of how you can preview your SDK:
### Generator configuration
@@ -35,13 +36,13 @@ groups:
### Invoke the Fern CLI
-```shell
+```shell
fern generate --group python-sdk --preview
```
### Preview your SDK
-The resulting folder structure will look like this:
+The resulting folder structure will look like this:
@@ -70,4 +71,4 @@ fern/
```
-
\ No newline at end of file
+
diff --git a/fern/pages/sdks/introduction/configuration.mdx b/fern/pages/sdks/introduction/configuration.mdx
index 3fd9d89f420..0136d6a984e 100644
--- a/fern/pages/sdks/introduction/configuration.mdx
+++ b/fern/pages/sdks/introduction/configuration.mdx
@@ -1,63 +1,62 @@
---
-title: 'SDK Configuration'
-subtitle: 'Configure your SDK generators in `generators.yml` and publish to registries'
+title: "SDK Configuration"
+subtitle: "Configure your SDK generators in `generators.yml` and publish to registries"
---
- Before you can configure your generators, you must setup your API Definition. Learn more [**here**](/learn/api-definition/introduction/what-is-the-fern-folder)
+ Before you can configure your generators, you must setup your API Definition. Learn more
+ [**here**](/learn/api-definition/introduction/what-is-the-fern-folder)
-
The public schema for `generators.yml` can be found [**here**](https://schema.buildwithfern.dev/generators-yml.json).
## Top Level Configuration
-
```yaml title="generators.yml" maxLines=10
default-group: local
-readme:
+readme:
apiReferenceLink: https://plantstore.dev
defaultEndpoint: GET /v3/store/inventory
-groups:
- node:
- generators:
+groups:
+ node:
+ generators:
- name: fernapi/fern-typescript-node-sdk
version: 0.x.x
- output:
+ output:
location: npm
package-name: "@plantstore/sdk"
token: ${NPM_TOKEN}
- config:
+ config:
outputSourceFiles: true
- github:
+ github:
repository: "plantstore/plantstore-js"
- metadata:
+ metadata:
package-description: JavaScript library for the Plant Store API Service
license: MIT
- python:
- generators:
+ python:
+ generators:
- name: fernapi/fern-python-sdk
version: 0.x.x
- output:
+ output:
location: pypi
package-name: "plantstore"
token: ${PYPI_TOKEN}
- config:
+ config:
outputSourceFiles: true
- github:
- repository: "plantstore/plantstore-python"
+ github:
+ repository: "plantstore/plantstore-python"
```
- The default group of generators to run when running `fern generate`.
+ The default group of generators to run when running `fern generate`.
- Learn more about the README configuration [here](/learn/sdks/introduction/configuration#readme-configuration).
+ Learn more about the README configuration [here](#readme-configuration).
@@ -67,24 +66,24 @@ groups:
## README Configuration
```yaml generators.yml
-readme:
+readme:
apiReferenceLink: https://plantstore.dev
defaultEndpoint: GET /v3/store/inventory
```
- A link to your hosted API Reference. Fern will embed this link into your generated READMEs so that SDK users know to navigate to your
- API Reference.
+ A link to your hosted API Reference. Fern will embed this link into your generated READMEs so that SDK users know to
+ navigate to your API Reference.
- The endpoint you want to use in README code samples. If unspecified, Fern will default to the first POST request.
+ The endpoint you want to use in README code samples. If unspecified, Fern will default to the first POST request.
## Specify Package Metadata
```yaml generators.yml
-metadata:
+metadata:
package-description: Python library for the Plant Store API Service
license: Apache
```
@@ -94,5 +93,7 @@ metadata:
- The license you'd like to apply to the code published to GitHub. Options include `MIT` or `Apache` (Apache 2.0). To request a new license, [open a GitHub Issue](https://github.com/fern-api/fern/issues/new?assignees=&labels=&projects=&template=feature-request.md&title=%5BFeature%5D).
+ The license you'd like to apply to the code published to GitHub. Options include `MIT` or `Apache` (Apache 2.0). To
+ request a new license, [open a GitHub
+ Issue](https://github.com/fern-api/fern/issues/new?assignees=&labels=&projects=&template=feature-request.md&title=%5BFeature%5D).
diff --git a/fern/pages/sdks/introduction/language-support.mdx b/fern/pages/sdks/introduction/language-support.mdx
new file mode 100644
index 00000000000..38b07b468fb
--- /dev/null
+++ b/fern/pages/sdks/introduction/language-support.mdx
@@ -0,0 +1,30 @@
+---
+title: Language support
+---
+
+Fern supports generating SDKs in several different programming languages. Each SDK generator is written by a language expert and is officially maintained by the Fern team.
+
+### Generally Available
+
+
+
+
+
+
+
+
+
+
+
+### Coming Soon
+
+
+
+
+
+
+
+
+
+ Please reach out to support@buildwithfern.com if you're interested in our generators that are coming soon.
+
diff --git a/fern/pages/sdks/introduction/overview.mdx b/fern/pages/sdks/introduction/overview.mdx
index 86f3c13c3b7..3ce5af8219c 100644
--- a/fern/pages/sdks/introduction/overview.mdx
+++ b/fern/pages/sdks/introduction/overview.mdx
@@ -1,33 +1,23 @@
---
title: SDK Overview
-description: Generate SDKs in multiple programming languages
+description: Generate idiomatic SDKs in multiple programming languages
---
-Fern supports generating SDKs in several different programming languages. Each
-SDK generator is written by a language expert and is officially maintained by
-the Fern team.
+Let Fern do the heavy lifting of generating and publishing client libraries so your team can focus on building the API.
-### Generally Available
+## Learn more
-
-
-
-
-
-
-
-
+
+
+ Explore the full list of Fern's supported languages.
+
+
+ See Fern in action with a personalized demo.
+
+
+ Learn more about advanced features supported by Fern's SDk generation.
+
+
+ Follow our step-by-step guide to generate your first SDK in minutes.
+
-
-### Coming Soon
-
-
-
-
-
-
-
-
-
- Please reach out to support@buildwithfern.com if you're interested in our generators that are coming soon.
-
diff --git a/generators/csharp/sdk/versions.yml b/generators/csharp/sdk/versions.yml
index eed3cdb41bd..b3185103fb2 100644
--- a/generators/csharp/sdk/versions.yml
+++ b/generators/csharp/sdk/versions.yml
@@ -27,7 +27,7 @@
createdAt: "2024-11-14"
changelogEntry:
- type: feat
- summary: Add support for [idempotency headers](https://buildwithfern.com/learn/sdks/features/idempotency-headers).
+ summary: Add support for [idempotency headers](https://buildwithfern.com/learn/sdks/capabilities/idempotency-headers).
irVersion: 53
- version: 1.9.7
createdAt: "2024-11-12"