Day-to-day workflow
Use the normal bootstrap for updates; edit managed sources for configuration changes.
| Task | Jump to |
|---|---|
| Refresh tools | Update and upgrade |
| Install something new | Add a package |
| Change configuration | Edit a dotfile · Agent instructions |
| Change this site | Work on the docs |
Update and upgrade
Section titled “Update and upgrade”~/dotfiles/bootstrap.sh update # pull latest + refresh tools (no brew upgrade)~/dotfiles/bootstrap.sh upgrade # update + brew upgrade + cargo upgrade~/dotfiles/bootstrap.sh # full install (same as first run, idempotent)update pulls the repo, applies chezmoi, refreshes zsh plugins, and reconciles missing tools while holding existing Homebrew and Go packages. upgrade also refreshes Homebrew, Go, Rust/Cargo, Node/npm, uv tools, Julia, TeX, and extensions, then runs the strict JSON toolchain audit.
Run the read-only audit independently with:
bash ~/dotfiles/install/audit-versions.sh | jq .Add a package
Section titled “Add a package”See Package management for the priority order. Quick reference:
# Rust tool → packages/cargo.txt, then:bash ~/dotfiles/install/rust.sh
# Homebrew formula/cask → packages/Brewfile, then:brew bundle --file=~/dotfiles/packages/Brewfile
# Plain Python libraries → packages/python.txt# Python CLI tools → packages/pip.txt; optional full tools → packages/pip-full.txtbash ~/dotfiles/install/python.shEdit a dotfile
Section titled “Edit a dotfile”chezmoi edit ~/.zshrc # edit the managed sourcechezmoi diff ~/.zshrc # inspect the pending changechezmoi apply ~/.zshrc # apply this targetexec zsh -l # load it in a new login shellFind other targets in the configuration map. Plain chezmoi edit edits source only; --apply applies after editing and --watch applies on save.
Sync dotfiles from the repo
Section titled “Sync dotfiles from the repo”chezmoi update # git pull + chezmoi applyAeroSpace config (v2)
Section titled “AeroSpace config (v2)”Window-management docs are now in AeroSpace window management.
Update AI agent instructions
Section titled “Update AI agent instructions”Change shared guidance once; keep harness-specific behavior in its wrapper.
| Change | Authoritative source / guide |
|---|---|
| Shared preferences and tone | Instruction architecture |
| Codex profiles, roles, rules, or themes | Codex guide · managed sources |
| Claude hooks and status line | Claude guide · status-line source |
| A skill | Skill ownership and sync |
For a Codex configuration change:
"${EDITOR:-vi}" ~/dotfiles/home/dot_codex/create_private_config.tomlbash ~/dotfiles/install/codex.sh sync-configbash ~/dotfiles/install/codex.sh checkSync preserves runtime trust sections. Start a new session to load changed profiles or tool inventories. For the complete command and permission reference, use agent guidance.
Add an env var or PATH entry
Section titled “Add an env var or PATH entry”Keep zsh and bash login behavior aligned. Use $_LOCAL_PLAT for architecture-specific shell state:
export MY_TOOL_HOME="$_LOCAL_PLAT/my-tool"export PATH="$MY_TOOL_HOME/bin:$PATH"Also add the variable to install/_lib.sh so install scripts can reference the same path.
Work on the docs
Section titled “Work on the docs”cd ~/dotfilesnpm --prefix site ci --ignore-scriptsnpx --prefix site --no-install playwright install chromiumnpm --prefix site run dev./tests/ci.sh docsEvery push to main auto-deploys to dotfiles.cade.io via Cloudflare Pages.
Deploy infrastructure changes
Section titled “Deploy infrastructure changes”cd ~/dotfiles/infra/cloudflareexport CLOUDFLARE_API_TOKEN=...tofu plan # previewtofu apply # applyterraform.tfvars is gitignored — it holds account_id and stays local.
Commit and push
Section titled “Commit and push”cd ~/dotfilesgit add -p # stage selectivelygit commit -m "description"git pushNatural commit points: one commit per feature, config change, or coherent set of package additions.