Crystal toolkit for the GitHub API.

Note: This is in the very early stages of development. The GitHub API is expansive and there is a lot to do to get this up and running. For a list of API connections that have been completed and are still to come, see the Roadmap


  1. Add the dependency to your shard.yml:
    github: watzon/octokit.cr
  1. Run shards install


require "octokit"

# Create a new Octokit Client
# Your password should be your Personal Access Token (PAT)
github = Octokit.client("watzon", "PASSWORD")

# Also, you can authenticate this way:
# github = Octokit.client("watzon", access_token: "PAT")

# Fetch information about the logged in user
pp github.user

# Fetch information about another user
pp github.user("asterite")

There are way too many options to list here, even at this early stage. For more usage examples see the documentation.


There are a lot of pieces of the GitHub API to cover. Here are the ones that need to be working before this shard is considered v1.0 ready.

I am trying to complete what I deem the most important ones first so that this shard can be immediately useful. Keep in mind, however, that the API may change at any time.


I don't only welcome contributions, I beg for them. If this is a library that might help you out please, help me by forking this repo and porting one of the many APIs that's not checked above. Thank you!

  1. Fork it (https://github.com/watzon/octokit/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request



Thanks to all of the maintainers of octokit/octokit.rb who made this so much easier on me. This library is a port of the ruby library and I've tried to keep the APIs as similar as possible.