This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Personal dotfiles repository for macOS development environment. Files are deployed via symlinks from the home directory into ~/.dotfiles/.
Active symlinks:
~/.config→config/~/.gitconfig→gitconfig~/.githelpers→githelpers~/.gitlocalconfig→gitlocalconfig~/.vim→vim/~/.vimrc→vimrc~/.base16_theme→config/base16-shell/scripts/base16-monokai.sh
Setup / update (idempotent — safe to run repeatedly):
git clone https://github.com/BugRoger/dotfiles.git ~/.dotfiles
.dotfiles/scripts/upgradeVim plugins are managed as Git submodules:
# Add a new plugin
git submodule add http://github.com/user/plugin.git vim/bundle/plugin-name
# Update all plugins
git submodule foreach git pullApp settings sync (for apps that can't be symlinked):
# Export app settings into the dotfiles repo
.dotfiles/scripts/export raycast
# Import app settings on a new machine
.dotfiles/scripts/import raycastconfig/— XDG config directory (symlinked as~/.config). Contains fish shell, GitHub CLI, iTerm2, 1Password, Raycast, Wireshark, and base16-shell theme configs.config/fish/config.fish— Primary shell configuration. Heavy Kubernetes/kubectl aliases using a customu8sbinary, Git shortcuts, PATH setup for Homebrew (Apple Silicon), Go, and various tools.config/fish/functions/— Fish functions including Tide prompt (v6 via fisher plugin manager).vim/bundle/— 30 Vim plugins as Git submodules, managed by Pathogen.vimrc— Vim config: 2-space tabs, comma leader key, Base16 Monokai theme, Airline statusbar. Language support for Go, Ruby/Rails, JavaScript, Markdown.gitconfig— Git aliases, SSH commit signing (key at~/.ssh/git-signingkey), vim as editor.githelpers— Bash functions for pretty git log formatting.bin/— Custom binaries (notablyu8sfor Kubernetes context/config management).scripts/upgrade— Idempotent setup script: installs Homebrew + packages, creates symlinks, configures fish shell and iTerm2. Safe for both fresh installs and updates.scripts/export— Dispatcher to export app settings into the dotfiles repo. Currently supports: raycast.scripts/import— Dispatcher to import app settings from the dotfiles repo. Currently supports: raycast.
- The entire
~/.configdirectory is a symlink to this repo'sconfig/folder — changes to any XDG config file are changes to this repo. config/base16-shell/is a Git submodule, not regular files.- Git is configured for SSH signing (not GPG). The
gpgformat = sshsetting in gitconfig is intentional. - Fish shell is the primary shell; there is no bash/zsh configuration beyond githelpers.