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.
Hidden is not secure
A leading dot only hides a name from default listings and some graphical views. It does not protect a token or key. Manage permissions, credential storage, and repository ignore rules separately.
A dotfile can be executable code
Shell startup files and editor configuration can run commands when loaded. Read another person's dotfiles before sourcing or installing them, and apply small reversible pieces on a new machine.