WTF

All Contributors Travis Status Go Report Card Twitter

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](https://github.com/sponsors/senorprogrammer). #

* [Installation](#installation) * [Installing via Homebrew](#installing-via-homebrew) * [Installing via MacPorts](#installing-via-macports) * [Installing via Scarf](#installing-via-scarf) * [Installing a Binary](#installing-a-binary) * [Installing from Source](#installing-from-source) * [Running via Docker](#running-via-docker) * [Communication](#communication) * [Slack](#slack) * [Twitter](#twitter) * [Documentation](#documentation) * [Modules](#modules) * [Getting Bugs Fixed or Features Added](#getting-bugs-fixed-or-features-added) * [Contributing to the Source Code](#contributing-to-the-source-code) * [Adding Dependencies](#adding-dependencies) * [Contributing to the Documentation](#contributing-to-the-documentation) * [Contributors](#contributors) * [Acknowledgements](#acknowledgments)

## Installation ### Installing via Homebrew The simplest way from Homebrew: ```console 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: ```console brew tap wtfutil/wtfutil brew install wtfutil wtfutil ``` ### Installing via MacPorts You can also install via [MacPorts](https://www.macports.org/): ```console sudo port selfupdate sudo port install wtfutil wtfutil ``` ### Installing via Scarf You can also install via [Scarf](https://scarf.sh/package/senorprogrammer/wtfutil): ```console scarf install wtfutil wtfutil ``` ### Installing a Binary [Download the latest binary](https://github.com/wtfutil/wtf/releases) 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: ```bash 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 `$GOPATH`: ```bash # 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 `$GOPATH`: ```bash # 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 ``` **Note:** WTF is _only_ compatible with Go versions **1.12.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. ## Running via Docker You can run `wtf` inside a docker container: ```bash # download the source git clone https://github.com/wtfutil/wtf # build the docker container docker build -t wtfutil . # run the container docker run -it wtfutil ``` ## Communication ### Slack 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. ### Twitter Also, follow [on Twitter](https://twitter.com/wtfutil) for news and latest updates. ## Documentation See [https://wtfutil.com](https://wtfutil.com) for the definitive documentation. Here's some short-cuts: * [Installation](https://wtfutil.com/getting_started/installation/) * [Configuration](https://wtfutil.com/configuration/) * [Module Documentation](https://wtfutil.com/modules/) ## Modules 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: * [GitHub](https://wtfutil.com/modules/github/) * [Google Calendar](https://wtfutil.com/modules/google/gcal/) * [HackerNews](https://wtfutil.com/modules/hackernews/) * [Have I Been Pwned](https://wtfutil.com/modules/hibp/) * [NewRelic](https://wtfutil.com/modules/newrelic/) * [OpsGenie](https://wtfutil.com/modules/opsgenie/) * [Security](https://wtfutil.com/modules/security/) * [Transmission](https://wtfutil.com/modules/transmission/) * [Trello](https://wtfutil.com/modules/trello/) ## 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](https://www.bountysource.com) to provide an incentive for someone to tackle it. ## Contributing to the Source Code First, kindly read [Talk, then code](https://dave.cheney.net/2019/02/18/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](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](https://github.com/wtfutil/wtfdocs). Please make all additions and updates to documentation in that repository. ### Adding Dependencies Dependency management in WTF is handled by [Go modules](https://github.com/golang/go/wiki/Modules). Please check out that page for more details on how Go modules work. ## Contributors | [Chris Cummer
Chris Cummer](https://twitter.com/senorprogrammer)
| [Anand Sudhir Prayaga
Anand Sudhir Prayaga](https://github.com/anandsudhir)
| [Hossein Mehrabi
Hossein Mehrabi](https://github.com/jeangovil)
| [FengYa
FengYa](https://github.com/Fengyalv)
| [deltax
deltax](https://fluxionnetwork.github.io/fluxion/)
| [Bill Keenan
Bill Keenan](https://github.com/BillKeenan)
| [June S
June S](http://blog.sapara.com)
| | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | [liyiheng
liyiheng](https://github.com/XanthusL)
| [baustinanki
baustinanki](https://github.com/baustinanki)
| [lucus lee
lucus lee](https://github.com/lixin9311)
| [Mike Lloyd
Mike Lloyd](https://github.com/mxplusb)
| [Sergio Rubio
Sergio Rubio](http://rubiojr.rbel.co)
| [Farhad Farahi
Farhad Farahi](https://github.com/FarhadF)
| [Lasantha Kularatne
Lasantha Kularatne](http://lasantha.blogspot.com/)
| | [Mark Old
Mark Old](https://github.com/dlom)
| [flw
flw](http://flw.tools/)
| [David Barda
David Barda](https://github.com/davebarda)
| [Geoff Lee
Geoff Lee](https://github.com/matrinox)
| [George Opritescu
George Opritescu](http://international.github.io)
| [Grazfather
Grazfather](https://twitter.com/Grazfather)
| [Michael Cordell
Michael Cordell](http://www.mikecordell.com/)
| | [Patrick José Pereira
Patrick José Pereira](http://patrick.ibexcps.com)
| [sherod taylor
sherod taylor](https://github.com/sherodtaylor)
| [Andrew Scott
Andrew Scott](http://cogentia.io)
| [Lassi Piironen
Lassi Piironen](https://github.com/lsipii)
| [BlackWebWolf
BlackWebWolf](https://github.com/BlackWebWolf)
| [andrewzolotukhin
andrewzolotukhin](https://github.com/andrewzolotukhin)
| [Leon Stigter
Leon Stigter](https://retgits.github.io)
| | [Amr Tamimi
Amr Tamimi](https://tamimi.se)
| [Jagdeep Singh
Jagdeep Singh](https://jagdeep.me)
| [Lineu Felipe
Lineu Felipe](https://github.com/darkSasori)
| [Konstantin
Konstantin](https://github.com/kvj)
| [Brendan O'Leary
Brendan O'Leary](http://www.brendanoleary.com)
| [bertl4398
bertl4398](https://github.com/bertl4398)
| [Ferenc-
Ferenc-](https://github.com/Ferenc-)
| | [Rohan Verma
Rohan Verma](http://rohanverma.net)
| [Tim Fitzgerald
Tim Fitzgerald](https://github.com/fimtitzgerald)
| [Federico Ruggi
Federico Ruggi](https://github.com/ruggi)
| [Craig Woodward
Craig Woodward](https://github.com/ctwoodward)
| [ReadmeCritic
ReadmeCritic](https://twitter.com/ReadmeCritic)
| [Eugene
Eugene](https://github.com/jdevelop)
| [Kenny Wu
Kenny Wu](https://github.com/Trinergy)
| | [Renán Romero
Renán Romero](http://www.romeroruiz.com)
| [Bastian Groß
Bastian Groß](https://github.com/sticreations)
| [nicholas-eden
nicholas-eden](https://github.com/nicholas-eden)
| [Dan Rabinowitz
Dan Rabinowitz](https://github.com/danrabinowitz)
| [David Missmann
David Missmann](https://github.com/dvdmssmnn)
| [Mathias Weber
Mathias Weber](https://github.com/mweb)
| [TheRedSpy15
TheRedSpy15](https://github.com/TheRedSpy15)
| | [Harald Nordgren
Harald Nordgren](https://www.linkedin.com/in/harald-nordgren-44778192)
| [Matei Alexandru Gardus
Matei Alexandru Gardus](http://stormfirefox1.github.io)
| [Sean Smith
Sean Smith](https://github.com/Seanstoppable)
| [Halil Kaskavalci
Halil Kaskavalci](http://kaskavalci.com)
| [Johan Denoyer
Johan Denoyer](http://www.johandenoyer.fr)
| [Jelle Vink
Jelle Vink](https://skymeyer.be)
| [Devin Collins
Devin Collins](http://imdevinc.com)
| | [Danne Stayskal
Danne Stayskal](http://danne.stayskal.com/)
| [Max Beizer
Max Beizer](https://www.maxbeizer.com)
| [E:V:A
E:V:A](http://tinyurl.com/nwmj4as)
| [Gabriel
Gabriel](https://github.com/GaboFDC)
| [Andrew Scibek
Andrew Scibek](https://github.com/AndrewScibek)
| [FriedCosey
FriedCosey](https://github.com/FriedCosey)
| [Michele Gerarduzzi
Michele Gerarduzzi](https://michelegera.dev/)
| | [Jack Morris
Jack Morris](https://github.com/rudolphjacksonm)
| [foorb
foorb](https://github.com/foorb)
| [Levi Baber
Levi Baber](http://researchit.las.iastate.edu)
| [Graham Anderson
Graham Anderson](https://github.com/gnanderson)
| [Romain Bossart
Romain Bossart](https://github.com/bosr)
| [Kirill Motkov
Kirill Motkov](http://eonix.ru)
| [Brian Choromanski
Brian Choromanski](http://www.BrianChoromanski.com)
| | [Sean DuBois
Sean DuBois](http://siobud.com)
| [Gary Kim
Gary Kim](https://github.com/gary-kim)
| [Dylan
Dylan](https://dylanbartels.com)
| [Dmytro Prokhorenkov
Dmytro Prokhorenkov](http://liet.me)
| [Elliot
Elliot](https://github.com/elliotrushton)
| [chenrui
chenrui](http://chenrui.dev)
| [Andrew Suderman
Andrew Suderman](https://github.com/sudermanjr)
| | [Bob 'Wombat' Hogg
Bob 'Wombat' Hogg](https://github.com/rwhogg)
| [Christopher Hall
Christopher Hall](https://github.com/hxw)
| [Heitor Neiva
Heitor Neiva](https://github.com/hneiva)
| [Herby Gillot
Herby Gillot](https://github.com/herbygillot)
| [James Canning
James Canning](http://brudil.com)
| [jeffz
jeffz](https://twitter.com/jeffz4000)
| [Mikkel Jeppesen Juhl
Mikkel Jeppesen Juhl](https://mikkeljuhl.com)
| | [Erik
Erik](https://github.com/lesteenman)
| [Nate Yourchuck
Nate Yourchuck](https://github.com/nyourchuck)
| [Casey Primozic
Casey Primozic](https://cprimozic.net/)
| [Alvaro [Andor]
Alvaro [Andor]](http://pierdelacabeza.com/maruja)
| [Joel Valentine
Joel Valentine](https://github.com/Midnight-Conqueror)
| [Viktor Braun
Viktor Braun](https://www.viktor-braun.de)
| [ChrisDBrown
ChrisDBrown](https://www.chrisdbrown.co.uk/)
| | [Narendra L
Narendra L](https://narengowda.github.io/)
| [ibaum
ibaum](https://github.com/ibaum)
| [Tim Scheuermann
Tim Scheuermann](https://github.com/noxer)
| [Indradhanush Gupta
Indradhanush Gupta](https://indradhanush.github.io/)
| [Victor Hugo Avelar Ossorio
Victor Hugo Avelar Ossorio](https://victoravelar.com)
| [Steven Whitehead
Steven Whitehead](https://github.com/scw007)
| [Lawrence Craft
Lawrence Craft](https://github.com/lawrencecraft)
| | [Avi Press
Avi Press](http://avi.press)
| [Sarah Kraßnigg
Sarah Kraßnigg](https://github.com/Tardog)
| [Jason Schweier
Jason Schweier](http://jmks.ca)
| [Massa
Massa](https://github.com/massa1240)
| [Vighnesh SK
Vighnesh SK](http://boot-error.github.io)
| [Alex Fornuto
Alex Fornuto](http://alexfornuto.com)
| [stevenwhitehead
stevenwhitehead](https://github.com/stevenwhitehead)
| | [Johan Denoyer
Johan Denoyer](https://github.com/jdenoy-saagie)
| [Albert Salim
Albert Salim](https://albertsalim.dev)
| [Ricardo N Feliciano
Ricardo N Feliciano](https://Feliciano.Tech)
| [Omer Davutoglu
Omer Davutoglu](https://github.com/3mard)
| [Hemu
Hemu](https://github.com/hemu)
| [Dan Bent
Dan Bent](https://github.com/Daanikus)
| [C123R
C123R](https://cizer.dev)
| | [Matjaž Depolli
Matjaž Depolli](https://github.com/madepolli)
| [Toon Schoenmakers
Toon Schoenmakers](https://blog.schoentoon.blue)
| ## Acknowledgments The inspiration for `WTF` came from Monica Dinculescu's [tiny-care-terminal](https://github.com/notwaldorf/tiny-care-terminal). WTF is built atop [tcell](https://github.com/gdamore/tcell) and [tview](https://github.com/rivo/tview), fantastic projects both. WTF is built, packaged, and deployed via [GoReleaser](https://goreleaser.com).