The dot is the only thing that hides them
Unix "hidden" files aren't really hidden. They are just files whose name starts with . — and the convention is that ls, GUI file managers, and most tools skip them by default. Type ls -A and there they are.
What lives in your home as dotfiles
~/.zshrc,~/.zprofile— zsh config~/.bashrc,~/.bash_profile— bash config~/.gitconfig— global git config~/.ssh/— SSH keys and config (oftenchmod 700)~/.config/— XDG-style config trees (Starship, fish, nvim, etc.)~/.local/share/— XDG data~/.cache/— XDG cache (safe to delete)
Why hide config?
Hiding keeps your home directory clean. Imagine running ls in ~ and seeing every tool's settings — fifty entries, most never touched again. Hidden by default keeps the visible space for what you actually work on.
Versioning your dotfiles
Most developers track ~/.zshrc, ~/.gitconfig, etc. in a git repo. Tools like chezmoi or GNU Stow (covered later) handle the symlinking. The first time you set up a fresh Mac, you can git clone + chezmoi apply and your shell feels exactly like home in five minutes.