This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a personal dotfiles repository managed by Chezmoi. It contains configuration files for various development tools, editors, and system preferences across macOS and Linux environments.
config/- Main configuration directory containing dotfilesdot_config/- XDG config directory (~/.config)dot_claude/- Claude-specific configurations and commandsdot_hammerspoon/- Hammerspoon window manager configvscode/- VS Code settings and keybindings
setup/- Bootstrap and installation scriptsmacos/- macOS-specific setup scriptslinux/- Linux-specific setup scriptsshared/- Cross-platform setup scripts
raycast/- Raycast scripts and extensionswidgets/- Custom widgets and utilities
Editor Configurations:
- Multiple Neovim distributions: LunarVim, NVChad, LazyVim, AstroNvim, and Kickstart
- VS Code with custom settings and keybindings
- Vim configurations for different contexts
Shell and Terminal:
- Fish shell as primary shell with custom functions and abbreviations
- Tmux configuration with custom key bindings
- Starship prompt configuration
- Various terminal emulators: Alacritty, Kitty, Ghostty
Window Management:
- Hammerspoon for macOS window management
- Phoenix WM configuration (TypeScript-based)
- Aerospace for tiling window management
Development Tools:
- Git configuration with templates
- Various language-specific configurations (Python, Ruby, Elixir, etc.)
- Database CLI tools (pgcli, litecli, mycli)
make build-image- Build the dotfiles Docker imagemake run-image- Run the Docker container interactivelymake release-image- Build and push the Docker imagemake clean- Clean git ignored files
yarn build- Build the Phoenix configurationyarn watch- Build and watch for changesyarn lint- Run TSLint on TypeScript filesyarn format- Format TypeScript files with Prettier
- Scripts in
setup/directory handle installation and configuration setup/macos/contains macOS-specific setup including Homebrew installationsetup/linux/contains Linux-specific setupsetup/shared/contains cross-platform setup scripts
This repository is designed to be used with Chezmoi:
- Template files use
.tmplextension for dynamic configuration - Private files are prefixed with
private_ - Executable files are prefixed with
executable_ - Symlinks are prefixed with
symlink_ - Dot files are prefixed with
dot_(represents files starting with.)
When working with this repository:
- Configuration changes should be made to the source files in this repository
- Use
chezmoi applyto apply changes to the actual dotfiles - Test changes in the appropriate environment before committing
- Docker image can be used to test the full configuration in isolation
- This is a personal configuration repository - modifications should respect the owner's preferences
- The configuration supports both macOS and Linux environments
- Multiple editor configurations are maintained simultaneously
- Phoenix WM configuration is written in TypeScript and requires compilation