# Go quickstart > Learn how to generate a Go SDK with Fern. Step-by-step guide to configure generators.yml, run fern generate, and create Go client libraries. Generate a Go SDK by following the instructions on this page. This page assumes that you have: * An initialized `fern` folder. See [Set up the `fern` folder](/sdks/overview/quickstart). * A GitHub repository for your SDK. See [Project Structure](/sdks/overview/project-structure). ### Pass `fern check` Run `fern check` to ensure that your API definition is valid. If there are any errors, fix them before proceeding. If you're using an OpenAPI Specification, check out all of our [supported extensions](/learn/api-definition/openapi/extensions). ### Add the SDK generator Run the following command to add the Go SDK generator to `generators.yml`: ```bash 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 `group` to `generators.yml`: ```yaml title="generators.yml" go-sdk: # group name generators: - name: fernapi/fern-go-sdk version: 1.22.8 output: location: local-file-system path: ../sdks/go ``` ### Generate the SDK Run the following command to generate your SDK: ```bash fern generate --group go-sdk ``` If you have multiple APIs, use the [`--api` flag](/cli-api-reference/cli-reference/commands#api) to specify the API you want to generate: ```bash fern generate --group go-sdk --api your-api-name ``` This creates a `sdks` folder in your current directory. The resulting folder structure looks like this: