I create a lot of projects and the first thing I do is often

$ cat > .gitignore  
::sound of furious typing::
::Ctrl+D::
This has become untenable with all of the work I do with Eclipse, Java/Scala/Groovy. Fortunately Github publishes a repo with a list of all the well-known ignore patterns for various languages, tools, and frameworks. I hacked together a gitignore script that allows me to rely on this repo and do things like:
$ gitignore Eclipse Grails
This nets me a .gitignore that looks like:
$ cat .gitignore  
*.bak
*.iws
*.launch
⋮
local.properties  
tmp/**  
tmp/**/*  

I wrote this because I couldn't find something else that already did this though I am certain someone out there has already scratched this itch.