diff --git a/.gitignore b/.gitignore
index a682219456b..98a5db70804 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,21 +1,27 @@
+#########################
+# openFrameworks patterns
+#########################
-# OF-specific ignore patterns
-
+# build files
openFrameworks.a
openFrameworksDebug.a
openFrameworksUniversal.a
+libs/openFrameworksCompiled/lib/*/*
+!libs/openFrameworksCompiled/lib/*/.gitkeep
-#rule to avoid non-official addons going into git
-#see addons/.gitignore
+# rule to avoid non-official addons going into git
+# see addons/.gitignore
addons/*
-#rule to avoid non-official apps going into git
-#see apps/.gitignore
+# rule to avoid non-official apps going into git
+# see apps/.gitignore
apps/*
-#also, see examples/.gitignore
+# also, see examples/.gitignore
-# Some general ignore patterns
+#########################
+# general
+#########################
[Bb]uild/
[Oo]bj/
@@ -27,24 +33,29 @@ apps/*
*.pyc
.svn/
*.log
+*.cpp.eep
+*.cpp.elf
+*.cpp.hex
-# IDE-specific ignore patterns
+#########################
+# IDE
+#########################
-#XCode
+# XCode
*.pbxuser
*.perspective
*.perspectivev3
*.mode1v3
*.mode2v3
-#XCode 4
+# XCode 4
xcuserdata
*.xcworkspace
-#Code::Blocks
+# Code::Blocks
*.depend
*.layout
-#Visual Studio
+# Visual Studio
*.sdf
*.opensdf
*.suo
@@ -53,36 +64,41 @@ xcuserdata
*.aps
ipch/
-#Eclipse
+# Eclipse
.metadata
local.properties
.externalToolBuilders
-# OS-specific ignore patterns
+#########################
+# operating system
+#########################
-#Linux
+# Linux
*~
# KDE
.directory
.AppleDouble
-#OSX
+# OSX
.DS_Store
*.swp
*~.nib
# Thumbnails
._*
-#Windows
+# Windows
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
-#Android
+# Android
.csettings
/libs/openFrameworksCompiled/project/android/paths.make
-# Miscellaneous
+#########################
+# miscellaneous
+#########################
+
.mailmap
diff --git a/addons/.gitignore b/addons/.gitignore
index 8ba8bd20840..46bfc55fd3c 100644
--- a/addons/.gitignore
+++ b/addons/.gitignore
@@ -1,4 +1,7 @@
-!ofAddons.h
+#########################
+# core addons
+#########################
+
!.project
!ofx3DModelLoader
!ofxAccelerometer
diff --git a/apps/.gitignore b/apps/.gitignore
index c7e18914dd9..623da55352f 100644
--- a/apps/.gitignore
+++ b/apps/.gitignore
@@ -1,4 +1,9 @@
-# devApps is the only official directory
+#########################
+# core apps
+#########################
+
+# include official directories
+!projectGenerator/
!devApps/
# ignore bin folders' contents, except data folder therein
@@ -12,5 +17,3 @@
# don't ignore the .gitignore file
!.gitignore
-# except the projectGenerator directory, too
-!projectGenerator/
diff --git a/apps/devApps/AdvancedImageLoading/bin/data/resaved/.gitignore b/apps/devApps/AdvancedImageLoading/bin/data/resaved/.gitignore
new file mode 100644
index 00000000000..cf8c935aecc
--- /dev/null
+++ b/apps/devApps/AdvancedImageLoading/bin/data/resaved/.gitignore
@@ -0,0 +1,3 @@
+# ignore resaved images, but not the folders they are in
+/*/*
+!/*/.gitkeep
diff --git a/apps/devApps/AdvancedImageLoading/bin/data/resaved/exrFloat/.gitignore b/apps/devApps/AdvancedImageLoading/bin/data/resaved/exrFloat/.gitignore
deleted file mode 100644
index 6361a516d6c..00000000000
--- a/apps/devApps/AdvancedImageLoading/bin/data/resaved/exrFloat/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*
-# don't ignore the .gitignore file
-!.gitignore
diff --git a/examples/graphics/imageSaverExample/bin/data/.gitkeep b/apps/devApps/AdvancedImageLoading/bin/data/resaved/exrFloat/.gitkeep
similarity index 100%
rename from examples/graphics/imageSaverExample/bin/data/.gitkeep
rename to apps/devApps/AdvancedImageLoading/bin/data/resaved/exrFloat/.gitkeep
diff --git a/apps/devApps/AdvancedImageLoading/bin/data/resaved/jpg8/.gitignore b/apps/devApps/AdvancedImageLoading/bin/data/resaved/jpg8/.gitignore
deleted file mode 100644
index 6361a516d6c..00000000000
--- a/apps/devApps/AdvancedImageLoading/bin/data/resaved/jpg8/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*
-# don't ignore the .gitignore file
-!.gitignore
diff --git a/apps/devApps/VboExample/bin/data/.gitignore b/apps/devApps/AdvancedImageLoading/bin/data/resaved/jpg8/.gitkeep
similarity index 100%
rename from apps/devApps/VboExample/bin/data/.gitignore
rename to apps/devApps/AdvancedImageLoading/bin/data/resaved/jpg8/.gitkeep
diff --git a/apps/devApps/AdvancedImageLoading/bin/data/resaved/png16/.gitignore b/apps/devApps/AdvancedImageLoading/bin/data/resaved/png16/.gitignore
deleted file mode 100644
index 6361a516d6c..00000000000
--- a/apps/devApps/AdvancedImageLoading/bin/data/resaved/png16/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*
-# don't ignore the .gitignore file
-!.gitignore
diff --git a/apps/devApps/AdvancedImageLoading/bin/data/resaved/png16/.gitkeep b/apps/devApps/AdvancedImageLoading/bin/data/resaved/png16/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apps/devApps/AdvancedImageLoading/bin/data/resaved/png8/.gitignore b/apps/devApps/AdvancedImageLoading/bin/data/resaved/png8/.gitignore
deleted file mode 100644
index 6361a516d6c..00000000000
--- a/apps/devApps/AdvancedImageLoading/bin/data/resaved/png8/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*
-# don't ignore the .gitignore file
-!.gitignore
diff --git a/apps/devApps/AdvancedImageLoading/bin/data/resaved/png8/.gitkeep b/apps/devApps/AdvancedImageLoading/bin/data/resaved/png8/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apps/devApps/VboExample/bin/data/.gitkeep b/apps/devApps/VboExample/bin/data/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 0ad26e2f189..00000000000
--- a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/xcuserdata/molmol.xcuserdatad/UserInterfaceState.xcuserstate b/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/xcuserdata/molmol.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index eb6e1a4c228..00000000000
Binary files a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/xcuserdata/molmol.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/xcuserdata/molmol.xcuserdatad/WorkspaceSettings.xcsettings b/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/xcuserdata/molmol.xcuserdatad/WorkspaceSettings.xcsettings
deleted file mode 100644
index f7f651881b6..00000000000
--- a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/project.xcworkspace/xcuserdata/molmol.xcuserdatad/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEWorkspaceUserSettings_BuildLocationStyle
- 2
-
-
diff --git a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/xcuserdata/molmol.xcuserdatad/xcschemes/pugixml.xcscheme b/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/xcuserdata/molmol.xcuserdatad/xcschemes/pugixml.xcscheme
deleted file mode 100644
index 5cac7d5f859..00000000000
--- a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/xcuserdata/molmol.xcuserdatad/xcschemes/pugixml.xcscheme
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/xcuserdata/molmol.xcuserdatad/xcschemes/xcschememanagement.plist b/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/xcuserdata/molmol.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index 4b1dfdf6721..00000000000
--- a/apps/devApps/projectGenerator/src/pugixmlLib/scripts/pugixml.xcodeproj/xcuserdata/molmol.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- SchemeUserState
-
- pugixml.xcscheme
-
- orderHint
- 0
-
-
- SuppressBuildableAutocreation
-
- 566D16C45B6D001276189718
-
- primary
-
-
-
-
-
diff --git a/examples/.gitignore b/examples/.gitignore
index 66f55e9d616..0962fb939a5 100644
--- a/examples/.gitignore
+++ b/examples/.gitignore
@@ -1,64 +1,61 @@
-android/*/test link
-android/*/gen
-android/*/res/raw
-libOFAndroidApp.so
-libOFAndroidApp_neon.so
-gdbserver
-gdb.setup
-libneondetection.so
-Application.mk
-Android.mk
+#########################
+# core examples
+#########################
*/*/bin/*
!*/*/bin/data/
-# IDE-specific ignore patterns
+#########################
+# IDE
+#########################
-#XCode
+# XCode
/*/*/*.xcodeproj
/*/*/Project.xcconfig
/*/*/openFrameworks-Info.plist
/*/*/ofxiOS-Info.plist
/*/*/ofxiOS_Prefix.pch
-/*/*/*/*/Default-568h@2x~iphone.png
-/*/*/*/*/Default.png
-/*/*/*/*/Default@2x.png
-/*/*/*/*/Default@2x~ipad.png
-/*/*/*/*/Default@2x~iphone.png
-/*/*/*/*/Default~ipad.png
-/*/*/*/*/Default~iphone.png
-/*/*/*/*/Icon-72.png
-/*/*/*/*/Icon-72@2x.png
-/*/*/*/*/Icon.png
-/*/*/*/*/Icon@2x.png
+/*/*/*/*/Default*.png
+/*/*/*/*/Icon*.png
-#Code::Blocks
+# Code::Blocks
/*/*/*.cbp
/*/*/*.workspace
-#Visual Studio
+# Visual Studio
/*/*/*.sln
/*/*/*.vcxproj
/*/*/*.vcxproj.user
/*/*/*.vcxproj.filters
/*/*/icon.rc
-#Eclipse
+# Eclipse
/*/*/.cproject
/*/*/.project
/*/*/.settings/
-# OS-specific ignore patterns
+#########################
+# operating system
+#########################
-#Linux
+# Linux
/*/*/Makefile
/*/*/config.make
# Leave Android files in until project generation works
!/android/*/Makefile
!/android/*/config.make
-#Android
-/*/*/test link
+# Android
+android/*/test link
+android/*/gen
+android/*/res/raw
+libOFAndroidApp*.so
+gdbserver
+gdb.setup
+libneondetection.so
+Application.mk
+Android.mk
+
!/android/*/.cproject
!/android/*/.project
!/android/*/.settings
diff --git a/libs/openFrameworksCompiled/lib/android/.gitignore b/libs/openFrameworksCompiled/lib/android/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/android/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/android/.gitkeep b/libs/openFrameworksCompiled/lib/android/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libs/openFrameworksCompiled/lib/ios/.gitignore b/libs/openFrameworksCompiled/lib/ios/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/ios/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/ios/.gitkeep b/libs/openFrameworksCompiled/lib/ios/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libs/openFrameworksCompiled/lib/linux/.gitignore b/libs/openFrameworksCompiled/lib/linux/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/linux/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/linux/.gitkeep b/libs/openFrameworksCompiled/lib/linux/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libs/openFrameworksCompiled/lib/linux64/.gitignore b/libs/openFrameworksCompiled/lib/linux64/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/linux64/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/linux64/.gitkeep b/libs/openFrameworksCompiled/lib/linux64/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libs/openFrameworksCompiled/lib/linuxarmv6l/.gitignore b/libs/openFrameworksCompiled/lib/linuxarmv6l/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/linuxarmv6l/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/linuxarmv6l/.gitkeep b/libs/openFrameworksCompiled/lib/linuxarmv6l/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libs/openFrameworksCompiled/lib/osx/.gitignore b/libs/openFrameworksCompiled/lib/osx/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/osx/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/osx/.gitkeep b/libs/openFrameworksCompiled/lib/osx/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libs/openFrameworksCompiled/lib/vs/.gitignore b/libs/openFrameworksCompiled/lib/vs/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/vs/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/vs/.gitkeep b/libs/openFrameworksCompiled/lib/vs/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/libs/openFrameworksCompiled/lib/win_cb/.gitignore b/libs/openFrameworksCompiled/lib/win_cb/.gitignore
deleted file mode 100644
index 0a9e2b15eaf..00000000000
--- a/libs/openFrameworksCompiled/lib/win_cb/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore everything in here apart from the .gitignore file
-*
-!.gitignore
\ No newline at end of file
diff --git a/libs/openFrameworksCompiled/lib/win_cb/.gitkeep b/libs/openFrameworksCompiled/lib/win_cb/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/other/serialTest/.gitignore b/other/serialTest/.gitignore
deleted file mode 100644
index 49374e291f2..00000000000
--- a/other/serialTest/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-applet/serialTest.cpp.eep
-applet/serialTest.cpp.elf
-applet/serialTest.cpp.hex
diff --git a/scripts/dev/.gitignore b/scripts/dev/.gitignore
index 7abe218d6bf..144a062be63 100644
--- a/scripts/dev/.gitignore
+++ b/scripts/dev/.gitignore
@@ -1,3 +1,3 @@
-#ignore downloaded openFrameworks from create_package script
+# ignore downloaded openFrameworks from create_package script
openFrameworks
of_preRelease*
diff --git a/scripts/ios/template/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/scripts/ios/template/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 1b31557fb08..00000000000
--- a/scripts/ios/template/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/scripts/osx/template/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/scripts/osx/template/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 1b31557fb08..00000000000
--- a/scripts/osx/template/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/tutorials/.gitignore b/tutorials/.gitignore
index 66f55e9d616..0962fb939a5 100644
--- a/tutorials/.gitignore
+++ b/tutorials/.gitignore
@@ -1,64 +1,61 @@
-android/*/test link
-android/*/gen
-android/*/res/raw
-libOFAndroidApp.so
-libOFAndroidApp_neon.so
-gdbserver
-gdb.setup
-libneondetection.so
-Application.mk
-Android.mk
+#########################
+# core examples
+#########################
*/*/bin/*
!*/*/bin/data/
-# IDE-specific ignore patterns
+#########################
+# IDE
+#########################
-#XCode
+# XCode
/*/*/*.xcodeproj
/*/*/Project.xcconfig
/*/*/openFrameworks-Info.plist
/*/*/ofxiOS-Info.plist
/*/*/ofxiOS_Prefix.pch
-/*/*/*/*/Default-568h@2x~iphone.png
-/*/*/*/*/Default.png
-/*/*/*/*/Default@2x.png
-/*/*/*/*/Default@2x~ipad.png
-/*/*/*/*/Default@2x~iphone.png
-/*/*/*/*/Default~ipad.png
-/*/*/*/*/Default~iphone.png
-/*/*/*/*/Icon-72.png
-/*/*/*/*/Icon-72@2x.png
-/*/*/*/*/Icon.png
-/*/*/*/*/Icon@2x.png
+/*/*/*/*/Default*.png
+/*/*/*/*/Icon*.png
-#Code::Blocks
+# Code::Blocks
/*/*/*.cbp
/*/*/*.workspace
-#Visual Studio
+# Visual Studio
/*/*/*.sln
/*/*/*.vcxproj
/*/*/*.vcxproj.user
/*/*/*.vcxproj.filters
/*/*/icon.rc
-#Eclipse
+# Eclipse
/*/*/.cproject
/*/*/.project
/*/*/.settings/
-# OS-specific ignore patterns
+#########################
+# operating system
+#########################
-#Linux
+# Linux
/*/*/Makefile
/*/*/config.make
# Leave Android files in until project generation works
!/android/*/Makefile
!/android/*/config.make
-#Android
-/*/*/test link
+# Android
+android/*/test link
+android/*/gen
+android/*/res/raw
+libOFAndroidApp*.so
+gdbserver
+gdb.setup
+libneondetection.so
+Application.mk
+Android.mk
+
!/android/*/.cproject
!/android/*/.project
!/android/*/.settings