Groundwork

macOS

Window, tab, display, and app shortcuts for daily Mac work.

tmux manages panes inside the terminal. macOS manages everything around it: app windows, browser tabs, full-screen spaces, displays, and the links you open all day. The best setup here is native macOS plus Raycast, Anybox, and BetterDisplay.

When you'll want this Window switching, full screen, tabs, Spaces, and displays are stealing attention from the work.
Quick reference — common Mac window keys
Tab switch apps
` cycle windows in the front app
N new window
T new tab
W close tab/window
Q quit app
F toggle full screen
Mission Control

#The mental model

macOSOwns apps, windows, tabs, spaces, full screen, Mission Control, and system shortcuts.
RaycastOwns Space, launcher, clipboard history, snippets, quick commands, and normal window snapping.
AnyboxOwns saved links, reading material, project bookmarks, and quick link recall. Open it from Raycast or its own hotkey.
BetterDisplayOwns display resolutions, refresh rates, brightness/DDC, display presets, and external-monitor fixes.
tmuxOwns terminal panes and project sessions after Ghostty is open.
Shortcut convention

Use the apps shortcut convention: typed aliases and Quicklinks first, global hotkeys only for daily actions. This page only names the macOS window/display hotkeys that fit that pattern.

Configuration boundary

The full rule lives in What Groundwork can configure: stable files/defaults belong in the repo; Raycast, Anybox, BetterDisplay, password managers, and per-device app state stay with their own sync/export or local settings.

#Developer settings and profiles

macOS uses the word "profile" for several different things. Keep them separate:

Command Line ToolsGroundwork checks for these and opens Apple's installer when they are missing. They live at /Library/Developer/CommandLineTools and give Homebrew, Git, compilers, headers, and normal terminal build tools.
Full Xcode appOptional and large. If you answered yes to the Xcode setup prompt, Groundwork attempts the App Store install with mas; if that does not go through, get Xcode from the Mac App Store manually. Use it only when you need app signing, simulators, SwiftUI/iOS/macOS builds, or Unity Apple-platform builds.
Xcode first launchAfter Xcode is installed, open it once, let it finish component setup, accept license prompts, then run xcode-select -p to check the active developer directory. If it still points at Command Line Tools, switch to full Xcode with sudo xcode-select -s /Applications/Xcode.app/Contents/Developer.
Apple Developer accountOnly after full Xcode is installed: sign in manually in Xcode Settings → Accounts. Certificates and provisioning profiles belong in Keychain/Xcode, not dotfiles.
Provisioning profilesUse Xcode's automatic signing when possible. If someone gives you a profile file, open it with Xcode/Finder; do not commit it to this repo.
Configuration profiles.mobileconfig files are device-management settings. Install them manually or through MDM. Treat them like admin/security policy, not normal dotfiles.
Developer Mode / debugger privilegesLeave this manual. If Xcode or Instruments asks, approve it then. DevToolsSecurity -enable removes repeated admin prompts for Apple-signed debugging tools, so it should be an intentional local choice.
What Groundwork safely sets

This repo applies safe developer conveniences: file extensions and hidden files visible, Finder path/status bars, ~/Library visible, fast key repeat, press-and-hold disabled for Vim, Safari's Develop menu enabled, Chrome password manager disabled when a third-party manager is configured, and the terminal/editor/toolchain setup. The app-specific boundary is summarized above and explained on Apps & browsers.

Let macOS handle security responses

Package managers stay manual in Groundwork, but OS security is different. In System Settings → General → Software Update → Automatic Updates, turn on Apple's security responses and system files option. That keeps macOS security patches on Apple's supported path without adding a background Homebrew or mise upgrader.

What stays manual

Do not automate Apple Developer certificates, provisioning profiles, MDM/configuration profiles, Gatekeeper changes, reduced-security boot settings, or debugger authorization prompts in shared setup repos. Those are identity and security boundaries, and each Mac/user should approve them deliberately. Apple betas sit on the same line: opting into the beta channel installs the xcodes tool so you can pull Xcode betas yourself, but Groundwork never downloads them or signs into your Apple Account for you. See Xcode betas.

#Windows, tabs, and apps

TabSwitch apps. Hold and tap Tab repeatedly to choose.
`Cycle through windows of the current app. This is the one people miss when they come from Windows.
NOpen a new window in the current app.
TOpen a new tab in apps that support tabs.
WClose the front tab or window. In browsers this closes the active tab first.
TReopen the last closed tab in browsers and several tabbed apps.
Tab / ]Next tab in many browsers and tabbed apps.
Tab / [Previous tab in many browsers and tabbed apps.
HHide the current app without quitting it.
MMinimize the front window to the Dock. Hiding is usually cleaner than minimizing.
QQuit the current app.
,Open settings/preferences for the current app.

#Full screen, spaces, and Mission Control

FEnter or exit full screen in apps that support it.
EscExit some full-screen modes, especially browser/video full screen.
Open Mission Control to see windows and spaces.
Show windows for the current app.
/ Move between spaces/desktops.
Mission ControlShow the desktop.
Use full screen sparingly

Full screen creates a separate space, which is great for focus but can make window switching feel jumpy. For daily development, Raycast left/right/maximize commands are often faster than full-screen mode.

#Window management: Raycast first

Raycast is the default window manager for this setup. It is already installed, it is keyboard-first, and its Window Management commands cover the normal moves: maximize, left/right half, quarters, thirds, center, restore, move to display, move to space, and custom layouts.

Anybox does not manage windows. It manages saved links. If you saw translucent layout zones while dragging a window, that was macOS's native drag-to-edge tiling overlay, not Raycast. Raycast window management is command- and hotkey-driven: invoke a layout or bind a hotkey and the frontmost window moves immediately.

Raycast AI is optional. Leave it off while learning the basics unless you specifically want Raycast's AI chat, AI commands, or model integrations on that Mac. For the extension checklist, run raycast-extensions; it opens the recommended Store entries for Browser Bookmarks, Browser Tabs, Anybox, GitHub, Homebrew, VS Code/Cursor project openers, and optional AI integrations.

Left half / Right halfAssign direct hotkeys for the focused window. Use these constantly.
MaximizePrefer this to macOS full screen when you still want fast app/window switching.
Move to next displayEssential with an external monitor.
RestoreUndo the last Raycast window move.
Create LayoutUse for recurring setups: browser left, terminal right, Slack small on the laptop display.
Recommended hotkeys

Use because macOS leaves that family mostly free and it is easy to audit later. A simple set is for left half, for right half, for maximize, and for restore. Avoid overriding system muscle memory such as Tab, Q, W, browser tab keys, and Mission Control unless you are making an intentional tradeoff.

Rectangle and Magnet are good apps, but they duplicate Raycast for this setup. Add one only if you want a dedicated window manager with its own preferences, importable presets, or advanced snapping behavior beyond Raycast.

#Displays and resolutions: BetterDisplay

BetterDisplay is the right app for changing resolution from the menu bar, creating favorites, controlling external monitor brightness/input when supported, and protecting display layouts. It complements Raycast; it does not replace it.

Resolution presetsSave the display modes you actually use and switch from the menu bar first; add hotkeys only for modes you change constantly.
Refresh rateExpose and switch refresh rates that macOS sometimes buries.
Brightness / DDCControl many external monitors with sliders first, then put any daily brightness/display actions into the same shortcut family if you need hotkeys.
Layout protectionKeep external monitor arrangements from drifting when displays reconnect.
CLI and ShortcutsAutomate display changes from scripts, Raycast, or macOS Shortcuts.
Licensing

BetterDisplay has a free tier and a paid Pro license. Business use beyond the trial/free terms needs a license, so teams should budget it rather than quietly relying on a personal license.

#Links and web recall: Anybox

Use Anybox instead of turning every browser profile into a private bookmark island. It is the shared link library: project dashboards, docs, research, client portals, reading lists, and reusable references. Raycast launches actions; Anybox remembers links.

Quick SaveCapture the current page without leaving the browser.
Quick FindSearch saved links from the keyboard. Prefer typed aliases such as ab in Raycast before adding another global hotkey.
Tags / foldersOrganize links by project, team, client, topic, or practice track.
Raycast extensionInstall the Anybox extension from the Raycast Store, or run open 'raycast://extensions/anybox/anybox?source=webstore'. If Raycast only shows Anybox under Applications, you have the app entry, not the extension. Copy the API key from Anybox Preferences → General, then select the Search Links command row in Raycast Settings and paste it into that command's API Key preference. Turn on Search Tags, Search Folders, Show Tags, and Show Folders; leave icon view off for faster scanning.
Browser recallUse Raycast Browser Bookmarks for bookmarks across installed browsers. Use Browser Tabs for live tabs in Safari/Chromium-family browsers. For Zen, save important tabs into Anybox and search them from Raycast; that is the reliable cross-browser layer.
iCloud syncKeep links, profiles, and Quick Links available on Mac, iPhone, and iPad. This is the supported sync path; do not put the app database or API keys in dotfiles.

#Daily practice

1

Switch without the mouse

Open Ghostty, Zen, and Finder. Use Tab to switch apps, then ` to cycle windows inside one app.

2

Use tabs deliberately

Open three browser tabs with T, move through them with Tab, close one with W, then reopen it with T.

3

Snap with Raycast

Assign hotkeys for left half, right half, maximize, and restore. Put Ghostty on one side and Zen on the other without touching the mouse.

4

Save and recall a work link

Save a project page into Anybox, tag it, then open it from Raycast or Anybox Quick Find. Do this with real links you use daily.

#Going deeper