feat(recursive): add --recursive option