[{"data":1,"prerenderedAt":2337},["ShallowReactive",2],{"tutorial-install-bruin/setup-mcp":3,"content-query-rk1FzjaDkB":631,"content-query-FCg2M3XPFV":1100},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":13,"difficulty":17,"module":5,"step":11,"subSteps":18,"learnMore":19,"author":29,"body":33,"_type":625,"_id":626,"_source":627,"_file":628,"_stem":629,"_extension":630},"/tutorials/install-bruin/setup-mcp","install-bruin",false,"","Set Up the Bruin MCP","Connect your AI coding assistant to Bruin so it can query data, build pipelines, and look up documentation.","2026-04-15",3,"Tutorial",[14,15,16],"Bruin CLI","Bruin AI","MCP","Beginner",true,[20,23,26],{"label":21,"url":22},"Bruin MCP setup guide","https://getbruin.com/docs/bruin/getting-started/bruin-mcp.html",{"label":24,"url":25},"Set Up Bruin MCP with Claude Code","/learn/bruin-mcp-claude",{"label":27,"url":28},"Connect Bruin Cloud MCP to Claude Code","/learn/bruin-cloud-mcp",{"name":30,"role":31,"image":32},"Bruin Team","Bruin Data","/bruin-logo-2025.svg",{"type":34,"children":35,"toc":613},"root",[36,45,51,57,62,71,77,84,93,98,152,157,162,171,184,195,201,214,293,298,304,317,368,441,484,490,503,536,542,555,575,596,602,607],{"type":37,"tag":38,"props":39,"children":41},"element","h2",{"id":40},"what-youll-do",[42],{"type":43,"value":44},"text","What you'll do",{"type":37,"tag":46,"props":47,"children":48},"p",{},[49],{"type":43,"value":50},"Set up the Bruin MCP (Model Context Protocol) for your AI coding tool so it can interact with your pipelines and data directly.",{"type":37,"tag":38,"props":52,"children":54},{"id":53},"why-this-step-matters",[55],{"type":43,"value":56},"Why this step matters",{"type":37,"tag":46,"props":58,"children":59},{},[60],{"type":43,"value":61},"The Bruin MCP gives your AI assistant superpowers. Instead of copy-pasting schemas and error messages, your AI tool can query your data warehouse, inspect your pipeline structure, run Bruin commands, and look up documentation - all on its own. This makes AI-assisted pipeline development dramatically faster.",{"type":37,"tag":63,"props":64,"children":65},"note",{},[66],{"type":37,"tag":46,"props":67,"children":68},{},[69],{"type":43,"value":70},"This step is optional. You can build pipelines without an AI assistant, but the MCP makes the experience much smoother - especially for the tutorials in this academy that use AI prompts.",{"type":37,"tag":38,"props":72,"children":74},{"id":73},"instructions",[75],{"type":43,"value":76},"Instructions",{"type":37,"tag":78,"props":79,"children":81},"h3",{"id":80},"_1-claude-code",[82],{"type":43,"value":83},"1) Claude Code",{"type":37,"tag":46,"props":85,"children":86},{},[87],{"type":37,"tag":88,"props":89,"children":92},"img",{"alt":90,"src":91},"Bruin MCP with Claude","/img/learn/tutorials/mcp-claude.png",[],{"type":37,"tag":46,"props":94,"children":95},{},[96],{"type":43,"value":97},"Run this command in your terminal:",{"type":37,"tag":99,"props":100,"children":104},"pre",{"className":101,"code":102,"language":103,"meta":7,"style":7},"language-bash shiki shiki-themes github-dark","claude mcp add bruin -- bruin mcp\n","bash",[105],{"type":37,"tag":106,"props":107,"children":108},"code",{"__ignoreMap":7},[109],{"type":37,"tag":110,"props":111,"children":114},"span",{"class":112,"line":113},"line",1,[115,121,127,132,137,143,147],{"type":37,"tag":110,"props":116,"children":118},{"style":117},"--shiki-default:#B392F0",[119],{"type":43,"value":120},"claude",{"type":37,"tag":110,"props":122,"children":124},{"style":123},"--shiki-default:#9ECBFF",[125],{"type":43,"value":126}," mcp",{"type":37,"tag":110,"props":128,"children":129},{"style":123},[130],{"type":43,"value":131}," add",{"type":37,"tag":110,"props":133,"children":134},{"style":123},[135],{"type":43,"value":136}," bruin",{"type":37,"tag":110,"props":138,"children":140},{"style":139},"--shiki-default:#79B8FF",[141],{"type":43,"value":142}," --",{"type":37,"tag":110,"props":144,"children":145},{"style":123},[146],{"type":43,"value":136},{"type":37,"tag":110,"props":148,"children":149},{"style":123},[150],{"type":43,"value":151}," mcp\n",{"type":37,"tag":46,"props":153,"children":154},{},[155],{"type":43,"value":156},"Restart Claude Code for the MCP to take effect.",{"type":37,"tag":46,"props":158,"children":159},{},[160],{"type":43,"value":161},"To verify, open Claude Code in a Bruin project directory and ask:",{"type":37,"tag":163,"props":164,"children":165},"blockquote",{},[166],{"type":37,"tag":46,"props":167,"children":168},{},[169],{"type":43,"value":170},"What connections are available in this Bruin project?",{"type":37,"tag":46,"props":172,"children":173},{},[174,176,182],{"type":43,"value":175},"Claude should find and list your connections from ",{"type":37,"tag":106,"props":177,"children":179},{"className":178},[],[180],{"type":43,"value":181},".bruin.yml",{"type":43,"value":183},".",{"type":37,"tag":46,"props":185,"children":186},{},[187,189,194],{"type":43,"value":188},"For a deeper walkthrough, see ",{"type":37,"tag":190,"props":191,"children":192},"a",{"href":25},[193],{"type":43,"value":24},{"type":43,"value":183},{"type":37,"tag":78,"props":196,"children":198},{"id":197},"_2-cursor",[199],{"type":43,"value":200},"2) Cursor",{"type":37,"tag":46,"props":202,"children":203},{},[204,206,212],{"type":43,"value":205},"Go to ",{"type":37,"tag":207,"props":208,"children":209},"strong",{},[210],{"type":43,"value":211},"Settings > MCP & Integrations > Add Custom MCP",{"type":43,"value":213},", then add:",{"type":37,"tag":99,"props":215,"children":219},{"className":216,"code":217,"language":218,"meta":7,"style":7},"language-json shiki shiki-themes github-dark","{\n  \"mcpServers\": {\n    \"bruin\": {\n      \"command\": \"bruin\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n","json",[220],{"type":37,"tag":106,"props":221,"children":222},{"__ignoreMap":7},[223,231,240,248,257,266,275,284],{"type":37,"tag":110,"props":224,"children":225},{"class":112,"line":113},[226],{"type":37,"tag":110,"props":227,"children":228},{},[229],{"type":43,"value":230},"{\n",{"type":37,"tag":110,"props":232,"children":234},{"class":112,"line":233},2,[235],{"type":37,"tag":110,"props":236,"children":237},{},[238],{"type":43,"value":239},"  \"mcpServers\": {\n",{"type":37,"tag":110,"props":241,"children":242},{"class":112,"line":11},[243],{"type":37,"tag":110,"props":244,"children":245},{},[246],{"type":43,"value":247},"    \"bruin\": {\n",{"type":37,"tag":110,"props":249,"children":251},{"class":112,"line":250},4,[252],{"type":37,"tag":110,"props":253,"children":254},{},[255],{"type":43,"value":256},"      \"command\": \"bruin\",\n",{"type":37,"tag":110,"props":258,"children":260},{"class":112,"line":259},5,[261],{"type":37,"tag":110,"props":262,"children":263},{},[264],{"type":43,"value":265},"      \"args\": [\"mcp\"]\n",{"type":37,"tag":110,"props":267,"children":269},{"class":112,"line":268},6,[270],{"type":37,"tag":110,"props":271,"children":272},{},[273],{"type":43,"value":274},"    }\n",{"type":37,"tag":110,"props":276,"children":278},{"class":112,"line":277},7,[279],{"type":37,"tag":110,"props":280,"children":281},{},[282],{"type":43,"value":283},"  }\n",{"type":37,"tag":110,"props":285,"children":287},{"class":112,"line":286},8,[288],{"type":37,"tag":110,"props":289,"children":290},{},[291],{"type":43,"value":292},"}\n",{"type":37,"tag":46,"props":294,"children":295},{},[296],{"type":43,"value":297},"Restart Cursor after saving.",{"type":37,"tag":78,"props":299,"children":301},{"id":300},"_3-vs-code-copilot",[302],{"type":43,"value":303},"3) VS Code (Copilot)",{"type":37,"tag":46,"props":305,"children":306},{},[307,309,315],{"type":43,"value":308},"Add the following to your ",{"type":37,"tag":106,"props":310,"children":312},{"className":311},[],[313],{"type":43,"value":314},"mcp.json",{"type":43,"value":316}," file:",{"type":37,"tag":318,"props":319,"children":320},"ul",{},[321,338,353],{"type":37,"tag":322,"props":323,"children":324},"li",{},[325,330,332],{"type":37,"tag":207,"props":326,"children":327},{},[328],{"type":43,"value":329},"macOS:",{"type":43,"value":331}," ",{"type":37,"tag":106,"props":333,"children":335},{"className":334},[],[336],{"type":43,"value":337},"~/.vscode/mcp.json",{"type":37,"tag":322,"props":339,"children":340},{},[341,346,347],{"type":37,"tag":207,"props":342,"children":343},{},[344],{"type":43,"value":345},"Windows:",{"type":43,"value":331},{"type":37,"tag":106,"props":348,"children":350},{"className":349},[],[351],{"type":43,"value":352},"%APPDATA%\\Code/mcp.json",{"type":37,"tag":322,"props":354,"children":355},{},[356,361,362],{"type":37,"tag":207,"props":357,"children":358},{},[359],{"type":43,"value":360},"Linux:",{"type":43,"value":331},{"type":37,"tag":106,"props":363,"children":365},{"className":364},[],[366],{"type":43,"value":367},"~/.config/Code/mcp.json",{"type":37,"tag":99,"props":369,"children":371},{"className":216,"code":370,"language":218,"meta":7,"style":7},"{\n  \"servers\": {\n    \"bruin\": {\n      \"type\": \"stdio\",\n      \"command\": \"bruin\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n",[372],{"type":37,"tag":106,"props":373,"children":374},{"__ignoreMap":7},[375,382,390,397,405,412,419,426,433],{"type":37,"tag":110,"props":376,"children":377},{"class":112,"line":113},[378],{"type":37,"tag":110,"props":379,"children":380},{},[381],{"type":43,"value":230},{"type":37,"tag":110,"props":383,"children":384},{"class":112,"line":233},[385],{"type":37,"tag":110,"props":386,"children":387},{},[388],{"type":43,"value":389},"  \"servers\": {\n",{"type":37,"tag":110,"props":391,"children":392},{"class":112,"line":11},[393],{"type":37,"tag":110,"props":394,"children":395},{},[396],{"type":43,"value":247},{"type":37,"tag":110,"props":398,"children":399},{"class":112,"line":250},[400],{"type":37,"tag":110,"props":401,"children":402},{},[403],{"type":43,"value":404},"      \"type\": \"stdio\",\n",{"type":37,"tag":110,"props":406,"children":407},{"class":112,"line":259},[408],{"type":37,"tag":110,"props":409,"children":410},{},[411],{"type":43,"value":256},{"type":37,"tag":110,"props":413,"children":414},{"class":112,"line":268},[415],{"type":37,"tag":110,"props":416,"children":417},{},[418],{"type":43,"value":265},{"type":37,"tag":110,"props":420,"children":421},{"class":112,"line":277},[422],{"type":37,"tag":110,"props":423,"children":424},{},[425],{"type":43,"value":274},{"type":37,"tag":110,"props":427,"children":428},{"class":112,"line":286},[429],{"type":37,"tag":110,"props":430,"children":431},{},[432],{"type":43,"value":283},{"type":37,"tag":110,"props":434,"children":436},{"class":112,"line":435},9,[437],{"type":37,"tag":110,"props":438,"children":439},{},[440],{"type":43,"value":292},{"type":37,"tag":46,"props":442,"children":443},{},[444,446,452,454,460,462,467,469,474,476,482],{"type":43,"value":445},"Alternatively, open the Command Palette (",{"type":37,"tag":106,"props":447,"children":449},{"className":448},[],[450],{"type":43,"value":451},"Cmd+Shift+P",{"type":43,"value":453}," / ",{"type":37,"tag":106,"props":455,"children":457},{"className":456},[],[458],{"type":43,"value":459},"Ctrl+Shift+P",{"type":43,"value":461},"), select ",{"type":37,"tag":207,"props":463,"children":464},{},[465],{"type":43,"value":466},"Add MCP",{"type":43,"value":468},", choose ",{"type":37,"tag":207,"props":470,"children":471},{},[472],{"type":43,"value":473},"Command (stdio)",{"type":43,"value":475},", enter ",{"type":37,"tag":106,"props":477,"children":479},{"className":478},[],[480],{"type":43,"value":481},"bruin mcp",{"type":43,"value":483},", then restart VS Code.",{"type":37,"tag":78,"props":485,"children":487},{"id":486},"_4-codex-cli",[488],{"type":43,"value":489},"4) Codex CLI",{"type":37,"tag":46,"props":491,"children":492},{},[493,495,501],{"type":43,"value":494},"Add the following to ",{"type":37,"tag":106,"props":496,"children":498},{"className":497},[],[499],{"type":43,"value":500},"~/.codex/config.toml",{"type":43,"value":502},":",{"type":37,"tag":99,"props":504,"children":508},{"className":505,"code":506,"language":507,"meta":7,"style":7},"language-toml shiki shiki-themes github-dark","[mcp_servers.bruin]\ncommand = \"bruin\"\nargs = [\"mcp\"]\n","toml",[509],{"type":37,"tag":106,"props":510,"children":511},{"__ignoreMap":7},[512,520,528],{"type":37,"tag":110,"props":513,"children":514},{"class":112,"line":113},[515],{"type":37,"tag":110,"props":516,"children":517},{},[518],{"type":43,"value":519},"[mcp_servers.bruin]\n",{"type":37,"tag":110,"props":521,"children":522},{"class":112,"line":233},[523],{"type":37,"tag":110,"props":524,"children":525},{},[526],{"type":43,"value":527},"command = \"bruin\"\n",{"type":37,"tag":110,"props":529,"children":530},{"class":112,"line":11},[531],{"type":37,"tag":110,"props":532,"children":533},{},[534],{"type":43,"value":535},"args = [\"mcp\"]\n",{"type":37,"tag":78,"props":537,"children":539},{"id":538},"_5-windows-users",[540],{"type":43,"value":541},"5) Windows users",{"type":37,"tag":46,"props":543,"children":544},{},[545,547,553],{"type":43,"value":546},"On Windows, you may need to use the full path to the Bruin executable instead of just ",{"type":37,"tag":106,"props":548,"children":550},{"className":549},[],[551],{"type":43,"value":552},"bruin",{"type":43,"value":554},". Find it by running this in Git Bash:",{"type":37,"tag":99,"props":556,"children":558},{"className":101,"code":557,"language":103,"meta":7,"style":7},"which bruin\n",[559],{"type":37,"tag":106,"props":560,"children":561},{"__ignoreMap":7},[562],{"type":37,"tag":110,"props":563,"children":564},{"class":112,"line":113},[565,570],{"type":37,"tag":110,"props":566,"children":567},{"style":139},[568],{"type":43,"value":569},"which",{"type":37,"tag":110,"props":571,"children":572},{"style":123},[573],{"type":43,"value":574}," bruin\n",{"type":37,"tag":46,"props":576,"children":577},{},[578,580,586,588,594],{"type":43,"value":579},"Then replace ",{"type":37,"tag":106,"props":581,"children":583},{"className":582},[],[584],{"type":43,"value":585},"\"bruin\"",{"type":43,"value":587}," with the full path (e.g. ",{"type":37,"tag":106,"props":589,"children":591},{"className":590},[],[592],{"type":43,"value":593},"\"/c/Users/you/.local/bin/bruin\"",{"type":43,"value":595},") in the MCP configuration for your tool.",{"type":37,"tag":38,"props":597,"children":599},{"id":598},"what-just-happened",[600],{"type":43,"value":601},"What just happened",{"type":37,"tag":46,"props":603,"children":604},{},[605],{"type":43,"value":606},"Your AI coding assistant is now connected to Bruin. It can query your data, inspect pipeline structure, run commands, and look up Bruin documentation. You're fully set up and ready to start building pipelines.",{"type":37,"tag":608,"props":609,"children":610},"style",{},[611],{"type":43,"value":612},"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);}",{"title":7,"searchDepth":233,"depth":233,"links":614},[615,616,617,624],{"id":40,"depth":233,"text":44},{"id":53,"depth":233,"text":56},{"id":73,"depth":233,"text":76,"children":618},[619,620,621,622,623],{"id":80,"depth":11,"text":83},{"id":197,"depth":11,"text":200},{"id":300,"depth":11,"text":303},{"id":486,"depth":11,"text":489},{"id":538,"depth":11,"text":541},{"id":598,"depth":233,"text":601},"markdown","content:tutorials:install-bruin:setup-mcp.md","content","tutorials/install-bruin/setup-mcp.md","tutorials/install-bruin/setup-mcp","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":632,"difficulty":17,"module":5,"step":11,"subSteps":18,"learnMore":633,"author":637,"body":638,"_type":625,"_id":626,"_source":627,"_file":628,"_stem":629,"_extension":630},[14,15,16],[634,635,636],{"label":21,"url":22},{"label":24,"url":25},{"label":27,"url":28},{"name":30,"role":31,"image":32},{"type":34,"children":639,"toc":1088},[640,644,648,652,656,663,667,671,677,681,718,722,726,733,743,752,756,765,827,831,835,845,887,956,988,992,1002,1029,1033,1043,1060,1076,1080,1084],{"type":37,"tag":38,"props":641,"children":642},{"id":40},[643],{"type":43,"value":44},{"type":37,"tag":46,"props":645,"children":646},{},[647],{"type":43,"value":50},{"type":37,"tag":38,"props":649,"children":650},{"id":53},[651],{"type":43,"value":56},{"type":37,"tag":46,"props":653,"children":654},{},[655],{"type":43,"value":61},{"type":37,"tag":63,"props":657,"children":658},{},[659],{"type":37,"tag":46,"props":660,"children":661},{},[662],{"type":43,"value":70},{"type":37,"tag":38,"props":664,"children":665},{"id":73},[666],{"type":43,"value":76},{"type":37,"tag":78,"props":668,"children":669},{"id":80},[670],{"type":43,"value":83},{"type":37,"tag":46,"props":672,"children":673},{},[674],{"type":37,"tag":88,"props":675,"children":676},{"alt":90,"src":91},[],{"type":37,"tag":46,"props":678,"children":679},{},[680],{"type":43,"value":97},{"type":37,"tag":99,"props":682,"children":683},{"className":101,"code":102,"language":103,"meta":7,"style":7},[684],{"type":37,"tag":106,"props":685,"children":686},{"__ignoreMap":7},[687],{"type":37,"tag":110,"props":688,"children":689},{"class":112,"line":113},[690,694,698,702,706,710,714],{"type":37,"tag":110,"props":691,"children":692},{"style":117},[693],{"type":43,"value":120},{"type":37,"tag":110,"props":695,"children":696},{"style":123},[697],{"type":43,"value":126},{"type":37,"tag":110,"props":699,"children":700},{"style":123},[701],{"type":43,"value":131},{"type":37,"tag":110,"props":703,"children":704},{"style":123},[705],{"type":43,"value":136},{"type":37,"tag":110,"props":707,"children":708},{"style":139},[709],{"type":43,"value":142},{"type":37,"tag":110,"props":711,"children":712},{"style":123},[713],{"type":43,"value":136},{"type":37,"tag":110,"props":715,"children":716},{"style":123},[717],{"type":43,"value":151},{"type":37,"tag":46,"props":719,"children":720},{},[721],{"type":43,"value":156},{"type":37,"tag":46,"props":723,"children":724},{},[725],{"type":43,"value":161},{"type":37,"tag":163,"props":727,"children":728},{},[729],{"type":37,"tag":46,"props":730,"children":731},{},[732],{"type":43,"value":170},{"type":37,"tag":46,"props":734,"children":735},{},[736,737,742],{"type":43,"value":175},{"type":37,"tag":106,"props":738,"children":740},{"className":739},[],[741],{"type":43,"value":181},{"type":43,"value":183},{"type":37,"tag":46,"props":744,"children":745},{},[746,747,751],{"type":43,"value":188},{"type":37,"tag":190,"props":748,"children":749},{"href":25},[750],{"type":43,"value":24},{"type":43,"value":183},{"type":37,"tag":78,"props":753,"children":754},{"id":197},[755],{"type":43,"value":200},{"type":37,"tag":46,"props":757,"children":758},{},[759,760,764],{"type":43,"value":205},{"type":37,"tag":207,"props":761,"children":762},{},[763],{"type":43,"value":211},{"type":43,"value":213},{"type":37,"tag":99,"props":766,"children":767},{"className":216,"code":217,"language":218,"meta":7,"style":7},[768],{"type":37,"tag":106,"props":769,"children":770},{"__ignoreMap":7},[771,778,785,792,799,806,813,820],{"type":37,"tag":110,"props":772,"children":773},{"class":112,"line":113},[774],{"type":37,"tag":110,"props":775,"children":776},{},[777],{"type":43,"value":230},{"type":37,"tag":110,"props":779,"children":780},{"class":112,"line":233},[781],{"type":37,"tag":110,"props":782,"children":783},{},[784],{"type":43,"value":239},{"type":37,"tag":110,"props":786,"children":787},{"class":112,"line":11},[788],{"type":37,"tag":110,"props":789,"children":790},{},[791],{"type":43,"value":247},{"type":37,"tag":110,"props":793,"children":794},{"class":112,"line":250},[795],{"type":37,"tag":110,"props":796,"children":797},{},[798],{"type":43,"value":256},{"type":37,"tag":110,"props":800,"children":801},{"class":112,"line":259},[802],{"type":37,"tag":110,"props":803,"children":804},{},[805],{"type":43,"value":265},{"type":37,"tag":110,"props":807,"children":808},{"class":112,"line":268},[809],{"type":37,"tag":110,"props":810,"children":811},{},[812],{"type":43,"value":274},{"type":37,"tag":110,"props":814,"children":815},{"class":112,"line":277},[816],{"type":37,"tag":110,"props":817,"children":818},{},[819],{"type":43,"value":283},{"type":37,"tag":110,"props":821,"children":822},{"class":112,"line":286},[823],{"type":37,"tag":110,"props":824,"children":825},{},[826],{"type":43,"value":292},{"type":37,"tag":46,"props":828,"children":829},{},[830],{"type":43,"value":297},{"type":37,"tag":78,"props":832,"children":833},{"id":300},[834],{"type":43,"value":303},{"type":37,"tag":46,"props":836,"children":837},{},[838,839,844],{"type":43,"value":308},{"type":37,"tag":106,"props":840,"children":842},{"className":841},[],[843],{"type":43,"value":314},{"type":43,"value":316},{"type":37,"tag":318,"props":846,"children":847},{},[848,861,874],{"type":37,"tag":322,"props":849,"children":850},{},[851,855,856],{"type":37,"tag":207,"props":852,"children":853},{},[854],{"type":43,"value":329},{"type":43,"value":331},{"type":37,"tag":106,"props":857,"children":859},{"className":858},[],[860],{"type":43,"value":337},{"type":37,"tag":322,"props":862,"children":863},{},[864,868,869],{"type":37,"tag":207,"props":865,"children":866},{},[867],{"type":43,"value":345},{"type":43,"value":331},{"type":37,"tag":106,"props":870,"children":872},{"className":871},[],[873],{"type":43,"value":352},{"type":37,"tag":322,"props":875,"children":876},{},[877,881,882],{"type":37,"tag":207,"props":878,"children":879},{},[880],{"type":43,"value":360},{"type":43,"value":331},{"type":37,"tag":106,"props":883,"children":885},{"className":884},[],[886],{"type":43,"value":367},{"type":37,"tag":99,"props":888,"children":889},{"className":216,"code":370,"language":218,"meta":7,"style":7},[890],{"type":37,"tag":106,"props":891,"children":892},{"__ignoreMap":7},[893,900,907,914,921,928,935,942,949],{"type":37,"tag":110,"props":894,"children":895},{"class":112,"line":113},[896],{"type":37,"tag":110,"props":897,"children":898},{},[899],{"type":43,"value":230},{"type":37,"tag":110,"props":901,"children":902},{"class":112,"line":233},[903],{"type":37,"tag":110,"props":904,"children":905},{},[906],{"type":43,"value":389},{"type":37,"tag":110,"props":908,"children":909},{"class":112,"line":11},[910],{"type":37,"tag":110,"props":911,"children":912},{},[913],{"type":43,"value":247},{"type":37,"tag":110,"props":915,"children":916},{"class":112,"line":250},[917],{"type":37,"tag":110,"props":918,"children":919},{},[920],{"type":43,"value":404},{"type":37,"tag":110,"props":922,"children":923},{"class":112,"line":259},[924],{"type":37,"tag":110,"props":925,"children":926},{},[927],{"type":43,"value":256},{"type":37,"tag":110,"props":929,"children":930},{"class":112,"line":268},[931],{"type":37,"tag":110,"props":932,"children":933},{},[934],{"type":43,"value":265},{"type":37,"tag":110,"props":936,"children":937},{"class":112,"line":277},[938],{"type":37,"tag":110,"props":939,"children":940},{},[941],{"type":43,"value":274},{"type":37,"tag":110,"props":943,"children":944},{"class":112,"line":286},[945],{"type":37,"tag":110,"props":946,"children":947},{},[948],{"type":43,"value":283},{"type":37,"tag":110,"props":950,"children":951},{"class":112,"line":435},[952],{"type":37,"tag":110,"props":953,"children":954},{},[955],{"type":43,"value":292},{"type":37,"tag":46,"props":957,"children":958},{},[959,960,965,966,971,972,976,977,981,982,987],{"type":43,"value":445},{"type":37,"tag":106,"props":961,"children":963},{"className":962},[],[964],{"type":43,"value":451},{"type":43,"value":453},{"type":37,"tag":106,"props":967,"children":969},{"className":968},[],[970],{"type":43,"value":459},{"type":43,"value":461},{"type":37,"tag":207,"props":973,"children":974},{},[975],{"type":43,"value":466},{"type":43,"value":468},{"type":37,"tag":207,"props":978,"children":979},{},[980],{"type":43,"value":473},{"type":43,"value":475},{"type":37,"tag":106,"props":983,"children":985},{"className":984},[],[986],{"type":43,"value":481},{"type":43,"value":483},{"type":37,"tag":78,"props":989,"children":990},{"id":486},[991],{"type":43,"value":489},{"type":37,"tag":46,"props":993,"children":994},{},[995,996,1001],{"type":43,"value":494},{"type":37,"tag":106,"props":997,"children":999},{"className":998},[],[1000],{"type":43,"value":500},{"type":43,"value":502},{"type":37,"tag":99,"props":1003,"children":1004},{"className":505,"code":506,"language":507,"meta":7,"style":7},[1005],{"type":37,"tag":106,"props":1006,"children":1007},{"__ignoreMap":7},[1008,1015,1022],{"type":37,"tag":110,"props":1009,"children":1010},{"class":112,"line":113},[1011],{"type":37,"tag":110,"props":1012,"children":1013},{},[1014],{"type":43,"value":519},{"type":37,"tag":110,"props":1016,"children":1017},{"class":112,"line":233},[1018],{"type":37,"tag":110,"props":1019,"children":1020},{},[1021],{"type":43,"value":527},{"type":37,"tag":110,"props":1023,"children":1024},{"class":112,"line":11},[1025],{"type":37,"tag":110,"props":1026,"children":1027},{},[1028],{"type":43,"value":535},{"type":37,"tag":78,"props":1030,"children":1031},{"id":538},[1032],{"type":43,"value":541},{"type":37,"tag":46,"props":1034,"children":1035},{},[1036,1037,1042],{"type":43,"value":546},{"type":37,"tag":106,"props":1038,"children":1040},{"className":1039},[],[1041],{"type":43,"value":552},{"type":43,"value":554},{"type":37,"tag":99,"props":1044,"children":1045},{"className":101,"code":557,"language":103,"meta":7,"style":7},[1046],{"type":37,"tag":106,"props":1047,"children":1048},{"__ignoreMap":7},[1049],{"type":37,"tag":110,"props":1050,"children":1051},{"class":112,"line":113},[1052,1056],{"type":37,"tag":110,"props":1053,"children":1054},{"style":139},[1055],{"type":43,"value":569},{"type":37,"tag":110,"props":1057,"children":1058},{"style":123},[1059],{"type":43,"value":574},{"type":37,"tag":46,"props":1061,"children":1062},{},[1063,1064,1069,1070,1075],{"type":43,"value":579},{"type":37,"tag":106,"props":1065,"children":1067},{"className":1066},[],[1068],{"type":43,"value":585},{"type":43,"value":587},{"type":37,"tag":106,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":43,"value":593},{"type":43,"value":595},{"type":37,"tag":38,"props":1077,"children":1078},{"id":598},[1079],{"type":43,"value":601},{"type":37,"tag":46,"props":1081,"children":1082},{},[1083],{"type":43,"value":606},{"type":37,"tag":608,"props":1085,"children":1086},{},[1087],{"type":43,"value":612},{"title":7,"searchDepth":233,"depth":233,"links":1089},[1090,1091,1092,1099],{"id":40,"depth":233,"text":44},{"id":53,"depth":233,"text":56},{"id":73,"depth":233,"text":76,"children":1093},[1094,1095,1096,1097,1098],{"id":80,"depth":11,"text":83},{"id":197,"depth":11,"text":200},{"id":300,"depth":11,"text":303},{"id":486,"depth":11,"text":489},{"id":538,"depth":11,"text":541},{"id":598,"depth":233,"text":601},[1101,1446,1868],{"_path":1102,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1103,"description":1104,"date":10,"readingTime":233,"category":12,"tags":1105,"difficulty":17,"module":5,"step":113,"subSteps":18,"learnMore":1106,"author":1113,"body":1114,"_type":625,"_id":1443,"_source":627,"_file":1444,"_stem":1445,"_extension":630},"/tutorials/install-bruin/install-cli","Install the CLI","Install the Bruin CLI on macOS, Linux, or Windows and verify it's working.",[14],[1107,1110],{"label":1108,"url":1109},"Bruin CLI documentation","https://getbruin.com/docs/bruin/overview.html",{"label":1111,"url":1112},"CLI installation reference","https://getbruin.com/docs/bruin/getting-started/introduction/installation.html",{"name":30,"role":31,"image":32},{"type":34,"children":1115,"toc":1433},[1116,1120,1125,1129,1134,1138,1144,1148,1184,1210,1222,1253,1266,1272,1300,1335,1341,1346,1365,1392,1420,1424,1429],{"type":37,"tag":38,"props":1117,"children":1118},{"id":40},[1119],{"type":43,"value":44},{"type":37,"tag":46,"props":1121,"children":1122},{},[1123],{"type":43,"value":1124},"Install the Bruin CLI on your machine and verify it's ready to use.",{"type":37,"tag":38,"props":1126,"children":1127},{"id":53},[1128],{"type":43,"value":56},{"type":37,"tag":46,"props":1130,"children":1131},{},[1132],{"type":43,"value":1133},"The Bruin CLI is the core tool for creating projects, running pipelines, managing connections, and querying data. Everything else in Bruin builds on it.",{"type":37,"tag":38,"props":1135,"children":1136},{"id":73},[1137],{"type":43,"value":76},{"type":37,"tag":78,"props":1139,"children":1141},{"id":1140},"_1-install-the-cli",[1142],{"type":43,"value":1143},"1) Install the CLI",{"type":37,"tag":46,"props":1145,"children":1146},{},[1147],{"type":43,"value":97},{"type":37,"tag":99,"props":1149,"children":1151},{"className":101,"code":1150,"language":103,"meta":7,"style":7},"curl -LsSf https://getbruin.com/install/cli | sh\n",[1152],{"type":37,"tag":106,"props":1153,"children":1154},{"__ignoreMap":7},[1155],{"type":37,"tag":110,"props":1156,"children":1157},{"class":112,"line":113},[1158,1163,1168,1173,1179],{"type":37,"tag":110,"props":1159,"children":1160},{"style":117},[1161],{"type":43,"value":1162},"curl",{"type":37,"tag":110,"props":1164,"children":1165},{"style":139},[1166],{"type":43,"value":1167}," -LsSf",{"type":37,"tag":110,"props":1169,"children":1170},{"style":123},[1171],{"type":43,"value":1172}," https://getbruin.com/install/cli",{"type":37,"tag":110,"props":1174,"children":1176},{"style":1175},"--shiki-default:#F97583",[1177],{"type":43,"value":1178}," |",{"type":37,"tag":110,"props":1180,"children":1181},{"style":117},[1182],{"type":43,"value":1183}," sh\n",{"type":37,"tag":46,"props":1185,"children":1186},{},[1187,1189,1194,1196,1201,1203,1208],{"type":43,"value":1188},"This works on ",{"type":37,"tag":207,"props":1190,"children":1191},{},[1192],{"type":43,"value":1193},"macOS",{"type":43,"value":1195},", ",{"type":37,"tag":207,"props":1197,"children":1198},{},[1199],{"type":43,"value":1200},"Linux",{"type":43,"value":1202},", and ",{"type":37,"tag":207,"props":1204,"children":1205},{},[1206],{"type":43,"value":1207},"Windows",{"type":43,"value":1209}," (via Git Bash or WSL).",{"type":37,"tag":46,"props":1211,"children":1212},{},[1213,1215,1221],{"type":43,"value":1214},"If you prefer ",{"type":37,"tag":106,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":43,"value":1220},"wget",{"type":43,"value":502},{"type":37,"tag":99,"props":1223,"children":1225},{"className":101,"code":1224,"language":103,"meta":7,"style":7},"wget -qO- https://getbruin.com/install/cli | sh\n",[1226],{"type":37,"tag":106,"props":1227,"children":1228},{"__ignoreMap":7},[1229],{"type":37,"tag":110,"props":1230,"children":1231},{"class":112,"line":113},[1232,1236,1241,1245,1249],{"type":37,"tag":110,"props":1233,"children":1234},{"style":117},[1235],{"type":43,"value":1220},{"type":37,"tag":110,"props":1237,"children":1238},{"style":139},[1239],{"type":43,"value":1240}," -qO-",{"type":37,"tag":110,"props":1242,"children":1243},{"style":123},[1244],{"type":43,"value":1172},{"type":37,"tag":110,"props":1246,"children":1247},{"style":1175},[1248],{"type":43,"value":1178},{"type":37,"tag":110,"props":1250,"children":1251},{"style":117},[1252],{"type":43,"value":1183},{"type":37,"tag":63,"props":1254,"children":1255},{},[1256],{"type":37,"tag":46,"props":1257,"children":1258},{},[1259,1264],{"type":37,"tag":207,"props":1260,"children":1261},{},[1262],{"type":43,"value":1263},"Windows users:",{"type":43,"value":1265}," Make sure to run the command in Git Bash or WSL, not PowerShell or Command Prompt.",{"type":37,"tag":78,"props":1267,"children":1269},{"id":1268},"_2-fix-permission-issues-if-needed",[1270],{"type":43,"value":1271},"2) Fix permission issues (if needed)",{"type":37,"tag":46,"props":1273,"children":1274},{},[1275,1277,1283,1285,1291,1293,1299],{"type":43,"value":1276},"If you see a ",{"type":37,"tag":106,"props":1278,"children":1280},{"className":1279},[],[1281],{"type":43,"value":1282},"Permission Denied",{"type":43,"value":1284}," error, your user doesn't have write access to ",{"type":37,"tag":106,"props":1286,"children":1288},{"className":1287},[],[1289],{"type":43,"value":1290},"~/.local/bin",{"type":43,"value":1292},". Run with ",{"type":37,"tag":106,"props":1294,"children":1296},{"className":1295},[],[1297],{"type":43,"value":1298},"sudo",{"type":43,"value":502},{"type":37,"tag":99,"props":1301,"children":1303},{"className":101,"code":1302,"language":103,"meta":7,"style":7},"curl -LsSf https://getbruin.com/install/cli | sudo sh\n",[1304],{"type":37,"tag":106,"props":1305,"children":1306},{"__ignoreMap":7},[1307],{"type":37,"tag":110,"props":1308,"children":1309},{"class":112,"line":113},[1310,1314,1318,1322,1326,1331],{"type":37,"tag":110,"props":1311,"children":1312},{"style":117},[1313],{"type":43,"value":1162},{"type":37,"tag":110,"props":1315,"children":1316},{"style":139},[1317],{"type":43,"value":1167},{"type":37,"tag":110,"props":1319,"children":1320},{"style":123},[1321],{"type":43,"value":1172},{"type":37,"tag":110,"props":1323,"children":1324},{"style":1175},[1325],{"type":43,"value":1178},{"type":37,"tag":110,"props":1327,"children":1328},{"style":117},[1329],{"type":43,"value":1330}," sudo",{"type":37,"tag":110,"props":1332,"children":1333},{"style":123},[1334],{"type":43,"value":1183},{"type":37,"tag":78,"props":1336,"children":1338},{"id":1337},"_3-verify-the-installation",[1339],{"type":43,"value":1340},"3) Verify the installation",{"type":37,"tag":46,"props":1342,"children":1343},{},[1344],{"type":43,"value":1345},"Check that Bruin is installed and accessible:",{"type":37,"tag":99,"props":1347,"children":1349},{"className":101,"code":1348,"language":103,"meta":7,"style":7},"bruin version\n",[1350],{"type":37,"tag":106,"props":1351,"children":1352},{"__ignoreMap":7},[1353],{"type":37,"tag":110,"props":1354,"children":1355},{"class":112,"line":113},[1356,1360],{"type":37,"tag":110,"props":1357,"children":1358},{"style":117},[1359],{"type":43,"value":552},{"type":37,"tag":110,"props":1361,"children":1362},{"style":123},[1363],{"type":43,"value":1364}," version\n",{"type":37,"tag":46,"props":1366,"children":1367},{},[1368,1370,1376,1378,1383,1385,1391],{"type":43,"value":1369},"You should see a version number printed. If you get ",{"type":37,"tag":106,"props":1371,"children":1373},{"className":1372},[],[1374],{"type":43,"value":1375},"command not found",{"type":43,"value":1377},", make sure ",{"type":37,"tag":106,"props":1379,"children":1381},{"className":1380},[],[1382],{"type":43,"value":1290},{"type":43,"value":1384}," is in your ",{"type":37,"tag":106,"props":1386,"children":1388},{"className":1387},[],[1389],{"type":43,"value":1390},"PATH",{"type":43,"value":183},{"type":37,"tag":63,"props":1393,"children":1394},{},[1395],{"type":37,"tag":46,"props":1396,"children":1397},{},[1398,1403,1405,1411,1413,1418],{"type":37,"tag":207,"props":1399,"children":1400},{},[1401],{"type":43,"value":1402},"Homebrew users:",{"type":43,"value":1404}," The Homebrew installation method is deprecated. If you previously installed Bruin via Homebrew, uninstall it first with ",{"type":37,"tag":106,"props":1406,"children":1408},{"className":1407},[],[1409],{"type":43,"value":1410},"brew uninstall bruin",{"type":43,"value":1412},", then use the ",{"type":37,"tag":106,"props":1414,"children":1416},{"className":1415},[],[1417],{"type":43,"value":1162},{"type":43,"value":1419}," command above.",{"type":37,"tag":38,"props":1421,"children":1422},{"id":598},[1423],{"type":43,"value":601},{"type":37,"tag":46,"props":1425,"children":1426},{},[1427],{"type":43,"value":1428},"You installed the Bruin CLI. It's now available in your terminal for creating projects, running pipelines, and managing connections. Next, you'll install the VS Code extension for a visual development experience.",{"type":37,"tag":608,"props":1430,"children":1431},{},[1432],{"type":43,"value":612},{"title":7,"searchDepth":233,"depth":233,"links":1434},[1435,1436,1437,1442],{"id":40,"depth":233,"text":44},{"id":53,"depth":233,"text":56},{"id":73,"depth":233,"text":76,"children":1438},[1439,1440,1441],{"id":1140,"depth":11,"text":1143},{"id":1268,"depth":11,"text":1271},{"id":1337,"depth":11,"text":1340},{"id":598,"depth":233,"text":601},"content:tutorials:install-bruin:install-cli.md","tutorials/install-bruin/install-cli.md","tutorials/install-bruin/install-cli",{"_path":1447,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1448,"description":1449,"date":10,"readingTime":11,"category":12,"tags":1450,"difficulty":17,"module":5,"step":233,"subSteps":18,"learnMore":1452,"author":1456,"body":1457,"_type":625,"_id":1865,"_source":627,"_file":1866,"_stem":1867,"_extension":630},"/tutorials/install-bruin/install-extension","VS Code Extension","Install the Bruin VS Code extension and explore its key features for visual pipeline development.",[14,1451],"VS Code",[1453],{"label":1454,"url":1455},"VS Code extension docs","https://getbruin.com/docs/bruin/vscode-extension/overview.html",{"name":30,"role":31,"image":32},{"type":34,"children":1458,"toc":1855},[1459,1463,1468,1472,1477,1481,1487,1495,1529,1548,1554,1567,1610,1618,1623,1629,1634,1644,1652,1664,1674,1682,1694,1704,1716,1726,1734,1744,1756,1766,1774,1786,1796,1804,1816,1826,1834,1846,1850],{"type":37,"tag":38,"props":1460,"children":1461},{"id":40},[1462],{"type":43,"value":44},{"type":37,"tag":46,"props":1464,"children":1465},{},[1466],{"type":43,"value":1467},"Install the Bruin VS Code extension and learn what it can do.",{"type":37,"tag":38,"props":1469,"children":1470},{"id":53},[1471],{"type":43,"value":56},{"type":37,"tag":46,"props":1473,"children":1474},{},[1475],{"type":43,"value":1476},"The VS Code extension turns your editor into a full pipeline development environment. Instead of switching between the terminal, a database client, and a diagramming tool, you get everything in one place.",{"type":37,"tag":38,"props":1478,"children":1479},{"id":73},[1480],{"type":43,"value":76},{"type":37,"tag":78,"props":1482,"children":1484},{"id":1483},"_1-install-the-extension",[1485],{"type":43,"value":1486},"1) Install the extension",{"type":37,"tag":46,"props":1488,"children":1489},{},[1490],{"type":37,"tag":88,"props":1491,"children":1494},{"alt":1492,"src":1493},"Bruin extension in VS Code marketplace","/img/learn/tutorials/vscode-marketplace.png",[],{"type":37,"tag":46,"props":1496,"children":1497},{},[1498,1500,1506,1508,1514,1516,1521,1523,1528],{"type":43,"value":1499},"Open VS Code and go to the Extensions panel (",{"type":37,"tag":106,"props":1501,"children":1503},{"className":1502},[],[1504],{"type":43,"value":1505},"Cmd+Shift+X",{"type":43,"value":1507}," on Mac, ",{"type":37,"tag":106,"props":1509,"children":1511},{"className":1510},[],[1512],{"type":43,"value":1513},"Ctrl+Shift+X",{"type":43,"value":1515}," on Windows/Linux). Search for ",{"type":37,"tag":207,"props":1517,"children":1518},{},[1519],{"type":43,"value":1520},"Bruin",{"type":43,"value":1522}," and click ",{"type":37,"tag":207,"props":1524,"children":1525},{},[1526],{"type":43,"value":1527},"Install",{"type":43,"value":183},{"type":37,"tag":46,"props":1530,"children":1531},{},[1532,1534,1539,1541,1546],{"type":43,"value":1533},"The extension activates automatically when you open a folder containing a ",{"type":37,"tag":106,"props":1535,"children":1537},{"className":1536},[],[1538],{"type":43,"value":181},{"type":43,"value":1540}," file. You'll see a ",{"type":37,"tag":207,"props":1542,"children":1543},{},[1544],{"type":43,"value":1545},"Bruin icon",{"type":43,"value":1547}," in the sidebar.",{"type":37,"tag":78,"props":1549,"children":1551},{"id":1550},"_2-verify-its-working",[1552],{"type":43,"value":1553},"2) Verify it's working",{"type":37,"tag":46,"props":1555,"children":1556},{},[1557,1559,1565],{"type":43,"value":1558},"Open a Bruin project folder in VS Code (or create one with ",{"type":37,"tag":106,"props":1560,"children":1562},{"className":1561},[],[1563],{"type":43,"value":1564},"bruin init chess",{"type":43,"value":1566}," in the terminal first). You should see:",{"type":37,"tag":318,"props":1568,"children":1569},{},[1570,1581,1599],{"type":37,"tag":322,"props":1571,"children":1572},{},[1573,1575,1579],{"type":43,"value":1574},"The ",{"type":37,"tag":207,"props":1576,"children":1577},{},[1578],{"type":43,"value":1545},{"type":43,"value":1580}," in the left sidebar",{"type":37,"tag":322,"props":1582,"children":1583},{},[1584,1589,1591,1597],{"type":37,"tag":207,"props":1585,"children":1586},{},[1587],{"type":43,"value":1588},"Syntax highlighting",{"type":43,"value":1590}," in ",{"type":37,"tag":106,"props":1592,"children":1594},{"className":1593},[],[1595],{"type":43,"value":1596},".asset.yml",{"type":43,"value":1598}," and Bruin SQL files",{"type":37,"tag":322,"props":1600,"children":1601},{},[1602,1603,1608],{"type":43,"value":1574},{"type":37,"tag":207,"props":1604,"children":1605},{},[1606],{"type":43,"value":1607},"Bruin panel",{"type":43,"value":1609}," when you click the sidebar icon",{"type":37,"tag":46,"props":1611,"children":1612},{},[1613],{"type":37,"tag":88,"props":1614,"children":1617},{"alt":1615,"src":1616},"Syntax highlighting for Bruin assets","/img/learn/tutorials/vscode-syntax-highlighting.png",[],{"type":37,"tag":46,"props":1619,"children":1620},{},[1621],{"type":43,"value":1622},"If you don't have a project yet, don't worry - you'll create one in the next Getting Started step.",{"type":37,"tag":78,"props":1624,"children":1626},{"id":1625},"_3-explore-the-features",[1627],{"type":43,"value":1628},"3) Explore the features",{"type":37,"tag":46,"props":1630,"children":1631},{},[1632],{"type":43,"value":1633},"Here's what the extension gives you and where to learn more about each feature:",{"type":37,"tag":46,"props":1635,"children":1636},{},[1637,1642],{"type":37,"tag":207,"props":1638,"children":1639},{},[1640],{"type":43,"value":1641},"Run pipelines visually",{"type":43,"value":1643}," — Set start and end dates, run the whole pipeline or individual assets, and see progress in the output panel. You can also select specific assets and run them with downstream dependencies.",{"type":37,"tag":46,"props":1645,"children":1646},{},[1647],{"type":37,"tag":88,"props":1648,"children":1651},{"alt":1649,"src":1650},"Run pipelines from VS Code","/img/learn/tutorials/vscode-action-buttons.gif",[],{"type":37,"tag":318,"props":1653,"children":1654},{},[1655],{"type":37,"tag":322,"props":1656,"children":1657},{},[1658],{"type":37,"tag":190,"props":1659,"children":1661},{"href":1660},"/learn/bruin-multi-asset-run",[1662],{"type":43,"value":1663},"Run Multiple Specific Assets",{"type":37,"tag":46,"props":1665,"children":1666},{},[1667,1672],{"type":37,"tag":207,"props":1668,"children":1669},{},[1670],{"type":43,"value":1671},"View data lineage",{"type":43,"value":1673}," — Open any asset file and click Lineage to see a visual graph of upstream and downstream dependencies.",{"type":37,"tag":46,"props":1675,"children":1676},{},[1677],{"type":37,"tag":88,"props":1678,"children":1681},{"alt":1679,"src":1680},"Pipeline lineage view","/img/learn/tutorials/vscode-lineage.gif",[],{"type":37,"tag":318,"props":1683,"children":1684},{},[1685],{"type":37,"tag":322,"props":1686,"children":1687},{},[1688],{"type":37,"tag":190,"props":1689,"children":1691},{"href":1690},"/learn/bruin-fill-dependencies",[1692],{"type":43,"value":1693},"Auto-Generate Asset Dependencies",{"type":37,"tag":46,"props":1695,"children":1696},{},[1697,1702],{"type":37,"tag":207,"props":1698,"children":1699},{},[1700],{"type":43,"value":1701},"Query databases",{"type":43,"value":1703}," — Browse tables, view schemas, and run queries across all your connections directly in VS Code - no need for external database clients.",{"type":37,"tag":318,"props":1705,"children":1706},{},[1707],{"type":37,"tag":322,"props":1708,"children":1709},{},[1710],{"type":37,"tag":190,"props":1711,"children":1713},{"href":1712},"/learn/bruin-database-viewer",[1714],{"type":43,"value":1715},"Query Databases from Your IDE",{"type":37,"tag":46,"props":1717,"children":1718},{},[1719,1724],{"type":37,"tag":207,"props":1720,"children":1721},{},[1722],{"type":43,"value":1723},"Preview SQL queries",{"type":43,"value":1725}," — Open a SQL asset and click the play icon to run the query and see results in a formatted table, right inside the editor.",{"type":37,"tag":46,"props":1727,"children":1728},{},[1729],{"type":37,"tag":88,"props":1730,"children":1733},{"alt":1731,"src":1732},"Query preview in VS Code","/img/learn/tutorials/vscode-query-preview.gif",[],{"type":37,"tag":46,"props":1735,"children":1736},{},[1737,1742],{"type":37,"tag":207,"props":1738,"children":1739},{},[1740],{"type":43,"value":1741},"Browse run history",{"type":43,"value":1743}," — Review past pipeline runs, see which assets succeeded or failed, copy commands, and re-run previous executions.",{"type":37,"tag":318,"props":1745,"children":1746},{},[1747],{"type":37,"tag":322,"props":1748,"children":1749},{},[1750],{"type":37,"tag":190,"props":1751,"children":1753},{"href":1752},"/learn/bruin-run-history",[1754],{"type":43,"value":1755},"Navigate Your Run History",{"type":37,"tag":46,"props":1757,"children":1758},{},[1759,1764],{"type":37,"tag":207,"props":1760,"children":1761},{},[1762],{"type":43,"value":1763},"Auto-generate schemas",{"type":43,"value":1765}," — Pull column names and data types from your database into your asset definitions automatically.",{"type":37,"tag":46,"props":1767,"children":1768},{},[1769],{"type":37,"tag":88,"props":1770,"children":1773},{"alt":1771,"src":1772},"Auto-generate column schema","/img/learn/tutorials/vscode-manage-columns.gif",[],{"type":37,"tag":318,"props":1775,"children":1776},{},[1777],{"type":37,"tag":322,"props":1778,"children":1779},{},[1780],{"type":37,"tag":190,"props":1781,"children":1783},{"href":1782},"/learn/bruin-generate-schema",[1784],{"type":43,"value":1785},"Auto-Generate Column Schema",{"type":37,"tag":46,"props":1787,"children":1788},{},[1789,1794],{"type":37,"tag":207,"props":1790,"children":1791},{},[1792],{"type":43,"value":1793},"Validate pipelines",{"type":43,"value":1795}," — Check configurations, asset definitions, SQL syntax, and dependency issues before deploying.",{"type":37,"tag":46,"props":1797,"children":1798},{},[1799],{"type":37,"tag":88,"props":1800,"children":1803},{"alt":1801,"src":1802},"Validate pipeline","/img/learn/tutorials/validate.gif",[],{"type":37,"tag":318,"props":1805,"children":1806},{},[1807],{"type":37,"tag":322,"props":1808,"children":1809},{},[1810],{"type":37,"tag":190,"props":1811,"children":1813},{"href":1812},"/learn/bruin-validate",[1814],{"type":43,"value":1815},"Validate Pipelines Before Deploying",{"type":37,"tag":46,"props":1817,"children":1818},{},[1819,1824],{"type":37,"tag":207,"props":1820,"children":1821},{},[1822],{"type":43,"value":1823},"Understand materialization",{"type":43,"value":1825}," — See how materialization transforms your SQL queries at runtime with the render command.",{"type":37,"tag":46,"props":1827,"children":1828},{},[1829],{"type":37,"tag":88,"props":1830,"children":1833},{"alt":1831,"src":1832},"Render materialized query","/img/learn/tutorials/render.gif",[],{"type":37,"tag":318,"props":1835,"children":1836},{},[1837],{"type":37,"tag":322,"props":1838,"children":1839},{},[1840],{"type":37,"tag":190,"props":1841,"children":1843},{"href":1842},"/learn/bruin-render-assets",[1844],{"type":43,"value":1845},"Understand Materialization with Render",{"type":37,"tag":38,"props":1847,"children":1848},{"id":598},[1849],{"type":43,"value":601},{"type":37,"tag":46,"props":1851,"children":1852},{},[1853],{"type":43,"value":1854},"You installed the Bruin VS Code extension and now know what it can do. Next, you can optionally set up the Bruin MCP to connect an AI coding assistant to your pipelines.",{"title":7,"searchDepth":233,"depth":233,"links":1856},[1857,1858,1859,1864],{"id":40,"depth":233,"text":44},{"id":53,"depth":233,"text":56},{"id":73,"depth":233,"text":76,"children":1860},[1861,1862,1863],{"id":1483,"depth":11,"text":1486},{"id":1550,"depth":11,"text":1553},{"id":1625,"depth":11,"text":1628},{"id":598,"depth":233,"text":601},"content:tutorials:install-bruin:install-extension.md","tutorials/install-bruin/install-extension.md","tutorials/install-bruin/install-extension",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"readingTime":11,"category":12,"tags":1869,"difficulty":17,"module":5,"step":11,"subSteps":18,"learnMore":1870,"author":1874,"body":1875,"_type":625,"_id":626,"_source":627,"_file":628,"_stem":629,"_extension":630},[14,15,16],[1871,1872,1873],{"label":21,"url":22},{"label":24,"url":25},{"label":27,"url":28},{"name":30,"role":31,"image":32},{"type":34,"children":1876,"toc":2325},[1877,1881,1885,1889,1893,1900,1904,1908,1914,1918,1955,1959,1963,1970,1980,1989,1993,2002,2064,2068,2072,2082,2124,2193,2225,2229,2239,2266,2270,2280,2297,2313,2317,2321],{"type":37,"tag":38,"props":1878,"children":1879},{"id":40},[1880],{"type":43,"value":44},{"type":37,"tag":46,"props":1882,"children":1883},{},[1884],{"type":43,"value":50},{"type":37,"tag":38,"props":1886,"children":1887},{"id":53},[1888],{"type":43,"value":56},{"type":37,"tag":46,"props":1890,"children":1891},{},[1892],{"type":43,"value":61},{"type":37,"tag":63,"props":1894,"children":1895},{},[1896],{"type":37,"tag":46,"props":1897,"children":1898},{},[1899],{"type":43,"value":70},{"type":37,"tag":38,"props":1901,"children":1902},{"id":73},[1903],{"type":43,"value":76},{"type":37,"tag":78,"props":1905,"children":1906},{"id":80},[1907],{"type":43,"value":83},{"type":37,"tag":46,"props":1909,"children":1910},{},[1911],{"type":37,"tag":88,"props":1912,"children":1913},{"alt":90,"src":91},[],{"type":37,"tag":46,"props":1915,"children":1916},{},[1917],{"type":43,"value":97},{"type":37,"tag":99,"props":1919,"children":1920},{"className":101,"code":102,"language":103,"meta":7,"style":7},[1921],{"type":37,"tag":106,"props":1922,"children":1923},{"__ignoreMap":7},[1924],{"type":37,"tag":110,"props":1925,"children":1926},{"class":112,"line":113},[1927,1931,1935,1939,1943,1947,1951],{"type":37,"tag":110,"props":1928,"children":1929},{"style":117},[1930],{"type":43,"value":120},{"type":37,"tag":110,"props":1932,"children":1933},{"style":123},[1934],{"type":43,"value":126},{"type":37,"tag":110,"props":1936,"children":1937},{"style":123},[1938],{"type":43,"value":131},{"type":37,"tag":110,"props":1940,"children":1941},{"style":123},[1942],{"type":43,"value":136},{"type":37,"tag":110,"props":1944,"children":1945},{"style":139},[1946],{"type":43,"value":142},{"type":37,"tag":110,"props":1948,"children":1949},{"style":123},[1950],{"type":43,"value":136},{"type":37,"tag":110,"props":1952,"children":1953},{"style":123},[1954],{"type":43,"value":151},{"type":37,"tag":46,"props":1956,"children":1957},{},[1958],{"type":43,"value":156},{"type":37,"tag":46,"props":1960,"children":1961},{},[1962],{"type":43,"value":161},{"type":37,"tag":163,"props":1964,"children":1965},{},[1966],{"type":37,"tag":46,"props":1967,"children":1968},{},[1969],{"type":43,"value":170},{"type":37,"tag":46,"props":1971,"children":1972},{},[1973,1974,1979],{"type":43,"value":175},{"type":37,"tag":106,"props":1975,"children":1977},{"className":1976},[],[1978],{"type":43,"value":181},{"type":43,"value":183},{"type":37,"tag":46,"props":1981,"children":1982},{},[1983,1984,1988],{"type":43,"value":188},{"type":37,"tag":190,"props":1985,"children":1986},{"href":25},[1987],{"type":43,"value":24},{"type":43,"value":183},{"type":37,"tag":78,"props":1990,"children":1991},{"id":197},[1992],{"type":43,"value":200},{"type":37,"tag":46,"props":1994,"children":1995},{},[1996,1997,2001],{"type":43,"value":205},{"type":37,"tag":207,"props":1998,"children":1999},{},[2000],{"type":43,"value":211},{"type":43,"value":213},{"type":37,"tag":99,"props":2003,"children":2004},{"className":216,"code":217,"language":218,"meta":7,"style":7},[2005],{"type":37,"tag":106,"props":2006,"children":2007},{"__ignoreMap":7},[2008,2015,2022,2029,2036,2043,2050,2057],{"type":37,"tag":110,"props":2009,"children":2010},{"class":112,"line":113},[2011],{"type":37,"tag":110,"props":2012,"children":2013},{},[2014],{"type":43,"value":230},{"type":37,"tag":110,"props":2016,"children":2017},{"class":112,"line":233},[2018],{"type":37,"tag":110,"props":2019,"children":2020},{},[2021],{"type":43,"value":239},{"type":37,"tag":110,"props":2023,"children":2024},{"class":112,"line":11},[2025],{"type":37,"tag":110,"props":2026,"children":2027},{},[2028],{"type":43,"value":247},{"type":37,"tag":110,"props":2030,"children":2031},{"class":112,"line":250},[2032],{"type":37,"tag":110,"props":2033,"children":2034},{},[2035],{"type":43,"value":256},{"type":37,"tag":110,"props":2037,"children":2038},{"class":112,"line":259},[2039],{"type":37,"tag":110,"props":2040,"children":2041},{},[2042],{"type":43,"value":265},{"type":37,"tag":110,"props":2044,"children":2045},{"class":112,"line":268},[2046],{"type":37,"tag":110,"props":2047,"children":2048},{},[2049],{"type":43,"value":274},{"type":37,"tag":110,"props":2051,"children":2052},{"class":112,"line":277},[2053],{"type":37,"tag":110,"props":2054,"children":2055},{},[2056],{"type":43,"value":283},{"type":37,"tag":110,"props":2058,"children":2059},{"class":112,"line":286},[2060],{"type":37,"tag":110,"props":2061,"children":2062},{},[2063],{"type":43,"value":292},{"type":37,"tag":46,"props":2065,"children":2066},{},[2067],{"type":43,"value":297},{"type":37,"tag":78,"props":2069,"children":2070},{"id":300},[2071],{"type":43,"value":303},{"type":37,"tag":46,"props":2073,"children":2074},{},[2075,2076,2081],{"type":43,"value":308},{"type":37,"tag":106,"props":2077,"children":2079},{"className":2078},[],[2080],{"type":43,"value":314},{"type":43,"value":316},{"type":37,"tag":318,"props":2083,"children":2084},{},[2085,2098,2111],{"type":37,"tag":322,"props":2086,"children":2087},{},[2088,2092,2093],{"type":37,"tag":207,"props":2089,"children":2090},{},[2091],{"type":43,"value":329},{"type":43,"value":331},{"type":37,"tag":106,"props":2094,"children":2096},{"className":2095},[],[2097],{"type":43,"value":337},{"type":37,"tag":322,"props":2099,"children":2100},{},[2101,2105,2106],{"type":37,"tag":207,"props":2102,"children":2103},{},[2104],{"type":43,"value":345},{"type":43,"value":331},{"type":37,"tag":106,"props":2107,"children":2109},{"className":2108},[],[2110],{"type":43,"value":352},{"type":37,"tag":322,"props":2112,"children":2113},{},[2114,2118,2119],{"type":37,"tag":207,"props":2115,"children":2116},{},[2117],{"type":43,"value":360},{"type":43,"value":331},{"type":37,"tag":106,"props":2120,"children":2122},{"className":2121},[],[2123],{"type":43,"value":367},{"type":37,"tag":99,"props":2125,"children":2126},{"className":216,"code":370,"language":218,"meta":7,"style":7},[2127],{"type":37,"tag":106,"props":2128,"children":2129},{"__ignoreMap":7},[2130,2137,2144,2151,2158,2165,2172,2179,2186],{"type":37,"tag":110,"props":2131,"children":2132},{"class":112,"line":113},[2133],{"type":37,"tag":110,"props":2134,"children":2135},{},[2136],{"type":43,"value":230},{"type":37,"tag":110,"props":2138,"children":2139},{"class":112,"line":233},[2140],{"type":37,"tag":110,"props":2141,"children":2142},{},[2143],{"type":43,"value":389},{"type":37,"tag":110,"props":2145,"children":2146},{"class":112,"line":11},[2147],{"type":37,"tag":110,"props":2148,"children":2149},{},[2150],{"type":43,"value":247},{"type":37,"tag":110,"props":2152,"children":2153},{"class":112,"line":250},[2154],{"type":37,"tag":110,"props":2155,"children":2156},{},[2157],{"type":43,"value":404},{"type":37,"tag":110,"props":2159,"children":2160},{"class":112,"line":259},[2161],{"type":37,"tag":110,"props":2162,"children":2163},{},[2164],{"type":43,"value":256},{"type":37,"tag":110,"props":2166,"children":2167},{"class":112,"line":268},[2168],{"type":37,"tag":110,"props":2169,"children":2170},{},[2171],{"type":43,"value":265},{"type":37,"tag":110,"props":2173,"children":2174},{"class":112,"line":277},[2175],{"type":37,"tag":110,"props":2176,"children":2177},{},[2178],{"type":43,"value":274},{"type":37,"tag":110,"props":2180,"children":2181},{"class":112,"line":286},[2182],{"type":37,"tag":110,"props":2183,"children":2184},{},[2185],{"type":43,"value":283},{"type":37,"tag":110,"props":2187,"children":2188},{"class":112,"line":435},[2189],{"type":37,"tag":110,"props":2190,"children":2191},{},[2192],{"type":43,"value":292},{"type":37,"tag":46,"props":2194,"children":2195},{},[2196,2197,2202,2203,2208,2209,2213,2214,2218,2219,2224],{"type":43,"value":445},{"type":37,"tag":106,"props":2198,"children":2200},{"className":2199},[],[2201],{"type":43,"value":451},{"type":43,"value":453},{"type":37,"tag":106,"props":2204,"children":2206},{"className":2205},[],[2207],{"type":43,"value":459},{"type":43,"value":461},{"type":37,"tag":207,"props":2210,"children":2211},{},[2212],{"type":43,"value":466},{"type":43,"value":468},{"type":37,"tag":207,"props":2215,"children":2216},{},[2217],{"type":43,"value":473},{"type":43,"value":475},{"type":37,"tag":106,"props":2220,"children":2222},{"className":2221},[],[2223],{"type":43,"value":481},{"type":43,"value":483},{"type":37,"tag":78,"props":2226,"children":2227},{"id":486},[2228],{"type":43,"value":489},{"type":37,"tag":46,"props":2230,"children":2231},{},[2232,2233,2238],{"type":43,"value":494},{"type":37,"tag":106,"props":2234,"children":2236},{"className":2235},[],[2237],{"type":43,"value":500},{"type":43,"value":502},{"type":37,"tag":99,"props":2240,"children":2241},{"className":505,"code":506,"language":507,"meta":7,"style":7},[2242],{"type":37,"tag":106,"props":2243,"children":2244},{"__ignoreMap":7},[2245,2252,2259],{"type":37,"tag":110,"props":2246,"children":2247},{"class":112,"line":113},[2248],{"type":37,"tag":110,"props":2249,"children":2250},{},[2251],{"type":43,"value":519},{"type":37,"tag":110,"props":2253,"children":2254},{"class":112,"line":233},[2255],{"type":37,"tag":110,"props":2256,"children":2257},{},[2258],{"type":43,"value":527},{"type":37,"tag":110,"props":2260,"children":2261},{"class":112,"line":11},[2262],{"type":37,"tag":110,"props":2263,"children":2264},{},[2265],{"type":43,"value":535},{"type":37,"tag":78,"props":2267,"children":2268},{"id":538},[2269],{"type":43,"value":541},{"type":37,"tag":46,"props":2271,"children":2272},{},[2273,2274,2279],{"type":43,"value":546},{"type":37,"tag":106,"props":2275,"children":2277},{"className":2276},[],[2278],{"type":43,"value":552},{"type":43,"value":554},{"type":37,"tag":99,"props":2281,"children":2282},{"className":101,"code":557,"language":103,"meta":7,"style":7},[2283],{"type":37,"tag":106,"props":2284,"children":2285},{"__ignoreMap":7},[2286],{"type":37,"tag":110,"props":2287,"children":2288},{"class":112,"line":113},[2289,2293],{"type":37,"tag":110,"props":2290,"children":2291},{"style":139},[2292],{"type":43,"value":569},{"type":37,"tag":110,"props":2294,"children":2295},{"style":123},[2296],{"type":43,"value":574},{"type":37,"tag":46,"props":2298,"children":2299},{},[2300,2301,2306,2307,2312],{"type":43,"value":579},{"type":37,"tag":106,"props":2302,"children":2304},{"className":2303},[],[2305],{"type":43,"value":585},{"type":43,"value":587},{"type":37,"tag":106,"props":2308,"children":2310},{"className":2309},[],[2311],{"type":43,"value":593},{"type":43,"value":595},{"type":37,"tag":38,"props":2314,"children":2315},{"id":598},[2316],{"type":43,"value":601},{"type":37,"tag":46,"props":2318,"children":2319},{},[2320],{"type":43,"value":606},{"type":37,"tag":608,"props":2322,"children":2323},{},[2324],{"type":43,"value":612},{"title":7,"searchDepth":233,"depth":233,"links":2326},[2327,2328,2329,2336],{"id":40,"depth":233,"text":44},{"id":53,"depth":233,"text":56},{"id":73,"depth":233,"text":76,"children":2330},[2331,2332,2333,2334,2335],{"id":80,"depth":11,"text":83},{"id":197,"depth":11,"text":200},{"id":300,"depth":11,"text":303},{"id":486,"depth":11,"text":489},{"id":538,"depth":11,"text":541},{"id":598,"depth":233,"text":601},1776427878097]