Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vale/styles/FernStyles/Headings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ exceptions:
- Fern Editor
- Writer
- Fern Writer
- Ask AI
- Ask Fern
- Explorer
- Autorelease
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ Then read each candidate to find the natural insertion point. Common targets:

- **Behavior pages** — e.g., a feature affects search → cross-link from `customization/search.mdx`.
- **Dashboard pages** — e.g., a feature has dashboard settings → cross-link from `dashboard/pages/`.
- **Adjacent feature pages** — e.g., Ask Fern, RBAC, localization, when scope or behavior overlaps.
- **Adjacent feature pages** — e.g., Ask AI, RBAC, localization, when scope or behavior overlaps.
- **Overview / landing pages** — sometimes a card on a hub page is warranted; usually only when the feature is a top-level setup step, not a configuration detail.

### Pick the form
Expand Down
26 changes: 13 additions & 13 deletions fern/apis/fai/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -4863,7 +4863,7 @@
"document": {
"type": "string",
"title": "Document",
"description": "The content of the code document that will be returned to Ask Fern during retrieval."
"description": "The content of the code document that will be returned to Ask AI during retrieval."
},
"chunk": {
"anyOf": [
Expand All @@ -4887,7 +4887,7 @@
}
],
"title": "Title",
"description": "The title of the code document. This will be used with the `url` when Ask Fern cites this code."
"description": "The title of the code document. This will be used with the `url` when Ask AI cites this code."
},
"url": {
"anyOf": [
Expand All @@ -4899,7 +4899,7 @@
}
],
"title": "Url",
"description": "The url of the code document. This will be used as the source when Ask Fern cites it."
"description": "The url of the code document. This will be used as the source when Ask AI cites it."
},
"version": {
"anyOf": [
Expand All @@ -4911,7 +4911,7 @@
}
],
"title": "Version",
"description": "The version of the code. This will be compared against when running Ask Fern with version filters. If null, the code will be retrievable by all versions."
"description": "The version of the code. This will be compared against when running Ask AI with version filters. If null, the code will be retrievable by all versions."
},
"product": {
"anyOf": [
Expand All @@ -4923,7 +4923,7 @@
}
],
"title": "Product",
"description": "The product of the code. This will be used to filter code when running Ask Fern with product filters. If null, the code will be retrievable by all products."
"description": "The product of the code. This will be used to filter code when running Ask AI with product filters. If null, the code will be retrievable by all products."
},
"keywords": {
"anyOf": [
Expand Down Expand Up @@ -4979,7 +4979,7 @@
"document": {
"type": "string",
"title": "Document",
"description": "The content of the document that will be returned to Ask Fern during document retrieval."
"description": "The content of the document that will be returned to Ask AI during document retrieval."
},
"chunk": {
"anyOf": [
Expand All @@ -5003,7 +5003,7 @@
}
],
"title": "Title",
"description": "The title of the document. This will be used with the `url` when Ask Fern cites this document."
"description": "The title of the document. This will be used with the `url` when Ask AI cites this document."
},
"url": {
"anyOf": [
Expand All @@ -5015,7 +5015,7 @@
}
],
"title": "Url",
"description": "The url of the document. This will be used as the source of the document when Ask Fern cites it."
"description": "The url of the document. This will be used as the source of the document when Ask AI cites it."
},
"version": {
"anyOf": [
Expand All @@ -5027,7 +5027,7 @@
}
],
"title": "Version",
"description": "The version of the document. This will be compared against when running Ask Fern with version filters. If null, the document will be retrievable by all versions."
"description": "The version of the document. This will be compared against when running Ask AI with version filters. If null, the document will be retrievable by all versions."
},
"product": {
"anyOf": [
Expand All @@ -5039,7 +5039,7 @@
}
],
"title": "Product",
"description": "The product of the document. This will be used to filter documents when running Ask Fern with product filters. If null, the document will be retrievable by all products."
"description": "The product of the document. This will be used to filter documents when running Ask AI with product filters. If null, the document will be retrievable by all products."
},
"keywords": {
"anyOf": [
Expand Down Expand Up @@ -5175,7 +5175,7 @@
"document": {
"type": "string",
"title": "Document",
"description": "The content of the guidance document that will be returned to Ask Fern during Ask Fern retrieval."
"description": "The content of the guidance document that will be returned to Ask AI during Ask AI retrieval."
}
},
"type": "object",
Expand Down Expand Up @@ -7229,7 +7229,7 @@
}
],
"title": "Document",
"description": "The updated content of the document that will be returned to Ask Fern during document retrieval. If not provided, this field will remain unchanged."
"description": "The updated content of the document that will be returned to Ask AI during document retrieval. If not provided, this field will remain unchanged."
},
"chunk": {
"anyOf": [
Expand Down Expand Up @@ -7362,7 +7362,7 @@
}
],
"title": "Document",
"description": "The updated content of the guidance document that will be returned to Ask Fern during Ask Fern retrieval. If not provided, this field will remain unchanged."
"description": "The updated content of the guidance document that will be returned to Ask AI during Ask AI retrieval. If not provided, this field will remain unchanged."
}
},
"type": "object",
Expand Down
19 changes: 19 additions & 0 deletions fern/assets/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -1084,6 +1084,25 @@ h1, h2, h3 {
display: inline-block;
}

.cli-graphic-container {
width: 100%;
display: block;
position: relative;
overflow: hidden;
border-radius: 12px;
}

.cli-graphic-container.fade-bottom {
mask: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
-webkit-mask: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
}

.cli-graphic-container img {
width: 100%;
height: auto;
display: block;
}

/*** END -- LANDING PAGE STYLING ***/

/* HACK: add a slash to markdown snippet documentation (otherwise it gets parsed by CLI) */
Expand Down
2 changes: 1 addition & 1 deletion fern/components/FernFooter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ export default function FernFooter() {
<div className="fern-cf-column-links">
<a href="/learn/sdks/overview/introduction" className="fern-cf-link">SDKs</a>
<a href="/learn/docs/getting-started/overview" className="fern-cf-link">Docs</a>
<a href="/learn/docs/ai-features/ask-fern/overview" className="fern-cf-link">Ask Fern</a>
<a href="/learn/docs/ai-features/ask-fern/overview" className="fern-cf-link">Ask AI</a>
<a href="/learn/cli-api-reference/cli-reference/overview" className="fern-cf-link">CLI Reference</a>
</div>
</div>
Expand Down
72 changes: 37 additions & 35 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -749,92 +749,94 @@ redirects:
destination: /learn/cli-api-reference/cli-reference/overview

# ============================================================================
# ASK FERN (AI SEARCH)
# ASK AI (AI SEARCH)
# ============================================================================

# /learn/ask-fern/api-reference (specifics before catchall — were shadowed)
- source: /learn/ask-fern/api-reference/conversations/get-conversation
destination: /learn/docs/ai-features/ask-fern/api-reference/overview
destination: /learn/docs/ai-features/ask-ai/api-reference/overview
- source: /learn/ask-fern/api-reference/queries/:slug*
destination: /learn/docs/ai-features/ask-fern/api-reference/overview
destination: /learn/docs/ai-features/ask-ai/api-reference/overview
- source: /learn/ask-fern/api-reference/overview
destination: /learn/docs/ai-features/ask-fern/api-reference/overview
destination: /learn/docs/ai-features/ask-ai/api-reference/overview
- source: /learn/ask-fern/api-reference/:slug*
destination: /learn/docs/ai-features/ask-fern/api-reference/:slug*
destination: /learn/docs/ai-features/ask-ai/api-reference/:slug*

# /learn/ask-fern/features (specifics before catchall — custom-fa-qs was shadowed)
- source: /learn/ask-fern/features/custom-fa-qs
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/features/analytics
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/features/citations
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/features/insights
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/features/evaluation
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/features/rbac
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/features/slack-app
destination: /learn/docs/ai-features/ask-fern/slack-app
destination: /learn/docs/ai-features/ask-ai/slack-app
- source: /learn/ask-fern/features/scribe-slack-app
destination: /learn/docs/ai-features/fern-writer

# /learn/ask-fern/* other specifics
- source: /learn/ask-fern/getting-started/what-is-ask-fern
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/getting-started/how-it-works
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/configuration/setup
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/configuration/guidance
destination: /learn/docs/ai-features/ask-fern/guidance
destination: /learn/docs/ai-features/ask-ai/guidance
- source: /learn/ask-fern/configuration/content-sources
destination: /learn/docs/ai-features/ask-fern/content-sources
destination: /learn/docs/ai-features/ask-ai/content-sources
- source: /learn/ask-fern/configuration/documents
destination: /learn/docs/ai-features/ask-fern/content-sources
destination: /learn/docs/ai-features/ask-ai/content-sources
- source: /learn/ask-fern/configuration/locations-and-datasources
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/configuration/custom-prompts
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/overview
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/citations
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/custom-prompting
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ask-fern/customer-showcase
destination: https://buildwithfern.com/customers
- source: /learn/ask-fern/:slug*
destination: /learn/docs/ai-features/ask-fern/:slug*
destination: /learn/docs/ai-features/ask-ai/:slug*

# Ask Fern new-location cleanup (/learn/docs/ai-features/ask-fern/*)
# Ask AI new-location cleanup (/learn/docs/ai-features/ask-fern/*)
- source: /learn/docs/ai-features/ask-fern/how-it-works
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/docs/ai-features/ask-fern/features
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/docs/ai-features/ask-fern/setup
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/docs/ai-features/ask-fern/discord-bot
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/docs/ai-features/ask-fern/:slug*
destination: /learn/docs/ai-features/ask-ai/:slug*

# /learn/ai-search/* (legacy) — specifics before catchall
- source: /learn/ai-search/getting-started/ai-search-customer-showcase
destination: https://buildwithfern.com/showcase#ask-fern-customers
- source: /learn/ai-search/customer-showcase
destination: https://buildwithfern.com/customers
- source: /learn/ai-search/overview
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ai-search/custom-prompting
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ai-search/citations
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ai-search/features/:slug*
destination: /learn/docs/ai-features/ask-fern/overview
destination: /learn/docs/ai-features/ask-ai/overview
- source: /learn/ai-search/getting-started/:slug*
destination: /learn/docs/ai-features/ask-fern/:slug*
destination: /learn/docs/ai-features/ask-ai/:slug*
- source: /learn/ai-search/:slug*
destination: /learn/docs/ai-features/ask-fern/:slug*
destination: /learn/docs/ai-features/ask-ai/:slug*

# ============================================================================
# MISC LEGACY
Expand Down
Loading
Loading