Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 2.93 KB

File metadata and controls

63 lines (49 loc) · 2.93 KB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Repository Overview

Personal dotfiles repository for macOS development environment. Files are deployed via symlinks from the home directory into ~/.dotfiles/.

Active symlinks:

  • ~/.configconfig/
  • ~/.gitconfiggitconfig
  • ~/.githelpersgithelpers
  • ~/.gitlocalconfiggitlocalconfig
  • ~/.vimvim/
  • ~/.vimrcvimrc
  • ~/.base16_themeconfig/base16-shell/scripts/base16-monokai.sh

Key Commands

Setup / update (idempotent — safe to run repeatedly):

git clone https://github.com/BugRoger/dotfiles.git ~/.dotfiles
.dotfiles/scripts/upgrade

Vim 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 pull

App 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 raycast

Architecture

  • config/ — 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 custom u8s binary, 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 (notably u8s for 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.

Important Details

  • The entire ~/.config directory is a symlink to this repo's config/ 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 = ssh setting in gitconfig is intentional.
  • Fish shell is the primary shell; there is no bash/zsh configuration beyond githelpers.