Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 2.36 KB

File metadata and controls

56 lines (38 loc) · 2.36 KB

CLAUDE.md

This is a personal dotfiles repository managing shell configs, git settings, and macOS preferences. It uses a role-based configuration system (personal/work) that adapts settings based on hostname or DOTPICKLES_ROLE.

See doc/architecture.md for how the systems fit together.

Development Commands

npm run lint      # typecheck + format check (the test suite)
npm run format    # format all files with Prettier
npm run typecheck # TypeScript type check only

Pre-commit hooks via lefthook: Prettier formats staged files, TypeScript checks .ts files.

There are no traditional unit tests. "Testing" means npm run lint + manual install verification.

Architecture Decision Records

This repo uses ADRs to document why architectural choices were made. Before making significant changes, check doc/adr/ for existing decisions.

bin/adr new "title" # create new ADR
bin/adr list        # list all ADRs

When making significant architectural changes, create a new ADR.

Important Files Not to Modify Manually

  • ~/.gitconfig.local: Generated by gitconfig.sh
  • ~/.gitconfig.d/1password: Generated during git config setup
  • ~/.ssh/config: Managed by sshconfig.sh -- edit ssh/config.d/ instead
  • ~/.ssh/config.d/colima: Generated by sshconfig.sh
  • Any symlinked files -- edit the source in home/ or config/ instead

Working with Nerd Fonts / Special Unicode Characters

When editing files with Nerd Font glyphs (tmux config, starship prompt), do not insert glyphs directly -- they get corrupted. Use placeholder text and let the user paste the actual glyph, or define tmux user options:

set -g @_pill_left "" # user pastes actual glyph
set -g @_pill_right ""

Common glyphs in this repo: (U+E0B6), (U+E0B4), (U+E0B0), (U+E0B2)

Subsystem Docs