Skip to content

A tool to manage student group repositories using the GitHub API.

License

Notifications You must be signed in to change notification settings

eupedrosa/class-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Class-Hub

Class-Hub is a command-line tool that simplifies the management of student group repositories on GitHub. Using the GitHub API, it automates the creation and management of repositories for classroom assignments, making it easier for educators to organize and track student work.

The ch CLI tool provides features like:

  • Creating repositories for student groups from a template
  • Managing student access permissions automatically
  • Bulk cloning/updating of assignment repositories
  • Smart academic year handling
  • Tab completion support

Quick Start

  1. Install the CLI tool (see Installation below)
  2. Authenticate with GitHub:
gh auth login
  1. Create a CSV file with student groups (e.g., students.csv):
  1. Create an assignment:
ch create-assignment classroom-org assignment-name students.csv [template-repo]

Installation

You can install Class-Hub using the provided install script:

curl -fsSL https://raw.githubusercontent.com/eupedrosa/class-hub/main/install.sh | bash

Prerequisites

Manual Installation

If you prefer to install manually:

  1. Ensure ~/.local/bin is in your PATH
  2. Download the script:
curl -fsSL https://raw.githubusercontent.com/eupedrosa/class-hub/main/ch -o ~/.local/bin/ch
chmod +x ~/.local/bin/ch
  1. Set up autocomplete (optional):
ch autocomplete > ~/.local/share/bash-completion/completions/ch

Usage

Create Assignment

ch create-assignment <classroom_name> <assignment_name> <students_file> [template_repo]

NOTE: The lective year is automatically added to the assignment name.

List Assignments

ch list-assignments <classroom_name> [assignment_name]

Get Assignment

ch get-assignment <classroom_name> <assignment_name> [target_directory]

Update CLI Tool

ch update

Updates the CLI tool to the latest version.

For more information, run:

ch --help

About

A tool to manage student group repositories using the GitHub API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages