-
Notifications
You must be signed in to change notification settings - Fork 7
docs(ai): Add Fern Agent and MCP docs #6672
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 34 commits
4c33439
7c5144a
8c9ccb2
3e0ef80
a27faed
e87e512
2e7fa1b
5e60e35
ae20033
990df8b
f54ce61
811db72
f64fe8d
3ff5fd0
83ed1b3
941bc07
593e121
0ab04b8
5507b11
d215471
523baf9
bd25321
a9e1185
1947370
29dbf8b
f486346
9be3304
e3ceed4
7b58e33
3fb98c7
0c5f0ea
e9237b7
ba69ad6
95ae636
ab761d7
89ad40f
936c4cc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| { | ||
| "organization": "fern", | ||
| "version": "5.90.1" | ||
| "version": "5.100.0" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,161 @@ | ||
| --- | ||
| title: Fern Agent | ||
| description: >- | ||
| Fern's AI agent for your documentation. An expert in Fern configuration that edits pages, opens pull requests, and acts on your organization's analytics and reader data, from the Fern Dashboard, Slack, or your coding agent over MCP. | ||
| --- | ||
|
|
||
| Fern Agent edits your documentation and analyzes your organization's Fern data — traffic, reader questions, deployments, and site configuration. It's an expert in Fern configuration, from `docs.yml` and components to versioning, redirects, and access control. | ||
|
|
||
| Talk to it in the [Fern Dashboard](https://dashboard.buildwithfern.com/) chat panel, or [integrate](#setup) it with your Slack or your coding agent (via MCP) in one click. or in [Slack](#setup), both set up from that chat panel. | ||
|
|
||
| <Frame> | ||
| <video | ||
| src="./assets/agent.mp4" | ||
| autoPlay | ||
| loop | ||
| playsInline | ||
| muted | ||
| > | ||
| </video> | ||
| </Frame> | ||
|
|
||
| Editing requires a GitHub repository, since Fern Agent delivers changes as pull requests and GitLab and other Git providers aren't supported. Every other tool, including analysis and insights, works regardless of your Git provider. | ||
|
|
||
| ## What you can do | ||
|
|
||
| <AccordionGroup> | ||
|
|
||
| <Accordion title="Edit your docs"> | ||
|
|
||
| Fern Agent reads your docs site's source repository and makes the changes you describe. | ||
|
|
||
| Requests can be about structure and settings as much as page copy, because Fern Agent knows how Fern sites are put together: [navigation](/learn/docs/configuration/navigation) and product switchers, [versions](/learn/docs/configuration/versions), [redirects](/learn/docs/seo/redirects), the [component library](/learn/docs/writing-content/components/overview), and [authentication and RBAC](/learn/docs/authentication/overview). It writes the configuration the way Fern expects it, so a moved page gets its redirect and a new page gets its navigation entry. | ||
|
|
||
| <Prompt title="Add a new page"> | ||
| Add a page about authentication to my getting-started guide. | ||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Rewrite existing content"> | ||
| Identify which pages in my documentation could be more concise. | ||
| </Prompt> | ||
|
|
||
| </Accordion> | ||
|
|
||
| <Accordion title="Explore analytics"> | ||
|
|
||
| Fern Agent queries pageviews, visitors, sessions, 404s, referring domains, search queries, reader feedback, and LLM bot traffic for any docs site in your organization. Ask for a fix alongside the question and it carries the specifics it found into the change it makes. | ||
|
|
||
| <Prompt title="Check traffic"> | ||
| List the pages with the most traffic last month. | ||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Repair broken URLs"> | ||
| List the top 404 paths on my site over the last 30 days and add redirects for them. | ||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Reorganize navigation"> | ||
| Give me suggestions about how to optimize my navigation based on site analytics. | ||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Follow up on empty searches"> | ||
| Find the search queries that returned no results, then add the missing content to the API reference guide. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [vale] <FernStyles.Reject> reported by reviewdog 🐶 |
||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Rewrite an underperforming page"> | ||
| Find the page with the worst reader feedback and rewrite it to address what readers complained about. | ||
| </Prompt> | ||
|
|
||
| </Accordion> | ||
|
|
||
| <Accordion title="Review Ask Fern activity"> | ||
|
|
||
| Fern Agent summarizes what readers ask [Ask Fern](/learn/docs/ai-features/ask-fern/overview), including resolution rates and individual conversations, so you can find topics that need better coverage — then write that coverage without leaving the conversation. | ||
|
|
||
| <Prompt title="Summarize reader questions"> | ||
| Summarize what readers asked Ask Fern this week and suggest ways I can expand our documentation based off of those topics. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] <FernStyles.FirstPerson> reported by reviewdog 🐶
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] <FernStyles.We> reported by reviewdog 🐶 |
||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Find unresolved conversations"> | ||
| List the unresolved Ask Fern conversations. | ||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Close a documentation gap"> | ||
| Find the most common unresolved Ask Fern question this week and draft a page that answers it. | ||
| </Prompt> | ||
|
|
||
| </Accordion> | ||
|
|
||
| <Accordion title="Review configuration and deployments"> | ||
|
|
||
| Fern Agent reports a site's deployment history, connected git repository, Fern CLI version, custom domain, and reader-facing settings such as search behavior and password protection. Since it reads the same `docs.yml` it edits, it can trace a failed build back to the configuration that caused it and fix it. | ||
|
|
||
| <Prompt title="Check deployments"> | ||
| List the recent deployments for docs.plantstore.com. | ||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Review site settings"> | ||
| List the features enabled on docs.plantstore.com. | ||
| </Prompt> | ||
|
|
||
| </Accordion> | ||
|
|
||
| <Accordion title="Manage your organization"> | ||
|
|
||
| Account administration stays read-only: it can't create API keys, change members, or update billing. When you ask Fern Agent to perform an administration action, it links you to the page that does it. | ||
|
|
||
| <Prompt title="Check organization members"> | ||
| List the admins in my organization. | ||
| </Prompt> | ||
|
|
||
| <br /> | ||
|
|
||
| <Prompt title="Update billing"> | ||
| Where can I update billing information for my organization? | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] <FernStyles.FirstPerson> reported by reviewdog 🐶
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] <Microsoft.QuestionMarks> reported by reviewdog 🐶 |
||
| </Prompt> | ||
|
|
||
| </Accordion> | ||
|
|
||
| </AccordionGroup> | ||
|
|
||
| ## Setup | ||
|
|
||
| Open the [Fern Dashboard](https://dashboard.buildwithfern.com/) and start a conversation in the chat panel. Fern Agent can open a PR or iterate live in the [visual editor](/learn/docs/writing-content/fern-editor). From the chat panel, you can also: | ||
|
|
||
| * **Connect Fern Agent to Slack.** Click **Connect Slack**, select the workspace, and add Fern to the Slack channels where your team discusses documentation. Authorizing the app requires Slack admin access. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| * **Connect your agents.** Click **Onboard your agent** to connect your coding agent to [Fern's MCP server](/learn/docs/ai-features/fern-mcp-servers). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
|
||
| Answering reader questions in Slack is a separate capability with its own install, covered on the [Ask Fern Slack app](/learn/docs/ai-features/ask-fern/slack-app) page. | ||
|
|
||
| ## Making requests in Slack | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] <FernStyles.Headings> reported by reviewdog 🐶 |
||
|
|
||
| Tag `@Fern` in a channel where it has been added and describe the change you need or analysis you want to conduct. It only responds when directly tagged. Fern replies to your prompt and opens PRs on your documentation as needed. At any time, you can click a link to continue your session in the Fern Dashboard. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
|
||
| Image and file attachments provide additional context. When tagged in an existing thread, Fern Agent reads the full conversation before responding. Request changes by replying in the thread, and merge the pull request like any other once it meets your requirements. | ||
|
|
||
| <Note title="Fern Agent vs. Fern Writer"> | ||
| Fern Agent is an expansion of Fern Writer. Fern Writer opened documentation pull requests from Slack, and it still does — existing installations keep working and the request flow is unchanged. | ||
|
|
||
| What Fern Agent adds is context on your organization and more places to work from. Alongside editing, it answers questions about your traffic, reader questions, deployments, and site configuration, and the same capabilities are now available in the Fern Dashboard and in your coding agent over MCP rather than in Slack alone. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| </Note> | ||
|
|
||
| ## Privacy and data handling | ||
|
|
||
| Fern Agent acts with your own Fern permissions on every surface, so it reads and edits only the sites, analytics, and organization data your account can already see. Requests are scoped to a single session: the prompt, any Slack message or thread you tag it in, and attached files are stored to complete the task and aren't retained afterward. | ||
|
|
||
| Editing is powered by [Devin from Cognition](https://cognition.ai/blog/introducing-devin). Neither Fern nor [Devin](https://docs.devin.ai/admin/security#how-is-your-data-used-to-improve-devin) uses your data to train AI models: Fern configures its Devin integration to opt out of any data collection for model training, so your messages, code, and documentation content are never used for training. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📝 [vale] <FernStyles.FirstPerson> reported by reviewdog 🐶
Use first person (such as 'me') sparingly.