https://github.com/senorprogrammer/wtf
The personal information dashboard for your terminal
https://github.com/senorprogrammer/wtf
cui dashboard devops go golang hacktoberfest terminal tui wtf wtfutil
Last synced: 6 months ago
JSON representation
The personal information dashboard for your terminal
- Host: GitHub
- URL: https://github.com/senorprogrammer/wtf
- Owner: wtfutil
- License: mpl-2.0
- Created: 2018-03-29T02:42:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-10T01:51:27.000Z (about 1 year ago)
- Last Synced: 2025-05-11T05:46:34.670Z (6 months ago)
- Topics: cui, dashboard, devops, go, golang, hacktoberfest, terminal, tui, wtf, wtfutil
- Language: Go
- Homepage: http://wtfutil.com
- Size: 48 MB
- Stars: 16,089
- Watchers: 158
- Forks: 813
- Open Issues: 71
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Support: support/github.go
Awesome Lists containing this project
- awesome-tuis - WTF
- my-awesome - senorprogrammer / wtf - The personal information dashboard for your terminal. (Tool)
README
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).
### Are you a contributor or sponsor?
Awesome! [See here](https://wtfutil.com/sponsors/exit_message/) for how you can change the exit message, the message WTF shows when quitting, to something special just for you.
## Sponsored by
Warp.dev
Robusta.dev
Airbrake
* [Installation](#installation)
* [Installing via Homebrew](#installing-via-homebrew)
* [Installing via MacPorts](#installing-via-macports)
* [Installing a Binary](#installing-a-binary)
* [Installing from Source](#installing-from-source)
* [Running via Docker](#running-via-docker)
* [Communication](#communication)
* [GitHub Discussions](#github-discussions)
* [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 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
```
### Installing from Source using Docker
All building is done inside a docker container. You can then copy the binary to
your local machine.
```bash
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
Arch Linux users can utilise the [wtfutil](https://aur.archlinux.org/packages/wtfutil) package to build it from source, or [wtfutil-bin](https://aur.archlinux.org/packages/wtfutil-bin/) to install pre-built binaries.
## Running via Docker
You can run `wtf` inside a docker container:
```bash
# 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
```
## Communication
### GitHub Discussions
Conversations, ideas, discussions are done on [GitHub Discussions](https://github.com/wtfutil/wtf/discussions).
Formerly they were on Slack; that channel has been deprecated.
### 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/quick_start/)
* [Configuration](https://wtfutil.com/configuration/files/)
* [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:
* [DigitalOcean](https://wtfutil.com/modules/digitalocean/)
* [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

Anand Sudhir Prayaga

Hossein Mehrabi

FengYa

deltax

Bill Keenan

June S

liyiheng

baustinanki

lucus lee

Mike Lloyd

Sergio Rubio

Farhad Farahi

Lasantha Kularatne

Mark Old

flw

David Barda

Geoff Lee

George Opritescu

Grazfather

Michael Cordell

Patrick José Pereira

sherod taylor

Andrew Scott

Lassi Piironen

BlackWebWolf

andrewzolotukhin

Leon Stigter

Amr Tamimi

Jagdeep Singh

Lineu Felipe

Konstantin

Brendan O'Leary

bertl4398

Ferenc-

Rohan Verma

Tim Fitzgerald

Federico Ruggi

Craig Woodward

ReadmeCritic

Eugene

Kenny Wu

Renán Romero

Bastian Groß

nicholas-eden

Dan Rabinowitz

David Missmann

Mathias Weber

TheRedSpy15

Harald Nordgren

Matei Alexandru Gardus

Sean Smith

Halil Kaskavalci

Johan Denoyer

Jelle Vink

Devin Collins

Danne Stayskal

Max Beizer

E:V:A

Gabriel

Andrew Scibek

FriedCosey

Michele Gerarduzzi

Jack Morris

foorb

Levi Baber

Graham Anderson

Romain Bossart

Kirill Motkov

Brian Choromanski

Sean DuBois

Gary Kim

Dylan

Dmytro Prokhorenkov

Elliot

chenrui

Andrew Suderman

Bob 'Wombat' Hogg

Christopher Hall

Heitor Neiva

Herby Gillot

James Canning

jeffz

Mikkel Jeppesen Juhl

Erik

Nate Yourchuck

Casey Primozic

Alvaro [Andor]

Joel Valentine

Viktor Braun

ChrisDBrown

Narendra L

ibaum

Tim Scheuermann

Indradhanush Gupta

Victor Hugo Avelar Ossorio

Steven Whitehead

Lawrence Craft

Avi Press

Sarah Kraßnigg

Jason Schweier

Massa

Vighnesh SK

Alex Fornuto

stevenwhitehead

Johan Denoyer

Albert Salim

Ricardo N Feliciano

Omer Davutoglu

Hemu

Dan Bent

C123R

Matjaž Depolli

Toon Schoenmakers

TDHTTTT

jottr

Nikolay Mateev

Charlie Wang

liyiheng

Bjoern Weidlich

Scott Hansen

David Bond

Yvonnick Esnault

Vinícius Letério

Adriano

Jon Hadfield

Tejas Shah

Frederik Mogensen

Risto Saarelma

Sam Roberts

gerchardon

Matt

R.I.Pienaar

Frederik Mogensen

aeter

Tim Hwang

Ying Fan Chong

Martin Johns

Jamie Tanna

Todd Trimble

Mitchell Hanberg

Miha Frangež

Sahil Dhiman

Pingzhou | 平舟

Yuval Goldberg

David Bouchare

Fredrik Steen

zye1996

Pierre Gaxatte

Christian Frichot

Lukas Kämmerling

Antoine Meillet

Christian Clauss

Gibran Herrera

Mahmud Ridwan

tadeas

tnwei

Ginner

Olivier Cloux

Dogukan Turan

Devendra Laulkar

nont

Kyrylo Silin

Yoshihisa Mochihara

thuan1412

Siddhant Sinha

Julien Midedji

Igor Zibarev

Eng Zer Jun

Quentin Champ

Igbanam Ogbuluijah

Guney Can Gokoglu

Des Preston

Labesse Kévin

Asad

markcaudill

Fabian Geiger

Duncan Hutty

Gábor Lipták

Albert Fung

pliski

Peter Krantz

bashbunni

Ronald Record

Crash129

Chad Harp

Kirill Troitskiy

Axel H.
## 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).