Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/wtfutil/wtf

The personal information dashboard for your terminal
https://github.com/wtfutil/wtf

cui dashboard devops go golang hacktoberfest terminal tui wtf wtfutil

Last synced: about 1 month ago
JSON representation

The personal information dashboard for your terminal

Lists

README

        


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](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



Warp



Robusta.dev



Robusta.dev





Airbrake



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


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