Basic CLI framework