CodeTeach.ai is shifting to private GitHub template repos. New generation, validation, deployment, and purchases are temporarily paused while we finish the post-GitHub Classroom workflow with GitHub Actions autograding. Read GitHub's announcement.

CodeTeach.aiGitHubPrivacyTeaching

Private Student Repositories From a GitHub Template

How CS instructors can assign private student repositories from a GitHub template and keep autograding in GitHub Actions without GitHub Classroom.

GitHub template repositories can cover the essential handoff that many instructors used GitHub Classroom for: giving students a clean starting repository with tests, instructions, and GitHub Actions already in place. For many CS courses, this is the smallest practical GitHub Classroom alternative.
The model is simple. The instructor owns a private template repository. Students create private repositories from that template. GitHub Actions runs inside each student repository.
GitHub collaborator settings showing Add people

Instructor setup for a template repo assignment

Create or deploy the assignment as a GitHub template repository. Keep the solution material out of the student default branch, and give students the template generation link.
https://github.com/ORG/ASSIGNMENT/generate
The template should include:
  • starter code
  • instructions
  • autograding workflow
  • any test files needed by the workflow
Do not add students to the template repo. If the template contains a solution branch, anyone with read access to that repo should be assumed able to see that branch. Branch protection prevents changes; it does not make a branch secret.

Student setup for private repositories

Students should create a private repository from the template. They should follow the naming convention you provide, then add the instructor or TA as a collaborator if your course process requires direct access.
For example:
lastname-firstname-assignment-name
If the instructor is creating the student repos, the safer sequence is:
  1. Open the template repo and click Use this template.
  2. Create one private repo for one student.
  3. Leave Include all branches unchecked.
  4. Open the student repo's Settings → Collaborators and teams page.
  5. Confirm Base role is None and there is no inherited organization or team access.
  6. Click Add people.
  7. Paste the student's exact GitHub username.
  8. Add that student as an outside collaborator on this student repo only.
The search field inside the access table is an existing-access search box. It searches people and teams that already have access; it is not the control for inviting a new student. Use Add people.
Email lookup is inconsistent because many GitHub users keep email addresses private. For class logistics, collect exact GitHub usernames in your roster.

LMS submission

The simplest submission method is still the LMS. Ask students to submit the repository URL in Canvas, D2L, Blackboard, Moodle, or whatever your institution already uses.
That keeps CodeTeach.ai out of student records and lets instructors keep using existing grading processes.

GitHub Actions autograding

Autograding remains in GitHub Actions. Students see feedback in the Actions tab. Instructors can inspect the same workflow run when reviewing a submission.
This does not reproduce every GitHub Classroom convenience, but it preserves the core value: students work in GitHub, tests run in GitHub, and the instructor owns the course workflow.

Streamlining this workflow

The manual process is the safest baseline because it does not require CodeTeach.ai to store student rosters or manage student repositories. For larger courses, the natural next step is instructor-owned automation:
Terminal dry run for the roster automation kit
  • maintain a CSV roster with github_username and desired repo name
  • use the GitHub CLI or REST API to create private repos from the template
  • invite each exact GitHub username as an outside collaborator
  • keep the roster, invitations, and grade records under instructor or institutional control
That keeps the operating model lean while still giving CS instructors a path to recover the assignment-link convenience they lost with GitHub Classroom.