docs: def token(config, token):
      """Store and fetch a GitHub access token"""
      if not token:
          info_out(
              "To generate a personal API token, go to:\n\n\t"
              "https://github.com/settings/tokens\n\n"
              "To read more about it, go to:\n\n\t"
              "https://help.github.com/articles/creating-an-access"
              "-token-for-command-line-use/\n\n"
              'Remember to enable "repo" in the scopes.'
          )
          token = getpass.getpass("GitHub API Token: ").strip()
      url = urllib.parse.urljoin(config.github_url, "/user")
      assert url.startswith("https://"), url
      response = requests.get(url, headers={"Authorization": "token {}".format(token)})
      if response.status_code == 200:
          update(
              config.configfile,
              {
                  "GITHUB": {
                      "github_url": config.github_url,
                      "token": token,
                      "login": response.json()["login"],
                  }
              },
          )
          name = response.json()["name"] or response.json()["login"]
          success_out("Hi! {}".format(name))
      else:
          error_out("Failed - {} ({})".format(response.status_code, response.content))