MCPcopy
hub / github.com/wtfutil/wtf

github.com/wtfutil/wtf @v0.50.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.50.0 ↗
2,330 symbols 6,869 edges 467 files 873 documented · 37%
README
<img src="https://github.com/wtfutil/wtf/raw/v0.50.0/images/logo_transparent.png?raw=true" title="WTF" alt="WTF" width="560" height="560" />

GitHub Release Go Report Card Discourse Status Bluesky followers Mastodon followers Static Badge


:rotating_light: :warning: This project is going through some changes as we prepare for v1.0. This includes a rename from WTF to Tessera! Stay tuned! :warning: :rotating_light:

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.


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 install linodians/tap/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 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.

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.

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.

Extension points exported contracts — how you extend this code

Stoppable (Interface)
Stoppable is the interface that enforces a stoppable state [2 implementers]
wtf/stoppable.go
Enablable (Interface)
Enablable is the interface that enforces enable/disable capabilities on a module [1 implementers]
wtf/enablable.go
Validatable (Interface)
Validatable is implemented by any value that validates a configuration setting [1 implementers]
cfg/validatable.go
ClockFontInterface (Interface)
ClockFontInterface to makes sure all fonts implement join and get methods
modules/digitalclock/fonts.go
Backend (Interface)
(no doc) [2 implementers]
modules/todo_plus/backend/backend.go
Schedulable (Interface)
Schedulable is the interface that enforces scheduling capabilities on a module
wtf/schedulable.go
Wtfable (Interface)
Wtfable is the interface that enforces WTF system capabilities on a module
wtf/wtfable.go
ByBuild (FuncType)
(no doc)
modules/buildkite/pipelines_display_data.go

Core symbols most depended-on inside this repo

SetKeyboardChar
called by 151
view/keyboard_widget.go
SetKeyboardKey
called by 146
view/keyboard_widget.go
CommonSettings
called by 133
wtf/wtfable.go
Error
called by 132
cfg/validatable.go
Redraw
called by 99
view/text_widget.go
NewCommonSettingsFromModule
called by 89
cfg/common_settings.go
Close
called by 81
modules/todo_plus/widget.go
Add
called by 72
modules/power/managed_devices.go

Shape

Method 1,099
Function 709
Struct 497
TypeAlias 16
Interface 7
FuncType 2

Languages

Go100%

Modules by API surface

modules/todo/widget.go26 symbols
modules/airbrake/widget.go25 symbols
view/base.go21 symbols
modules/jira/client.go19 symbols
modules/gitlab/gitlab_project.go18 symbols
modules/github/github_repo.go18 symbols
modules/digitalocean/widget.go18 symbols
modules/pocket/client.go17 symbols
app/focus_tracker.go17 symbols
modules/gitlab/widget.go16 symbols
modules/github/widget.go15 symbols
modules/cmdrunner/widget.go15 symbols

Dependencies from manifests, versioned

bitbucket.org/mikehouston/asana-gov0.0.0-2020110222243 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
code.cloudfoundry.org/bytefmtv0.78.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azcorev1.21.1 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azidentityv1.13.1 · 1×
github.com/Azure/azure-sdk-for-go/sdk/internalv1.12.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/monitor/azqueryv1.2.0 · 1×
github.com/AzureAD/microsoft-authentication-library-for-gov1.6.0 · 1×
github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/PagerDuty/go-pagerdutyv1.8.0 · 1×

For agents

$ claude mcp add wtf \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact