✈ flightdeck main ~/flightdeck Catppuccin Mocha
macOS · IDE-free · agent-native

flightdeck✈︎

Your agentic cockpit in the terminal.

Ghostty · fish · tmux · Neovim (LazyVim) · Claude Code — a dotfiles setup where AI agents are first-class: run several Claude Code agents in parallel on isolated git worktrees, or drive one from inside Neovim. Themed Catppuccin Mocha, managed with GNU Stow.

fish — bootstrap
git clone https://github.com/vndee/flightdeck ~/flightdeck cd ~/flightdeck && ./install.sh # brew + stow + plugins
the cockpit
nvim — claudecode.nvim
Neovim with Claude Code in a split
Neovim + Claude Code — editor, file tree and the agent in one frame.
lazygit
lazygit with delta diffs
lazygit — full git TUI with delta diffs · prefix g
yazi
yazi file manager with bat previews
yazi — file manager with bat previews · y
btop
btop system monitor
btop — animated system monitor · top
two levels of parallel

Run every project at once.

Two independent tab layers, one nested in the other — so a stack of repos and their agents all stay live at the same time.

⌘1 · api ⌘2 · web ⌘3 · infra
1 editor 2 ✶ claude 3 server
~/api · main · nvim + Claude Code
+n → projects  ·  ⌃a+n → tasks
1
Ghostty tabs = projects. ⌘T new · ⌘1⌘8 jump · ⌘⇧[ ] cycle. One native macOS tab per repo.
2
tmux = the cockpit inside. Windows for editor + agents, plus panes and splits. C-a 1/2 windows · C-a T session switcher · wt an isolated worktree agent.

⌘+number flips projects, Ctrl-a+number flips tasks within one — both always live.

the stack

Modern tools, wired together.

Every layer is a fast, maintained CLI replacement — themed identically and stowed into place.

Terminal
Ghostty

GPU-accelerated, native macOS, true-color — steady block cursor.

Shell
fish + Starship

Inline abbreviations, a fast prompt, zoxide + atuin + fzf wired in.

Multiplexer
tmux + sesh

The cockpit: sessions, panes, popups, fuzzy session switching.

Editor
Neovim · LazyVim

Neo-tree, fzf-lua, treesitter — seamless tmux-pane navigation.

Agent
Claude Code · wt

Parallel agents on isolated worktrees, plus claudecode.nvim in-editor.

CLI core
bat · eza · delta · yazi

fd, ripgrep, lazygit, btop, gh — sharper defaults for everything.

the agentic workflow
# one isolated agent per task — zero collisions
 wt my-feature     # worktree + tmux (nvim + claude)
 wt another-fix   # a second agent, in parallel
 wt ls             # list worktrees & sessions

# jump between them
 prefix T          # fuzzy session switcher (sesh)
  • Parallel by design. Each task gets its own checkout and tmux session, so 2–4 Claude Code agents run concurrently on separate branches.
  • Agent in the editor. <leader>ac toggles Claude Code bound to Neovim — review and apply diffs natively.
  • One grid. Ctrl-h/j/k/l flows seamlessly between Neovim splits and tmux panes.
muscle memory

Quick tips.

A handful of keys cover most of the day.

Ctrl-h/j/k/lmove across Neovim splits + tmux panes (no prefix)
prefix Tfuzzy session switcher — sessions + zoxide dirs
<leader>etoggle the Neo-tree file explorer (H = dotfiles)
<leader><leader>fuzzy find files; <leader>/ greps contents
z <dir>zoxide jump to a frecent directory
Ctrl-ratuin fuzzy shell-history search
ls · ll · lteza — icons, git status, tree view
yopen yazi at the shell; cat → bat, top → btop