# 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: