From de5089f915e3340726a6edb9829099ecfc2ab61b Mon Sep 17 00:00:00 2001 From: "rishabh.dhadda" Date: Mon, 21 Sep 2026 21:42:35 +0000 Subject: [PATCH 1/2] docs(cli-generator): document extraDependencies / extraDevDependencies Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- fern/products/cli-generator/configuration.mdx | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/fern/products/cli-generator/configuration.mdx b/fern/products/cli-generator/configuration.mdx index a3f299485f..87b7761aa7 100644 --- a/fern/products/cli-generator/configuration.mdx +++ b/fern/products/cli-generator/configuration.mdx @@ -113,6 +113,7 @@ config: keywords: ["plants", "cli"] ``` + Crate name. Must be a valid cargo crate name: it starts with a letter and contains only letters, digits, `-`, and `_`. Invalid values fail at generation time with a config error instead of surfacing later as a manifest error during `cargo build`. The generator renames the matching `Cargo.lock` entry in the same pass, so `cargo build --locked` still resolves the workspace member. @@ -143,6 +144,32 @@ Keywords for crates.io search. + +Adds crates to the `[dependencies]` table of the generated root `Cargo.toml`. Use it when code you keep in `.fernignore`, such as [custom command](/learn/cli-generator/get-started/customization) handlers or custom authentication, imports crates the generated CLI does not already depend on. Each value is a version requirement string or a dependency table with any of `version`, `features`, `optional`, `defaultFeatures`, `package`, `path`, `git`, `branch`, `rev`, and `registry`. Crates the generated CLI already depends on cannot be redeclared. + +```yaml title="generators.yml" +config: + binaryName: plant + extraDependencies: + google-cloud-auth: "1.16" + google-cloud-iam-credentials-v1: + version: "1.12" + defaultFeatures: false +``` + +Generation writes the dependencies to `Cargo.toml` only. The first `cargo build` after generation resolves them into `Cargo.lock`. + + + +Same as `extraDependencies`, for the `[dev-dependencies]` table. + +```yaml title="generators.yml" +config: + extraDevDependencies: + mockall: "0.11" +``` + + Adds Homebrew and Scoop publishing on top of the GitHub Release archives every generated CLI already ships. Both channels install from a tagged release, so `distribution` is honored only when the generator delivers to a GitHub repository through the `github` block. Enabling a channel adds a publish job to the release workflow and the matching install command to the generated README. Each job pushes to a public [tap or bucket repository](/learn/cli-generator/get-started/publishing#configure-distribution-channels) you create, authenticating with either a personal access token per channel or a GitHub App whose credentials you store as repository secrets. From e59c9d6edd94013005edd281bff405ed54758700 Mon Sep 17 00:00:00 2001 From: "rishabh.dhadda" Date: Mon, 21 Sep 2026 21:42:43 +0000 Subject: [PATCH 2/2] docs: vale contractions Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- fern/products/cli-generator/configuration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fern/products/cli-generator/configuration.mdx b/fern/products/cli-generator/configuration.mdx index 87b7761aa7..4d85c23095 100644 --- a/fern/products/cli-generator/configuration.mdx +++ b/fern/products/cli-generator/configuration.mdx @@ -145,7 +145,7 @@ Keywords for crates.io search. -Adds crates to the `[dependencies]` table of the generated root `Cargo.toml`. Use it when code you keep in `.fernignore`, such as [custom command](/learn/cli-generator/get-started/customization) handlers or custom authentication, imports crates the generated CLI does not already depend on. Each value is a version requirement string or a dependency table with any of `version`, `features`, `optional`, `defaultFeatures`, `package`, `path`, `git`, `branch`, `rev`, and `registry`. Crates the generated CLI already depends on cannot be redeclared. +Adds crates to the `[dependencies]` table of the generated root `Cargo.toml`. Use it when code you keep in `.fernignore`, such as [custom command](/learn/cli-generator/get-started/customization) handlers or custom authentication, imports crates the generated CLI doesn't already depend on. Each value is a version requirement string or a dependency table with any of `version`, `features`, `optional`, `defaultFeatures`, `package`, `path`, `git`, `branch`, `rev`, and `registry`. Crates the generated CLI already depends on can't be redeclared. ```yaml title="generators.yml" config: