← Jupiter Optimus

Turn GitHub issues into tasks

Works with GitHub and GitLab · iPhone, iPad and Mac

Most task managers treat your issue tracker as a different universe. You read an issue, retype it into a todo app, do the work, then go back and close the issue by hand. That is twenty minutes a day of being your own copy-paste robot.

Jupiter Optimus closes that loop. Point it at a repository and the issues arrive as tasks. Complete the task and the issue closes itself, back on GitHub or GitLab.

What you need

A personal access token from your own account. That is the whole setup — there is no app to install on the repository, no webhook, no bot account, and no server of ours in the middle. Your token is stored in the device Keychain and used only for direct requests to github.com or gitlab.com.

Creating a GitHub token

On GitHub, go to Settings → Developer settings → Personal access tokens → Fine-grained tokens and create one with:

Give it an expiry you are comfortable with. If you only ever want issues to flow one way, Issues: Read-only is enough — write-back is off by default anyway.

Creating a GitLab token

On GitLab, go to Preferences → Access tokens and create one with the api scope. GitLab tokens cannot be limited to a single project, so scope it to an account you are comfortable using. Self-hosted instances work too: put your server's address in the Server field when connecting.

Connecting

  1. Open Settings → Maximus.
  2. Choose GitHub or GitLab, paste your token, and press Connect.
  3. Add a repository as owner/repo — or just paste its URL.
  4. Press Import.

Open issues become tasks, keeping their title and body. If the first import reports "0 new", press Import once more — the first sync sometimes runs before the connection has settled.

Sending issues where they belong

Each repository has a destination: a project, or the Inbox. Set it from the folder control on the repository's row, and every future import from that repository lands there.

A project can take issues from several repositories. If your product is an iOS app, a Mac app and a shared core in three repositories, they can all feed one project — which is exactly how this app's own development is organised.

Closing the loop

Turn on Settings → Maximus → "Close issue when task is completed". From then on, completing an imported task closes its issue on GitHub or GitLab, and un-completing it reopens the issue.

This is off by default on purpose. Writing to someone's repository should be a decision, not a surprise on first launch.

Pull requests and CI

Connected repositories also surface your open pull requests, each with its CI state and review decision. The app can notify you when a check fails, a review lands, or a pull request merges — so you find out without keeping a browser tab open all day.

What it does not do

Worth being straight about the edges:

Why it works this way

There is no Jupiter Optimus account and no server. Your tasks live on your device and in your own private iCloud database, and your token never leaves the Keychain. That is also why the app cannot import while you are not using it the way a server-backed service could — a trade we made deliberately, and one worth knowing about before you rely on it.

Jupiter Optimus on the App Store — $9.99 a year with a 7-day free trial, for iPhone, iPad, Mac and Apple Watch.

Support · Home