This repo contains an up-to-date Launcher3, with all the goodies Google added in Marshmallow. I converted it to build with gradle so it is easy to manage. All other credit goes to the Google Team.
Feel free to fork and use this as a base project for any launchers you might want to make in the future. I will try to keep it up with the latest changes from Google.
$ git remote add upstream https://android.googlesource.com/platform/packages/apps/Launcher3
$ git fetch upstream
$ git checkout master
$ git merge upstream/master