Refactor CLI

Use promise with Q
Not exiting when in watch mode and there is a compile error