> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# gRPC generators.yml reference

> Complete gRPC generators.yml reference guide for Fern. Learn how to configure root, target, overrides, and local-generation settings.

The `generators.yml` file serves two roles: it declares your gRPC specification location (in the `api.specs` section), and configures SDK generation (in the optional `groups` section).

APIs declared here can be rendered in your documentation via `docs.yml`. See [Generate your API Reference](/learn/docs/api-references/overview).

```yaml title="generators.yml"
api:
  specs:
    - proto:
        root: "./proto"
        target: "proto/service/v1/service.proto"
        local-generation: true
    - proto:
        root:
          git:
            repo: https://github.com/org/proto-definitions.git
            ref: v2.3.0
            path: proto/
        target: user/v1/user.proto
```

**`root`** `string | git` — required

Location of the `.proto` directory root. Accepts a local path (e.g., `proto`) or a remote git reference. Must be specified up to where the package starts. For example, if your package is `package.test.v1` at the file path `protos/package/test/v1/test_file.proto`, the root should be `protos/`

```yaml
# Local path
root: ./proto

# Remote git repository
root:
  git:
    repo: https://github.com/org/proto-definitions.git
    ref: v2.3.0
    path: proto/
```

---

**`root.git.repo`** `string` — required

The git repository URL (e.g., `https://github.com/org/repo.git`). The CLI shallow-clones this repository at generation time using your system's git credential configuration (credential helpers, SSH keys, `GIT_ASKPASS`).

---

**`root.git.ref`** `string`

Branch, tag, or commit SHA to check out. Defaults to the repository's default branch when omitted.

---

**`root.git.path`** `string` — required

Path to the `.proto` directory within the repository.

---

**`target`** `string`

Path to the target `.proto` file (e.g., `proto/user/v1/user.proto`). Omit to generate docs for the entire root folder.

---

**`overrides`** `string | list of strings`

Path to the overrides configuration file, or a list of paths to multiple override files applied sequentially. Used for SDK generation only, not for documentation generation.

```yaml
# Single override file
overrides: ./overrides.yml

# Multiple override files (applied in order)
overrides:
  - ./base-overrides.yml
  - ./sdk-overrides.yml
```

---

**`local-generation`** `boolean` — default: false

Whether to compile `.proto` files locally. Defaults to remote generation (`false`). When enabled, you must have [buf](https://buf.build/docs/installation) installed on your machine or in your [CI/CD environment (e.g., GitHub Actions)](/learn/api-definitions/grpc/sync-your-g-rpc-specification).

---