Tricky and fun utilities for Go programs.

AnyBool is a small utility with an interface for simplifying organization of defaults, settings, and constants in Go programs.

GitHub Workflow Status Codecov

Contributor Covenant

Twitter Follow GitHub followers

Getting Started


Developed with $( go version; ). Go is extremely backwards compatible and semver stable. Nearly any v1.x should work fine.


To use this repo as a template for your own project:

gh repo create -y --public --template ""

Clone this repo to test and contribute:

# add repo to $GOPATH (xxxxxx is your computer login username)
go get

cd ${GOPATH}/src/

# test results and coverage info

# install as a utility package
go install

Use the Issues and PR templates on the GitHub repo page to contribute.

Basic Usage

This is a copy of the example script available in the cmd/example/anybool folder:

package main

import ""

func main() {

To try it out:

# change to the sample folder
cd cmd/example/anybool

# run the main.go program
go run ./main.go

# to compile as an executable
go build

Code of Conduct and Contributing

Please read for details on our code of conduct, and the process for submitting pull requests to us. Please read the Code of Conduct for details before submitting anything.


We use SemVer for versioning. For the versions available, see the tags on this repository.

Contributors and Inspiration

  • Michael Treanor (GitHub / Twitter) – Initial work, updates, maintainer
  • Francesc Campoy – Inspiration and great YouTube videos!

See also the list of contributors who participated in this project.


Licensed under the MIT – see the LICENSE file for details.


View Github