Could someone pretty please explain what dotfiles are and their uses? Google says they're just hidden files :S
This post is about how you can automated some of that so you can easily replicate the environment you're used to everywhere.
Some examples would include .bashrc for running commands automatically when bash starts, .vimrc for vim preferences, .ssh/ for storing SSH keys and settings, etc.