Learn R Programming

ghclass

Tools for managing GitHub class organization accounts

This R package is designed to enable instructors to efficiently manage their courses on GitHub. It has a wide range of functionality for managing organizations, teams, repositories, and users on GitHub and helps automate most of the tedious and repetitive tasks around creating and distributing assignments.

Install ghclass from CRAN:

install.packages("ghclass")

Install the development version package from GitHub:

# install.packages("remotes")
remotes::install_github("rundel/ghclass")

See package vignette for details on how to use the package.

Peer Review

In order to speed up the process of getting this package submitted to CRAN we have decided to move the peer review functionality to the peer_review branch for the time being. This functionality will be included in the CRAN release as soon as possible, hopefully in the next, v0.2.1, release. If you were using this functionality and need access to a version of ghclass with it then you can install this branch using:

remotes::install_github("rundel/ghclass@peer_review")

GitHub & default branches

Recently, GitHub has announced that they will be changing the default branch for all new repositories on their platform to main from master. Details on this change and the timeline for implementation are available here. In anticipation of these changes we have updated ghclass to support alternative default branch names across the entire package. See the FAQ in the Getting Started vignette for more details.

Copy Link

Version

Install

install.packages('ghclass')

Monthly Downloads

659

Version

0.4.0

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Colin Rundel

Last Published

May 8th, 2026

Functions in ghclass (0.4.0)

org_grade_assignment

Setup grading for an assignment
org_details

Obtain details on an organization's repos and teams
repo_core

GitHub Repository tools - core functions
local_repo_rename

Rename local directories using a vector of patterns and replacements.
pages

Retrieve information about GitHub Pages sites and builds.
pr

GitHub Pull Request related tools
repo_details

GitHub Repository tools - repository details
repo_file

GitHub Repository tools - file functions
local_repo

Functions for managing local git repositories
team

Create, delete, and rename teams within an organization
org_create_assignment

Create a team or individual assignment
team_members

Tools for inviting, removing, and managing members of an organization team
org_perm

Organization permissions
org_members

Tools for managing organization membership
repo_user

GitHub Repository tools - user functions
repo_notification

GitHub Repository tools - notification functions
repo_style

Style repository with styler
user

GitHub user related tools
issue

GitHub Issue related tools
github_orgs

Collect details on the authenticated user's GitHub organization memberships (based on the current PAT).
github_api_limit

Tools for limiting gh's GitHub api requests.
github_rate_limit

Tools for handling GitHub personal access tokens (PAT)
github_with_pat

withr-like functions for temporary personal access token
ghclass-internal

Internal ghclass helpers
action

Retrieve information about GitHub Actions workflows and their runs.
github_whoami

Returns the login of the authenticated user (based on the current PAT).
action_badge

Add or remove GitHub Actions badges from a repository
branch

Create and delete branches in a repository