[{"data":1,"prerenderedAt":411},["ShallowReactive",2],{"docs-/docs/getting-started/installation":3,"docs-/docs/getting-started/installation-surround":362,"docs-navigation":370},{"id":4,"title":5,"body":6,"description":353,"extension":354,"icon":355,"meta":356,"navigation":357,"path":358,"seo":359,"stem":360,"wip":357,"__hash__":361},"docs/docs/1.getting-started/2.installation.md","Installation",{"type":7,"value":8,"toc":341},"minimark",[9,14,24,28,32,119,122,125,128,147,152,155,214,218,221,224,226,229,232,298,301,314,323,327,337],[10,11,13],"h2",{"id":12},"prerequisites","Prerequisites",[15,16,17,21],"ul",{},[18,19,20],"li",{},"A GitHub account",[18,22,23],{},"At least one repository you want to analyze",[10,25,27],{"id":26},"how-to-use-keystone","How to use Keystone",[29,30,31],"p",{},"Keystone works in two ways. You can use either or both depending on your workflow:",[33,34,35,55],"table",{},[36,37,38],"thead",{},[39,40,41,44,50],"tr",{},[42,43],"th",{},[42,45,46],{},[47,48,49],"strong",{},"Dashboard",[42,51,52],{},[47,53,54],{},"CLI",[56,57,58,72,89,104],"tbody",{},[39,59,60,66,69],{},[61,62,63],"td",{},[47,64,65],{},"Best for",[61,67,68],{},"Visual setup, monitoring ingestion, team management",[61,70,71],{},"Quick access, scripting, CI/CD integration",[39,73,74,79,85],{},[61,75,76],{},[47,77,78],{},"Connect repos",[61,80,81],{},[82,83],"icon",{"name":84},"lucide:check",[61,86,87],{},[82,88],{"name":84},[39,90,91,96,100],{},[61,92,93],{},[47,94,95],{},"Agent chat",[61,97,98],{},[82,99],{"name":84},[61,101,102],{},[82,103],{"name":84},[39,105,106,111,115],{},[61,107,108],{},[47,109,110],{},"Monitor ingestion",[61,112,113],{},[82,114],{"name":84},[61,116,117],{},[82,118],{"name":84},[120,121],"hr",{},[10,123,49],{"id":124},"dashboard",[29,126,127],{},"Keystone connects to your repositories through a GitHub App. This gives Keystone read access to your code, commits, and pull requests.",[129,130,131,134,137,144],"ol",{},[18,132,133],{},"Sign in to Keystone with your GitHub account",[18,135,136],{},"Navigate to your organization dashboard",[18,138,139,140,143],{},"Click ",[47,141,142],{},"Connect Repository"," and follow the GitHub App installation flow",[18,145,146],{},"Select the repositories you want Keystone to analyze",[148,149,151],"h3",{"id":150},"permissions","Permissions",[29,153,154],{},"The Keystone GitHub App requires the following permissions:",[33,156,157,170],{},[36,158,159],{},[39,160,161,164,167],{},[42,162,163],{},"Permission",[42,165,166],{},"Access",[42,168,169],{},"Purpose",[56,171,172,183,193,203],{},[39,173,174,177,180],{},[61,175,176],{},"Repository contents",[61,178,179],{},"Read",[61,181,182],{},"Analyze code and commits",[39,184,185,188,190],{},[61,186,187],{},"Pull requests",[61,189,179],{},[61,191,192],{},"Extract decisions from PR discussions",[39,194,195,198,200],{},[61,196,197],{},"Metadata",[61,199,179],{},[61,201,202],{},"Repository information",[39,204,205,208,211],{},[61,206,207],{},"Webhooks",[61,209,210],{},"Read & Write",[61,212,213],{},"Real-time updates on new pushes",[148,215,217],{"id":216},"initial-ingestion","Initial ingestion",[29,219,220],{},"Once connected, Keystone begins processing your repository's commit history. Depending on the size of your repository, this may take a few minutes.",[29,222,223],{},"You can monitor the ingestion progress from your project dashboard.",[120,225],{},[10,227,54],{"id":228},"cli",[29,230,231],{},"Install the Keystone CLI globally:",[233,234,235,264,281],"code-group",{},[236,237,243],"pre",{"className":238,"code":239,"filename":240,"language":241,"meta":242,"style":242},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install -g keystone\n","npm","bash","",[244,245,246],"code",{"__ignoreMap":242},[247,248,251,254,258,261],"span",{"class":249,"line":250},"line",1,[247,252,240],{"class":253},"sBMFI",[247,255,257],{"class":256},"sfazB"," install",[247,259,260],{"class":256}," -g",[247,262,263],{"class":256}," keystone\n",[236,265,268],{"className":238,"code":266,"filename":267,"language":241,"meta":242,"style":242},"pnpm add -g keystone\n","pnpm",[244,269,270],{"__ignoreMap":242},[247,271,272,274,277,279],{"class":249,"line":250},[247,273,267],{"class":253},[247,275,276],{"class":256}," add",[247,278,260],{"class":256},[247,280,263],{"class":256},[236,282,285],{"className":238,"code":283,"filename":284,"language":241,"meta":242,"style":242},"yarn global add keystone\n","yarn",[244,286,287],{"__ignoreMap":242},[247,288,289,291,294,296],{"class":249,"line":250},[247,290,284],{"class":253},[247,292,293],{"class":256}," global",[247,295,276],{"class":256},[247,297,263],{"class":256},[29,299,300],{},"Once installed, authenticate with your account:",[236,302,304],{"className":238,"code":303,"language":241,"meta":242,"style":242},"keystone login\n",[244,305,306],{"__ignoreMap":242},[247,307,308,311],{"class":249,"line":250},[247,309,310],{"class":253},"keystone",[247,312,313],{"class":256}," login\n",[29,315,316,317,322],{},"For more details on CLI usage, see the ",[318,319,321],"a",{"href":320},"/docs/guides/cli","CLI guide",".",[10,324,326],{"id":325},"next-steps","Next steps",[15,328,329],{},[18,330,331,332,336],{},"Follow the ",[318,333,335],{"href":334},"/docs/getting-started/quickstart","quick start guide"," to ask your first question",[338,339,340],"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);}",{"title":242,"searchDepth":342,"depth":342,"links":343},2,[344,345,346,351,352],{"id":12,"depth":342,"text":13},{"id":26,"depth":342,"text":27},{"id":124,"depth":342,"text":49,"children":347},[348,350],{"id":150,"depth":349,"text":151},3,{"id":216,"depth":349,"text":217},{"id":228,"depth":342,"text":54},{"id":325,"depth":342,"text":326},"How to connect Keystone to your GitHub repositories","md",null,{},true,"/docs/getting-started/installation",{"title":5,"description":353},"docs/1.getting-started/2.installation","GkKVm_BJsxBqBtLiFJkRGHURV5wVWcLkfnJCiQ4kENg",[363,367],{"title":364,"path":365,"stem":366,"children":-1},"Introduction","/docs/getting-started/introduction","docs/1.getting-started/1.introduction",{"title":368,"path":334,"stem":369,"children":-1},"Quick Start","docs/1.getting-started/3.quickstart",[371],{"title":372,"path":373,"stem":374,"children":375,"page":382},"Docs","/docs","docs",[376,385,394],{"title":377,"path":378,"stem":379,"children":380,"page":382},"Getting Started","/docs/getting-started","docs/1.getting-started",[381,383,384],{"title":364,"path":365,"stem":366,"wip":382},false,{"title":5,"path":358,"stem":360,"wip":357},{"title":368,"path":334,"stem":369,"wip":382},{"title":386,"path":387,"stem":388,"children":389,"page":382},"Concepts","/docs/concepts","docs/2.concepts",[390],{"title":391,"path":392,"stem":393,"wip":382},"Core Concepts","/docs/concepts/overview","docs/2.concepts/1.overview",{"title":395,"path":396,"stem":397,"children":398,"page":382},"Guides","/docs/guides","docs/3.guides",[399,403,407],{"title":400,"path":401,"stem":402,"wip":357},"GitHub Integration","/docs/guides/github-integration","docs/3.guides/1.github-integration",{"title":404,"path":405,"stem":406,"wip":357},"Agent Chat","/docs/guides/agent-chat","docs/3.guides/2.agent-chat",{"title":408,"path":409,"stem":410,"wip":357},"MCP Server","/docs/guides/mcp","docs/3.guides/2.mcp",1779438656687]