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

The peer review functionality currently lives on the peer_review branch and is not part of the CRAN release. If you need it you can install that branch using:

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

GitHub & default branches

GitHub now uses main as the default branch for new repositories (see here for background). ghclass supports alternative default branch names across the entire package, so for the vast majority of use cases you will not need to do anything differently. See the FAQ in the Getting Started vignette for more details.

Copy Link

Version

Install

install.packages('ghclass')

Monthly Downloads

315

Version

0.4.2

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Colin Rundel

Last Published

August 31st, 2026

Functions in ghclass (0.4.2)

local_repo_anonymize

Anonymize a local repo or grading project
repo_file

GitHub Repository tools - file functions
user

GitHub user related tools
team_roster

Add team assignments to a roster
repo_core

GitHub Repository tools - core functions
repo_notification

GitHub Repository tools - notification functions
repo_style

Style repository with styler
repo_details

GitHub Repository tools - repository details
repo_user

GitHub Repository tools - user functions
team_members

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

Create, delete, and rename teams within an organization
action

Retrieve information about GitHub Actions workflows and their runs.
action_badge

Add or remove GitHub Actions badges from a repository
github_whoami

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

GitHub Issue related tools
github_with_pat

withr-like functions for temporary personal access token
github_rate_limit

Tools for handling GitHub personal access tokens (PAT)
ghclass-internal

Internal ghclass helpers
github_api_limit

Tools for limiting gh's GitHub api requests.
github_orgs

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

Create and delete branches in a repository
pages

Retrieve information about GitHub Pages sites and builds.
local_repo

Functions for managing local git repositories
pr

GitHub Pull Request related tools
org_perm

Organization permissions
org_members

Tools for managing organization membership
org_details

Obtain details on an organization's repos and teams
local_repo_rename

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

Setup grading for an assignment
org_create_assignment

Create a team or individual assignment