recursecenter / pairing-bot

A Zulip bot that partners people for pair programming practice
MIT License
22 stars 15 forks source link

Pairing Bot :pear::robot:

A Zulip bot that partners people for pair programming practice :)

Information for Pairing Bot users

Pairing Bot interacts through private messages on Zulip:

Information for Pairing Bot admins

In addition to the words below, there's an architecture diagram: docs/pairing-bot.excalidraw.svg

Deploys

Configuration

The database must be pre-populated with some data:

  1. A Zulip shared secret ("authentication token") used to validate incoming requests from Zulip
  2. A Zulip API key used to talk to the Zulip API as the Pairing Bot Zulip user
  3. A Recurse Center API key used to fetch RC data

Zulip bots must have an owner set in Zulip and may only have one owner at a time. RC Pairing Bot's ownership is given to whoever is working on Pairing Bot at the moment. The current owner is Jeremy Kaplan.

Information for People Looking to Work On Pairing Bot

Please contact Charles Eckman and/or Jeremy Kaplan for help getting started. You'll get an overview of Pairing Bot's code and commit access to this repo. You'll also get a tour of the Google Cloud project and access to the resources in it.

You can open a Pull Request for Pairing Bot without contacting the project owners, but that means you'll lose out on the testing environment described below!

The Testing Environment

Pairing Bot has a test environment where you can validate your changes before changing the main Pairing Bot. It consists of:

How to Make Changes to Pairing Bot

  1. Contact one of the maintainers of Pairing Bot to learn about the project and gain project permissions.
  2. Make your code changes on the dev branch and push to this GitHub repo.
  3. Check the CloudBuild tab in Google Cloud to make sure that the Pairing Bot project built successfully.
  4. Test out your changes with the Pairing Bot (Test Version)
  5. Check the Logs in Google Cloud to make sure your change did not introduce any errors.
  6. If everything looks good, you can open up a Pull Request comparing dev against main. If you have Git permissions from the maintainers then feel free to merge your changes in!

Pull requests are welcome, especially from RC community members!

Pairing Bot is an RC community project.

Your contributions are welcome and encouraged, no matter your prior experience!