# Writing CLI applications with Golang

DevFeed: [Writing CLI applications with Golang](<https://devfeed.tech/articles/writing-cli-applications-with-golang-37738.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/golang-cli-apps/>)

Author: Carlos Alexandro Becker

Published: 2017-04-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [cli](<https://devfeed.tech/tags/cli.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [framework](<https://devfeed.tech/tags/framework.md>), [golang](<https://devfeed.tech/tags/golang.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [tools](<https://devfeed.tech/tags/tools.md>)

## AI overview

The article explains how the author structures Go command-line applications, including the libraries used for dependency management, user-interface elements, testing, linting, and release automation. It also presents a reusable project template and discusses repository badges and setup.

## Source excerpt

Last few months I've been using Go to write quite a lot of tools. In this post I intend to show not why I chose Go over others, but how I architect those tools, what libraries I use and what kind of automation I have in place.