[{"data":1,"prerenderedAt":493},["ShallowReactive",2],{"navigation_docs":3,"-guide-presets":66,"-guide-presets-surround":488},[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":31,"body":68,"description":474,"extension":475,"links":476,"meta":485,"navigation":104,"path":32,"seo":486,"stem":33,"__hash__":487},"docs\u002Fdocs\u002F2.guide\u002F2.presets.md",{"type":69,"value":70,"toc":466},"minimark",[71,75,80,118,122,125,217,221,224,302,306,392,396,403,444,448,452,462],[72,73,74],"p",{},"Presets limit the tools your agent can access to a specific workflow. This reduces the attack surface and keeps prompts focused.",[76,77,79],"h2",{"id":78},"ai-assistant-prompt-presets-scope","AI assistant prompt (presets & scope)",[81,82,88],"pre",{"className":83,"code":84,"filename":85,"language":86,"meta":87,"style":87},"language-txt shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Tighten GitHub tool scope for this assistant using @github-tools\u002Fsdk.\n\n- Switch to the smallest preset that still satisfies the feature; use an array to combine presets if needed (see https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Fpresets)\n- Align the GitHub PAT with https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Ftoken-permissions\n","Prompt","txt","",[89,90,91,99,106,112],"code",{"__ignoreMap":87},[92,93,96],"span",{"class":94,"line":95},"line",1,[92,97,98],{},"Tighten GitHub tool scope for this assistant using @github-tools\u002Fsdk.\n",[92,100,102],{"class":94,"line":101},2,[92,103,105],{"emptyLinePlaceholder":104},true,"\n",[92,107,109],{"class":94,"line":108},3,[92,110,111],{},"- Switch to the smallest preset that still satisfies the feature; use an array to combine presets if needed (see https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Fpresets)\n",[92,113,115],{"class":94,"line":114},4,[92,116,117],{},"- Align the GitHub PAT with https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Ftoken-permissions\n",[76,119,121],{"id":120},"apply-a-single-preset","Apply a single preset",[72,123,124],{},"Use a preset to restrict the tools to a specific capability domain. For example, a code review agent only needs pull request and commit tools:",[81,126,131],{"className":127,"code":128,"filename":129,"language":130,"meta":87,"style":87},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools({\n  preset: 'code-review',\n})\n","review-agent.ts","ts",[89,132,133,163,167,188,208],{"__ignoreMap":87},[92,134,135,139,143,147,150,153,156,160],{"class":94,"line":95},[92,136,138],{"class":137},"s7zQu","import",[92,140,142],{"class":141},"sMK4o"," {",[92,144,146],{"class":145},"sTEyZ"," createGithubTools",[92,148,149],{"class":141}," }",[92,151,152],{"class":137}," from",[92,154,155],{"class":141}," '",[92,157,159],{"class":158},"sfazB","@github-tools\u002Fsdk",[92,161,162],{"class":141},"'\n",[92,164,165],{"class":94,"line":101},[92,166,105],{"emptyLinePlaceholder":104},[92,168,169,173,176,179,182,185],{"class":94,"line":108},[92,170,172],{"class":171},"spNyl","const",[92,174,175],{"class":145}," tools ",[92,177,178],{"class":141},"=",[92,180,146],{"class":181},"s2Zo4",[92,183,184],{"class":145},"(",[92,186,187],{"class":141},"{\n",[92,189,190,194,197,199,202,205],{"class":94,"line":114},[92,191,193],{"class":192},"swJcz","  preset",[92,195,196],{"class":141},":",[92,198,155],{"class":141},[92,200,201],{"class":158},"code-review",[92,203,204],{"class":141},"'",[92,206,207],{"class":141},",\n",[92,209,211,214],{"class":94,"line":210},5,[92,212,213],{"class":141},"}",[92,215,216],{"class":145},")\n",[76,218,220],{"id":219},"combine-multiple-presets","Combine multiple presets",[72,222,223],{},"When a workflow spans multiple domains, pass an array. This agent can both review PRs and manage issues:",[81,225,228],{"className":127,"code":226,"filename":227,"language":130,"meta":87,"style":87},"import { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools({\n  preset: ['code-review', 'issue-triage'],\n})\n","triage-and-review.ts",[89,229,230,248,252,266,296],{"__ignoreMap":87},[92,231,232,234,236,238,240,242,244,246],{"class":94,"line":95},[92,233,138],{"class":137},[92,235,142],{"class":141},[92,237,146],{"class":145},[92,239,149],{"class":141},[92,241,152],{"class":137},[92,243,155],{"class":141},[92,245,159],{"class":158},[92,247,162],{"class":141},[92,249,250],{"class":94,"line":101},[92,251,105],{"emptyLinePlaceholder":104},[92,253,254,256,258,260,262,264],{"class":94,"line":108},[92,255,172],{"class":171},[92,257,175],{"class":145},[92,259,178],{"class":141},[92,261,146],{"class":181},[92,263,184],{"class":145},[92,265,187],{"class":141},[92,267,268,270,272,275,277,279,281,284,286,289,291,294],{"class":94,"line":114},[92,269,193],{"class":192},[92,271,196],{"class":141},[92,273,274],{"class":145}," [",[92,276,204],{"class":141},[92,278,201],{"class":158},[92,280,204],{"class":141},[92,282,283],{"class":141},",",[92,285,155],{"class":141},[92,287,288],{"class":158},"issue-triage",[92,290,204],{"class":141},[92,292,293],{"class":145},"]",[92,295,207],{"class":141},[92,297,298,300],{"class":94,"line":210},[92,299,213],{"class":141},[92,301,216],{"class":145},[76,303,305],{"id":304},"pick-the-right-preset","Pick the right preset",[307,308,309,325],"table",{},[310,311,312],"thead",{},[313,314,315,319,322],"tr",{},[316,317,318],"th",{},"Preset",[316,320,321],{},"Tools included",[316,323,324],{},"Use case",[326,327,328,342,355,367,379],"tbody",{},[313,329,330,336,339],{},[331,332,333],"td",{},[89,334,335],{},"repo-explorer",[331,337,338],{},"repository metadata, branches, file content, code search, gists, workflows",[331,340,341],{},"knowledge retrieval, repo Q&A",[313,343,344,349,352],{},[331,345,346],{},[89,347,348],{},"ci-ops",[331,350,351],{},"workflows, runs, jobs, commits, repository context",[331,353,354],{},"CI monitoring, build ops",[313,356,357,361,364],{},[331,358,359],{},[89,360,201],{},[331,362,363],{},"pull requests, commits, file diffs, review comments",[331,365,366],{},"PR copilots, change summaries",[313,368,369,373,376],{},[331,370,371],{},[89,372,288],{},[331,374,375],{},"issues, labels, comments, close\u002Fcreate",[331,377,378],{},"support triage, backlog bots",[313,380,381,386,389],{},[331,382,383],{},[89,384,385],{},"maintainer",[331,387,388],{},"all tool families including branch creation, forking, repo creation, gists, and workflows",[331,390,391],{},"operator workflows with strict approvals",[76,393,395],{"id":394},"pair-presets-with-token-scopes","Pair presets with token scopes",[72,397,398,399,196],{},"Each preset maps to specific ",[400,401,402],"a",{"href":44},"GitHub token permissions",[404,405,406,412,421,428,436],"ul",{},[407,408,409,411],"li",{},[89,410,335],{}," — read-only token, no write permissions needed",[407,413,414,416,417,420],{},[89,415,201],{}," — add ",[89,418,419],{},"pull_requests: write"," only if comments are needed",[407,422,423,416,425],{},[89,424,288],{},[89,426,427],{},"issues: write",[407,429,430,416,432,435],{},[89,431,348],{},[89,433,434],{},"actions: write"," for triggering, cancelling, and re-running workflows",[407,437,438,440,441],{},[89,439,385],{}," — all write scopes, always paired with ",[400,442,443],{"href":36},"approval control",[445,446,447],"tip",{},"Default to the smallest preset that can complete the task. Add more capabilities only after your prompt and approval policy are stable.",[76,449,451],{"id":450},"external-references","External references",[404,453,454],{},[407,455,456],{},[400,457,461],{"href":458,"rel":459},"https:\u002F\u002Fowasp.org\u002Fwww-community\u002Fcontrols\u002FLeast_Privilege_Principle",[460],"nofollow","Principle of least privilege (OWASP)",[463,464,465],"style",{},"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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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":87,"searchDepth":101,"depth":101,"links":467},[468,469,470,471,472,473],{"id":78,"depth":101,"text":79},{"id":120,"depth":101,"text":121},{"id":219,"depth":101,"text":220},{"id":304,"depth":101,"text":305},{"id":394,"depth":101,"text":395},{"id":450,"depth":101,"text":451},"Expose only the tools your workflow needs using presets.","md",[477,482],{"label":478,"icon":479,"to":60,"color":480,"variant":481},"Browse all tools","i-lucide-list-tree","neutral","subtle",{"label":483,"icon":484,"to":48,"color":480,"variant":481},"See examples","i-lucide-code",{},{"title":31,"description":474},"-_0EBrrkiuAXrXgCWJ7YL07pBwuxFyzCE0ZarBWAgP4",[489,491],{"title":27,"path":28,"stem":29,"description":490,"children":-1},"Use GitHub tools in your first AI SDK call in under five minutes.",{"title":35,"path":36,"stem":37,"description":492,"children":-1},"Gate dangerous operations with human approval policies.",1779365451999]