[{"data":1,"prerenderedAt":254},["ShallowReactive",2],{"\u002Fdocs\u002Freference\u002Fenvironment-variables":3},{"id":4,"title":5,"body":6,"description":246,"extension":247,"meta":248,"navigation":249,"path":250,"seo":251,"stem":252,"__hash__":253},"docs\u002Fdocs\u002Freference\u002Fenvironment-variables.md","Environment Variables",{"type":7,"value":8,"toc":239},"minimark",[9,18,23,83,87,154,158,212,215],[10,11,12,13,17],"p",{},"A full reference of the ",[14,15,16],"code",{},".env"," variables mentioned across the other docs pages —\ngathered here so you don't have to jump between pages during setup.",[19,20,22],"h2",{"id":21},"core","Core",[24,25,26,42],"table",{},[27,28,29],"thead",{},[30,31,32,36,39],"tr",{},[33,34,35],"th",{},"Variable",[33,37,38],{},"Required",[33,40,41],{},"Description",[43,44,45,59,71],"tbody",{},[30,46,47,53,56],{},[48,49,50],"td",{},[14,51,52],{},"REDIS_URL",[48,54,55],{},"Yes",[48,57,58],{},"Connection to the Redis instance used for the BullMQ queue",[30,60,61,66,68],{},[48,62,63],{},[14,64,65],{},"CLAUDE_CODE_TOKEN",[48,67,55],{},[48,69,70],{},"Credential used to run Claude Code headlessly",[30,72,73,78,80],{},[48,74,75],{},[14,76,77],{},"WEBHOOK_SECRET",[48,79,55],{},[48,81,82],{},"Secret used to verify incoming webhook payloads from your tracker",[19,84,86],{"id":85},"tracker","Tracker",[24,88,89,99],{},[27,90,91],{},[30,92,93,95,97],{},[33,94,35],{},[33,96,38],{},[33,98,41],{},[43,100,101,114,127,139],{},[30,102,103,108,111],{},[48,104,105],{},[14,106,107],{},"LINEAR_API_KEY",[48,109,110],{},"If using Linear",[48,112,113],{},"Personal API key with read access to your workspace",[30,115,116,121,124],{},[48,117,118],{},[14,119,120],{},"JIRA_API_TOKEN",[48,122,123],{},"If using Jira",[48,125,126],{},"API token from Account Settings → Security",[30,128,129,134,136],{},[48,130,131],{},[14,132,133],{},"JIRA_EMAIL",[48,135,123],{},[48,137,138],{},"Email of the account that created the token above",[30,140,141,146,148],{},[48,142,143],{},[14,144,145],{},"JIRA_BASE_URL",[48,147,123],{},[48,149,150,151],{},"Your Jira instance URL, e.g. ",[14,152,153],{},"https:\u002F\u002Fyour-team.atlassian.net",[19,155,157],{"id":156},"git-host","Git host",[24,159,160,170],{},[27,161,162],{},[30,163,164,166,168],{},[33,165,35],{},[33,167,38],{},[33,169,41],{},[43,171,172,193],{},[30,173,174,179,182],{},[48,175,176],{},[14,177,178],{},"GITHUB_TOKEN",[48,180,181],{},"If your repo is on GitHub",[48,183,184,185,188,189,192],{},"Fine-grained PAT with ",[14,186,187],{},"Contents"," and ",[14,190,191],{},"Pull requests"," scope",[30,194,195,200,203],{},[48,196,197],{},[14,198,199],{},"GITLAB_TOKEN",[48,201,202],{},"If your repo is on GitLab",[48,204,205,206,188,209,192],{},"Project access token with ",[14,207,208],{},"write_repository",[14,210,211],{},"api",[10,213,214],{},"Only fill in the tracker and git host variables that match your stack — you don't\nneed both Linear and Jira, or both GitHub and GitLab, at once.",[10,216,217,218,223,224,228,229,233,234,238],{},"Details on how to obtain each credential are on their respective pages:\n",[219,220,222],"a",{"href":221},"\u002Fdocs\u002Fcaf-orchestrator","CAF Orchestrator",", ",[219,225,227],{"href":226},"\u002Fdocs\u002Fintegrations\u002Flinear","Linear",",\n",[219,230,232],{"href":231},"\u002Fdocs\u002Fintegrations\u002Fjira","Jira",", and\n",[219,235,237],{"href":236},"\u002Fdocs\u002Fintegrations\u002Fgithub-gitlab","GitHub \u002F GitLab",".",{"title":240,"searchDepth":241,"depth":241,"links":242},"",2,[243,244,245],{"id":21,"depth":241,"text":22},{"id":85,"depth":241,"text":86},{"id":156,"depth":241,"text":157},"Every .env variable used by CAF Orchestrator, gathered in one page.","md",{},true,"\u002Fdocs\u002Freference\u002Fenvironment-variables",{"title":5,"description":246},"docs\u002Freference\u002Fenvironment-variables","pW7VzJKrFkytOog2uc9oSApWI03ip20cN6UsLwqjszM",1787621083918]