[{"data":1,"prerenderedAt":864},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-quick-start":85,"-getting-started-quick-start-surround":859},[4,26,49,73],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fgetting-started","docs",[9,13,17,21],{"title":10,"path":11,"stem":12},"Introduction","\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Installation","\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation",{"title":18,"path":19,"stem":20},"Quick Start","\u002Fgetting-started\u002Fquick-start","docs\u002F1.getting-started\u002F3.quick-start",{"title":22,"path":23,"stem":24},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","docs\u002F1.getting-started\u002F4.agent-skills",false,{"title":27,"path":28,"stem":7,"children":29,"page":25},"Frameworks","\u002Fframeworks",[30,35,40,44],{"title":31,"path":32,"stem":33,"icon":34},"eve","\u002Fframeworks\u002Feve","docs\u002F2.frameworks\u002F1.eve","i-custom:eve",{"title":36,"path":37,"stem":38,"icon":39},"AI SDK","\u002Fframeworks\u002Fai-sdk","docs\u002F2.frameworks\u002F2.ai-sdk","i-simple-icons-vercel",{"title":41,"path":42,"stem":43,"icon":39},"Vercel Workflow","\u002Fframeworks\u002Fvercel-workflow","docs\u002F2.frameworks\u002F3.vercel-workflow",{"title":45,"path":46,"stem":47,"icon":48},"Chat SDK","\u002Fframeworks\u002Fchat-sdk","docs\u002F2.frameworks\u002F4.chat-sdk","i-lucide-message-square",{"title":50,"path":51,"stem":7,"children":52,"page":25},"Guide","\u002Fguide",[53,57,61,65,69],{"title":54,"path":55,"stem":56},"Scope with Presets","\u002Fguide\u002Fpresets","docs\u002F3.guide\u002F1.presets",{"title":58,"path":59,"stem":60},"Control Write Safety","\u002Fguide\u002Fapproval-control","docs\u002F3.guide\u002F2.approval-control",{"title":62,"path":63,"stem":64},"Commit Attribution","\u002Fguide\u002Fcommit-attribution","docs\u002F3.guide\u002F3.commit-attribution",{"title":66,"path":67,"stem":68},"Tokens & Auth","\u002Fguide\u002Ftokens-and-auth","docs\u002F3.guide\u002F4.tokens-and-auth",{"title":70,"path":71,"stem":72},"Examples","\u002Fguide\u002Fexamples","docs\u002F3.guide\u002F5.examples",{"title":74,"path":75,"stem":7,"children":76,"page":25},"Api","\u002Fapi",[77,81],{"title":78,"path":79,"stem":80},"Tools Catalog","\u002Fapi\u002Ftools-catalog","docs\u002F4.api\u002F1.tools-catalog",{"title":82,"path":83,"stem":84},"API Reference","\u002Fapi\u002Freference","docs\u002F4.api\u002F2.reference",{"id":86,"title":18,"body":87,"description":842,"extension":843,"links":844,"meta":853,"navigation":854,"path":19,"seo":855,"stem":20,"__hash__":858},"docs\u002Fdocs\u002F1.getting-started\u002F3.quick-start.md",{"type":88,"value":89,"toc":834},"minimark",[90,109,121,126,133,223,227,234,409,419,423,426,617,622,626,633,729,741,745,748,804,808,830],[91,92,96,97,103,104,108],"prompt",{":actions":93,"description":94,"icon":95},"[\"copy\",\"cursor\",\"windsurf\"]","First AI SDK call with GitHub tools","i-lucide-play","Add a minimal example using @github-tools\u002Fsdk with the Vercel AI SDK: createGithubTools() with generateText or streamText, model of my choice, and GITHUB_TOKEN from env. Link ",[98,99,100],"a",{"href":100,"rel":101},"https:\u002F\u002Fgithub-tools.com\u002Fgetting-started\u002Fquick-start",[102],"nofollow"," and ",[98,105,106],{"href":106,"rel":107},"https:\u002F\u002Fgithub-tools.com\u002Fapi\u002Ftools-catalog",[102],".",[91,110,113,114,103,118,108],{":actions":93,"description":111,"icon":112},"New server route with GitHub tools","i-lucide-route","Create a minimal AI route or server handler that uses @github-tools\u002Fsdk: createGithubTools with an appropriate preset, read GITHUB_TOKEN from env, use generateText or streamText with full TypeScript, short env comment. Point to ",[98,115,116],{"href":116,"rel":117},"https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Fpresets",[102],[98,119,106],{"href":106,"rel":120},[102],[122,123,125],"h2",{"id":124},"install-everything-at-once","Install everything at once",[127,128,129,130,132],"p",{},"If you haven't completed ",[98,131,14],{"href":15}," yet:",[134,135,136,168,187,205],"code-group",{},[137,138,144],"pre",{"className":139,"code":140,"filename":141,"language":142,"meta":143,"style":143},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @github-tools\u002Fsdk ai zod\n","pnpm","bash","",[145,146,147],"code",{"__ignoreMap":143},[148,149,152,155,159,162,165],"span",{"class":150,"line":151},"line",1,[148,153,141],{"class":154},"sBMFI",[148,156,158],{"class":157},"sfazB"," add",[148,160,161],{"class":157}," @github-tools\u002Fsdk",[148,163,164],{"class":157}," ai",[148,166,167],{"class":157}," zod\n",[137,169,172],{"className":139,"code":170,"filename":171,"language":142,"meta":143,"style":143},"npm install @github-tools\u002Fsdk ai zod\n","npm",[145,173,174],{"__ignoreMap":143},[148,175,176,178,181,183,185],{"class":150,"line":151},[148,177,171],{"class":154},[148,179,180],{"class":157}," install",[148,182,161],{"class":157},[148,184,164],{"class":157},[148,186,167],{"class":157},[137,188,191],{"className":139,"code":189,"filename":190,"language":142,"meta":143,"style":143},"yarn add @github-tools\u002Fsdk ai zod\n","yarn",[145,192,193],{"__ignoreMap":143},[148,194,195,197,199,201,203],{"class":150,"line":151},[148,196,190],{"class":154},[148,198,158],{"class":157},[148,200,161],{"class":157},[148,202,164],{"class":157},[148,204,167],{"class":157},[137,206,209],{"className":139,"code":207,"filename":208,"language":142,"meta":143,"style":143},"bun add @github-tools\u002Fsdk ai zod\n","bun",[145,210,211],{"__ignoreMap":143},[148,212,213,215,217,219,221],{"class":150,"line":151},[148,214,208],{"class":154},[148,216,158],{"class":157},[148,218,161],{"class":157},[148,220,164],{"class":157},[148,222,167],{"class":157},[122,224,226],{"id":225},"use-tools-directly","Use tools directly",[127,228,229,230,233],{},"The simplest integration: pass all tools to ",[145,231,232],{},"generateText"," and let the model pick the right GitHub operations:",[137,235,240],{"className":236,"code":237,"filename":238,"language":239,"meta":143,"style":143},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createGithubTools } from '@github-tools\u002Fsdk'\nimport { generateText } from 'ai'\n\nconst { text } = await generateText({\n  model: 'anthropic\u002Fclaude-sonnet-4.6',\n  tools: createGithubTools(),\n  prompt: 'List open pull requests on vercel\u002Fai and summarize each one.',\n})\n\nconsole.log(text)\n","list-prs.ts","ts",[145,241,242,271,292,299,329,350,365,382,390,395],{"__ignoreMap":143},[148,243,244,248,252,256,259,262,265,268],{"class":150,"line":151},[148,245,247],{"class":246},"s7zQu","import",[148,249,251],{"class":250},"sMK4o"," {",[148,253,255],{"class":254},"sTEyZ"," createGithubTools",[148,257,258],{"class":250}," }",[148,260,261],{"class":246}," from",[148,263,264],{"class":250}," '",[148,266,267],{"class":157},"@github-tools\u002Fsdk",[148,269,270],{"class":250},"'\n",[148,272,274,276,278,281,283,285,287,290],{"class":150,"line":273},2,[148,275,247],{"class":246},[148,277,251],{"class":250},[148,279,280],{"class":254}," generateText",[148,282,258],{"class":250},[148,284,261],{"class":246},[148,286,264],{"class":250},[148,288,289],{"class":157},"ai",[148,291,270],{"class":250},[148,293,295],{"class":150,"line":294},3,[148,296,298],{"emptyLinePlaceholder":297},true,"\n",[148,300,302,306,308,311,314,317,320,323,326],{"class":150,"line":301},4,[148,303,305],{"class":304},"spNyl","const",[148,307,251],{"class":250},[148,309,310],{"class":254}," text ",[148,312,313],{"class":250},"}",[148,315,316],{"class":250}," =",[148,318,319],{"class":246}," await",[148,321,280],{"class":322},"s2Zo4",[148,324,325],{"class":254},"(",[148,327,328],{"class":250},"{\n",[148,330,332,336,339,341,344,347],{"class":150,"line":331},5,[148,333,335],{"class":334},"swJcz","  model",[148,337,338],{"class":250},":",[148,340,264],{"class":250},[148,342,343],{"class":157},"anthropic\u002Fclaude-sonnet-4.6",[148,345,346],{"class":250},"'",[148,348,349],{"class":250},",\n",[148,351,353,356,358,360,363],{"class":150,"line":352},6,[148,354,355],{"class":334},"  tools",[148,357,338],{"class":250},[148,359,255],{"class":322},[148,361,362],{"class":254},"()",[148,364,349],{"class":250},[148,366,368,371,373,375,378,380],{"class":150,"line":367},7,[148,369,370],{"class":334},"  prompt",[148,372,338],{"class":250},[148,374,264],{"class":250},[148,376,377],{"class":157},"List open pull requests on vercel\u002Fai and summarize each one.",[148,379,346],{"class":250},[148,381,349],{"class":250},[148,383,385,387],{"class":150,"line":384},8,[148,386,313],{"class":250},[148,388,389],{"class":254},")\n",[148,391,393],{"class":150,"line":392},9,[148,394,298],{"emptyLinePlaceholder":297},[148,396,398,401,403,406],{"class":150,"line":397},10,[148,399,400],{"class":254},"console",[148,402,108],{"class":250},[148,404,405],{"class":322},"log",[148,407,408],{"class":254},"(text)\n",[127,410,411,412,415,416,418],{},"The SDK reads ",[145,413,414],{},"GITHUB_TOKEN"," from your environment automatically. This gives the model access to all 42 tools — see the ",[98,417,78],{"href":79}," for what each one does.",[122,420,422],{"id":421},"narrow-tools-with-a-preset","Narrow tools with a preset",[127,424,425],{},"When you want to limit which GitHub operations are available, use a preset. This gives the model only pull request and commit tools:",[137,427,430],{"className":236,"code":428,"filename":429,"language":239,"meta":143,"style":143},"import { createGithubTools } from '@github-tools\u002Fsdk'\nimport { streamText } from 'ai'\n\nconst result = streamText({\n  model: 'anthropic\u002Fclaude-sonnet-4.6',\n  tools: createGithubTools({ preset: 'code-review' }),\n  prompt: 'Review the latest PR on vercel-labs\u002Fgithub-tools for security issues.',\n})\n\nfor await (const chunk of result.textStream) {\n  process.stdout.write(chunk)\n}\n","review-only.ts",[145,431,432,450,469,473,489,503,535,550,556,560,588,611],{"__ignoreMap":143},[148,433,434,436,438,440,442,444,446,448],{"class":150,"line":151},[148,435,247],{"class":246},[148,437,251],{"class":250},[148,439,255],{"class":254},[148,441,258],{"class":250},[148,443,261],{"class":246},[148,445,264],{"class":250},[148,447,267],{"class":157},[148,449,270],{"class":250},[148,451,452,454,456,459,461,463,465,467],{"class":150,"line":273},[148,453,247],{"class":246},[148,455,251],{"class":250},[148,457,458],{"class":254}," streamText",[148,460,258],{"class":250},[148,462,261],{"class":246},[148,464,264],{"class":250},[148,466,289],{"class":157},[148,468,270],{"class":250},[148,470,471],{"class":150,"line":294},[148,472,298],{"emptyLinePlaceholder":297},[148,474,475,477,480,483,485,487],{"class":150,"line":301},[148,476,305],{"class":304},[148,478,479],{"class":254}," result ",[148,481,482],{"class":250},"=",[148,484,458],{"class":322},[148,486,325],{"class":254},[148,488,328],{"class":250},[148,490,491,493,495,497,499,501],{"class":150,"line":331},[148,492,335],{"class":334},[148,494,338],{"class":250},[148,496,264],{"class":250},[148,498,343],{"class":157},[148,500,346],{"class":250},[148,502,349],{"class":250},[148,504,505,507,509,511,513,516,519,521,523,526,528,530,533],{"class":150,"line":352},[148,506,355],{"class":334},[148,508,338],{"class":250},[148,510,255],{"class":322},[148,512,325],{"class":254},[148,514,515],{"class":250},"{",[148,517,518],{"class":334}," preset",[148,520,338],{"class":250},[148,522,264],{"class":250},[148,524,525],{"class":157},"code-review",[148,527,346],{"class":250},[148,529,258],{"class":250},[148,531,532],{"class":254},")",[148,534,349],{"class":250},[148,536,537,539,541,543,546,548],{"class":150,"line":367},[148,538,370],{"class":334},[148,540,338],{"class":250},[148,542,264],{"class":250},[148,544,545],{"class":157},"Review the latest PR on vercel-labs\u002Fgithub-tools for security issues.",[148,547,346],{"class":250},[148,549,349],{"class":250},[148,551,552,554],{"class":150,"line":384},[148,553,313],{"class":250},[148,555,389],{"class":254},[148,557,558],{"class":150,"line":392},[148,559,298],{"emptyLinePlaceholder":297},[148,561,562,565,567,570,572,575,578,581,583,586],{"class":150,"line":397},[148,563,564],{"class":246},"for",[148,566,319],{"class":246},[148,568,569],{"class":254}," (",[148,571,305],{"class":304},[148,573,574],{"class":254}," chunk ",[148,576,577],{"class":250},"of",[148,579,580],{"class":254}," result",[148,582,108],{"class":250},[148,584,585],{"class":254},"textStream) ",[148,587,328],{"class":250},[148,589,591,594,596,599,601,604,606,609],{"class":150,"line":590},11,[148,592,593],{"class":254},"  process",[148,595,108],{"class":250},[148,597,598],{"class":254},"stdout",[148,600,108],{"class":250},[148,602,603],{"class":322},"write",[148,605,325],{"class":334},[148,607,608],{"class":254},"chunk",[148,610,389],{"class":334},[148,612,614],{"class":150,"line":613},12,[148,615,616],{"class":250},"}\n",[127,618,619,620,108],{},"Learn how each preset maps to tools in ",[98,621,54],{"href":55},[122,623,625],{"id":624},"wrap-tools-in-a-reusable-agent","Wrap tools in a reusable agent",[127,627,628,629,632],{},"When you need the same configuration across multiple calls, use ",[145,630,631],{},"createGithubAgent"," to get a persistent agent:",[137,634,637],{"className":236,"code":635,"filename":636,"language":239,"meta":143,"style":143},"import { createGithubAgent } from '@github-tools\u002Fsdk'\n\nconst triager = createGithubAgent({\n  model: 'anthropic\u002Fclaude-sonnet-4.6',\n  preset: 'issue-triage',\n  system: 'You classify issues as bug, feature, or question. Always post a comment with the classification.',\n})\n","triage-agent.ts",[145,638,639,658,662,677,691,707,723],{"__ignoreMap":143},[148,640,641,643,645,648,650,652,654,656],{"class":150,"line":151},[148,642,247],{"class":246},[148,644,251],{"class":250},[148,646,647],{"class":254}," createGithubAgent",[148,649,258],{"class":250},[148,651,261],{"class":246},[148,653,264],{"class":250},[148,655,267],{"class":157},[148,657,270],{"class":250},[148,659,660],{"class":150,"line":273},[148,661,298],{"emptyLinePlaceholder":297},[148,663,664,666,669,671,673,675],{"class":150,"line":294},[148,665,305],{"class":304},[148,667,668],{"class":254}," triager ",[148,670,482],{"class":250},[148,672,647],{"class":322},[148,674,325],{"class":254},[148,676,328],{"class":250},[148,678,679,681,683,685,687,689],{"class":150,"line":301},[148,680,335],{"class":334},[148,682,338],{"class":250},[148,684,264],{"class":250},[148,686,343],{"class":157},[148,688,346],{"class":250},[148,690,349],{"class":250},[148,692,693,696,698,700,703,705],{"class":150,"line":331},[148,694,695],{"class":334},"  preset",[148,697,338],{"class":250},[148,699,264],{"class":250},[148,701,702],{"class":157},"issue-triage",[148,704,346],{"class":250},[148,706,349],{"class":250},[148,708,709,712,714,716,719,721],{"class":150,"line":352},[148,710,711],{"class":334},"  system",[148,713,338],{"class":250},[148,715,264],{"class":250},[148,717,718],{"class":157},"You classify issues as bug, feature, or question. Always post a comment with the classification.",[148,720,346],{"class":250},[148,722,349],{"class":250},[148,724,725,727],{"class":150,"line":367},[148,726,313],{"class":250},[148,728,389],{"class":254},[730,731,732,733,736,737,740],"tip",{},"Start with ",[145,734,735],{},"createGithubTools()"," to learn the tools. Add a preset when you want focus. Move to ",[145,738,739],{},"createGithubAgent()"," when you need reusable behavior.",[122,742,744],{"id":743},"level-up-pick-a-framework","Level up: pick a framework",[127,746,747],{},"The same tools plug into every major agent runtime. Where to go next depends on what you're building:",[749,750,751,764],"table",{},[752,753,754],"thead",{},[755,756,757,761],"tr",{},[758,759,760],"th",{},"You're building",[758,762,763],{},"Go to",[765,766,767,777,786,795],"tbody",{},[755,768,769,773],{},[770,771,772],"td",{},"A standalone agent, fast — 3 files, durable approval",[770,774,775],{},[98,776,31],{"href":32},[755,778,779,782],{},[770,780,781],{},"Scripts, chat backends, or an existing AI SDK app",[770,783,784],{},[98,785,36],{"href":37},[755,787,788,791],{},[770,789,790],{},"Production agents that must survive restarts and timeouts",[770,792,793],{},[98,794,41],{"href":42},[755,796,797,800],{},[770,798,799],{},"A GitHub, Slack, or Discord bot",[770,801,802],{},[98,803,45],{"href":46},[122,805,807],{"id":806},"external-references","External references",[809,810,811,821],"ul",{},[812,813,814],"li",{},[98,815,818,820],{"href":816,"rel":817},"https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Freference\u002Fai-sdk-core\u002Fgenerate-text",[102],[145,819,232],{}," API",[812,822,823],{},[98,824,827,820],{"href":825,"rel":826},"https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Freference\u002Fai-sdk-core\u002Fstream-text",[102],[145,828,829],{},"streamText",[831,832,833],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":143,"searchDepth":273,"depth":273,"links":835},[836,837,838,839,840,841],{"id":124,"depth":273,"text":125},{"id":225,"depth":273,"text":226},{"id":421,"depth":273,"text":422},{"id":624,"depth":273,"text":625},{"id":743,"depth":273,"text":744},{"id":806,"depth":273,"text":807},"Call GitHub from your first AI SDK request in under five minutes, then level up to agents, eve, and durable workflows.","md",[845,850],{"label":846,"icon":847,"to":79,"color":848,"variant":849},"Browse all tools","i-lucide-list-tree","neutral","subtle",{"label":851,"icon":852,"to":55,"color":848,"variant":849},"Scope with presets","i-lucide-layers",{},{"title":18},{"title":856,"description":857},"Quick Start with GitHub Tools","Call GitHub from your first AI SDK request in minutes — then level up to agents, eve, and durable workflows.","9fOemGZ76drGek9CuLGG6AIUbQkkqyMCAlKOfWqvyHc",[860,862],{"title":14,"path":15,"stem":16,"description":861,"children":-1},"Install @github-tools\u002Fsdk, add the peer dependencies for your framework (AI SDK, eve, Vercel Workflow), and configure your GitHub token.",{"title":22,"path":23,"stem":24,"description":863,"children":-1},"Install the GitHub Tools agent skill from github-tools.com for Cursor, Claude Code, and other assistants.",1783444204935]