Skip to content

Latest commit

 

History

52 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

braeburn

npm

A macOS system updater CLI. Keeps tools installed via Homebrew, npm, pip, .NET, and others up to date.

Install

npm install -g braeburn

Usage

braeburn              # run all enabled steps interactively
braeburn -y           # run all steps, auto-accept everything
braeburn homebrew npm # run specific steps only
braeburn config add --name "Oh My Zsh" --command "omz update"

Commands

Command Description
braeburn [steps...] [-y] Run update steps (default)
braeburn log [step] View the latest output log for a step
braeburn config Show config subcommand help
braeburn config list Print current configuration
braeburn config update Open interactive configuration editor
braeburn config update --no-<step> Disable a step
braeburn config update --<step> Re-enable a step
braeburn config add --name <name> --command <command> Add a custom update command
braeburn config remove <id> Remove a custom update command

Steps

Steps are grouped by system capability. For new setups, braeburn uses a conservative default profile: only package-manager-driven CLI/tooling updates are enabled by default.

Step Category Default (new setup) Requires
pyenv Runtimes off pyenv or Homebrew
nvm Runtimes off ~/.nvm
rustup Runtimes off rustup
homebrew Apps & Packages on brew (required)
mas Apps & Packages off mas
macos Apps & Packages off —
npm CLI Tools on npm
braeburn CLI Tools on npm
pip CLI Tools on pip3
uv CLI Tools off uv
gh CLI Tools off gh
dotnet CLI Tools on dotnet
aspire Aspire off aspire
ohmyzsh Shell off ~/.oh-my-zsh
cleanup (homebrew cleanup) Maintenance off brew

User-managed commands

Add a named shell command to the default update run:

braeburn config add --name "Oh My Zsh" --command "omz update"

Braeburn stores it in the config as a [[custom]] block:

[[custom]]
id = "oh-my-zsh"
name = "Oh My Zsh"
command = "omz update"

User-managed commands run after enabled built-in steps when running braeburn or braeburn -y. They are not included when explicitly selecting built-in steps such as braeburn homebrew -y. Commands run through your shell, show a user-managed warning before interactive execution, and receive the normal confirmation prompt unless -y is supplied.

List configured commands with braeburn config list, remove one with braeburn config remove oh-my-zsh, and view its latest log with braeburn log custom-oh-my-zsh.

Requirements

  • macOS
  • Node.js ≥ 24
  • Homebrew (required)

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages