Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

Improve fern.config.json documentation

Summary

Created comprehensive centralized documentation for fern.config.json to address inconsistencies and gaps across the documentation. The main changes:

  1. Created new snippet: fern/snippets/fern-config-json-reference.mdx containing complete reference documentation for fern.config.json including:

    • Overview and purpose
    • Schema documentation for both required fields (organization and version)
    • Examples for CI (pinned version) and local development (version: "*")
    • Guidance on when to change values
    • Documentation of how CLI commands use the file
    • Plant-themed examples per documentation guidelines
  2. Updated project structure pages: Replaced inline fern.config.json documentation with snippet references in:

    • SDKs project structure
    • Docs project structure
    • API definitions project structure
  3. Fixed inconsistencies:

    • Replaced hard-coded version "0.31.2" with version snippet in API definitions page
    • Replaced hard-coded version "0.x.x" with version snippet in quickstart page
    • Fixed extra space in "fern token " command
  4. Added cross-references: Added links to fern.config.json reference in CLI commands page (fern check, fern upgrade, fern token) and other relevant pages

Review & Testing Checklist for Human

  • Verify all cross-reference links work correctly, especially the anchor links to #fernconfigjson - the heading hierarchy has ## What is fern.config.json? nested under ### fern.config.json sections which might affect anchor generation
  • Check that the snippet renders correctly in all three project-structure pages (SDKs, Docs, API definitions)
  • Test the link to /learn/cli-api/cli-reference/overview#install-fern-cli-locally referenced in the snippet
  • Run Vale style checks to ensure no linting issues
  • Verify the version snippet (<Markdown src="/snippets/version-number-cli.mdx"/>) renders correctly inline within the JSON code examples

Test Plan

  1. Navigate to each of the three project-structure pages in the preview and verify the fern.config.json section displays correctly
  2. Click all cross-reference links to fern.config.json to ensure they navigate to the correct section
  3. Check CLI commands page to verify the new links work
  4. Run fern check to validate no broken links or configuration issues

Notes

- Create comprehensive snippet for fern.config.json reference
- Update all project structure pages to reference the snippet
- Fix hard-coded CLI version in API definitions page
- Add cross-references in CLI commands page
- Use plant-themed examples per documentation guidelines

Co-Authored-By: Devin Logan <devinannlogan@gmail.com>
@devin-ai-integration
Copy link
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

@@ -0,0 +1,57 @@
## What is fern.config.json?
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'what's' instead of 'What is'.

@@ -0,0 +1,57 @@
## What is fern.config.json?
Copy link
Contributor

Choose a reason for hiding this comment

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

📝 [vale] reported by reviewdog 🐶
[FernStyles.HeadingPunctuation] Don't use end punctuation in headings.


### When to change these values

- **`organization`**: Rarely needs to be changed. Only update this if your organization identifier changes in the Fern Dashboard.
Copy link
Contributor

Choose a reason for hiding this comment

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

📝 [vale] reported by reviewdog 🐶
[FernStyles.Adverbs] Remove 'Rarely' if it's not important to the meaning of the statement.


- **`organization`**: Rarely needs to be changed. Only update this if your organization identifier changes in the Fern Dashboard.

- **`version`**: Use the `fern upgrade` command to update to the latest CLI version. The command automatically updates this field in `fern.config.json` and upgrades generators in `generators.yml` to their minimum-compatible versions.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Current] Avoid time-relative terms like 'latest' that become outdated

The following CLI commands read from `fern.config.json`:

- **`fern check`**: Validates the configuration file
- **`fern upgrade`**: Updates the `version` field to the latest CLI version
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Current] Avoid time-relative terms like 'latest' that become outdated

- **`fern check`**: Validates the configuration file
- **`fern upgrade`**: Updates the `version` field to the latest CLI version
- **`fern token`**: Uses the `organization` field to generate organization-specific tokens
- **`fern init`**: Creates this file when initializing a new project
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Current] Avoid time-relative terms like 'new' that become outdated

@github-actions
Copy link
Contributor

- Change heading from 'What is fern.config.json?' to 'fern.config.json reference'
- Remove 'Rarely' adverb from organization field description
- Replace 'latest' with 'current' to avoid time-relative terms
- Replace 'new project' with 'project' to avoid time-relative terms

Co-Authored-By: Devin Logan <devinannlogan@gmail.com>
@github-actions
Copy link
Contributor

@@ -0,0 +1,57 @@
## fern.config.json reference
Copy link
Contributor

Choose a reason for hiding this comment

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

📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'fern.config.json reference' should use sentence-style capitalization.

The following CLI commands read from `fern.config.json`:

- **`fern check`**: Validates the configuration file
- **`fern upgrade`**: Updates the `version` field to the current CLI version
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Current] Avoid time-relative terms like 'current' that become outdated

- Reduce from 58 lines to 11 lines
- Remove CLI commands list and 'When to change' section
- Simplify to single example instead of tabs
- Keep only essential information per user feedback

Co-Authored-By: Devin Logan <devinannlogan@gmail.com>
@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@devalog devalog merged commit f8f1615 into main Oct 29, 2025
2 checks passed
@devalog devalog deleted the devin/1761683362-improve-fern-config-json-docs branch October 29, 2025 17:56
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.

2 participants