WTF (aka 'wtfutil') is the personal information dashboard for your terminal, providing at-a-glance access to your very important but infrequently-needed stats and data.
Used by thousands of developers and tech people around the world, WTF is free and open-source. To support the continued use and development of WTF, please consider sponsoring WTF via GitHub Sponsors.
Are you a contributor or sponsor?
Awesome! See here for how you can change the exit message, the message WTF shows when quitting, to something special just for you.
- Getting Bugs Fixed or Features Added
- Contributing to the Source Code
- Contributing to the Documentation
Installing via Homebrew
The simplest way from Homebrew:
brew install wtfutil wtfutil
That version can sometimes lag a bit, as recipe updates take time to get accepted into
homebrew-core. If you always want the bleeding edge of releases, you can tap it:
brew tap wtfutil/wtfutil brew install wtfutil wtfutil
Installing via MacPorts
You can also install via MacPorts:
sudo port selfupdate sudo port install wtfutil wtfutil
Installing a Binary
Download the latest binary from GitHub.
WTF is a stand-alone binary. Once downloaded, copy it to a location you can run executables from (ie:
/usr/local/bin/), and set the permissions accordingly:
chmod a+x /usr/local/bin/wtfutil
and you should be good to go.
Installing from Source
If you want to run the build command from within your
# Set the Go proxy export GOPROXY="https://proxy.golang.org,direct" # Disable the Go checksum database export GOSUMDB=off # Enable Go modules export GO111MODULE=on go get -u github.com/wtfutil/wtf cd $GOPATH/src/github.com/wtfutil/wtf make install make run
If you want to run the build command from a folder that is not in your
# Set the Go proxy export GOPROXY="https://proxy.golang.org,direct" go get -u github.com/wtfutil/wtf cd $GOPATH/src/github.com/wtfutil/wtf make install make run
Installing from Source using Docker
All building is done inside a docker container. You can then copy the binary to your local machine.
curl -o Dockerfile.build https://raw.githubusercontent.com/wtfutil/wtf/master/Dockerfile.build docker build -f Dockerfile.build -t wtfutil --build-arg=version=master . docker create --name wtf_build wtfutil docker cp wtf_build:/usr/local/bin/wtfutil ~/.local/bin docker rm wtf_build
Note: WTF is only compatible with Go versions 1.16.0 or later (due to the use of Go modules and newer standard library functions). If you would like to use
gccgo to compile, you must use
gccgo-9 or later which introduces support for Go modules.
Installing via Arch User Repository
Running via Docker
You can run
wtf inside a docker container:
# download or create the Dockerfile curl -o Dockerfile https://raw.githubusercontent.com/wtfutil/wtf/master/Dockerfile # build the docker container docker build -t wtfutil . # or for a particular tag or branch docker build --build-arg=version=v0.25.0 -t wtfutil . # run the container docker run -it wtfutil # run container with a local config file docker run -it -v path/to/config.yml:/config/config.yml wtfutil --config=/config/config.yml
If you’re a member of the Gophers Slack community (https://invite.slack.golangbridge.org) there’s a WTFUtil channel you should join for all your WTF questions, development conversations, etc.
Find #wtfutil on https://gophers.slack.com/ and join us.
Also, follow on Twitter for news and latest updates.
See https://wtfutil.com for the definitive documentation. Here's some short-cuts:
Modules are the chunks of functionality that make WTF useful. Modules are added and configured by including their configuration values in your
config.yml file. The documentation for each module describes how to configure them.
Some interesting modules you might consider adding to get you started:
- Google Calendar
- Have I Been Pwned
Getting Bugs Fixed or Features Added
WTF is open-source software, informally maintained by a small collection of volunteers who come and go at their leisure. There are absolutely no guarantees that, even if an issue is opened for them, bugs will be fixed or features added.
If there is a bug that you really need to have fixed or a feature you really want to have implemented, you can greatly increase your chances of that happening by creating a bounty on BountySource to provide an incentive for someone to tackle it.
Contributing to the Source Code
First, kindly read Talk, then code by Dave Cheney. It's great advice and will often save a lot of time and effort.
Next, kindly read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.
Then create your branch, write your code, submit your PR, and join the rest of the awesome people who've contributed their time and effort towards WTF. Without their contributors, WTF wouldn't be possible.
Don't worry if you've never written Go before, or never contributed to an open source project before, or that your code won't be good enough. For a surprising number of people WTF has been their first Go project, or first open source contribution. If you're here, and you've read this far, you're the right stuff.
Contributing to the Documentation
Documentation now lives in its own repository here: https://github.com/wtfutil/wtfdocs.
Please make all additions and updates to documentation in that repository.
Dependency management in WTF is handled by Go modules. Please check out that page for more details on how Go modules work.
The inspiration for
WTF came from Monica Dinculescu's