Skip to content

OctoShelf/octoshelf-webapp

Repository files navigation

A Multi-Repo Pull Request Manager

Coverage Status

Ever find yourself tabbing between multiple repos across several orgs, trying to manage the constant flow of new pull requests?

Cool, me too! OctoShelf was built to solve this exact issue!

In a nut-shell, OctoShelf can be seen as a multi-repo PR manager. It displays open pull requests, and notifies you as new pull requests come in.

OctoShelf is powered by:

LocalStorage Web Workers Notifications Github's Awesome Api

Usage

To use OctoShelf you can either go here, or you can fork and hack this project to meet your own use cases.

Features

With OctoShelf you can...

  • Add / Remove Repositories (persisted with localstorage)
  • Review the open pull requests of many repos at once
  • Check for new pull requests (Managed by a background web worker)
  • Receive notifications when tabbed away (using Notifications API)
  • Point API calls to an enterprise account (see below)
  • Share a group of repos with someone else
    • Example: http://www.octoshelf.com/?share=facebook/react,polymer/polymer

Running the App

Running the app locally is simple:

npm install
npm start

And the webpage will be available on localhost:5000/

If you want to customize OctoShelf update the following variables inside config/config.json:

{
  "githubAuthUrl": "",  // Populate the github authentication url
  "githubTokenUrl": "", // Once youn finish authenticating with github, we'll hit this url to grab an access token
  "apiUrl": "",         // Github's API url. It may look a little different for enterprise hosts
  "githubUrl": ""       // When you add a repo, we will replace this part with `apiUrl`
}

You may hit Github's api ratelimit rather quickly. To "fix" this, you have two options:

PERSONAL_ACCESS_TOKEN=xxx npm start
GITHUB_CLIENT_ID=xxx GITHUB_CLIENT_SECRET=xxx npm start

Personal access tokens and client_secret should be treated with the same level of security as a password. For more information, check out: https://developer.github.com/v3/oauth/

Contributing

I welcome any and all forms of contributions. If you have a feature request, feel free to open a new issue, or better yet, open a new pull request yourself! :)

About

An elegant multi-repo pull request manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published