diff --git a/.vale/styles/FernStyles/Current.yml b/.vale/styles/FernStyles/Current.yml index 4a481d44d..0a5313b82 100644 --- a/.vale/styles/FernStyles/Current.yml +++ b/.vale/styles/FernStyles/Current.yml @@ -3,12 +3,10 @@ message: "Avoid time-relative terms like '%s' that become outdated" level: warning ignorecase: true tokens: - - current - currently - presently - as of now - at this time - - present - in the future - future - now diff --git a/.vale/styles/FernStyles/Headings.yml b/.vale/styles/FernStyles/Headings.yml index 85510cde3..7eec73962 100644 --- a/.vale/styles/FernStyles/Headings.yml +++ b/.vale/styles/FernStyles/Headings.yml @@ -113,3 +113,4 @@ exceptions: - Proto - RBAC - YAML + - fern.config.json diff --git a/fern/products/api-def/pages/project-structure.mdx b/fern/products/api-def/pages/project-structure.mdx index ec8da4df8..7ce0519cd 100644 --- a/fern/products/api-def/pages/project-structure.mdx +++ b/fern/products/api-def/pages/project-structure.mdx @@ -26,20 +26,9 @@ fern/ Beyond the core files, you can optionally use an overrides file to customize your API definition without modifying the original spec. See [Overrides](/api-definitions/overview/overrides) for instructions. -### `fern.config.json file` +### `fern.config.json` -Every fern folder has a single `fern.config.json` file. This file stores the organization and -the version of the Fern CLI that you are using. - -```json title="fern.config.json" -{ - "organization": "your-organization", - "version": "0.31.2" -} -``` - -Every time you run a fern CLI command, the CLI downloads itself at the correct version to ensure -determinism. + ### `generators.yml` @@ -196,4 +185,4 @@ groups: ``` - \ No newline at end of file + diff --git a/fern/products/cli-api-reference/pages/cli-get-started.mdx b/fern/products/cli-api-reference/pages/cli-get-started.mdx index 3b84e0067..c4ffe044c 100644 --- a/fern/products/cli-api-reference/pages/cli-get-started.mdx +++ b/fern/products/cli-api-reference/pages/cli-get-started.mdx @@ -39,6 +39,8 @@ In your `fern.config.json`, set the version to `*` to use your locally installed } ``` +See the [fern.config.json reference](/learn/sdks/overview/project-structure#fernconfigjson) for more details. + diff --git a/fern/products/cli-api-reference/pages/commands.mdx b/fern/products/cli-api-reference/pages/commands.mdx index 1235cd15a..92f2feb21 100644 --- a/fern/products/cli-api-reference/pages/commands.mdx +++ b/fern/products/cli-api-reference/pages/commands.mdx @@ -221,7 +221,7 @@ hideOnThisPage: true - Use `fern check` to validate your API definition and Fern configuration: `fern.config.json`, `generators.yml`, and `docs.yml`. + Use `fern check` to validate your API definition and Fern configuration: [`fern.config.json`](/learn/sdks/overview/project-structure#fernconfigjson), `generators.yml`, and `docs.yml`. When successfully executed, this command will not produce any output. @@ -336,7 +336,7 @@ hideOnThisPage: true - Use `fern upgrade` to upgrade your compiler version in `fern.config.json` to the + Use `fern upgrade` to upgrade your compiler version in [`fern.config.json`](/learn/sdks/overview/project-structure#fernconfigjson) to the latest version. It will also upgrade generators in `generators.yml` to their minimum-compatible versions. @@ -389,8 +389,8 @@ hideOnThisPage: true - Use `fern token `to generate a `FERN_TOKEN` specific to your organization defined - in `fern.config.json`. Use the token to authenticate with the API in CI. Tokens do not expire. + Use `fern token` to generate a `FERN_TOKEN` specific to your organization defined + in [`fern.config.json`](/learn/sdks/overview/project-structure#fernconfigjson). Use the token to authenticate with the API in CI. Tokens do not expire. ```bash diff --git a/fern/products/docs/pages/getting-started/project-structure.mdx b/fern/products/docs/pages/getting-started/project-structure.mdx index f1c0bd1e8..33ccd22d7 100644 --- a/fern/products/docs/pages/getting-started/project-structure.mdx +++ b/fern/products/docs/pages/getting-started/project-structure.mdx @@ -180,15 +180,6 @@ title: Fern's Documentation ## `fern.config.json` -The `fern.config.json` file specifies your organization name and the version of the Fern CLI used to generate the documentation. You can customize this file to reflect your organization's details. - - -```json -{ - "organization": "my-organization", - "version": "" -} -``` - + diff --git a/fern/products/docs/pages/getting-started/quickstart.mdx b/fern/products/docs/pages/getting-started/quickstart.mdx index a7837ed0e..3226ce363 100644 --- a/fern/products/docs/pages/getting-started/quickstart.mdx +++ b/fern/products/docs/pages/getting-started/quickstart.mdx @@ -29,7 +29,7 @@ In this guide, we'll show you how to get started with Fern in under 5 minutes. Next, please update the template settings to use your organization. - Please edit the details `fern.config.json` and `docs.yml` with your organization + Edit the details in `fern.config.json` and `docs.yml` with your organization name. @@ -37,7 +37,7 @@ In this guide, we'll show you how to get started with Fern in under 5 minutes. ```json {2} { "organization": "{{YOUR_ORGANIZATION}}", - "version": "0.x.x" + "version": "" } ``` @@ -48,6 +48,8 @@ In this guide, we'll show you how to get started with Fern in under 5 minutes. ``` + + See the [fern.config.json reference](/learn/sdks/overview/project-structure#fernconfigjson) for more details. Finally, navigate to the docs directory (where the `fern` folder is located) and execute the following command to generate your documentation: diff --git a/fern/products/sdks/project-structure.mdx b/fern/products/sdks/project-structure.mdx index 848ce13ed..1e9befc65 100644 --- a/fern/products/sdks/project-structure.mdx +++ b/fern/products/sdks/project-structure.mdx @@ -43,16 +43,7 @@ The source repository contains a `fern/` folder that is initialized with your A ### `fern.config.json` -Every fern folder has a single `fern.config.json` file. This file stores the organization name and the version of the Fern CLI that you are using: - -```json -{ - "organization": "your-organization", - "version": "" -} -``` - -Every time you run a fern CLI command, the CLI downloads itself at the correct version to ensure determinism. + ### `generators.yml` @@ -72,4 +63,4 @@ See [Project structure (API Definitions)](/api-definitions/overview/project-stru 1. **Create repositories**: Set up your source repository, plus one repository for each SDK 2. **Install Fern GitHub App**: Install the [Fern GitHub App](https://github.com/apps/fern-api) on all repositories -3. **Configure `generators.yml`**: In your `generators.yml`, add a reference to each SDK repository. \ No newline at end of file +3. **Configure `generators.yml`**: In your `generators.yml`, add a reference to each SDK repository. diff --git a/fern/snippets/fern-config-json-reference.mdx b/fern/snippets/fern-config-json-reference.mdx new file mode 100644 index 000000000..6eaab271b --- /dev/null +++ b/fern/snippets/fern-config-json-reference.mdx @@ -0,0 +1,12 @@ +The `fern.config.json` file stores your organization name and the Fern CLI version. Pinning the version provides deterministic builds. + +```json title="fern.config.json" +{ + "organization": "plant-catalog", + "version": "" +} +``` + + + When working with a locally installed CLI, set `version` to `"*"`. See [Install Fern CLI locally](/cli-api-reference/cli-reference/overview#install-fern-cli-locally) for details. +