This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a dotfiles repository for managing development environment configurations on macOS. It uses a Go-based CLI with Dotbot for symlink management.
go run .- Main installation command (idempotent, can be run multiple times)brew bundle- Install/update Homebrew dependencies from Brewfile./install- Alternative installation using dotbot directly./install_fisher- Install Fish shell plugin manager./install_fonts- Install custom fonts
- Edit configurations in
config/directory (changes are immediately reflected via symlinks) vale sync- Update Vale prose linting styles- For Neovim updates:
:Lazy sync(update plugins),:Lazy clean(remove unused)
/config/- All configuration files organized by tool:nvim/- Neovim configuration (LazyVim-based)fish/- Fish shell configurationghostty/,wezterm/- Terminal emulatorsaerospace/,yabai/- Window managersstarship.toml- Shell prompt
/dotbot/- Dotfile management submodule/styles/- Vale prose linting styles
main.go- Go CLI that handles templating and installationconfig.yaml- Base configuration (directories, project paths)install.dotfiles.yaml- Dotbot configuration defining symlinksBrewfile- Homebrew package dependencies
config.yamldefines base directory and project pathsmain.goprocesses templates and runs dotbot- Dotbot creates symlinks from
config/*to~/.config/* - Existing configs are backed up to
.config.bak
- Based on LazyVim with extensive customization
- Config location:
config/nvim/ - See
config/nvim/CLAUDE.mdfor detailed Neovim guidance
- Fish is the default shell
- Config location:
config/fish/ - Fisher manages Fish plugins
zl- Create/switch to project tab with layout:- Creates new tab with
layout.kdlif present, otherwise usescompactlayout for git repos - Switches to existing tab if one exists with the same name
- Applies layout when switching to existing tabs
- Tab names use
repo/subdirformat for git repos, directory name otherwise
- Creates new tab with
zr- Enable automatic tab renaming when changing directoriesc/ci- Autojump commands that create new Zellij tabs for navigation
- Backend:
~/Coding/Tutero/Backend/ - Frontend:
~/Coding/Tutero/Frontend/ - Infrastructure:
~/Coding/Tutero/Infrastructure/ - Playground:
~/Coding/Playground/