[{"data":1,"prerenderedAt":936},["ShallowReactive",2],{"content-en-\u002Fguide\u002Fcommands":3},{"id":4,"title":5,"body":6,"description":142,"extension":929,"jsonLd":930,"meta":931,"navigation":465,"path":932,"schemaRole":930,"seo":933,"stem":934,"__hash__":935},"content_en\u002Fguide\u002Fcommands.md","Commands",{"type":7,"value":8,"toc":899},"minimark",[9,13,18,110,130,133,136,158,165,184,196,201,223,227,230,315,318,324,339,344,347,350,371,375,398,402,431,435,487,490,493,511,514,536,539,554,557,600,603,606,618,622,625,633,636,642,645,648,666,669,690,693,706,710,714,766,770,812,816,895],[10,11,5],"h1",{"id":12},"commands",[14,15,17],"h2",{"id":16},"overview","Overview",[19,20,21,34],"table",{},[22,23,24],"thead",{},[25,26,27,31],"tr",{},[28,29,30],"th",{},"Command",[28,32,33],{},"Description",[35,36,37,49,59,80,90,100],"tbody",{},[25,38,39,46],{},[40,41,42],"td",{},[43,44,45],"code",{},"bwsf setup",[40,47,48],{},"Configure Bitwarden connection",[25,50,51,56],{},[40,52,53],{},[43,54,55],{},"bwsf config show",[40,57,58],{},"Show current local configuration",[25,60,61,66],{},[40,62,63],{},[43,64,65],{},"bwsf push",[40,67,68,69,72,73,72,76,79],{},"Push managed files (",[43,70,71],{},".env*",", ",[43,74,75],{},"*.tfvars",[43,77,78],{},"*.tfvars.json",") to Bitwarden",[25,81,82,87],{},[40,83,84],{},[43,85,86],{},"bwsf pull",[40,88,89],{},"Pull managed files from Bitwarden",[25,91,92,97],{},[40,93,94],{},[43,95,96],{},"bwsf list",[40,98,99],{},"List all stored projects",[25,101,102,107],{},[40,103,104],{},[43,105,106],{},"bwsf clean",[40,108,109],{},"Remove local managed files after verifying Bitwarden backup",[111,112,113,114,117,118,121,122,125,126,129],"p",{},"Managed files are directory entries whose names start with ",[43,115,116],{},".env",", or end with ",[43,119,120],{},".tfvars"," \u002F ",[43,123,124],{},".tfvars.json",". Names that contain ",[43,127,128],{},".example"," are excluded.",[14,131,45],{"id":132},"bwsf-setup",[111,134,135],{},"Configure your Bitwarden connection settings.",[137,138,143],"pre",{"className":139,"code":140,"language":141,"meta":142,"style":142},"language-bash shiki shiki-themes github-dark-high-contrast","bwsf setup\n","bash","",[43,144,145],{"__ignoreMap":142},[146,147,150,154],"span",{"class":148,"line":149},"line",1,[146,151,153],{"class":152},"s_sBn","bwsf",[146,155,157],{"class":156},"sTRMh"," setup\n",[111,159,160,161,164],{},"Optional: use a custom Bitwarden folder instead of ",[43,162,163],{},"dotenvs",":",[137,166,168],{"className":139,"code":167,"language":141,"meta":142,"style":142},"bwsf setup --folder my-envs\n",[43,169,170],{"__ignoreMap":142},[146,171,172,174,177,181],{"class":148,"line":149},[146,173,153],{"class":152},[146,175,176],{"class":156}," setup",[146,178,180],{"class":179},"sCcAr"," --folder",[146,182,183],{"class":156}," my-envs\n",[111,185,186,187,190,191,195],{},"The folder name is stored in ",[43,188,189],{},"~\u002F.config\u002Fbwsf\u002Fconfig.json"," and used by push \u002F pull \u002F list \u002F clean. Renaming does ",[192,193,194],"strong",{},"not"," migrate existing notes.",[197,198,200],"h3",{"id":199},"interactive-prompts","Interactive prompts",[202,203,204,211,217],"ul",{},[205,206,207,210],"li",{},[192,208,209],{},"Server URL",": Your Bitwarden server URL (leave blank for Bitwarden Cloud)",[205,212,213,216],{},[192,214,215],{},"Email",": Your Bitwarden account email",[205,218,219,222],{},[192,220,221],{},"Master Password",": Your Bitwarden master password",[197,224,226],{"id":225},"non-interactive-flags","Non-interactive flags",[111,228,229],{},"For automation (for example smoke tests):",[19,231,232,241],{},[22,233,234],{},[25,235,236,239],{},[28,237,238],{},"Flag",[28,240,33],{},[35,242,243,259,273,283,293,303],{},[25,244,245,250],{},[40,246,247],{},[43,248,249],{},"--host-type",[40,251,252,255,256],{},[43,253,254],{},"cloud"," or ",[43,257,258],{},"selfhosted",[25,260,261,266],{},[40,262,263],{},[43,264,265],{},"--url",[40,267,268,269,272],{},"Self-hosted server URL (required when ",[43,270,271],{},"--host-type=selfhosted",")",[25,274,275,280],{},[40,276,277],{},[43,278,279],{},"--email",[40,281,282],{},"Account email",[25,284,285,290],{},[40,286,287],{},[43,288,289],{},"--password",[40,291,292],{},"Master password",[25,294,295,300],{},[40,296,297],{},[43,298,299],{},"--yes",[40,301,302],{},"Assume yes for confirmations (for example create folder)",[25,304,305,310],{},[40,306,307],{},[43,308,309],{},"--folder",[40,311,312,313,272],{},"Bitwarden folder name (default: ",[43,314,163],{},[14,316,55],{"id":317},"bwsf-config-show",[111,319,320,321,323],{},"Show the current local configuration from ",[43,322,189],{},".",[137,325,327],{"className":139,"code":326,"language":141,"meta":142,"style":142},"bwsf config show\n",[43,328,329],{"__ignoreMap":142},[146,330,331,333,336],{"class":148,"line":149},[146,332,153],{"class":152},[146,334,335],{"class":156}," config",[146,337,338],{"class":156}," show\n",[111,340,341,342,323],{},"Prints host type, self-hosted URL, email, and the effective folder name. Does not call Bitwarden. If no config file exists, the command exits with an error and suggests running ",[43,343,45],{},[14,345,65],{"id":346},"bwsf-push",[111,348,349],{},"Push managed files from the current directory to your Bitwarden vault.",[137,351,353],{"className":139,"code":352,"language":141,"meta":142,"style":142},"cd \u002Fpath\u002Fto\u002Fyour_project\nbwsf push\n",[43,354,355,363],{"__ignoreMap":142},[146,356,357,360],{"class":148,"line":149},[146,358,359],{"class":179},"cd",[146,361,362],{"class":156}," \u002Fpath\u002Fto\u002Fyour_project\n",[146,364,366,368],{"class":148,"line":365},2,[146,367,153],{"class":152},[146,369,370],{"class":156}," push\n",[197,372,374],{"id":373},"options","Options",[19,376,377,386],{},[22,378,379],{},[25,380,381,384],{},[28,382,383],{},"Option",[28,385,33],{},[35,387,388],{},[25,389,390,395],{},[40,391,392],{},[43,393,394],{},"--from \u003Cdir>",[40,396,397],{},"Directory containing managed files (default: current directory)",[197,399,401],{"id":400},"behavior","Behavior",[403,404,405,408,420,426],"ol",{},[205,406,407],{},"Uses the current directory name as the project name",[205,409,410,411,72,413,72,415,417,418,272],{},"Detects managed files (",[43,412,71],{},[43,414,75],{},[43,416,78],{},"; excludes names containing ",[43,419,128],{},[205,421,422,423],{},"If a Note with the same project name already exists, ",[192,424,425],{},"updates it without an overwrite prompt",[205,427,428,429,272],{},"Stores the files as a Note item in the configured folder (default: ",[43,430,163],{},[197,432,434],{"id":433},"example","Example",[137,436,438],{"className":139,"code":437,"language":141,"meta":142,"style":142},"# Push from current directory\ncd my-web-app\nbwsf push\n\n# Push from a specific directory\nbwsf push --from .\u002Fconfig\n",[43,439,440,446,453,460,467,473],{"__ignoreMap":142},[146,441,442],{"class":148,"line":149},[146,443,445],{"class":444},"sQrFR","# Push from current directory\n",[146,447,448,450],{"class":148,"line":365},[146,449,359],{"class":179},[146,451,452],{"class":156}," my-web-app\n",[146,454,456,458],{"class":148,"line":455},3,[146,457,153],{"class":152},[146,459,370],{"class":156},[146,461,463],{"class":148,"line":462},4,[146,464,466],{"emptyLinePlaceholder":465},true,"\n",[146,468,470],{"class":148,"line":469},5,[146,471,472],{"class":444},"# Push from a specific directory\n",[146,474,476,478,481,484],{"class":148,"line":475},6,[146,477,153],{"class":152},[146,479,480],{"class":156}," push",[146,482,483],{"class":179}," --from",[146,485,486],{"class":156}," .\u002Fconfig\n",[14,488,86],{"id":489},"bwsf-pull",[111,491,492],{},"Pull managed files from your Bitwarden vault to the current directory.",[137,494,496],{"className":139,"code":495,"language":141,"meta":142,"style":142},"cd \u002Fpath\u002Fto\u002Fyour_project\nbwsf pull\n",[43,497,498,504],{"__ignoreMap":142},[146,499,500,502],{"class":148,"line":149},[146,501,359],{"class":179},[146,503,362],{"class":156},[146,505,506,508],{"class":148,"line":365},[146,507,153],{"class":152},[146,509,510],{"class":156}," pull\n",[197,512,374],{"id":513},"options-1",[19,515,516,524],{},[22,517,518],{},[25,519,520,522],{},[28,521,383],{},[28,523,33],{},[35,525,526],{},[25,527,528,533],{},[40,529,530],{},[43,531,532],{},"--output \u003Cdir>",[40,534,535],{},"Output directory (default: current directory)",[197,537,401],{"id":538},"behavior-1",[403,540,541,543,548,551],{},[205,542,407],{},[205,544,545,546,272],{},"Searches for a matching project in the configured folder (default: ",[43,547,163],{},[205,549,550],{},"If a target file already exists locally, prompts to overwrite (per file)",[205,552,553],{},"Writes the managed files from the Note",[197,555,434],{"id":556},"example-1",[137,558,560],{"className":139,"code":559,"language":141,"meta":142,"style":142},"# Pull to current directory\ncd my-web-app\nbwsf pull\n\n# Pull to a specific directory\nbwsf pull --output .\u002Fconfig\n",[43,561,562,567,573,579,583,588],{"__ignoreMap":142},[146,563,564],{"class":148,"line":149},[146,565,566],{"class":444},"# Pull to current directory\n",[146,568,569,571],{"class":148,"line":365},[146,570,359],{"class":179},[146,572,452],{"class":156},[146,574,575,577],{"class":148,"line":455},[146,576,153],{"class":152},[146,578,510],{"class":156},[146,580,581],{"class":148,"line":462},[146,582,466],{"emptyLinePlaceholder":465},[146,584,585],{"class":148,"line":469},[146,586,587],{"class":444},"# Pull to a specific directory\n",[146,589,590,592,595,598],{"class":148,"line":475},[146,591,153],{"class":152},[146,593,594],{"class":156}," pull",[146,596,597],{"class":179}," --output",[146,599,486],{"class":156},[14,601,96],{"id":602},"bwsf-list",[111,604,605],{},"List all projects stored in your Bitwarden vault.",[137,607,609],{"className":139,"code":608,"language":141,"meta":142,"style":142},"bwsf list\n",[43,610,611],{"__ignoreMap":142},[146,612,613,615],{"class":148,"line":149},[146,614,153],{"class":152},[146,616,617],{"class":156}," list\n",[197,619,621],{"id":620},"output","Output",[111,623,624],{},"Prints one project name per line to stdout. When the configured folder has no items:",[137,626,631],{"className":627,"code":629,"language":630},[628],"language-text","No items found in dotenvs folder\n","text",[43,632,629],{"__ignoreMap":142},[111,634,635],{},"Example when items exist:",[137,637,640],{"className":638,"code":639,"language":630},[628],"my-web-app\napi-server\nmobile-app\n",[43,641,639],{"__ignoreMap":142},[14,643,106],{"id":644},"bwsf-clean",[111,646,647],{},"Remove local managed files after verifying the Bitwarden backup.",[137,649,651],{"className":139,"code":650,"language":141,"meta":142,"style":142},"cd \u002Fpath\u002Fto\u002Fyour_project\nbwsf clean\n",[43,652,653,659],{"__ignoreMap":142},[146,654,655,657],{"class":148,"line":149},[146,656,359],{"class":179},[146,658,362],{"class":156},[146,660,661,663],{"class":148,"line":365},[146,662,153],{"class":152},[146,664,665],{"class":156}," clean\n",[197,667,374],{"id":668},"options-2",[19,670,671,679],{},[22,672,673],{},[25,674,675,677],{},[28,676,383],{},[28,678,33],{},[35,680,681],{},[25,682,683,687],{},[40,684,685],{},[43,686,394],{},[40,688,689],{},"Directory containing managed files to clean (default: current directory)",[197,691,401],{"id":692},"behavior-2",[403,694,695,697,700,703],{},[205,696,407],{},[205,698,699],{},"Aborts if the remote note item is missing or contains no managed files",[205,701,702],{},"Deletes local files without prompting when contents match",[205,704,705],{},"On any file mismatch, prompts with a single-select action (Abort \u002F Overwrite remote then clean \u002F Remove local)",[14,707,709],{"id":708},"common-workflows","Common Workflows",[197,711,713],{"id":712},"setting-up-a-new-project","Setting up a new project",[137,715,717],{"className":139,"code":716,"language":141,"meta":142,"style":142},"# Create managed files\necho \"API_KEY=secret123\" > .env\necho 'region = \"ap-northeast-1\"' > terraform.tfvars\n\n# Push to Bitwarden\nbwsf push\n",[43,718,719,724,739,751,755,760],{"__ignoreMap":142},[146,720,721],{"class":148,"line":149},[146,722,723],{"class":444},"# Create managed files\n",[146,725,726,729,732,736],{"class":148,"line":365},[146,727,728],{"class":179},"echo",[146,730,731],{"class":156}," \"API_KEY=secret123\"",[146,733,735],{"class":734},"sWyjQ"," >",[146,737,738],{"class":156}," .env\n",[146,740,741,743,746,748],{"class":148,"line":455},[146,742,728],{"class":179},[146,744,745],{"class":156}," 'region = \"ap-northeast-1\"'",[146,747,735],{"class":734},[146,749,750],{"class":156}," terraform.tfvars\n",[146,752,753],{"class":148,"line":462},[146,754,466],{"emptyLinePlaceholder":465},[146,756,757],{"class":148,"line":469},[146,758,759],{"class":444},"# Push to Bitwarden\n",[146,761,762,764],{"class":148,"line":475},[146,763,153],{"class":152},[146,765,370],{"class":156},[197,767,769],{"id":768},"syncing-on-a-new-machine","Syncing on a new machine",[137,771,773],{"className":139,"code":772,"language":141,"meta":142,"style":142},"# Clone your project\ngit clone https:\u002F\u002Fgithub.com\u002Fyourorg\u002Fmy-web-app.git\ncd my-web-app\n\n# Pull managed files from Bitwarden\nbwsf pull\n",[43,774,775,780,791,797,801,806],{"__ignoreMap":142},[146,776,777],{"class":148,"line":149},[146,778,779],{"class":444},"# Clone your project\n",[146,781,782,785,788],{"class":148,"line":365},[146,783,784],{"class":152},"git",[146,786,787],{"class":156}," clone",[146,789,790],{"class":156}," https:\u002F\u002Fgithub.com\u002Fyourorg\u002Fmy-web-app.git\n",[146,792,793,795],{"class":148,"line":455},[146,794,359],{"class":179},[146,796,452],{"class":156},[146,798,799],{"class":148,"line":462},[146,800,466],{"emptyLinePlaceholder":465},[146,802,803],{"class":148,"line":469},[146,804,805],{"class":444},"# Pull managed files from Bitwarden\n",[146,807,808,810],{"class":148,"line":475},[146,809,153],{"class":152},[146,811,510],{"class":156},[197,813,815],{"id":814},"multi-environment-setup","Multi-environment setup",[137,817,819],{"className":139,"code":818,"language":141,"meta":142,"style":142},"# Create multiple environment files\necho \"API_URL=http:\u002F\u002Flocalhost:3000\" > .env\necho \"API_URL=https:\u002F\u002Fstaging.example.com\" > .env.staging\necho \"API_URL=https:\u002F\u002Fapi.example.com\" > .env.production\n\n# Push all managed files\nbwsf push\n\n# On another machine, pull all files\nbwsf pull\n",[43,820,821,826,837,849,861,865,870,877,882,888],{"__ignoreMap":142},[146,822,823],{"class":148,"line":149},[146,824,825],{"class":444},"# Create multiple environment files\n",[146,827,828,830,833,835],{"class":148,"line":365},[146,829,728],{"class":179},[146,831,832],{"class":156}," \"API_URL=http:\u002F\u002Flocalhost:3000\"",[146,834,735],{"class":734},[146,836,738],{"class":156},[146,838,839,841,844,846],{"class":148,"line":455},[146,840,728],{"class":179},[146,842,843],{"class":156}," \"API_URL=https:\u002F\u002Fstaging.example.com\"",[146,845,735],{"class":734},[146,847,848],{"class":156}," .env.staging\n",[146,850,851,853,856,858],{"class":148,"line":462},[146,852,728],{"class":179},[146,854,855],{"class":156}," \"API_URL=https:\u002F\u002Fapi.example.com\"",[146,857,735],{"class":734},[146,859,860],{"class":156}," .env.production\n",[146,862,863],{"class":148,"line":469},[146,864,466],{"emptyLinePlaceholder":465},[146,866,867],{"class":148,"line":475},[146,868,869],{"class":444},"# Push all managed files\n",[146,871,873,875],{"class":148,"line":872},7,[146,874,153],{"class":152},[146,876,370],{"class":156},[146,878,880],{"class":148,"line":879},8,[146,881,466],{"emptyLinePlaceholder":465},[146,883,885],{"class":148,"line":884},9,[146,886,887],{"class":444},"# On another machine, pull all files\n",[146,889,891,893],{"class":148,"line":890},10,[146,892,153],{"class":152},[146,894,510],{"class":156},[896,897,898],"style",{},"html pre.shiki code .s_sBn, html code.shiki .s_sBn{--shiki-default:#FFB757}html pre.shiki code .sTRMh, html code.shiki .sTRMh{--shiki-default:#ADDCFF}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 pre.shiki code .sCcAr, html code.shiki .sCcAr{--shiki-default:#91CBFF}html pre.shiki code .sQrFR, html code.shiki .sQrFR{--shiki-default:#BDC4CC}html pre.shiki code .sWyjQ, html code.shiki .sWyjQ{--shiki-default:#FF9492}",{"title":142,"searchDepth":365,"depth":365,"links":900},[901,902,906,907,912,917,920,924],{"id":16,"depth":365,"text":17},{"id":132,"depth":365,"text":45,"children":903},[904,905],{"id":199,"depth":455,"text":200},{"id":225,"depth":455,"text":226},{"id":317,"depth":365,"text":55},{"id":346,"depth":365,"text":65,"children":908},[909,910,911],{"id":373,"depth":455,"text":374},{"id":400,"depth":455,"text":401},{"id":433,"depth":455,"text":434},{"id":489,"depth":365,"text":86,"children":913},[914,915,916],{"id":513,"depth":455,"text":374},{"id":538,"depth":455,"text":401},{"id":556,"depth":455,"text":434},{"id":602,"depth":365,"text":96,"children":918},[919],{"id":620,"depth":455,"text":621},{"id":644,"depth":365,"text":106,"children":921},[922,923],{"id":668,"depth":455,"text":374},{"id":692,"depth":455,"text":401},{"id":708,"depth":365,"text":709,"children":925},[926,927,928],{"id":712,"depth":455,"text":713},{"id":768,"depth":455,"text":769},{"id":814,"depth":455,"text":815},"md",null,{},"\u002Fguide\u002Fcommands",{"title":5,"description":142},"guide\u002Fcommands","fBKxxn9HRVypj52BovqW29-2i7NYXwTFFRYnHzjR3v8",1788146015981]