@chat-adapter/github weekly downloads statistics
By chat-adapter (14 listings) · npm · AI SDKs
GitHub adapter for Chat SDK — respond to @mentions in pull request and issue comment threads
@chat-adapter/github has 100,665 recorded weekly downloads on npm, an increase of 120% over the past 30 days, ranking #474 of 2,322 tracked listings.
About @chat-adapter/github
@chat-adapter/github
npm package:
@chat-adapter/github
GitHub adapter for Chat SDK. Respond to @mentions in PR and issue comment threads.
The GitHub adapter treats issue and pull request comments as messages, and issues/PRs as threads.
Documentation: chat-sdk.dev/adapters/official/github · Guides: vercel.com/kb/chat-sdk
Installation
pnpm add @chat-adapter/github
Scaffold with the CLI
To scaffold a new GitHub bot with this adapter preselected:
npx create-chat-sdk@latest my-bot --adapter github memory
Visit the adapters directory to see other available official and vendor-official adapters.
Quick start
For managed credentials and webhook verification, see Vercel Connect.
The adapter auto-detects credentials from GITHUB_TOKEN (or GITHUB_APP_ID/GITHUB_PRIVATE_KEY), GITHUB_WEBHOOK_SECRET, and GITHUB_BOT_USERNAME environment variables:
import { Chat } from "chat";
import { createGitHubAdapter } from "@chat-adapter/github";
const bot = new Chat({
userName: "my-bot",
adapters: {
github: createGitHubAdapter(),
},
});
bot.onNewMention(async (thread, message) => {
await thread.post("Hello from GitHub!");
});
Configuration
All options are auto-detected from environment variables when not provided.
| Option | Required | Description |
|---|---|---|
token | No* | Personal Access Token. Auto-detected from GITHUB_TOKEN |
appId | No* | GitHub App ID. Auto-detected from GITHUB_APP_ID |
privateKey | No | GitHub App private key (PEM). Auto-detected from GITHUB_PRIVATE_KEY |
installationId | No | Installation ID (omit for multi-tenant). Auto-detected from GITHUB_INSTALLATION_ID |
installationToken | No* | Vercel Connect mode: installation access token, or a () => string | Promise<string> resolver invoked per API call. Skips the App JWT exchange. |
webhookSecret | No** | Webhook secret. Auto-detected from GITHUB_WEBHOOK_SECRET |
webhookVerifier | No** | Custom verifier (request, body) => unknown | Promise<unknown> used in place of webhookSecret. Takes precedence over webhookSecret/GITHUB_WEBHOOK_SECRET. Required in Connect mode |
userName | No | Bot username for @mention detection. Auto-detected from GITHUB_BOT_USERNAME (default: "github-bot") |
botUserId | No | Bot's numeric user ID (auto-detected if not provided) |
apiUrl | No | Override the GitHub API base URL (e.g. for GitHub Enterprise Server). Auto-detected from GITHUB_API_URL |
logger | No | Logger instance (defaults to ConsoleLogger("info")) |
*One of token/GITHUB_TOKEN, appId+privateKey/GITHUB_APP_ID+GITHUB_PRIVATE_KEY, or installationToken (Vercel Connect) is required.
**Either webhookSecret (via config or GITHUB_WEBHOOK_SECRET) or a webhookVerifier is required. When webhookVerifier is set it takes precedence and the secret is ignored.
Authentication
Option A — Vercel Connect
Use Vercel Connect to source installation access tokens at runtime instead of storing a GitHub App private key. The installationToken resolver supplies the token the adapter sends directly (skipping the App JWT exchange), and webhookVerifier verifies Connect trigger-forwarded webhooks via a Vercel OIDC token instead of a webhook secret.
The simplest path is the connectGitHubAdapter() helper from @vercel/connect/chat:
import { createGitHubAdapter } from "@chat-adapter/github";
import { connectGitHubAdapter } from "@vercel/connect/chat";
createGitHubAdapter({
...connectGitHubAdapter("github/acme-github"),
userName: "my-bot[bot]",
});
Or wire the fields yourself:
import { getToken } from "@vercel/connect";
createGitHubAdapter({
installationToken: () =>
getToken("github/acme-github", { subject: { type: "app" } }),
webhookVerifier: myConnectWebhookVerifier,
userName: "my-bot[bot]",
});
installationToken accepts a string or () => string | Promise<string> resolver invoked per API call, so it composes with Connect's short-lived tokens. When webhookVerifier is set it takes precedence over webhookSecret and GITHUB_WEBHOOK_SECRET.
Freshness: OIDC verification replaces GitHub's signature check, so request freshness relies on the short-lived OIDC token's expiry rather than a signed timestamp, and there is no built-in nonce/delivery-id de-duplication. Keep your webhook handlers idempotent (GitHub may also redeliver events).…
Description from the npm listing.
- chat
- chat-sdk
- chatbot
- github
- github-bot
- github-app
- bot
- adapter
- pull-request
- issue
- code-review
- ai-agent
- ai-sdk
- vercel
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (122)Similar npm AI SDKs plugins
All 20 @chat-adapter/github alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@chat-adapter/github. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.