Choosing a trigger
The trigger decides when GrillMyCode runs and generates questions for a student. There are three options. Whichever you pick, you can also start a run yourself at any time from the repository's Actions tab.
Tailoring the questions
Out of the box, GrillMyCode asks a mix of three kinds of question about any code:
Choosing which files are assessed
GrillMyCode only asks about code the student wrote. Most of the time you don't need to change anything. This page explains what it leaves out, and how to adjust that for an assignment.
Choosing a model and managing cost
GrillMyCode doesn't include its own AI. It uses an AI model of your choice through OpenRouter, which gives you access to models from Google, Anthropic, DeepSeek and many others with one account. You pay OpenRouter directly, from a prepaid balance.
Running it yourself
Whatever trigger you chose, you can always start GrillMyCode by hand. That's useful for regenerating a student's questions, trying a different setting, or running an assessment after the deadline.
What your students see
Students get their questions in two places: an issue in their repository and a PDF. They never see the answers.
Using with Classroom 50
GrillMyCode is built for Classroom 50, the free, open-source classroom tool from the Fifty Foundation that replaced GitHub Classroom. GitHub Classroom shut down on August 28, 2026.
Keeping a private answer key
Students only ever see questions. With a little extra setup, GrillMyCode also keeps a copy of every student's questions with the answers, in a private repository that only instructors can see. It also builds a multiple-choice quiz for each student that you can import into your LMS.
Importing quizzes into your LMS
With the private answer key set up, GrillMyCode builds a multiple-choice quiz for each student from their own questions. You can import it into your learning management system and have students answer it there.
Tracking assessed repositories
With a class of 30 or more, it helps to see at a glance which students have questions, and who has resubmitted. This page covers three ways to do that.