diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..36317e03983490b7bafaa1049a7f821c4c05b6cf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,39 @@
+# General purpose
+*~
+
+# for cpp
+*.o
+
+# for java
+*.class
+.metadata
+*.tmp
+*.bak
+*.swp
+*~.nib
+*.sic
+*.deb
+*.*~
+local.properties
+.settings/
+.loadpath
+.recommenders
+dependency-reduced-pom.xml
+
+**/target/
+
+# IntelliJ files
+.idea/
+*.iws
+*.iml
+.idea_modules/
+
+# Eclipse files
+.project
+.launch
+.classpath
+.buildpath
+.target
+
+# ghostwriter backup
+*.md.backup