Discoverability lift: link KB guides, broaden npm keywords, mirror to AGENTS.md#560
Merged
Conversation
The Resend adapter doc imported and instantiated `MemoryStateAdapter` as a class, but `@chat-adapter/state-memory` exposes a `createMemoryState` factory function (matching every other adapter doc in the repo).
The "Community adapter — not part of the official @chat-adapter/* scope" callout duplicates information already conveyed by the page's `community: true` frontmatter and adapter card placement.
`pnpm sync-resources` previously called `npx tsx`, but `tsx` was only installed in two example packages. `npx` would try to fetch it on demand, which hung or failed depending on cache state. Add it as a root devDependency and call it directly so the script works out of the box.
Adds four new entries to the resources edge config: - "Human-in-the-Loop with Chat SDK and Workflow SDK" (guide) - "How to build an agent for Liveblocks" (guide) - "How to build a Slack bot that manages files in Vercel Blob" (guide) - "Durable iMessage Agent" (template) Runs `pnpm sync-resources` to fetch the new guide markdown bodies into `packages/chat/resources/guides/`, regenerate `templates.json`, and update the auto-generated RESOURCES block in `skills/chat/SKILL.md`. The six previously-synced guides also pick up upstream content changes from this resync.
Adds a `## Resources` section linking to applicable Vercel Knowledge Base guides and templates from each relevant adapter doc and README, plus the Getting Started and AI overview pages. - Each bullet pairs the canonical KB title with the description from `resources-edge-config.json` so the same wording surfaces in the docs, npm READMEs, search, and llms.txt. - Each section closes with a "See all guides and templates on the resources page" cross-link to build topical authority around the central /resources hub (using the absolute chat-sdk.dev URL in READMEs so the link still works on npm). Pages updated: - docs: getting-started, ai/index - adapters: slack, discord, github, liveblocks, sendblue - READMEs: @chat-adapter/slack, @chat-adapter/discord, @chat-adapter/github
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
…uide The synced Slack AI agent guide imported `toAiMessages` from `"chat"`, which is the deprecated re-export path. Switch it to the canonical `"chat/ai"` subpath. The upstream KB source has also been updated, so future syncs will preserve this fix.
Adds the same Knowledge Base Resources section that already exists in each adapter's README to its AGENTS.md, so coding agents picking up context from AGENTS.md see the canonical guides alongside the API notes. Updated: @chat-adapter/slack, @chat-adapter/discord, @chat-adapter/github.
`packages/chat/resources/` holds files generated by `pnpm sync-resources` (guide markdown, `templates.json`) from the canonical `apps/docs/resources-edge-config.json`. The existing changeset gatekeeper already excluded `*.md` to allow doc-only updates, but `templates.json` still tripped it even though it's purely regenerated data and not package source code. Extend the exclusion to also skip anything under `packages/chat/resources/`, matching the spirit of the existing markdown carve-out.
Broadens the `keywords` array on every published adapter and state
package to improve discoverability on npm and in LLM-driven package
recommendations. Adds the SDK name (`chat-sdk`), search-friendly terms
(`chatbot`, `ai-agent`, `ai-sdk`), the `vercel` brand association, and
platform-specific terms (e.g. `slack-bot`, `block-kit`, `slash-commands`,
`github-app`, `whatsapp-business`, `state-adapter`).
Packages updated:
- @chat-adapter/{slack,discord,teams,gchat,telegram,whatsapp,messenger,github,linear,twilio,web}
- @chat-adapter/state-{redis,ioredis,pg,memory}
Community adapter pages render either MDX bodies (`mdxBody: true`, used by every community adapter today) or, as a fallback for adapters without an MDX file, content fetched live from a third-party GitHub repo. Both render paths previously emitted bare `<a href>` tags for external links, which passes editorial link equity to unmoderated third-party destinations. Adds `rel="nofollow ugc noopener noreferrer"` and `target="_blank"` to all `http(s)://` links rendered through: - The page-level MDX renderer in `community/[slug]/page.tsx` — wraps the existing `createRelativeLink` so relative/internal links still resolve through the standard fumadocs path. - The `ReadmeContent` component (fallback path for fetched READMEs). In-page anchors, relative paths, and non-HTTP schemes (e.g. `mailto:`) are left untouched in both paths. Official, vendor-official, and core docs pages are unaffected.
`createRelativeLink` returns an `FC` whose render type permits a Promise<ReactNode>, while my custom `(props) => ReactNode` signature did not — typecheck failed in the docs build. Switch to `FC<ComponentProps<"a">>` to match the surrounding fumadocs typing exactly and call the wrapped component via JSX instead of as a function.
visyat
approved these changes
May 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Broad SEO/AEO pass across the docs site, adapter READMEs and AGENTS.md files, and npm package metadata so Chat SDK content shows up better in search engines, in LLM-driven package recommendations, and in IDE/coding-agent context.
Docs site
## Resourcessection to the Getting Started and AI overview pages and to the Slack, Discord, GitHub, Liveblocks, and Sendblue adapter pages, each linking to applicable guides/templates with descriptions sourced fromresources-edge-config.jsonand a cross-link back to the central/resourceshub.Adapter packages
keywordson every published adapter and state package — addschat-sdk,chatbot,ai-agent,ai-sdk,vercel, plus platform-specific terms likeslack-bot,block-kit,slash-commands,github-app,whatsapp-business,state-adapter.Resources registry
resources-edge-config.json(Human-in-the-Loop guide, Liveblocks AI agent guide, Slack + Vercel Blob guide, Durable iMessage Agent template) and runspnpm sync-resourcesso the bundledchatpackage guides,templates.json, andskills/chat/SKILL.mdall pick them up.toAiMessagesfromchat/aiinstead of the deprecatedchatre-export path (the upstream KB source has also been updated, so future syncs will preserve this).Drive-by fixes
MemoryStateAdapterclass import to thecreateMemoryState()factory (matching every other adapter doc).Tooling / CI
tsxas a root devDependency sopnpm sync-resourcesworks out of the box (it previously relied onnpx tsx, which hung when not pre-cached).packages/chat/resources/(generated data), matching the existing*.mdcarve-out.