A personal terminal-based dashboard utility, designed for displaying infrequently-updating, but very important, daily data.
Required Prerequisites
Optional Prerequisites
Depending on which modules you want to run, you'll need the appropriate API and configuration credentials. For each of the following supported services that you want to use, create an ENV var named as below with the described value.
Service | ENV var | Value | |
---|---|---|---|
1 | BambooHR | WTF_BAMBOO_HR_TOKEN |
BambooHR API token |
2 | WTF_BAMBOO_HR_SUBDOMAIN |
BambooHR subdomain | |
3 | Github | WTF_GITHUB_TOKEN |
Github API token |
4 | Google Calendar | WTF_GOOGLE_CAL_CLIENT_ID |
Google Calendar client ID |
5 | WTF_GOOGLE_CAL_CLIENT_SECRET |
Google Calendar client secret | |
6 | JIRA | WTF_JIRA_USERNAME |
You JIRA username |
7 | WTF_JIRA_PASSWORD |
Your JIRA password | |
8 | New Relic | WTF_NEW_RELIC_API_KEY |
New Relic API key |
9 | OpsGenie | WTF_OPS_GENIE_API_KEY |
OpsGenie API key |
10 | OpenWeatherMap | WTF_OWM_API_KEY |
OpenWeatherMap API key |
Installation
- Clone this directory and install all the dependencies.
- Create a directory called
.wtf
in yourhome
directory (ie:~/.wtf/
) - In that directory copy the
config.yml
file (ie:~/.wtf/config.yml
) - Disable all the modules for which you need an API key, by setting
enabled: false
in the config file go run wtf.go
It'll probably run.
Modules
Modules are the heart of WTF
. Each one connects to a specific services
or renders data about a specific concept. The following modules are
included in WTF
.
BambooHR
Displays the following Away information for your organization:
- Names of the people away today
- Datespan for when they'll be away
Git
Specify a local git repository to watch for the following:
- Current branch name
- List all changed files
- List last n commits against that branch
Github
Specify a Github repository to watch for the following:
- Lists all open code review requests assigned to you
- Lists all open pull requests created by you
Google Calendar
Displays the following information about your upcoming calendar events:
- Event title
- Date and time
- Hours/minutes/seconds until event
OpsGenie
Displays the following on-call information for all your active schedules:
- Schedule name
- Who's currently on call
Security
Displays the following security/network related information about your local machine:
- Wifi network name
- Wifi network encryption
- Firewall enabled/disabled
- Firewall stealth mode enabled/disabled
- DNS entries
Weather
Displays the following current weather information for the specified city:
- weather description
- current temperature
- today's high
- today's low
- sunrise
- sunset
In the configuration, use a city code from the OpenWeatherMap city list.