.git of course. Almost everything is under version control, either here or in its own repo.
.notes for my personal data. Email, chat logs.
.local for programs and configuration. In university we often had our home directories NFS mounted on linux, sun and IRIX machines. I would install say vim binaries in all three platforms and my path would include $HOME/.local/$UNAME/bin to get at the right binaries on each machine.
These days all the action is in .local/share. .local/share/scripts is where I keep my zshrc and so on, .local/share/config has my rcfiles. In particular .local/share/config/vim is several megabytes of vim configurations in their own git repo.
.runtime for generated files like zcompdump and whatnot.
I try really hard to minimize dotfiles outside of these, and to keep what is important somewhere in this hierarchy using environment variables or aliases. The one directory I can't get rid of is .ssh.
www is my homepage at http://akkartik.name.
Attic for old projects, usually git repos. Eventually they get burned to DVD and deleted.
Other than this I usually have one or two projects at any time. They are usually all I want to see when I ls. Lately all there's been here is readwarp.