feat(watch_exec) add recursive flag to watch_exec