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.
+