Sometimes I sit down with a desire to write some code but no real direction. Sometimes I forget about things that I am supposed to keep up on. Either way, keeping up on personal open source tasks can be difficult. While things may be curated in GitHub issues, they are spread across multiple projects and organizations. With all those repos it’s a real pain to keep track of it all. While I was doing some basic learning with go I decided to create a small tool to help with this. It is aptly named whatsnext. It uses the GitHub API to grab issues for all of the projects you ask it to. It just requires the user or organizations that hold the projects you want to track and an oauth token that has access to those projects.

How to use whatsnext

The full description is in the projects README, but here’s the short version. You can install it using the go command:

go get github.com/abedra/whatsnext

This of course assumes you have a working golang environment. You can also clone the repo and just build the project manually.

Next you will need a configuration file. The project uses YAML for configuration. For example:

users:
  - abedra
  - repsheet
token: arealoauthtoken

You can add as many users as you wish. In this case user means both individual user and organization. The program will look for a file named config.yml in the folder you are running it from. If your configuration file is located elsewhere you can specify it:

$ go get github.com/abedra/whatsnext
$ whatsnext -config ~/src/opensource/whatsnext/config.yml
Open issues for abedra
  goproxy
    [6]  - Configuration File
    [4]  - Graceful shutdown
Open issues for repsheet
  repsheet-nginx
    [41] - X_repsheet_header is back to being "true" when DB key is set
    [40] - Reduce error logging and make $repsheet more meaningful

As you can see it lists open issues for each of the users defined breaking them down by project. There isn’t much to it but is has been useful in figuring out what I forgot about and what might need some attention. This optimizes my free time hacking and helps me focus on things that other people also care about. Hopefully you find it useful as well and if you have any problems or suggestions make sure to file an issue.