/wtf

The personal information dashboard for your terminal.

Primary LanguageGoOtherNOASSERTION

All Contributors Build Status Twitter Go Report Card

WTF

A personal terminal-based dashboard utility, designed for displaying infrequently-needed, but very important, daily data.

Screenshot

Installing

Install 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

Install via MacPorts

You can also install via MacPorts:

sudo port selfupdate
sudo port install wtfutil

wtfutil

Install 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.

Install from Source

If you want to run the build command from within your $GOPATH:

# Set the Go proxy variable to GoCenter
export GOPROXY="https://gocenter.io"

# 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:

# Set the Go proxy variable to GoCenter
export GOPROXY="https://gocenter.io"

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.11.0 or later (due to the use of Go modules). If you would like to use gccgo to compile, you must use gccgo-9 or later which introduces support for Go modules.

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 for news and latest updates.

Documentation

See https://wtfutil.com for the definitive documentation. Here's some short-cuts:

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:

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, please read Talk, then code by Dave Cheney. It's great advice and will often save a lot of time and effort.

Next, please 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.

Adding Dependencies

Dependency management in WTF is handled by Go modules. Please check out that page for more details on how Go modules work.

Contributors

Chris Cummer
Chris Cummer

Anand Sudhir Prayaga
Anand Sudhir Prayaga

Hossein Mehrabi
Hossein Mehrabi

FengYa
FengYa

deltax
deltax

Bill Keenan
Bill Keenan

June S
June S

liyiheng
liyiheng

baustinanki
baustinanki

lucus lee
lucus lee

Mike Lloyd
Mike Lloyd

Sergio Rubio
Sergio Rubio

Farhad Farahi
Farhad Farahi

Lasantha Kularatne
Lasantha Kularatne

Mark Old
Mark Old

flw
flw

David Barda
David Barda

Geoff Lee
Geoff Lee

George Opritescu
George Opritescu

Grazfather
Grazfather

Michael Cordell
Michael Cordell

Patrick José Pereira
Patrick José Pereira

sherod taylor
sherod taylor

Andrew Scott
Andrew Scott

Lassi Piironen
Lassi Piironen

BlackWebWolf
BlackWebWolf

andrewzolotukhin
andrewzolotukhin

Leon Stigter
Leon Stigter

Amr Tamimi
Amr Tamimi

Jagdeep Singh
Jagdeep Singh

Lineu Felipe
Lineu Felipe

Konstantin
Konstantin

Brendan O'Leary
Brendan O'Leary

bertl4398
bertl4398

Ferenc-
Ferenc-

Rohan Verma
Rohan Verma

Tim Fitzgerald
Tim Fitzgerald

Federico Ruggi
Federico Ruggi

Craig Woodward
Craig Woodward

ReadmeCritic
ReadmeCritic

Eugene
Eugene

Kenny Wu
Kenny Wu

Renán Romero
Renán Romero

Bastian Groß
Bastian Groß

nicholas-eden
nicholas-eden

Dan Rabinowitz
Dan Rabinowitz

David Missmann
David Missmann

Mathias Weber
Mathias Weber

TheRedSpy15
TheRedSpy15

Harald Nordgren
Harald Nordgren

Matei Alexandru Gardus
Matei Alexandru Gardus

Sean Smith
Sean Smith

Halil Kaskavalci
Halil Kaskavalci

Johan Denoyer
Johan Denoyer

Jelle Vink
Jelle Vink

Devin Collins
Devin Collins

Danne Stayskal
Danne Stayskal

Max Beizer
Max Beizer

E:V:A
E:V:A

Gabriel
Gabriel

Andrew Scibek
Andrew Scibek

FriedCosey
FriedCosey

Michele Gerarduzzi
Michele Gerarduzzi

Jack Morris
Jack Morris

foorb
foorb

Levi Baber
Levi Baber

Graham Anderson
Graham Anderson

Romain Bossart
Romain Bossart

Kirill Motkov
Kirill Motkov

Brian Choromanski
Brian Choromanski

Sean DuBois
Sean DuBois

Gary Kim
Gary Kim

Dylan
Dylan

Dmytro Prokhorenkov
Dmytro Prokhorenkov

Elliot
Elliot

chenrui
chenrui

Andrew Suderman
Andrew Suderman

Bob 'Wombat' Hogg
Bob 'Wombat' Hogg

Christopher Hall
Christopher Hall

Heitor Neiva
Heitor Neiva

Herby Gillot
Herby Gillot

James Canning
James Canning

jeffz
jeffz

Mikkel Jeppesen Juhl
Mikkel Jeppesen Juhl

Erik
Erik

Nate Yourchuck
Nate Yourchuck

Casey Primozic
Casey Primozic

Alvaro [Andor]
Alvaro [Andor]

Joel Valentine
Joel Valentine

Viktor Braun
Viktor Braun

ChrisDBrown
ChrisDBrown

Narendra L
Narendra L

ibaum
ibaum

Tim Scheuermann
Tim Scheuermann

Indradhanush Gupta
Indradhanush Gupta

Acknowledgments

The inspiration for WTF came from Monica Dinculescu's tiny-care-terminal.

WTF is built atop tcell and tview, fantastic projects both. WTF is built, packaged, and deployed via GoReleaser.

Many thanks to Lendesk for supporting this project by providing time to develop it.