This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a personal dotfiles repository that manages development environment configurations using a modular Make-based system. Each tool/application has its own module with dedicated Makefiles that handle installation, cleaning, and updates.
make all- Install all configurationsmake clean- Remove all installed configurationsmake update- Update configurations where applicable
make fish-install/make fish-clean/make fish-update- Fish shell configurationmake nvim-install/make nvim-clean- Neovim configurationmake tmux-install/make tmux-clean- tmux configurationmake dot-install/make dot-clean- Install/remove dotfiles (symlinks)
- nvim: After installation, run
call coc#util#install()in nvim for coc.nvim setup - tmux: Press
prefix+I(where prefix isCtrl + q) to install plugins
brew bundle- Install packages from Brewfilebrew bundle dump- Backup current packages to Brewfile
The repository uses a modular structure where:
- Main Makefile (
/Makefile) includes all module Makefiles and defines target collections - Module Directory (
/modules/) contains individual tool configurations, each with its own Makefile - Shared Make Logic (
/src/make/dot.mk) handles automatic dotfile symlinking for files matchingdot.*pattern - Config Directory (
/config/) contains package lists for package managers
Each module follows this pattern:
- Contains configuration files
- Has a dedicated Makefile with
{MODULE}_TARGETS,{MODULE}_CLEAN_TARGETSvariables - Handles symlinking configurations to appropriate locations (e.g.,
~/.config/) - May download external dependencies or plugins
- tmux prefix:
Ctrl + q - fish vi mode:
Ctrl + [to enter normal mode
When modifying configurations:
- Edit files in
/modules/{tool}/directory, not the symlinked destinations - Use module-specific clean/install commands to test changes
- The system creates symlinks, so changes are immediately reflected