The Phraseanet LESS builder use recess as binary and it is launched after each install of plugins, if we use grunt here to compile LESS it adds more dependencies "less", "grunt-lib-contrib", "grunt" to install a plugin but in other hand we have two ways to do the same things ...