# Publishing as a Swift package

> How to publish the Fern Swift SDK as a Swift package

Publish your public-facing Fern Swift SDK as a Swift package distributed via Git. After following the steps on this page, you'll have a versioned package that developers can install using Swift Package Manager.

<Info>
  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).
</Info>

## Configure `generators.yml`

<Steps>
  <Step title="Configure `output` location">
    Swift packages are distributed via Git repositories, so remove the auto-generated `output` and `config` properties. Instead, add the path to your GitHub repository:

    ```yaml {6-7} title="generators.yml"
    groups: 
      swift-sdk:
        generators:
          - name: fernapi/fern-swift-sdk
            version: 0.25.4
            github:
              repository: your-org/company-swift
    ```
  </Step>
</Steps>

## Publish as a Swift package

At this point, you're ready to generate a release for your SDK.

<Steps>
  <Step title="Generate your release">
    Regenerate your SDK and publish it to your repository:

    ```bash
    fern generate --group swift-sdk --version <version>
    ```

    Local machine output will verify that the release is pushed to your repository and tagged with the version you specified.
  </Step>

  <Step title="Verify package availability">
    Your Swift package is now available! Developers can add it to their projects by:

    * **In Xcode**: File → Add Package Dependencies → Enter your repository URL
    * **In Package.swift**: Add to dependencies array:

    ```swift
    dependencies: [
        .package(url: "https://github.com/<github-org>/<github-repo-name>", from: "<version>")
    ]
    ```

    <Tip>
      Unlike other languages that rely on centralized registries, Swift packages are available as soon as they’re tagged and pushed to a Git repository.

      You can optionally submit your package to the community-maintained [Swift Package Index](https://swiftpackageindex.com/) for better discoverability.
    </Tip>
  </Step>
</Steps>