RepoBee is a command line tool that allows teachers and teaching assistants to work with large amounts of student Git repositories on the GitHub, GitLab and Gitea platforms (cloud and self-hosted). The archetypical use case is to automate creation of student repositories based on template repositories, that can contain for example instructions and skeleton code. Given any number of template repositories, creating a copy for each student or group is just one command away. RepoBee also has functionality for updating student repos, batch cloning of student repos, opening, closing and listing issues, no-blind and double-blind peer review, and much more!
In addition, RepoBee features a powerful plugin system that allows users to either use existing plugins, or write their own. Plugins can do a wide range of things, including making RepoBee compatible with multiple hosting platforms (GitHub, GitLab, Gitea), providing compatibility with repositories managed by GitHub Classroom, or running JUnit4 test classes on cloned student repositories.
RepoBee supports most UNIX-like environments. That includes macOS, Windows through WSL and all Linux distributions. Other UNIX-like environments may work, but they are not officially supported.
Don't want to install? We also offer a fully featured Docker image!
Installing RepoBee is simple, just execute the install script!
# for bash
bash <(curl -s https://repobee.org/install.sh)
# for zsh
zsh <(curl -s https://repobee.org/install.sh)
Follow the instructions from the install script and you should be good to go.
It will install RepoBee into the ~/.repobee
directory for you. Visit the
install documentation
for more elaborate instructions.
Note: Even if your primary shell is not
bash
orzsh
, you need to install RepoBee with one of them. Then you can execute RepoBee with most shells.
Simply remove the ~/.repobee
directory. Depending on if you chose to modify
your .bashrc
or .zshrc
or similar during install, or have done so manually,
you may also need to remove a few lines from these files to remove all traces
of RepoBee.