This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Personal dotfiles for macOS. Configs are managed with GNU Stow and symlinked into $HOME via install.sh.
./install.sh link # Symlink configs into $HOME (uses stow)
./install.sh homebrew # Install Homebrew packages from Brewfile
./install.sh shell # Set zsh as default shell
./install.sh macos # Apply macOS defaults
./install.sh tmux # Install tmux plugin manager (tpm)
./install.sh all # Run all of the aboveThree stow packages are used in install.sh:
config/- stowed to$HOME(contains.config/subtree: nvim, zsh, tmux, git, alacritty, bat, btop, htop, lf, starship)gitconfig/- stowed to$HOMEwith--dotfilesflag (files prefixeddot-become.files)claude/- stowed to$HOMEwith--dotfilesflag (Claude Code config atdot-claude/)
Manual symlinks (not stow-managed):
lazygit/config.yml→~/Library/Application Support/jesseduffield/lazygit/config.ymllazydocker/config.yml→~/Library/Application Support/jesseduffield/lazydocker/config.ymlghostty/config→~/Library/Application Support/com.mitchellh.ghostty/config
config/.config/nvim/- Neovim config using LazyVim. Entry point:init.lua→lua/config/lazy.lua. Plugins inlua/plugins/.config/.config/zsh/- Shell config:exports.zsh(env vars, tool inits) andaliases.zshconfig/.config/tmux/tmux.conf- Tmux configurationconfig/.config/git/- Git config (hooks, attributes, ignore patterns)bin/- Custom scripts:gwt(git worktree helper),gwt-rm,tmux-sessionizerblink/- Blink Shell (iOS) themeBrewfile- All Homebrew dependencies
Uses LazyVim framework with plugins organized by concern in lua/plugins/:
lang.lua- Language-specific plugins (treesitter, LSP configs)ui.lua- UI customization (theme, statusline)git.lua- Git integrationsettings.lua- Editor behavior overridesdisabled.lua- Explicitly disabled LazyVim defaults
Formatting: Lua files use stylua (config in stylua.toml).
The claude/dot-claude/ directory gets stowed to ~/.claude/ and contains:
CLAUDE.md- Global instructions applied to all projectsskills/- Custom skill definitions (commit, create-pr, update-pr, pr-feedback, ci-errors, github)