# Eclipse project
**/.classpath
**/.project

# IntelliJ project
**/.idea
**/*.iml
**/*.ipr

# VSCode
**/.vscode/
**/packages.modules.StatsD.code-workspace

