Go CLI Project Template ☄️

Powerful template for Go CLI applications with advanced config management


  • Advanced config management with viper and useful config commands such as setting config values directly from CLI (like this config set -k logs.write -v true), reading env variables and file-based configuration (either TOML or YAML). Also, configuration is self-documented, type config info to show every config field available with description for each.

  • Cache & Temp files management with clear command

  • Polished CLI experience with cobra + coloredcobra to make things look pretty

  • Afero filesystem for various fs utils, abstractions and in-memory fs for testing. For example, instead of os.Remove("file") use filesystem.Api().Remove("file")

  • Easy to use path management with where package

  • Logging to file

  • Icons!

  • Predefined lipgloss colors


View Github