From f92d8a875a266cb8aa64f134edc544d260e764fc Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Wed, 23 Jul 2025 11:37:03 -0400 Subject: [PATCH 1/7] go edits --- .../sdks/overview/go/configuration.mdx | 37 ------------------ .../products/sdks/overview/go/custom-code.mdx | 8 ++-- .../go/publishing-to-go-package-manager.mdx | 39 +++++++++---------- fern/products/sdks/overview/go/quickstart.mdx | 21 +++++++--- fern/products/sdks/snippets/generate-sdk.mdx | 10 +---- .../snippets/setup-fern-folder-callout.mdx | 3 ++ 6 files changed, 43 insertions(+), 75 deletions(-) create mode 100644 fern/products/sdks/snippets/setup-fern-folder-callout.mdx 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..2133bc181 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,18 +1,17 @@ --- 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 the [Go module +proxy](https://pkg.go.dev/). After following the steps on this page, you'll have +a versioned package published on pkg.go.dev. Versioned package published on Pkgsite -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 @@ -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 on 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,14 +93,14 @@ 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 + 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`. Pkgsite + `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..ee5b18c6a 100644 --- a/fern/products/sdks/overview/go/quickstart.mdx +++ b/fern/products/sdks/overview/go/quickstart.mdx @@ -16,13 +16,16 @@ 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 `generators.yml` group that configures your Go SDK. You can customize this name however you want. + This command adds the following to `generators.yml`: ```yaml - sdk: + go-sdk: generators: - name: fernapi/fern-go-sdk version: @@ -31,13 +34,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/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/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. From 5fb74c736d2771de7994cdf8b64d1c1460d86d9d Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Wed, 23 Jul 2025 12:19:50 -0400 Subject: [PATCH 2/7] update all quickstarts with language-sdk command format and note --- .../sdks/overview/csharp/quickstart.mdx | 13 ++++++++--- fern/products/sdks/overview/go/quickstart.mdx | 5 +++- .../sdks/overview/java/quickstart.mdx | 22 ++++++++++++++---- .../products/sdks/overview/php/quickstart.mdx | 23 +++++++++++++++---- .../sdks/overview/python/quickstart.mdx | 23 +++++++++++++++---- .../sdks/overview/ruby/quickstart.mdx | 23 +++++++++++++++---- .../sdks/overview/typescript/quickstart.mdx | 23 +++++++++++++++---- 7 files changed, 108 insertions(+), 24 deletions(-) diff --git a/fern/products/sdks/overview/csharp/quickstart.mdx b/fern/products/sdks/overview/csharp/quickstart.mdx index f5b6ea19b..914aa5133 100644 --- a/fern/products/sdks/overview/csharp/quickstart.mdx +++ b/fern/products/sdks/overview/csharp/quickstart.mdx @@ -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., + `internal-csharp-sdk`, `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/quickstart.mdx b/fern/products/sdks/overview/go/quickstart.mdx index ee5b18c6a..bbbec416c 100644 --- a/fern/products/sdks/overview/go/quickstart.mdx +++ b/fern/products/sdks/overview/go/quickstart.mdx @@ -19,7 +19,10 @@ Add the Go SDK generator: fern add fern-go-sdk --group go-sdk ``` - `go-sdk` is the name of `generators.yml` group that configures your Go SDK. You can customize this name however you want. + `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., + `internal-go-sdk`, `ruby-sdk`, etc) in your organization. This command adds the following to `generators.yml`: diff --git a/fern/products/sdks/overview/java/quickstart.mdx b/fern/products/sdks/overview/java/quickstart.mdx index 58a3cb221..6366817b6 100644 --- a/fern/products/sdks/overview/java/quickstart.mdx +++ b/fern/products/sdks/overview/java/quickstart.mdx @@ -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., + `internal-java-sdk`, `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/quickstart.mdx b/fern/products/sdks/overview/php/quickstart.mdx index 5957ed689..e178a27cf 100644 --- a/fern/products/sdks/overview/php/quickstart.mdx +++ b/fern/products/sdks/overview/php/quickstart.mdx @@ -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., + `internal-php-sdk`, `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,11 +38,19 @@ 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/ diff --git a/fern/products/sdks/overview/python/quickstart.mdx b/fern/products/sdks/overview/python/quickstart.mdx index 506604e48..fb6f0c836 100644 --- a/fern/products/sdks/overview/python/quickstart.mdx +++ b/fern/products/sdks/overview/python/quickstart.mdx @@ -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., + `internal-python-sdk`, `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/quickstart.mdx b/fern/products/sdks/overview/ruby/quickstart.mdx index 5efff022f..aee2f4739 100644 --- a/fern/products/sdks/overview/ruby/quickstart.mdx +++ b/fern/products/sdks/overview/ruby/quickstart.mdx @@ -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., + `internal-ruby-sdk`, `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/quickstart.mdx b/fern/products/sdks/overview/typescript/quickstart.mdx index 1e710e404..334e00c7a 100644 --- a/fern/products/sdks/overview/typescript/quickstart.mdx +++ b/fern/products/sdks/overview/typescript/quickstart.mdx @@ -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., + `internal-ts-sdk`, `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 From 4f21edcf2d5f3e1b954354ea15a03f191b0656b2 Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Wed, 23 Jul 2025 13:08:58 -0400 Subject: [PATCH 3/7] various small updates --- .../overview/csharp/publishing-to-nuget.mdx | 2 +- .../sdks/overview/csharp/quickstart.mdx | 2 +- .../go/publishing-to-go-package-manager.mdx | 19 +++++++++++-------- fern/products/sdks/overview/go/quickstart.mdx | 2 +- .../java/publishing-to-maven-central.mdx | 2 +- .../sdks/overview/java/quickstart.mdx | 2 +- .../overview/php/publishing-to-packagist.mdx | 2 +- .../products/sdks/overview/php/quickstart.mdx | 4 ++-- .../overview/python/publishing-to-pypi.mdx | 2 +- .../sdks/overview/python/quickstart.mdx | 2 +- .../overview/ruby/publishing-to-rubygems.mdx | 2 +- .../sdks/overview/ruby/quickstart.mdx | 2 +- .../overview/typescript/publishing-to-npm.mdx | 2 +- .../sdks/overview/typescript/quickstart.mdx | 2 +- .../sdks/snippets/quickstart-prereqs.mdx | 3 --- 15 files changed, 25 insertions(+), 25 deletions(-) delete mode 100644 fern/products/sdks/snippets/quickstart-prereqs.mdx 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. 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 914aa5133..c2ba89bd5 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. - + 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 2133bc181..99cad7a82 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 @@ -17,7 +17,7 @@ a versioned package published on pkg.go.dev. 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**. @@ -97,13 +97,16 @@ a versioned package published on pkg.go.dev. 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 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). + + 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 bbbec416c..edebe3586 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. - + 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 6366817b6..8cbb18264 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. - + 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. 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 e178a27cf..a2239b142 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. - + @@ -55,7 +55,7 @@ sdks/ # created by fern generate --group php-sdk └─ 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. 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 fb6f0c836..23497db0a 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. - + 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 aee2f4739..4ea95fdd9 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. - + 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. 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 334e00c7a..41ff74c02 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. - + 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 From 3a189bf52983c0ed5ca23d04b4f1139d3f2ead04 Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Wed, 23 Jul 2025 13:57:06 -0400 Subject: [PATCH 4/7] take out internal prefix --- fern/products/sdks/overview/csharp/quickstart.mdx | 2 +- fern/products/sdks/overview/go/quickstart.mdx | 2 +- fern/products/sdks/overview/java/quickstart.mdx | 2 +- fern/products/sdks/overview/php/quickstart.mdx | 2 +- fern/products/sdks/overview/python/quickstart.mdx | 2 +- fern/products/sdks/overview/ruby/quickstart.mdx | 2 +- fern/products/sdks/overview/typescript/quickstart.mdx | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fern/products/sdks/overview/csharp/quickstart.mdx b/fern/products/sdks/overview/csharp/quickstart.mdx index c2ba89bd5..d89070eb7 100644 --- a/fern/products/sdks/overview/csharp/quickstart.mdx +++ b/fern/products/sdks/overview/csharp/quickstart.mdx @@ -23,7 +23,7 @@ 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., - `internal-csharp-sdk`, `ruby-sdk`, etc) in your organization. + `ruby-sdk`, etc) in your organization. This command adds the following to `generators.yml`: diff --git a/fern/products/sdks/overview/go/quickstart.mdx b/fern/products/sdks/overview/go/quickstart.mdx index edebe3586..6d5cd62ba 100644 --- a/fern/products/sdks/overview/go/quickstart.mdx +++ b/fern/products/sdks/overview/go/quickstart.mdx @@ -22,7 +22,7 @@ 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., - `internal-go-sdk`, `ruby-sdk`, etc) in your organization. + `ruby-sdk`, etc) in your organization. This command adds the following to `generators.yml`: diff --git a/fern/products/sdks/overview/java/quickstart.mdx b/fern/products/sdks/overview/java/quickstart.mdx index 8cbb18264..0c870e100 100644 --- a/fern/products/sdks/overview/java/quickstart.mdx +++ b/fern/products/sdks/overview/java/quickstart.mdx @@ -22,7 +22,7 @@ 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., - `internal-java-sdk`, `ruby-sdk`, etc) in your organization. + `ruby-sdk`, etc) in your organization. This command adds the following to `generators.yml`: diff --git a/fern/products/sdks/overview/php/quickstart.mdx b/fern/products/sdks/overview/php/quickstart.mdx index a2239b142..855cfc58c 100644 --- a/fern/products/sdks/overview/php/quickstart.mdx +++ b/fern/products/sdks/overview/php/quickstart.mdx @@ -23,7 +23,7 @@ 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., - `internal-php-sdk`, `ruby-sdk`, etc) in your organization. + `ruby-sdk`, etc) in your organization. This command adds the following to `generators.yml`: diff --git a/fern/products/sdks/overview/python/quickstart.mdx b/fern/products/sdks/overview/python/quickstart.mdx index 23497db0a..f1e7a8edd 100644 --- a/fern/products/sdks/overview/python/quickstart.mdx +++ b/fern/products/sdks/overview/python/quickstart.mdx @@ -22,7 +22,7 @@ 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., - `internal-python-sdk`, `ruby-sdk`, etc) in your organization. + `ruby-sdk`, etc) in your organization. This command adds the following to `generators.yml`: diff --git a/fern/products/sdks/overview/ruby/quickstart.mdx b/fern/products/sdks/overview/ruby/quickstart.mdx index 4ea95fdd9..57f345842 100644 --- a/fern/products/sdks/overview/ruby/quickstart.mdx +++ b/fern/products/sdks/overview/ruby/quickstart.mdx @@ -23,7 +23,7 @@ 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., - `internal-ruby-sdk`, `python-sdk`, etc) in your organization. + `python-sdk`, etc) in your organization. This command adds the following to `generators.yml`: diff --git a/fern/products/sdks/overview/typescript/quickstart.mdx b/fern/products/sdks/overview/typescript/quickstart.mdx index 41ff74c02..42a2d55f2 100644 --- a/fern/products/sdks/overview/typescript/quickstart.mdx +++ b/fern/products/sdks/overview/typescript/quickstart.mdx @@ -23,7 +23,7 @@ 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., - `internal-ts-sdk`, `ruby-sdk`, etc) in your organization. + `ruby-sdk`, etc) in your organization. This command adds the following to `generators.yml`: From fb14e0d5a4269f8ca46c51f0ead5dbe767a43691 Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Wed, 23 Jul 2025 14:00:02 -0400 Subject: [PATCH 5/7] update links and terminology in go publishing guide --- .../sdks/overview/go/publishing-to-go-package-manager.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 99cad7a82..4674df12b 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 @@ -3,9 +3,9 @@ title: Publishing to Pkgsite description: How to publish the Fern Go SDK to the Go module proxy. --- -Publish your public-facing Fern Go SDK to the [Go module -proxy](https://pkg.go.dev/). After following the steps on this page, you'll have -a versioned package published on pkg.go.dev. +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. Versioned package published on Pkgsite @@ -17,7 +17,7 @@ a versioned package published on pkg.go.dev. 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 - * 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)) + * 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**. From d6be640d1eb9fe3bef54d7d83d88c58aed18b2fd Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Wed, 23 Jul 2025 14:01:57 -0400 Subject: [PATCH 6/7] minor additional edits --- .../sdks/overview/go/publishing-to-go-package-manager.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4674df12b..82d75f3dc 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 @@ -49,7 +49,7 @@ you'll have a versioned package published on pkg.go.dev. path: ../sdks/go config: module: - path: sdk + path: sdk ``` From 321e6d1170836553eceda91c8e10203b14ec5050 Mon Sep 17 00:00:00 2001 From: Devin Logan Date: Wed, 23 Jul 2025 14:02:32 -0400 Subject: [PATCH 7/7] edit --- .../sdks/overview/go/publishing-to-go-package-manager.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 82d75f3dc..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 @@ -75,7 +75,7 @@ you'll have a versioned package published on pkg.go.dev. -## Publish on pkg.go.dev +## Publish to pkg.go.dev At this point, you're ready to generate a release for your SDK.