/repo-gate

A token gate for your Github repo

Primary LanguageTypeScriptMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License


Logo

Report Bug Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About Repo Gate

When a repo admin installs Repo Gate as a Github App on their repo, the bot will immediately add a custom link to the project Readme. When a prospective user visits the repo, they can click the Get Collab Invite link and be prompted to sign a message, proving they own some SPORK Token. If the user does own the token, they will be automatically invited as a collaborator with write access to the repo.

Built With

  • Scaffold Eth 2
  • Next
  • React
  • Tailwind CSS

Installation

To use the Repo Gate app, it will need to installed as a GitHub App on all the repositories you wish to gate.

Install Github app

Usage

After installing the app on a repo, a commit will automatically be made to the repo's README.md (creating one if it doesn't already exist), adding a link to the bottom of the file for users to click to be added as a collaborator. The appearance of the link can be customized as long as the actual url doesn't change.

Roadmap

  • Handle SPORK Token
  • Make token address configurable
  • Make collaborator permissions configurable
  • Clean up UI
  • Add support for ERC-721
  • Add support for ERC-1155
  • Keep collaborator access in sync with token balance
  • Refactor to get repo and owner from installation_id

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Sam Wellander - @websurfer.eth

Acknowledgments

Many thanks to the Buidl Guidl and the amazing Scaffold-Eth-2 template that forms the base of this repo!