1"use strict";(self.webpackChunkbuildbuddy_docs_website=self.webpackChunkbuildbuddy_docs_website||[]).push([[4843],{77710(e,n,t){t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var s=t(56435),r=t(86070),a=t(35676);const i={title:"Configure the BuildBuddy CLI with .bbrc",date:new Date("2026-08-18T10:00:00.000Z"),authors:"maggie",tags:["bazel"]},o=void 0,l={authorsImageUrls:[void 0]},c=[];function d(e){const n={a:"a",code:"code",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["You can now save BuildBuddy CLI options in a ",(0,r.jsx)(n.code,{children:".bbrc"})," file. It uses the same\nsection and named-config syntax as a ",(0,r.jsx)(n.code,{children:".bazelrc"}),", but it configures ",(0,r.jsx)(n.code,{children:"bb"})," rather\nthan Bazel."]}),"\n",(0,r.jsxs)(n.p,{children:["For example, this ",(0,r.jsx)(n.code,{children:".bbrc"})," enables streamed logs for every ",(0,r.jsx)(n.code,{children:"bb run"})," and uses\nLinux runners for ",(0,r.jsx)(n.code,{children:"bb remote"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",metastring:'title=".bbrc"',children:"run --stream_run_logs\nremote --os=linux\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Runs: bb run --stream_run_logs //app\nbb run //app\n\n# Runs: bb remote --os=linux test //...\nbb remote test //...\n"})}),"\n",(0,r.jsxs)(n.p,{children:["You can also define named configs and select them with ",(0,r.jsx)(n.code,{children:"--bb_config"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",metastring:'title=".bbrc"',children:"remote:linux --os=linux\nremote:linux --arch=amd64\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"bb remote --bb_config=linux test //...\n"})}),"\n",(0,r.jsxs)(n.p,{children:["The CLI automatically reads ",(0,r.jsx)(n.code,{children:".bbrc"})," from the workspace root and your home\ndirectory."]}),"\n",(0,r.jsxs)(n.p,{children:["Only BuildBuddy CLI flags are allowed in ",(0,r.jsx)(n.code,{children:".bbrc"}),"; regular Bazel\noptions still belong in ",(0,r.jsx)(n.code,{children:".bazelrc"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["See the ",(0,r.jsxs)(n.a,{href:"/docs/cli-config",children:[(0,r.jsx)(n.code,{children:".bbrc"})," documentation"]})," for more details."]})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},35676(e,n,t){t.d(n,{R:()=>i,x:()=>o});var s=t(30758);const r={},a=s.createContext(r);function i(e){const n=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:n},e.children)}},56435(e){e.exports=JSON.parse('{"permalink":"/changelog/bbrc","editUrl":"https://github.com/buildbuddy-io/buildbuddy/edit/master/website/changelog/changelog/bbrc.md","source":"@site/changelog/bbrc.md","title":"Configure the BuildBuddy CLI with .bbrc","description":"You can now save BuildBuddy CLI options in a .bbrc file. It uses the same","date":"2026-08-18T10:00:00.000Z","tags":[{"inline":true,"label":"bazel","permalink":"/changelog/tags/bazel"}],"hasTruncateMarker":false,"authors":[{"name":"Maggie Lou","title":"Engineer @ BuildBuddy","url":"https://www.linkedin.com/in/maggie-lou-4a3bb110a/","imageURL":"https://avatars.githubusercontent.com/u/13951661","key":"maggie","page":null}],"frontMatter":{"title":"Configure the BuildBuddy CLI with .bbrc","date":"2026-08-18T10:00:00.000Z","authors":"maggie","tags":["bazel"]},"unlisted":false,"prevItem":{"title":"Fix failing builds with bb agent fix","permalink":"/changelog/agent-fix"},"nextItem":{"title":"Analyze slow builds with bb agent analyze-profile","permalink":"/changelog/bb-explain-profile"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.