update: grunt and workflow