Skip to content

Latest commit

 

History

History
55 lines (38 loc) · 2.71 KB

File metadata and controls

55 lines (38 loc) · 2.71 KB

CLAUDE.md

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

Overview

Personal dotfiles repository for a zsh + sheldon + vim development environment. The setup script symlinks config files into $HOME.

Installation

Run setup.zsh to bootstrap the environment. It:

  1. Creates ~/.vim/plugins/ and symlinks rc/, syntax/, dict/, and vimrc into ~/.vim/
  2. Links sheldon/plugins.toml into ~/.config/sheldon/
  3. Symlinks zprofile to ~/.zprofile and zshrc to ~/.zshrc
  4. Symlinks tmux.conf to ~/.tmux.conf
  5. Links .claude/ agents, commands (per-file) and skills (per-directory) into ~/.claude/

After running:

sheldon lock   # download all plugins

Requirements

  • zsh, sheldon, ghq, peco, starship, fnm, uv

File Structure

File/Dir Purpose
setup.zsh Bootstrap script — symlinks all configs
zprofile Login shell — env vars (BROWSER, EDITOR, PAGER, LANG, LESS), PATH (includes $HOME/.local/bin for uv)
zshrc Interactive shell — zsh options, sheldon plugin loading, peco-src keybind (Ctrl+]), compinit
sheldon/plugins.toml Sheldon plugin manifest — zsh-completions, zsh-autosuggestions, zsh-syntax-highlighting
vimrc Vim config using dein.vim plugin manager
tmux.conf tmux config — prefix is C-q, vim-style pane navigation
rc/dein.toml Always-loaded vim plugins
rc/dein_lazy.toml Filetype-lazy vim plugins (JS, Go, PHP, Vue, etc.)
syntax/php.vim PHP syntax file
dict/php.dict PHP dictionary for neocomplete
.claude/agents/ Custom Claude Code review agents (reviewer, simplify-reviewer, codex-reviewer)
.claude/commands/ Custom slash commands (self-review, self-review-and-comment)
.claude/skills/ Custom skills (fix-review-comments)

Key Configurations

zprofile/zshrc split: Login-shell env vars live in zprofile; interactive config (options, plugins, keybinds) lives in zshrc.

zshrc: Ctrl+] triggers peco-src — fuzzy-finds ghq-managed repos and cds into them. Sheldon loads plugins (completions, autosuggestions, syntax-highlighting), then compinit runs. fnm is initialized via eval "$(fnm env --use-on-cd)" — automatically switches Node.js version when entering a directory with .node-version or .nvmrc. Starship prompt is initialized via eval "$(starship init zsh)" at the end.

vimrc: Uses dein.vim (plugins in ~/.vim/plugins/). Key plugins: neocomplete, neosnippet, NERDTree (nt), unite.vim, ALE (lint on save only), vim-fugitive, neoformat (auto-formats JS on save).

tmux.conf: Prefix C-q, vim-style pane selection (h/j/k/l), split with v/s, mouse enabled.