cli: readline is optional