command-line interface components for golang