Skip to content

wtfutil/wtf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

WTF

Go Report Card Twitter DeepSource

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.

Sponsored by

Warp.dev
Warp
Robusta.dev
Robusta.dev
Airbrake
Airbrake


Image

Installation

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 go install

Just run

go install github.com/wtfutil/wtf@latest

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 $GOPATH:

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

# 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/trunk/Dockerfile.build
docker build -f Dockerfile.build -t wtfutil --build-arg=version=trunk .
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

Arch Linux users can utilise the wtfutil package to build it from source, or wtfutil-bin to install pre-built binaries.

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/trunk/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

Communication

GitHub Discussions

Conversations, ideas, discussions are done on GitHub Discussions.

Formerly they were on Slack; that channel has been deprecated.

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

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

Image
Chris Cummer

Image
Anand Sudhir Prayaga

Image
Hossein Mehrabi

Image
FengYa

Image
deltax

Image
Bill Keenan

Image
June S

Image
liyiheng

Image
baustinanki

Image
lucus lee

Image
Mike Lloyd

Image
Sergio Rubio

Image
Farhad Farahi

Image
Lasantha Kularatne

Image
Mark Old

Image
flw

Image
David Barda

Image
Geoff Lee

Image
George Opritescu

Image
Grazfather

Image
Michael Cordell

Image
Patrick José Pereira

Image
sherod taylor

Image
Andrew Scott

Image
Lassi Piironen

Image
BlackWebWolf

Image
andrewzolotukhin

Image
Leon Stigter

Image
Amr Tamimi

Image
Jagdeep Singh

Image
Lineu Felipe

Image
Konstantin

Image
Brendan O'Leary

Image
bertl4398

Image
Ferenc-

Image
Rohan Verma

Image
Tim Fitzgerald

Image
Federico Ruggi

Image
Craig Woodward

Image
ReadmeCritic

Image
Eugene

Image
Kenny Wu

Image
Renán Romero

Image
Bastian Groß

Image
nicholas-eden

Image
Dan Rabinowitz

Image
David Missmann

Image
Mathias Weber

Image
TheRedSpy15

Image
Harald Nordgren

Image
Matei Alexandru Gardus

Image
Sean Smith

Image
Halil Kaskavalci

Image
Johan Denoyer

Image
Jelle Vink

Image
Devin Collins

Image
Danne Stayskal

Image
Max Beizer

Image
E:V:A

Image
Gabriel

Image
Andrew Scibek

Image
FriedCosey

Image
Michele Gerarduzzi

Image
Jack Morris

Image
foorb

Image
Levi Baber

Image
Graham Anderson

Image
Romain Bossart

Image
Kirill Motkov

Image
Brian Choromanski

Image
Sean DuBois

Image
Gary Kim

Image
Dylan

Image
Dmytro Prokhorenkov

Image
Elliot

Image
chenrui

Image
Andrew Suderman

Image
Bob 'Wombat' Hogg

Image
Christopher Hall

Image
Heitor Neiva

Image
Herby Gillot

Image
James Canning

Image
jeffz

Image
Mikkel Jeppesen Juhl

Image
Erik

Image
Nate Yourchuck

Image
Casey Primozic

Image
Alvaro [Andor]

Image
Joel Valentine

Image
Viktor Braun

Image
ChrisDBrown

Image
Narendra L

Image
ibaum

Image
Tim Scheuermann

Image
Indradhanush Gupta

Image
Victor Hugo Avelar Ossorio

Image
Steven Whitehead

Image
Lawrence Craft

Image
Avi Press

Image
Sarah Kraßnigg

Image
Jason Schweier

Image
Massa

Image
Vighnesh SK

Image
Alex Fornuto

Image
stevenwhitehead

Image
Johan Denoyer

Image
Albert Salim

Image
Ricardo N Feliciano

Image
Omer Davutoglu

Image
Hemu

Image
Dan Bent

Image
C123R

Image
Matjaž Depolli

Image
Toon Schoenmakers

Image
TDHTTTT

Image
jottr

Image
Nikolay Mateev

Image
Charlie Wang

Image
liyiheng

Image
Bjoern Weidlich

Image
Scott Hansen

Image
David Bond

Image
Yvonnick Esnault

Image
Vinícius Letério

Image
Adriano

Image
Jon Hadfield

Image
Tejas Shah

Image
Frederik Mogensen

Image
Risto Saarelma

Image
Sam Roberts

Image
gerchardon

Image
Matt

Image
R.I.Pienaar

Image
Frederik Mogensen

Image
aeter

Image
Tim Hwang

Image
Ying Fan Chong

Image
Martin Johns

Image
Jamie Tanna

Image
Todd Trimble

Image
Mitchell Hanberg

Image
Miha Frangež

Image
Sahil Dhiman

Image
Pingzhou | 平舟

Image
Yuval Goldberg

Image
David Bouchare

Image
Fredrik Steen

Image
zye1996

Image
Pierre Gaxatte

Image
Christian Frichot

Image
Lukas Kämmerling

Image
Antoine Meillet

Image
Christian Clauss

Image
Gibran Herrera

Image
Mahmud Ridwan

Image
tadeas

Image
tnwei

Image
Ginner

Image
Olivier Cloux

Image
Dogukan Turan

Image
Devendra Laulkar

Image
nont

Image
Kyrylo Silin

Image
Yoshihisa Mochihara

Image
thuan1412

Image
Siddhant Sinha

Image
Julien Midedji

Image
Igor Zibarev

Image
Eng Zer Jun

Image
Quentin Champ

Image
Igbanam Ogbuluijah

Image
Guney Can Gokoglu

Image
Des Preston

Image
Labesse Kévin

Image
Asad

Image
markcaudill

Image
Fabian Geiger

Image
Duncan Hutty

Image
Gábor Lipták

Image
Albert Fung

Image
pliski

Image
Peter Krantz

Image
bashbunni

Image
Ronald Record

Image
Crash129

Image
Chad Harp

Image
Kirill Troitskiy

Image
Axel H.

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.

Image