Skip to content

arielril/golang-cli

Repository files navigation

Go CLI - Template

Go Report Card

This is a template repository to create CLI using golang. It creates a powerful cli using Cobra and Viper as main packages.

Setup

Create your own .config.yaml file to configure the CLI.

To set up the git hooks run the following command.

cp ./scripts/pre-commit-hook.sh .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

Running Locally

go run ./cmd/golang-cli/main.go help

Dependency Management

This package uses go modules. Whenever you run go build or go test all dependencies will be downloaded automatically. See go.mod and go.sum to see all modules used by this package.

Configuration

Runtime

Many settings are set throught the .config.yaml file and read using the Viper package to set the configuration of the project and to retrieve the configuration values.

An example of the configuration file can be found at configs/.config.example.yaml.

Project Structure

The project structure used follows the project layout defined in Golang Standards - Project Layout, which used a lot of definitions found in the web and compiled an unified layout.

About

Golang CLI Template Repo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published