diff --git a/fern/products/sdks/overview/csharp/publishing-to-nuget.mdx b/fern/products/sdks/overview/csharp/publishing-to-nuget.mdx
index 4631b8c06..f336d7f78 100644
--- a/fern/products/sdks/overview/csharp/publishing-to-nuget.mdx
+++ b/fern/products/sdks/overview/csharp/publishing-to-nuget.mdx
@@ -12,7 +12,7 @@ you'll have a versioned package published on NuGet.
-This guide assumes that you already have an initialized `fern` folder on your local machine. If you don’t, run `fern init`. See [.NET Quickstart](quickstart.mdx) for more details.
+
## Set up your GitHub integration
diff --git a/fern/products/sdks/overview/csharp/quickstart.mdx b/fern/products/sdks/overview/csharp/quickstart.mdx
index f5b6ea19b..d89070eb7 100644
--- a/fern/products/sdks/overview/csharp/quickstart.mdx
+++ b/fern/products/sdks/overview/csharp/quickstart.mdx
@@ -5,7 +5,7 @@ description: Get started quickly with the Fern .NET SDK.
Generate a C#/.NET SDK by following the instructions on this page.
-
+
@@ -16,13 +16,20 @@ Generate a C#/.NET SDK by following the instructions on this page.
Add the C#/.NET SDK generator:
```bash
-fern add fern-csharp-sdk --group sdk
+fern add fern-csharp-sdk --group csharp-sdk
```
+
+ `csharp-sdk` is the name of the `generators.yml` group that configures your C#/.NET
+ SDK's output location and other metadata. You can customize this group name to
+ differentiate between multiple SDKs across different languages (e.g.,
+ `ruby-sdk`, etc) in your organization.
+
+
This command adds the following to `generators.yml`:
```yaml
- sdk:
+ csharp-sdk:
generators:
- name: fernapi/fern-csharp-sdk
version:
@@ -35,7 +42,7 @@ This command adds the following to `generators.yml`:
```bash
fern/ # created by fern init
-sdks/ # created by fern generate --group sdk
+sdks/ # created by fern generate --group csharp-sdk
├─ csharp
└─ src/
├─ YourOrganizationApi.sln
diff --git a/fern/products/sdks/overview/go/configuration.mdx b/fern/products/sdks/overview/go/configuration.mdx
index 44f90bbe3..e7589a50f 100644
--- a/fern/products/sdks/overview/go/configuration.mdx
+++ b/fern/products/sdks/overview/go/configuration.mdx
@@ -117,43 +117,6 @@ with the relevant elements in your `go.mod` path. In this case, the generated Go
-
-By default, it's impossible to send an explicit JSON `null` for optional parameters. `enableExplicitNull: true` opts in to generating a generic `Optional[T]` type that can be used to distinguish between a `nil` value (nothing is sent), a non-`nil` value (the value is sent), and an explicit null (a `null` value is sent). This is particularly useful for `PATCH` endpoints.
-
-The `Optional` and `Null` constructor functions will be included at the root of your module and can be
-used like so:
-
-```go
-client := acmeclient.NewClient()
-updatedFoo, err := client.Foo.Update(
- context.TODO(),
- &acme.UpdateFooRequest{
- Name: acme.Optional("example"),
- Tag: acme.Null[string](),
- },
- // Serialized as {"name":"example","tag":null}
-)
-```
-
-An example configuration:
-
-```yaml {7-8}
-default-group: local
-groups:
- local:
- generators:
- - name: fernapi/fern-go-sdk
- version: 0.13.0
- config:
- enableExplicitNull: true
- output:
- location: local-file-system
- path: ../generated/go
-```
-
-This feature requires generics, so the generated `go.mod` will be upgraded to `1.18` (as opposed to `1.13`).
-
-
diff --git a/fern/products/sdks/overview/go/custom-code.mdx b/fern/products/sdks/overview/go/custom-code.mdx
index ebf6accb6..03cfd26c1 100644
--- a/fern/products/sdks/overview/go/custom-code.mdx
+++ b/fern/products/sdks/overview/go/custom-code.mdx
@@ -35,9 +35,9 @@ description: Augment your Go SDK with custom utilities
```go
- import "github.com/package/example"
+ import "github.com/package/example"
- example.MyHelper();
+ example.MyHelper();
```
@@ -50,10 +50,10 @@ description: Augment your Go SDK with custom utilities
Name your Fern-generated client something like `BaseClient` to reflect that this client will be extended.
```yml {4} title="generators.yml"
- - name: fernapi/fern-java-sdk
+ - name: fernapi/fern-go-sdk
version: "..."
config:
- client-class-name: BaseClient
+ clientName: BaseClient
```
### Import and extend the generated client
diff --git a/fern/products/sdks/overview/go/publishing-to-go-package-manager.mdx b/fern/products/sdks/overview/go/publishing-to-go-package-manager.mdx
index b3367f0c6..b118eceaa 100644
--- a/fern/products/sdks/overview/go/publishing-to-go-package-manager.mdx
+++ b/fern/products/sdks/overview/go/publishing-to-go-package-manager.mdx
@@ -1,24 +1,23 @@
---
title: Publishing to Pkgsite
-description: How to publish the Fern Go SDK to Pkgsite.
+description: How to publish the Fern Go SDK to the Go module proxy.
---
-Publish your public-facing Fern GO SDK to the [Pkgsite
-registry](https://pkg.go.dev/). After following the steps on this page,
-you'll have a versioned package published on Pkgsite.
+Publish your public-facing Fern Go SDK to
+[pkg.go.dev](https://proxy.golang.org/). After following the steps on this page,
+you'll have a versioned package published on pkg.go.dev.
-This guide assumes that you already have an initialized `fern` folder on your local machine. If you don’t, run `fern init`. See [Go Quickstart](quickstart.mdx) for more details.
-
+
## Set up your GitHub integration
1. Create a new GitHub repository called `company-go` (or something similar) for your SDK, if you haven't done so already. Make sure your repository has:
* **Public** visibility
- * A required license (e.g. [MIT](https://opensource.org/license/mit), [Apache](https://www.apache.org/licenses/LICENSE-2.0)) to the repository.
+ * An [approved license](https://pkg.go.dev/license-policy) (e.g. [MIT](https://opensource.org/license/mit), [Apache](https://www.apache.org/licenses/LICENSE-2.0))
1. Install the [Fern GitHub App](https://github.com/apps/fern-api): Select **Configure**, then scroll down to **Repository Access**. Select **Only select repositories** and in the dropdown select the repository for your SDK. Click **Save**.
@@ -42,15 +41,15 @@ you'll have a versioned package published on Pkgsite.
```yaml {2-11}
groups:
go-sdk:
- generators:
- - name: fernapi/fern-go-sdk
- version:
- output:
- location: local-file-system
- path: ../sdks/go
- config:
- module:
- path: sdk
+ generators:
+ - name: fernapi/fern-go-sdk
+ version:
+ output:
+ location: local-file-system
+ path: ../sdks/go
+ config:
+ module:
+ path: sdk
```
@@ -76,7 +75,7 @@ you'll have a versioned package published on Pkgsite.
-## Release your SDK to Pkgsite
+## Publish to pkg.go.dev
At this point, you're ready to generate a release for your SDK.
@@ -84,7 +83,7 @@ you'll have a versioned package published on Pkgsite.
- Regenerate your SDK and publish it on PyPI:
+ Regenerate your SDK and publish it on pkg.go.dev:
```bash
fern generate --group go-sdk --version
@@ -94,17 +93,20 @@ you'll have a versioned package published on Pkgsite.
-
+
Navigate to `https://pkg.go.dev/github.com///` and send a request to index your package. In a few minutes, your new release should be published to [https://pkg.go.dev/](https://pkg.go.dev/)!
- After releasing a new version, it may take a few minutes for Pkgsite
- to index and display the update. You can also try checking to see if the Go
- proxy has indexed your module at
- `https://proxy.golang.org/github.com///@v/list`. Pkgsite
- indexing usually happens within 5-15 min of the proxy picking it up. For
- more information, see Go's documentation on [Adding a
- package](https://pkg.go.dev/about#adding-a-package).
+
+ After releasing a new version, it may take a few minutes for pkg.go.dev
+ to index and display the update. You can also try checking to see if the Go
+ proxy has indexed your module at
+ `https://proxy.golang.org/github.com///@v/list`. pkg.go.dev
+ indexing usually happens within 5-15 min of the proxy picking it up.
+
+ For more information, see Go's documentation on [Adding a
+ package](https://pkg.go.dev/about#adding-a-package).
+
diff --git a/fern/products/sdks/overview/go/quickstart.mdx b/fern/products/sdks/overview/go/quickstart.mdx
index 1f0514fa7..6d5cd62ba 100644
--- a/fern/products/sdks/overview/go/quickstart.mdx
+++ b/fern/products/sdks/overview/go/quickstart.mdx
@@ -5,7 +5,7 @@ description: Get started quickly with the Fern Go SDK.
Generate a Go SDK by following the instructions on this page.
-
+
@@ -16,13 +16,19 @@ Generate a Go SDK by following the instructions on this page.
Add the Go SDK generator:
```bash
-fern add fern-go-sdk --group sdk
+fern add fern-go-sdk --group go-sdk
```
+
+ `go-sdk` is the name of the `generators.yml` group that configures your Go
+ SDK's output location and other metadata. You can customize this group name to
+ differentiate between multiple SDKs across different languages (e.g.,
+ `ruby-sdk`, etc) in your organization.
+
This command adds the following to `generators.yml`:
```yaml
- sdk:
+ go-sdk:
generators:
- name: fernapi/fern-go-sdk
version:
@@ -31,13 +37,21 @@ This command adds the following to `generators.yml`:
path: ../sdks/go
```
-
+### Generate the SDK
+
+ Generate the SDK:
+
+ ```bash
+ fern generate --group go-sdk
+ ```
+
+
```bash
fern/ # created by fern init
-sdks/ # created by fern generate --group sdk
+sdks/ # created by fern generate --group go-sdk
├─ go
├─ core/
- └─ resources/
+ └─ go.mod
```
\ No newline at end of file
diff --git a/fern/products/sdks/overview/java/publishing-to-maven-central.mdx b/fern/products/sdks/overview/java/publishing-to-maven-central.mdx
index 3bd4f7a62..f7e9c35b1 100644
--- a/fern/products/sdks/overview/java/publishing-to-maven-central.mdx
+++ b/fern/products/sdks/overview/java/publishing-to-maven-central.mdx
@@ -7,7 +7,7 @@ Publish your public-facing Fern Java SDK to the [Maven Central
registry](https://pypi.org/). After following the steps on this page,
you'll have a versioned package published on Maven Central.
-This guide assumes that you already have an initialized `fern` folder on your local machine. If you don’t, run `fern init`. See [Java Quickstart](quickstart.mdx) for more details.
+
## Set up your GitHub integration
diff --git a/fern/products/sdks/overview/java/quickstart.mdx b/fern/products/sdks/overview/java/quickstart.mdx
index 58a3cb221..0c870e100 100644
--- a/fern/products/sdks/overview/java/quickstart.mdx
+++ b/fern/products/sdks/overview/java/quickstart.mdx
@@ -5,7 +5,7 @@ description: Get started quickly with the Fern Java SDK.
Generate a Java SDK by following the instructions on this page.
-
+
@@ -16,13 +16,19 @@ Generate a Java SDK by following the instructions on this page.
Add the Java SDK generator:
```bash
-fern add fern-java-sdk --group sdk
+fern add fern-java-sdk --group java-sdk
```
+
+ `java-sdk` is the name of the `generators.yml` group that configures your Java
+ SDK's output location and other metadata. You can customize this group name to
+ differentiate between multiple SDKs across different languages (e.g.,
+ `ruby-sdk`, etc) in your organization.
+
This command adds the following to `generators.yml`:
```yaml
- sdk:
+ java-sdk:
generators:
- name: fernapi/fern-java-sdk
version:
@@ -31,11 +37,19 @@ This command adds the following to `generators.yml`:
path: ../sdks/java
```
-
+### Generate the SDK
+
+ Generate the SDK:
+
+ ```bash
+ fern generate --group java-sdk
+ ```
+
+
```bash
fern/ # created by fern init
-sdks/ # created by fern generate --group sdk
+sdks/ # created by fern generate --group java-sdk
├─ java
├─ YourOrganizationApiClient.java
├─ core/
diff --git a/fern/products/sdks/overview/php/publishing-to-packagist.mdx b/fern/products/sdks/overview/php/publishing-to-packagist.mdx
index 952643ab4..cffcdb2fe 100644
--- a/fern/products/sdks/overview/php/publishing-to-packagist.mdx
+++ b/fern/products/sdks/overview/php/publishing-to-packagist.mdx
@@ -11,7 +11,7 @@ you'll have a versioned package published on Packagist.
-This guide assumes that you already have an initialized `fern` folder on your local machine. If you don’t, run `fern init`. See [PHP Quickstart](quickstart.mdx) for more details.
+
## Set up your GitHub integration
diff --git a/fern/products/sdks/overview/php/quickstart.mdx b/fern/products/sdks/overview/php/quickstart.mdx
index 5957ed689..855cfc58c 100644
--- a/fern/products/sdks/overview/php/quickstart.mdx
+++ b/fern/products/sdks/overview/php/quickstart.mdx
@@ -5,7 +5,7 @@ description: Get started quickly with the Fern PHP SDK.
Generate a PHP SDK by following the instructions on this page.
-
+
@@ -16,13 +16,20 @@ Generate a PHP SDK by following the instructions on this page.
Add the PHP SDK generator:
```bash
-fern add fern-php-sdk --group sdk
+fern add fern-php-sdk --group php-sdk
```
+
+ `php-sdk` is the name of the `generators.yml` group that configures your PHP
+ SDK's output location and other metadata. You can customize this group name to
+ differentiate between multiple SDKs across different languages (e.g.,
+ `ruby-sdk`, etc) in your organization.
+
+
This command adds the following to `generators.yml`:
```yaml
- sdk:
+ php-sdk:
generators:
- name: fernapi/fern-php-sdk
version:
@@ -31,16 +38,24 @@ This command adds the following to `generators.yml`:
path: ../sdks/php/sdk
```
-
+### Generate the SDK
+
+ Generate the SDK:
+
+ ```bash
+ fern generate --group php-sdk
+ ```
+
+
```bash
fern/ # created by fern init
-sdks/ # created by fern generate --group sdk
+sdks/ # created by fern generate --group php-sdk
├─ php
└─ sdk/
├─ src/
├─ YourOrganizationClient.php
- └─ Imdb/ # or the name of your API
+ └─ Types/
└─ tests/
└─ Core/
```
diff --git a/fern/products/sdks/overview/python/publishing-to-pypi.mdx b/fern/products/sdks/overview/python/publishing-to-pypi.mdx
index 2b897669e..bc2f175e0 100644
--- a/fern/products/sdks/overview/python/publishing-to-pypi.mdx
+++ b/fern/products/sdks/overview/python/publishing-to-pypi.mdx
@@ -11,7 +11,7 @@ you'll have a versioned package published on PyPI.
-This guide assumes that you already have an initialized `fern` folder on your local machine. If you don’t, run `fern init`. See [Python Quickstart](quickstart.mdx) for more details.
+
## Set up your GitHub integration
diff --git a/fern/products/sdks/overview/python/quickstart.mdx b/fern/products/sdks/overview/python/quickstart.mdx
index 506604e48..f1e7a8edd 100644
--- a/fern/products/sdks/overview/python/quickstart.mdx
+++ b/fern/products/sdks/overview/python/quickstart.mdx
@@ -5,7 +5,7 @@ description: Get started quickly with the Fern Python SDK.
Generate a Python SDK by following the instructions on this page.
-
+
@@ -15,13 +15,20 @@ Generate a Python SDK by following the instructions on this page.
Add the Python SDK generator:
```bash
-fern add fern-python-sdk --group sdk
+fern add fern-python-sdk --group python-sdk
```
+
+ `python-sdk` is the name of the `generators.yml` group that configures your Python
+ SDK's output location and other metadata. You can customize this group name to
+ differentiate between multiple SDKs across different languages (e.g.,
+ `ruby-sdk`, etc) in your organization.
+
+
This command adds the following to `generators.yml`:
```yaml
- sdk:
+ python-sdk:
generators:
- name: fernapi/fern-python-sdk
version:
@@ -30,11 +37,19 @@ This command adds the following to `generators.yml`:
path: ../sdks/python
```
-
+### Generate the SDK
+
+ Generate the SDK:
+
+ ```bash
+ fern generate --group python-sdk
+ ```
+
+
```bash
fern/ # created by fern init
-sdks/ # created by fern generate --group sdk
+sdks/ # created by fern generate --group python-sdk
├─ python
├─ __init__.py
├─ client.py
diff --git a/fern/products/sdks/overview/ruby/publishing-to-rubygems.mdx b/fern/products/sdks/overview/ruby/publishing-to-rubygems.mdx
index 48e83f1ea..274d6dbb3 100644
--- a/fern/products/sdks/overview/ruby/publishing-to-rubygems.mdx
+++ b/fern/products/sdks/overview/ruby/publishing-to-rubygems.mdx
@@ -7,7 +7,7 @@ Publish your public-facing Fern Ruby SDK to the [RubyGems
registry](https://rubygems.org/). After following the steps on this page,
you'll have a versioned package published on RubyGems.
-This guide assumes that you already have an initialized `fern` folder on your local machine. If you don’t, run `fern init`. See [Ruby Quickstart](quickstart.mdx) for more details.
+
## Set up your GitHub integration
diff --git a/fern/products/sdks/overview/ruby/quickstart.mdx b/fern/products/sdks/overview/ruby/quickstart.mdx
index 5efff022f..57f345842 100644
--- a/fern/products/sdks/overview/ruby/quickstart.mdx
+++ b/fern/products/sdks/overview/ruby/quickstart.mdx
@@ -5,7 +5,7 @@ description: Get started quickly with the Fern Ruby SDK.
Generate a Ruby SDK by following the instructions on this page.
-
+
@@ -16,13 +16,20 @@ Generate a Ruby SDK by following the instructions on this page.
Add the Ruby SDK generator:
```bash
-fern add fern-ruby-sdk --group sdk
+fern add fern-ruby-sdk --group ruby-sdk
```
+
+ `ruby-sdk` is the name of the `generators.yml` group that configures your Ruby
+ SDK's output location and other metadata. You can customize this group name to
+ differentiate between multiple SDKs across different languages (e.g.,
+ `python-sdk`, etc) in your organization.
+
+
This command adds the following to `generators.yml`:
```yaml
- sdk:
+ ruby-sdk:
generators:
- name: fernapi/fern-ruby-sdk
version:
@@ -31,11 +38,19 @@ This command adds the following to `generators.yml`:
path: ../sdks/ruby
```
-
+### Generate the SDK
+
+ Generate the SDK:
+
+ ```bash
+ fern generate --group ruby-sdk
+ ```
+
+
```bash
fern/ # created by fern init
-sdks/ # created by fern generate --group sdk
+sdks/ # created by fern generate --group ruby-sdk
├─ ruby
├─ YourOrganization_api_client.gemspec
├─ test/
diff --git a/fern/products/sdks/overview/typescript/publishing-to-npm.mdx b/fern/products/sdks/overview/typescript/publishing-to-npm.mdx
index 9664249d9..4605c4a4e 100644
--- a/fern/products/sdks/overview/typescript/publishing-to-npm.mdx
+++ b/fern/products/sdks/overview/typescript/publishing-to-npm.mdx
@@ -11,7 +11,7 @@ you'll have a versioned package published on npm.
-This guide assumes that you already have an initialized `fern` folder on your local machine. If you don’t, run `fern init`. See [TypeScript Quickstart](quickstart.mdx) for more details.
+
## Set up your GitHub integration
diff --git a/fern/products/sdks/overview/typescript/quickstart.mdx b/fern/products/sdks/overview/typescript/quickstart.mdx
index 1e710e404..42a2d55f2 100644
--- a/fern/products/sdks/overview/typescript/quickstart.mdx
+++ b/fern/products/sdks/overview/typescript/quickstart.mdx
@@ -5,7 +5,7 @@ description: Get started quickly with the Fern TypeScript SDK.
Generate a TypeScript SDK by following the instructions on this page.
-
+
@@ -16,13 +16,20 @@ Generate a TypeScript SDK by following the instructions on this page.
Add the TypeScript SDK generator:
```bash
-fern add fern-typescript-sdk --group sdk
+fern add fern-typescript-sdk --group ts-sdk
```
+
+ `ts-sdk` is the name of the `generators.yml` group that configures your TypeScript
+ SDK's output location and other metadata. You can customize this group name to
+ differentiate between multiple SDKs across different languages (e.g.,
+ `ruby-sdk`, etc) in your organization.
+
+
This command adds the following to `generators.yml`:
```yaml
- sdk:
+ ts-sdk:
generators:
- name: fernapi/fern-typescript-sdk
version:
@@ -30,11 +37,19 @@ This command adds the following to `generators.yml`:
location: local-file-system
path: ../sdks/typescript
```
-
+### Generate the SDK
+
+ Generate the SDK:
+
+ ```bash
+ fern generate --group ts-sdk
+ ```
+
+
```bash
fern/ # created by fern init
-sdks/ # created by fern generate --group sdk
+sdks/ # created by fern generate --group ts-sdk
├─ typescript
├─ Client.ts
├─ index.ts
diff --git a/fern/products/sdks/snippets/generate-sdk.mdx b/fern/products/sdks/snippets/generate-sdk.mdx
index 9342d5580..1d182476b 100644
--- a/fern/products/sdks/snippets/generate-sdk.mdx
+++ b/fern/products/sdks/snippets/generate-sdk.mdx
@@ -1,9 +1 @@
-### Generate the SDK
-
- Generate the SDK:
-
- ```bash
- fern generate --group sdk
- ```
-
- This creates a `sdks` folder in your current directory. The resulting folder structure looks like this:
\ No newline at end of file
+ This creates a `sdks` folder in your current directory. The resulting folder structure looks like this:
\ No newline at end of file
diff --git a/fern/products/sdks/snippets/quickstart-prereqs.mdx b/fern/products/sdks/snippets/quickstart-prereqs.mdx
deleted file mode 100644
index a6b7d730c..000000000
--- a/fern/products/sdks/snippets/quickstart-prereqs.mdx
+++ /dev/null
@@ -1,3 +0,0 @@
-
- This page assumes you have an initialized fern folder. For more information, see [Set up the Fern Folder](/learn/sdks/overview/set-up-the-fern-folder)
-
\ No newline at end of file
diff --git a/fern/products/sdks/snippets/setup-fern-folder-callout.mdx b/fern/products/sdks/snippets/setup-fern-folder-callout.mdx
new file mode 100644
index 000000000..3cbde96bc
--- /dev/null
+++ b/fern/products/sdks/snippets/setup-fern-folder-callout.mdx
@@ -0,0 +1,3 @@
+This guide assumes that you already have an initialized `fern` folder on
+your local machine. If you don’t, run `fern init`. See [Set up the Fern
+Folder](/sdks/fern-folder.mdx) for more details.