A command line interface framework