Getting Started
Install @github-tools/sdk, add the peer dependencies for your framework (AI SDK, eve, Vercel Workflow), and configure your GitHub token.

Install @github-tools/sdk in this project

Install the SDK

pnpm add @github-tools/sdk

Pick your peer dependencies

What you install next depends on the framework you build on:

FrameworkImport pathPeer dependencies
AI SDK@github-tools/sdkai (v6 or v7), zod
eve@github-tools/sdk/eveeve, ai v7, zod
Vercel Workflow@github-tools/sdk/workflowworkflow, @ai-sdk/workflow, ai, zod
Chat SDK@github-tools/sdkchat, @chat-adapter/github, ai, zod

Required: AI SDK and Zod

Every entry point relies on AI SDK for tool execution and Zod for schema validation:

pnpm add ai zod

Optional: eve agents

For eve filesystem-first agents, add eve and ai v7 when you import from @github-tools/sdk/eve:

pnpm add eve ai

See Build a GitHub agent with eve — the full agent is 3 files.

Optional: durable workflows

For durable agents with the Vercel Workflow SDK, add workflow and @ai-sdk/workflow when you import from @github-tools/sdk/workflow and use createDurableGithubAgent:

pnpm add workflow @ai-sdk/workflow

See Durable agents with Vercel Workflow for the full pattern.

Set your GitHub token

The SDK reads GITHUB_TOKEN from your environment automatically. Create a .env file at the root of your project:

.env
GITHUB_TOKEN=github_pat_xxxxxxxxxxxx

You can also pass the token explicitly if you prefer:

explicit-token.ts
createGithubTools({ token: 'github_pat_xxxxxxxxxxxx' })
Never commit tokens. Use .env locally and secret managers (Vercel, GitHub Actions secrets) in CI/production.

Choose a token type

Token typeWhen to useScope control
Fine-grained PATProduction assistantsper-repository, per-permission
Classic PATQuick prototypingbroad, org-level
Vercel ConnectAgents deployed on Vercelper-installation, per-permission, short-lived

See Tokens and authentication for the detailed permission matrix and the Vercel Connect setup.

Verify the setup

Run a minimal script to confirm the SDK initializes and a read tool resolves:

verify.ts
import { createGithubTools } from '@github-tools/sdk'

const tools = createGithubTools({ preset: 'repo-explorer' })

console.log('Tools loaded:', Object.keys(tools).join(', '))

If the script prints tool names, your environment is ready. Continue with Run your first call.

For the packaged skill (same domain), see Agent Skills.