# Ignore Vim temporary files
.*.sw?

# Ignore changes to the JJB Configuration File
jenkins.ini

# We don't want .netrc files since they're credential files
.netrc

# Maven
target/

# Vagrant
.vagrant

# IntelliJ
.idea/
*.iml

# Eclipse
.project
