Skip to main content

Create an assignment from a template repository

You can create an assignment from a template repository to provide starter code, documentation, and other resources to your students.

Who can use this feature?

Organization owners who are admins for a classroom can create an assignment from a template repository that is public or owned by the organization. For more information on classroom admins, see "Manage classrooms."

Note: In January 2024, GitHub Classroom will change the way student repositories are created from starter code repositories. Currently, the process requires starter code repositories to be templates, and GitHub Classroom creates a new repository for each student based on that template. With the upcoming change, student repositories will be created by forking the starter code repository.

This change addresses a frequently requested feature from teachers: the ability to change starter code after an assignment has been accepted by students.

You can read more about this change on the GitHub blog.

This feature is in public beta and subject to change.

You can use a template repository on GitHub as starter code for an assignment on GitHub Classroom. Your template repository can contain boilerplate code, documentation, and other resources for your students. For more information, see "Creating a template repository."

To use the template repository for your assignment, the template repository must be owned by your organization, or the visibility of the template repository must be public.

Note: All branches from the template repository are copied into student repositories derived from the template repository, even branches you use to store solutions.

You can reuse an existing assignment, even if it uses a template repository, in any other classroom that you have admin access to, including classrooms in a different organization. For more information, see "Reuse an assignment."

Further reading