zc-workstationDocumentation PDF GitHub

The toolbox

Every tool and app the reference workstation installs and configures, what each is for, and the keys that matter.

.md

zc-workstation does not choose your tools; your config does. This section describes the setup it was built for: a macOS developer workstation for Go, Java, Vue and Flutter work with Claude Code at its centre. Each page says what a tool is for, how the workstation sets it up, and the keys and commands worth knowing. Take what you like into your own Brewfile.

Every tool here is declared in a Brewfile or mise.toml with a comment saying why it is there, so zc-workstation list shows the same reasons:

$ zc-workstation list -kind cask,brew

The colours, terminal, prompt and bar themes live in this repository under assets/theme. The shell, git, app settings and keyboard config live in a private config repository, applied by the dotfiles provider. See A new Mac in one command for that layout.

How the pieces fit

Karabiner (Hyper+T)  ->  Ghostty  ->  tmux (dev)  ->  Claude Code | lazygit | zsh
                                                   starship · atuin · fzf · zoxide
SketchyBar  <-  macmon, ZCBar         JankyBorders around the focused window
Raycast     ->  repos, branches, zcbar:// URLs

A typical start: Hyper+D opens Ghostty running dev, you pick a repository, and tmux opens Claude Code, lazygit and a shell in it. ZCBar in the menu bar says when packages are outdated or something drifted, and ZC Care keeps the disk clean. See Menu bar app and ZC Care.

Terminal and shell

Tool What it is for

Ghostty

Ghostty, the terminal: GPU-rendered, native on macOS, with a drop-down quick terminal.

tmux

tmux, the session manager: panes, windows, popups and the dev layout.

zsh, antidote and plugins

zsh with antidote: the shell, its plugins, aliases and helper functions.

Starship

Starship, the prompt: folder, git state, pull request and versions at a glance.

Atuin

Atuin, shell history: searchable, per folder, and free of secrets.

Command line

Tool What it is for

fzf

fzf, the fuzzy finder behind completion, the session picker and dev.

zoxide

zoxide, a smarter cd that learns the folders you use.

eza

eza, ls with icons, git status and trees.

bat

bat, cat with syntax highlighting and git changes; also the man page pager.

fd and ripgrep

fd and ripgrep, fast find and grep that respect .gitignore.

jq and yq

jq and yq, query and edit JSON and YAML from the command line.

Yazi

Yazi, a terminal file manager with previews.

ffmpeg, sox, jpegoptim, pngquant and poppler

Convert and shrink video, audio, images and PDFs.

just, xh, hyperfine and other helpers

Project recipes, HTTP calls, benchmarks, command examples, Python scripts and shell linting.

GnuPG, oathtool and mailctl

Signatures, one-time codes and mail accounts kept in a file.

Git and GitHub

Tool What it is for

git, delta, difftastic and git-absorb

git and its helpers: delta diffs, structural diffs, automatic fixups and secret scanning.

lazygit

lazygit, git in a terminal UI.

gitleaks

gitleaks, the secret scanner that runs before every commit.

GitHub CLI

gh, GitHub from the terminal: pull requests, issues, Actions and auth.

Runtimes and dotfiles

Tool What it is for

mise

mise, the runtime manager: Java, Node, Python and Gradle versions.

chezmoi

chezmoi, the dotfiles engine behind the dotfiles provider.

direnv

direnv, per-folder environment variables.

Go, gopls, delve and golangci-lint

The Go toolchain, its language server, debugger and linter.

jdtls, typescript-language-server and CocoaPods

The Java and TypeScript language servers, and CocoaPods for Flutter on iOS.

Containers and data

Tool What it is for

Colima, Docker and friends

Colima, Docker, lazydocker, dive and the Kubernetes tools.

PostgreSQL, pgcli and TablePlus

A local PostgreSQL 17 server, pgcli and TablePlus.

Cloud CLIs

AWS, Google Cloud, Hetzner, Cloudflare Tunnel, Fly.io, Neon, Supabase and the other deploy tools.

Desktop

Tool What it is for

SketchyBar and JankyBorders

SketchyBar, the menu bar replacement, and JankyBorders around the focused window.

Karabiner-Elements and the Hyper key

Karabiner-Elements: Caps Lock as Escape and Hyper, and Hyper shortcuts for apps.

Raycast

Raycast, the launcher, with clipboard history and script commands.

Google Chrome

Chrome, the default browser, with a small set of extensions.

Everyday apps

Shottr, Handy, Bruno, Obsidian, Proxyman, the meeting apps and the fonts.

Editors

Tool What it is for

Visual Studio Code

VS Code, the editor, with settings that follow the system theme.

IntelliJ IDEA and Neovim

IntelliJ IDEA through JetBrains Toolbox, and Neovim in the terminal.

AI

Tool What it is for

Claude Code and AI tools

Claude Code, Codex, the AI desktop apps, CodexBar, Ollama, and how the workstation wires them in.

Keeping the Mac well

Tool What it is for

btop, macmon and fastfetch

btop, macmon and fastfetch: what the Mac is doing.

Mac helpers

asimov, pam-reattach, mkcert and the other helpers that fix small Mac annoyances.

The menu bar app

ZCBar and ZC Care are part of zc-workstation itself, not a separate install. The panel shows the Mac’s vitals, the plan, outdated packages, doctor findings and services. ZC Care cleans junk and AI clutter, uninstalls apps with their leftovers and finds idle dependencies. See Menu bar app and ZC Care.

Edit this page Last updated

Keyboard shortcuts

Ctrl/⌘ K or /
Search the docs
↑ ↓ Enter
Move through the search results
← →
Previous or next page
f
Filter the pages in the sidebar
g h
Home
t
Cycle the theme
?
This list
Esc
Close a menu or the search results