Everything open source
May 16–17, 2016: Training & Tutorials
May 18–19, 2016: Conference
Austin, TX

Building amazing cross-platform command-line apps in Go

Steve Francia (Google), ashley mcnamara (Rackspace)
1:30pm–5:00pm Monday, 05/16/2016
The New Stuff
Location: Meeting Room 18 A/B Level: Intermediate
Average rating: ****.
(4.32, 22 ratings)

Prerequisite knowledge

Attendees should have a basic understanding of programming (in any language).

Materials or downloads needed in advance

Attendees need a laptop with Go 1.5 or greater and the text editor of your choice installed.


Once thought relics of a mouseless age, command-line interfaces (CLIs) are making a huge comeback in a new and evolved form. Go is a great platform for CLI development due to its raw power, easy syntax, and painless distribution. Steve Francia and Ashley McNamara teach the techniques, principles, and libraries you need to build great CLI apps, covering everything from designing commands to working with and parsing flags, config files, and remote config systems and working with environment variables and 12-factor apps.

You’ll learn how to create user-friendly command-line interfaces as well as command suites and will reinforce your knowledge by building your own app. By the end of the workshop, you’ll have a working knowledge of Go and your very own functioning CLI app.

Photo of Steve Francia

Steve Francia


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.

Photo of ashley mcnamara

ashley mcnamara


Ashley McNamara is the director of technical communities at ObjectRocket by Rackspace, where she acts as a bridge between third-party developers and Rackspace, driving platform adoption through the developer community and driving change into products based on real-world customer/developer feedback. Ashley was a 2014 Hackbright engineering fellow. In her spare time, she’s a mentor at WeWork, General Assembly, AngelHack, and CapitalFactory and is on the board of multiple engineering groups including Redis Austin, Big Data Analytics Club, and Austin All Girl Hack Night. Ashley is passionate about helping more underrepresented individuals join and feel comfortable in tech and is often a resource for new developers trying to find their way.

Comments on this page are now closed.


Picture of Steve Francia
Steve Francia
03/31/2016 6:10am CDT

For people interested in a Go aware editor I’ve found that the intelliJ IDE + the Go plugin work really well on Windows, Mac and Linux.

It’s best if you install Go prior to the Go plugin
Install Go via brew (Mac), apt-get (Linux) or the MSI (Win).
Complete directions are available at https://golang.org/doc/install

Install the community edition of IntelliJ from https://www.jetbrains.com/idea/#chooseYourEdition

Then install the Go plugin via the instructions at

For those partial to Vim, the vim-go plugin is excellent.

And is included in the spf13-vim distribtion

Git will also need to be installed to obtain some of the dependency packages.