Skip to content

docs(cli-generator): add hidden quickstart page#5611

Merged
fern-support merged 3 commits into
mainfrom
devin/1779486477-cli-generator-quickstart
May 23, 2026
Merged

docs(cli-generator): add hidden quickstart page#5611
fern-support merged 3 commits into
mainfrom
devin/1779486477-cli-generator-quickstart

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot commented May 22, 2026

Summary

Adds a single hidden quickstart page for the CLI generator, guiding early-access users through end-to-end setup: project init → OpenAPI spec → generators.yml config → fern generatecargo build → run.

Includes a prominent <Warning> callout for the biggest footgun: local-file-system paths resolve relative to fern/, not the repo root. Directory layout diagram makes the two-level-up path clear.

Page is hidden: true — absent from sidebar and search, reachable only by direct URL.

Resolves FER-10757 (partial — quickstart only; other pages deferred)

Review & Testing Checklist for Human

  • Open the preview link and confirm the page renders correctly (not visible in sidebar)
  • Check that links to existing pages (Authentication, Features) resolve correctly

Notes

Link to Devin session: https://app.devin.ai/sessions/f837d4fee3304207a5d5bb390d983b38

Add a hidden self-service quickstart guide for the CLI generator.
Covers end-to-end setup: init, spec, config, generate, build/run.

Includes prominent Warning callout for the path-resolution gotcha
(local-file-system paths resolve relative to fern/, not repo root).

Resolves FER-10757 (partial — quickstart only)
@devin-ai-integration devin-ai-integration Bot requested a review from devalog as a code owner May 22, 2026 21:49
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@devin-ai-integration devin-ai-integration Bot requested a review from Swimburger May 22, 2026 21:49
@jsklan jsklan requested a review from jon-fern May 22, 2026 21:50
@github-actions
Copy link
Copy Markdown
Contributor

Updated version of fern-cli and removed warning about output paths.
Copy link
Copy Markdown
Contributor Author

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 4 additional findings in Devin Review.

Open in Devin Review

Comment on lines +36 to +51
```yaml title="fern/generators.yml"
api:
specs:
- openapi: openapi.yml
default-group: cli
groups:
cli:
generators:
- name: fernapi/fern-cli
version: 0.4.0
github:
repo: my-org/my-cli
mode: release
config:
binaryName: my-cli
```
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Quickstart generators.yml configures only GitHub output but step 5 assumes local output at ../my-cli

The generators.yml example in step 3 configures only github: repo: ... mode: release, which pushes generated code to a GitHub repository (per the generators.yml reference and the CLI generator overview: "Fern opens a PR against your CLI repo with the generated source"). However, step 5 instructs users to cd ../my-cli and cargo build, assuming a local directory exists. Without an output: location: local-file-system section (the pattern used by all SDK quickstarts, e.g., fern/products/sdks/generators/typescript/quickstart.mdx:39-41), no local my-cli directory is created. Users following this guide step-by-step will fail at step 5.

Expected generators.yml for local generation (based on SDK pattern)
groups:
  cli:
    generators:
      - name: fernapi/fern-cli
        version: 0.4.0
        output:
          location: local-file-system
          path: ../my-cli
        config:
          binaryName: my-cli
Prompt for agents
The generators.yml example in step 3 only configures github output (github: repo: my-org/my-cli, mode: release), but step 5 assumes the generated Rust project exists locally at ../my-cli. According to the established pattern in other Fern quickstarts (e.g. fern/products/sdks/generators/typescript/quickstart.mdx), local output requires an explicit output section with location: local-file-system and a path. Either: (1) add an output section to the generators.yml example to match step 5's cd ../my-cli expectation, or (2) modify step 5 to explain that the user needs to clone the generated GitHub repo first, or (3) if the CLI generator's fern generate always writes locally regardless of github config, clarify that in the prose. Also verify whether the github field name should be repo or repository — SDK generators use repository per the generators-yml reference.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor Author

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

View 5 additional findings in Devin Review.

Open in Devin Review


- Rename commands, hide endpoints, or patch metadata without forking your spec by layering [overrides and overlays](/learn/cli-generator/get-started/customization#overrides-and-overlays) onto `generators.yml`.
- Ship one binary that drives multiple APIs by listing them under `api.specs` with [multi-spec merging](/learn/cli-generator/get-started/customization#multi-spec-merging).
- Add subcommands that don't map to an endpoint — login flows, config helpers, local utilities — with [custom commands](/learn/cli-generator/get-started/customization#custom-commands).
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Two em dashes in a single bullet point violates AGENTS.md voice rule

Line 84 contains two em dashes in a single short paragraph (bullet point): — login flows, config helpers, local utilities —. The AGENTS.md rule states: "At most one em dash per short paragraph. Before reaching for a second dash, try a colon (for a list or expansion) or parentheses (for an aside). Multiple dashes in close succession read as AI-generated."

Suggested change
- Add subcommands that don't map to an endpoint login flows, config helpers, local utilities with [custom commands](/learn/cli-generator/get-started/customization#custom-commands).
- Add subcommands that don't map to an endpoint (login flows, config helpers, local utilities) with [custom commands](/learn/cli-generator/get-started/customization#custom-commands).
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@fern-support fern-support merged commit d710ea8 into main May 23, 2026
5 checks passed
@fern-support fern-support deleted the devin/1779486477-cli-generator-quickstart branch May 23, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants