diff --git a/fern/products/api-def/api-def.yml b/fern/products/api-def/api-def.yml
index 5cd08e799..1e579e6c9 100644
--- a/fern/products/api-def/api-def.yml
+++ b/fern/products/api-def/api-def.yml
@@ -213,6 +213,8 @@ navigation:
- page: Error handling
path: ./grpc-pages/services/errors.mdx
slug: errors
+ - page: generators.yml reference
+ path: ./grpc-pages/reference/generators-reference.mdx
- section: Fern Definition
collapsed: true
slug: ferndef
diff --git a/fern/products/api-def/grpc-pages/overview.mdx b/fern/products/api-def/grpc-pages/overview.mdx
index b9a52d6c7..c8abe0852 100644
--- a/fern/products/api-def/grpc-pages/overview.mdx
+++ b/fern/products/api-def/grpc-pages/overview.mdx
@@ -6,7 +6,7 @@ description: gRPC is a high-performance RPC framework that uses Protocol Buffers
- Fern only supports gRPC SDK generation for .NET/C#.
+ Fern only supports gRPC SDK generation for .NET/C#. Protobuf specs can be used for documentation generation in all languages.
gRPC is a modern, open-source, high-performance Remote Procedure Call (RPC) framework that can run in any environment. It uses Protocol Buffers (protobuf) as the interface definition language and supports multiple programming languages.
@@ -202,20 +202,21 @@ fern/
```
-Create a `generators.yml` file in your fern directory and add a reference to your gRPC proto files:
+Create a `generators.yml` file in your fern directory and add a reference to your gRPC proto files. See [gRPC generators.yml reference](/api-definitions/grpc/generators-yml-reference) for complete configuration options.
```yaml title="generators.yml"
# Your API definition
api:
specs:
- proto:
- root: ./proto
- target: ./proto/user_service.proto
-
+ # Path up to where package starts (e.g., for package userservice.v1)
+ root: ../user-service/proto
+ # Omit to generate docs for entire root folder
+ target: ../user-service/proto/data/v1/user_service.proto
groups:
external:
generators:
- # Your generator configurations here
+ # Your C# generator configuration here, if relevant
```
Your final directory structure:
diff --git a/fern/products/api-def/grpc-pages/reference/generators-reference.mdx b/fern/products/api-def/grpc-pages/reference/generators-reference.mdx
new file mode 100644
index 000000000..fd185f76c
--- /dev/null
+++ b/fern/products/api-def/grpc-pages/reference/generators-reference.mdx
@@ -0,0 +1,8 @@
+---
+title: gRPC generators.yml reference
+description: Reference for configuring gRPC specifications in your generators.yml file
+---
+
+Configure how your gRPC specification is processed and transformed into SDKs and documentation using the `generators.yml` configuration file.
+
+
\ No newline at end of file
diff --git a/fern/products/sdks/reference/generators-yml-reference.mdx b/fern/products/sdks/reference/generators-yml-reference.mdx
index 5c07b7f48..7bfa46d98 100644
--- a/fern/products/sdks/reference/generators-yml-reference.mdx
+++ b/fern/products/sdks/reference/generators-yml-reference.mdx
@@ -226,31 +226,7 @@ api:
-
-```yaml title="generators.yml"
-api:
- specs:
- - proto:
- root: "./proto"
- target: "proto/service/v1/service.proto"
- local-generation: true
-```
-
-
- Path to the `.proto` directory root (e.g., `proto`).
-
-
-
- Path to the target `.proto` file (e.g., `proto/user/v1/user.proto`).
-
-
-
- Path to the overrides configuration.
-
-
-
- Whether to compile `.proto` files locally. Defaults to remote generation (`false`).
-
+
diff --git a/fern/snippets/grpc-specs.mdx b/fern/snippets/grpc-specs.mdx
new file mode 100644
index 000000000..63a4bd8f5
--- /dev/null
+++ b/fern/snippets/grpc-specs.mdx
@@ -0,0 +1,24 @@
+```yaml title="generators.yml"
+api:
+ specs:
+ - proto:
+ root: "./proto"
+ target: "proto/service/v1/service.proto"
+ local-generation: true
+```
+
+
+ Path to the `.proto` directory root (e.g., `proto`). 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/`
+
+
+
+ Path to the target `.proto` file (e.g., `proto/user/v1/user.proto`). Omit to generate docs for the entire root folder.
+
+
+
+ Path to the overrides configuration file. Used for SDK generation only, not for documentation generation.
+
+
+
+ Whether to compile `.proto` files locally. Defaults to remote generation (`false`).
+
\ No newline at end of file