Generate a .env.example
from an env labeled struct
The easiest way to install envexample
is using go install
from latest or by version.
go install github.com/miniscruff/envexample@latest
go install github.com/miniscruff/envexample@v0.1.0
All Installation Options has the full list of options.
CLI Arguments has all the arguments.
Given a configuration struct and using env to parse environment variables like:
package main
import (
"fmt"
"github.com/caarlos0/env/v9"
"github.com/joho/godotenv"
)
// Config handles our applications configuration
type Config struct {
// Home is our users home directory
Home string `env:"HOME"`
// Port is our http listeners port address
Port int `env:"PORT" envDefault:"3000"`
// IsProduction is whether or not we are running in production
IsProduction bool `env:"PRODUCTION"`
}
func main() {
// attempt to load .env file if found
_ = godotenv.Load()
cfg := Config{}
if err := env.Parse(&cfg); err != nil {
fmt.Printf("%+v\n", err)
}
fmt.Printf("%+v\n", cfg)
}
You can run envexample
like:
envexample -struct Config
To generate an .env.example
file similar to:
# Generated by envexample dev.
# Config handles our applications configuration
#
# Home is our users home directory
#HOME=""
# IsProduction is whether or not we are running in production
#PRODUCTION=""
# Port is our http listeners port address
#PORT=3000
This file should be commited to your source control, and a copy should be created locally that is then loaded by your application.
Something similar to cp .env.example .env
would work.
Download a .deb
or .rpm
file from the releases page
and install with dpkg -i
and rpm -i
respectively.
On windows you can use scoop by first adding the repo and then installing.
scoop bucket add envexample https://github.com/miniscruff/envexample
scoop install envexample
On macOS, you can use Homebrew to install by first tapping the repository.
brew tap miniscruff/envexample https://github.com/miniscruff/envexample
brew install envexample
- Download from here.
- Add executable somewhere in your path depending on your platform.
Go install can be used to download envexample from the main branch or by tag.
go install github.com/miniscruff/envexample@latest
go install github.com/miniscruff/envexample@v0.1.0
Distributed under the MIT License.