feat(client): add discover