[{"data":1,"prerenderedAt":709},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-installation":66,"-getting-started-installation-surround":704},[4,22,54],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Getting Started","\u002Fgetting-started","docs",[9,13,17],{"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},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","docs\u002F1.getting-started\u002F3.agent-skills",false,{"title":23,"path":24,"stem":7,"children":25,"page":21},"Guide","\u002Fguide",[26,30,34,38,42,46,50],{"title":27,"path":28,"stem":29},"Quick Start","\u002Fguide\u002Fquick-start","docs\u002F2.guide\u002F1.quick-start",{"title":31,"path":32,"stem":33},"Scope with Presets","\u002Fguide\u002Fpresets","docs\u002F2.guide\u002F2.presets",{"title":35,"path":36,"stem":37},"Control Write Safety","\u002Fguide\u002Fapproval-control","docs\u002F2.guide\u002F3.approval-control",{"title":39,"path":40,"stem":41},"Commit Attribution","\u002Fguide\u002Fcommit-attribution","docs\u002F2.guide\u002F4.commit-attribution",{"title":43,"path":44,"stem":45},"Configure Token Scopes","\u002Fguide\u002Ftoken-permissions","docs\u002F2.guide\u002F5.token-and-permissions",{"title":47,"path":48,"stem":49},"Examples","\u002Fguide\u002Fexamples","docs\u002F2.guide\u002F6.examples",{"title":51,"path":52,"stem":53},"Durable workflows (Vercel Workflow)","\u002Fguide\u002Fdurable-workflows","docs\u002F2.guide\u002F7.durable-workflows",{"title":55,"path":56,"stem":7,"children":57,"page":21},"Api","\u002Fapi",[58,62],{"title":59,"path":60,"stem":61},"Tools Catalog","\u002Fapi\u002Ftools-catalog","docs\u002F3.api\u002F1.tools-catalog",{"title":63,"path":64,"stem":65},"API Reference","\u002Fapi\u002Freference","docs\u002F3.api\u002F2.reference",{"id":67,"title":14,"body":68,"description":692,"extension":693,"links":694,"meta":701,"navigation":528,"path":15,"seo":702,"stem":16,"__hash__":703},"docs\u002Fdocs\u002F1.getting-started\u002F2.installation.md",{"type":69,"value":70,"toc":681},"minimark",[71,76,148,152,157,175,239,243,273,337,343,347,358,375,378,419,426,430,479,485,489,492,621,627,631,634,672,677],[72,73,75],"h2",{"id":74},"install-the-sdk","Install the SDK",[77,78,79,105,120,134],"code-group",{},[80,81,87],"pre",{"className":82,"code":83,"filename":84,"language":85,"meta":86,"style":86},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @github-tools\u002Fsdk\n","pnpm","bash","",[88,89,90],"code",{"__ignoreMap":86},[91,92,95,98,102],"span",{"class":93,"line":94},"line",1,[91,96,84],{"class":97},"sBMFI",[91,99,101],{"class":100},"sfazB"," add",[91,103,104],{"class":100}," @github-tools\u002Fsdk\n",[80,106,109],{"className":82,"code":107,"filename":108,"language":85,"meta":86,"style":86},"npm install @github-tools\u002Fsdk\n","npm",[88,110,111],{"__ignoreMap":86},[91,112,113,115,118],{"class":93,"line":94},[91,114,108],{"class":97},[91,116,117],{"class":100}," install",[91,119,104],{"class":100},[80,121,124],{"className":82,"code":122,"filename":123,"language":85,"meta":86,"style":86},"yarn add @github-tools\u002Fsdk\n","yarn",[88,125,126],{"__ignoreMap":86},[91,127,128,130,132],{"class":93,"line":94},[91,129,123],{"class":97},[91,131,101],{"class":100},[91,133,104],{"class":100},[80,135,138],{"className":82,"code":136,"filename":137,"language":85,"meta":86,"style":86},"bun add @github-tools\u002Fsdk\n","bun",[88,139,140],{"__ignoreMap":86},[91,141,142,144,146],{"class":93,"line":94},[91,143,137],{"class":97},[91,145,101],{"class":100},[91,147,104],{"class":100},[72,149,151],{"id":150},"add-peer-dependencies","Add peer dependencies",[153,154,156],"h3",{"id":155},"required-ai-sdk-and-zod","Required: AI SDK and Zod",[158,159,160,161,168,169,174],"p",{},"The SDK relies on ",[162,163,167],"a",{"href":164,"rel":165},"https:\u002F\u002Fai-sdk.dev\u002Fdocs",[166],"nofollow","AI SDK"," for tool execution and ",[162,170,173],{"href":171,"rel":172},"https:\u002F\u002Fzod.dev",[166],"Zod"," for schema validation:",[77,176,177,194,209,224],{},[80,178,180],{"className":82,"code":179,"filename":84,"language":85,"meta":86,"style":86},"pnpm add ai zod\n",[88,181,182],{"__ignoreMap":86},[91,183,184,186,188,191],{"class":93,"line":94},[91,185,84],{"class":97},[91,187,101],{"class":100},[91,189,190],{"class":100}," ai",[91,192,193],{"class":100}," zod\n",[80,195,197],{"className":82,"code":196,"filename":108,"language":85,"meta":86,"style":86},"npm install ai zod\n",[88,198,199],{"__ignoreMap":86},[91,200,201,203,205,207],{"class":93,"line":94},[91,202,108],{"class":97},[91,204,117],{"class":100},[91,206,190],{"class":100},[91,208,193],{"class":100},[80,210,212],{"className":82,"code":211,"filename":123,"language":85,"meta":86,"style":86},"yarn add ai zod\n",[88,213,214],{"__ignoreMap":86},[91,215,216,218,220,222],{"class":93,"line":94},[91,217,123],{"class":97},[91,219,101],{"class":100},[91,221,190],{"class":100},[91,223,193],{"class":100},[80,225,227],{"className":82,"code":226,"filename":137,"language":85,"meta":86,"style":86},"bun add ai zod\n",[88,228,229],{"__ignoreMap":86},[91,230,231,233,235,237],{"class":93,"line":94},[91,232,137],{"class":97},[91,234,101],{"class":100},[91,236,190],{"class":100},[91,238,193],{"class":100},[153,240,242],{"id":241},"optional-durable-workflows","Optional: durable workflows",[158,244,245,246,250,251,256,257,260,261,264,265,268,269,272],{},"For ",[247,248,249],"strong",{},"durable"," agents with the ",[162,252,255],{"href":253,"rel":254},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fworkflow",[166],"Vercel Workflow SDK",", add ",[88,258,259],{},"workflow"," and ",[88,262,263],{},"@workflow\u002Fai"," when you import from ",[88,266,267],{},"@github-tools\u002Fsdk\u002Fworkflow"," and use ",[88,270,271],{},"createDurableGithubAgent",":",[77,274,275,292,307,322],{},[80,276,278],{"className":82,"code":277,"filename":84,"language":85,"meta":86,"style":86},"pnpm add workflow @workflow\u002Fai\n",[88,279,280],{"__ignoreMap":86},[91,281,282,284,286,289],{"class":93,"line":94},[91,283,84],{"class":97},[91,285,101],{"class":100},[91,287,288],{"class":100}," workflow",[91,290,291],{"class":100}," @workflow\u002Fai\n",[80,293,295],{"className":82,"code":294,"filename":108,"language":85,"meta":86,"style":86},"npm install workflow @workflow\u002Fai\n",[88,296,297],{"__ignoreMap":86},[91,298,299,301,303,305],{"class":93,"line":94},[91,300,108],{"class":97},[91,302,117],{"class":100},[91,304,288],{"class":100},[91,306,291],{"class":100},[80,308,310],{"className":82,"code":309,"filename":123,"language":85,"meta":86,"style":86},"yarn add workflow @workflow\u002Fai\n",[88,311,312],{"__ignoreMap":86},[91,313,314,316,318,320],{"class":93,"line":94},[91,315,123],{"class":97},[91,317,101],{"class":100},[91,319,288],{"class":100},[91,321,291],{"class":100},[80,323,325],{"className":82,"code":324,"filename":137,"language":85,"meta":86,"style":86},"bun add workflow @workflow\u002Fai\n",[88,326,327],{"__ignoreMap":86},[91,328,329,331,333,335],{"class":93,"line":94},[91,330,137],{"class":97},[91,332,101],{"class":100},[91,334,288],{"class":100},[91,336,291],{"class":100},[158,338,339,340,342],{},"See ",[162,341,51],{"href":52}," for the full pattern.",[72,344,346],{"id":345},"set-your-github-token","Set your GitHub token",[158,348,349,350,353,354,357],{},"The SDK reads ",[88,351,352],{},"GITHUB_TOKEN"," from your environment automatically. Create a ",[88,355,356],{},".env"," file at the root of your project:",[80,359,361],{"className":82,"code":360,"filename":356,"language":85,"meta":86,"style":86},"GITHUB_TOKEN=github_pat_xxxxxxxxxxxx\n",[88,362,363],{"__ignoreMap":86},[91,364,365,368,372],{"class":93,"line":94},[91,366,352],{"class":367},"sTEyZ",[91,369,371],{"class":370},"sMK4o","=",[91,373,374],{"class":100},"github_pat_xxxxxxxxxxxx\n",[158,376,377],{},"You can also pass the token explicitly if you prefer:",[80,379,384],{"className":380,"code":381,"filename":382,"language":383,"meta":86,"style":86},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","createGithubTools({ token: 'github_pat_xxxxxxxxxxxx' })\n","explicit-token.ts","ts",[88,385,386],{"__ignoreMap":86},[91,387,388,392,395,398,402,404,407,410,413,416],{"class":93,"line":94},[91,389,391],{"class":390},"s2Zo4","createGithubTools",[91,393,394],{"class":367},"(",[91,396,397],{"class":370},"{",[91,399,401],{"class":400},"swJcz"," token",[91,403,272],{"class":370},[91,405,406],{"class":370}," '",[91,408,409],{"class":100},"github_pat_xxxxxxxxxxxx",[91,411,412],{"class":370},"'",[91,414,415],{"class":370}," }",[91,417,418],{"class":367},")\n",[420,421,422,423,425],"warning",{},"Never commit tokens. Use ",[88,424,356],{}," locally and secret managers (Vercel, GitHub Actions secrets) in CI\u002Fproduction.",[72,427,429],{"id":428},"choose-a-token-type","Choose a token type",[431,432,433,449],"table",{},[434,435,436],"thead",{},[437,438,439,443,446],"tr",{},[440,441,442],"th",{},"Token type",[440,444,445],{},"When to use",[440,447,448],{},"Scope control",[450,451,452,468],"tbody",{},[437,453,454,462,465],{},[455,456,457],"td",{},[162,458,461],{"href":459,"rel":460},"https:\u002F\u002Fgithub.com\u002Fsettings\u002Fpersonal-access-tokens\u002Fnew",[166],"Fine-grained PAT",[455,463,464],{},"Production assistants",[455,466,467],{},"per-repository, per-permission",[437,469,470,473,476],{},[455,471,472],{},"Classic PAT",[455,474,475],{},"Quick prototyping",[455,477,478],{},"broad, org-level",[158,480,339,481,484],{},[162,482,483],{"href":44},"Configure token scopes"," for a detailed permission matrix.",[72,486,488],{"id":487},"verify-the-setup","Verify the setup",[158,490,491],{},"Run a minimal script to confirm the SDK initializes and a read tool resolves:",[80,493,496],{"className":380,"code":494,"filename":495,"language":383,"meta":86,"style":86},"import { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools({ preset: 'repo-explorer' })\n\nconsole.log('Tools loaded:', Object.keys(tools).join(', '))\n","verify.ts",[88,497,498,523,530,564,569],{"__ignoreMap":86},[91,499,500,504,507,510,512,515,517,520],{"class":93,"line":94},[91,501,503],{"class":502},"s7zQu","import",[91,505,506],{"class":370}," {",[91,508,509],{"class":367}," createGithubTools",[91,511,415],{"class":370},[91,513,514],{"class":502}," from",[91,516,406],{"class":370},[91,518,519],{"class":100},"@github-tools\u002Fsdk",[91,521,522],{"class":370},"'\n",[91,524,526],{"class":93,"line":525},2,[91,527,529],{"emptyLinePlaceholder":528},true,"\n",[91,531,533,537,540,542,544,546,548,551,553,555,558,560,562],{"class":93,"line":532},3,[91,534,536],{"class":535},"spNyl","const",[91,538,539],{"class":367}," tools ",[91,541,371],{"class":370},[91,543,509],{"class":390},[91,545,394],{"class":367},[91,547,397],{"class":370},[91,549,550],{"class":400}," preset",[91,552,272],{"class":370},[91,554,406],{"class":370},[91,556,557],{"class":100},"repo-explorer",[91,559,412],{"class":370},[91,561,415],{"class":370},[91,563,418],{"class":367},[91,565,567],{"class":93,"line":566},4,[91,568,529],{"emptyLinePlaceholder":528},[91,570,572,575,578,581,583,585,588,590,593,596,598,601,604,606,609,611,613,616,618],{"class":93,"line":571},5,[91,573,574],{"class":367},"console",[91,576,577],{"class":370},".",[91,579,580],{"class":390},"log",[91,582,394],{"class":367},[91,584,412],{"class":370},[91,586,587],{"class":100},"Tools loaded:",[91,589,412],{"class":370},[91,591,592],{"class":370},",",[91,594,595],{"class":367}," Object",[91,597,577],{"class":370},[91,599,600],{"class":390},"keys",[91,602,603],{"class":367},"(tools)",[91,605,577],{"class":370},[91,607,608],{"class":390},"join",[91,610,394],{"class":367},[91,612,412],{"class":370},[91,614,615],{"class":100},", ",[91,617,412],{"class":370},[91,619,620],{"class":367},"))\n",[158,622,623,624,577],{},"If the script prints tool names, your environment is ready. Continue with ",[162,625,626],{"href":28},"Run your first call",[72,628,630],{"id":629},"ai-assistant-prompt-integrate-into-this-repo","AI assistant prompt (integrate into this repo)",[158,632,633],{},"Use in Cursor, Claude Code, or any chat wired to your codebase:",[80,635,640],{"className":636,"code":637,"filename":638,"language":639,"meta":86,"style":86},"language-txt shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Add @github-tools\u002Fsdk to this existing project for use with the Vercel AI SDK.\n\n- Install @github-tools\u002Fsdk, ai, and zod; ensure GITHUB_TOKEN can be read from the environment\n- Show a minimal example using createGithubTools with generateText or streamText\n- Use a preset (e.g. code-review or repo-explorer) appropriate for this codebase unless full maintainer access is required\n- Cite https:\u002F\u002Fgithub-tools.com\u002Fgetting-started\u002Finstallation and https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Fquick-start\n","Prompt","txt",[88,641,642,647,651,656,661,666],{"__ignoreMap":86},[91,643,644],{"class":93,"line":94},[91,645,646],{},"Add @github-tools\u002Fsdk to this existing project for use with the Vercel AI SDK.\n",[91,648,649],{"class":93,"line":525},[91,650,529],{"emptyLinePlaceholder":528},[91,652,653],{"class":93,"line":532},[91,654,655],{},"- Install @github-tools\u002Fsdk, ai, and zod; ensure GITHUB_TOKEN can be read from the environment\n",[91,657,658],{"class":93,"line":566},[91,659,660],{},"- Show a minimal example using createGithubTools with generateText or streamText\n",[91,662,663],{"class":93,"line":571},[91,664,665],{},"- Use a preset (e.g. code-review or repo-explorer) appropriate for this codebase unless full maintainer access is required\n",[91,667,669],{"class":93,"line":668},6,[91,670,671],{},"- Cite https:\u002F\u002Fgithub-tools.com\u002Fgetting-started\u002Finstallation and https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Fquick-start\n",[158,673,674,675,577],{},"For the packaged skill (same domain), see ",[162,676,18],{"href":19},[678,679,680],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":86,"searchDepth":525,"depth":525,"links":682},[683,684,688,689,690,691],{"id":74,"depth":525,"text":75},{"id":150,"depth":525,"text":151,"children":685},[686,687],{"id":155,"depth":532,"text":156},{"id":241,"depth":532,"text":242},{"id":345,"depth":525,"text":346},{"id":428,"depth":525,"text":429},{"id":487,"depth":525,"text":488},{"id":629,"depth":525,"text":630},"Install the SDK, configure peer dependencies, and set up your GitHub token.","md",[695,699],{"label":626,"icon":696,"to":28,"color":697,"variant":698},"i-lucide-play","neutral","subtle",{"label":483,"icon":700,"to":44,"color":697,"variant":698},"i-lucide-key-round",{},{"title":14,"description":692},"_c4bt1CsHtb8TsiqnR4OUDY7_IlUT2zOO6xudQ2tGOA",[705,707],{"title":10,"path":11,"stem":12,"description":706,"children":-1},"AI-callable GitHub tools for generateText, streamText, agent loops, and durable workflows with Vercel Workflow.",{"title":18,"path":19,"stem":20,"description":708,"children":-1},"Install the GitHub Tools agent skill from github-tools.com for Cursor, Claude Code, and other assistants.",1779365451999]