Once thought relics of a mouseless age, command-line interfaces (CLIs) are making a huge comeback in a new and evolved form. Go is an excellent platform for CLI development due to its raw power, easy syntax, and painless distribution. We can build much better applications then we are currently doing. So much work in recent years has gone into usability and design on the Web and mobile, but the command line is often forgotten—in spite of a dramatic rise of command-line programs being developed. Through awareness and better libraries, we can spark a movement into better interfaces.
Ashley McNamara and Steve Francia outline the techniques, principles, and libraries you need to create user-friendly command-line interfaces and command suites before walking you through building your own app. Along the way, you’ll cover everything from how to design and build commands to working with and parsing flags, config files and remote config systems, and how to work with environment variables and 12-factor apps. By the end of the workshop, you’ll have a working knowledge of Go and your very own functioning CLI app.
Steve Francia is a Gopher at Google as well as an author, speaker, and developer. Steve is the creator of Hugo, Cobra, spf13-vim. Previously, he was an exec at Docker and MongoDB. Steve serves on the board of Drupal.
Ashley is a tech industry veteran, starting from homebrew hardware all the way through cloud advocacy, community management, and mentorship. She is currently a Developer Advocate for Microsoft, with a focus on Cloud Native tools and the Go community. She is an active chapter leader and mentor within the Women Who Go community and also on the board of the GoBridge foundation. Her passion is helping more underrepresented individuals join and feel comfortable in tech and being a resource for new developers trying to find their way.
Comments on this page are now closed.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com