Building: Create the course

The quickest (and easiest) way to create a course on Learning Lab is through the course creation page. Once you select an owner, the following steps will be completed for you:

  1. Create a course repository from the helpful starter template
  2. Create an empty template repository (don't worry, you can replace it if you already have one)
  3. Create a draft of the course so you'll be ready to test
  4. Open the course builder

You're then ready to get started. Need advice on where to go from here? We'll cover that below.

The video below shows how to use the course builder once the course has been created.

Manual repository setup

The course creation page is the quickest and simplest way to create a course's repositories. However, if you'd like to create these manually, you can follow the steps below. Read more about a course's required repositories in Course and template repositories, or jump right in with the course boilerplate.

1. Set up the course repository (manual option)

Let's create the required elements for a course:

  1. Create a repository that will house your course logic and metadata, course course repository.
  2. In course repository, create a file titled config.yml.
  3. In the course repository, create a file titled course-details.yml and fill it with a short description of your course.
  4. In your course repository, create a folder titled responses.
Type Name Description
File config.yml Stores your courses metadata and logic, written in YAML.
File The full description of your course. This is what learners will use to decide whether or not they should take your course.
Folder responses/ Markdown files powering the bot's responses.

2. Add the template repository (manual option)

  1. Create a template repository owned is owned by the same repository that will be used as a template.
  2. Push starter code for your learners to this new template repository.
  3. In the course's config.yml file, specify the template repository's title by editing the repo: key inside of template: (see an example).

3. Create the course on Learning Lab (manual option)

Until this step, you'll have two repositories that Learning Lab won't know about. Now, we'll tell Learning Lab to read these repositories and create a course from them. Missing elements from the course repository might result in errors during this step, so we recommend adding the required elements to the config.yml before creating the course. The minimum required elements are those contained in the boilerplate.

  1. Install Learning Lab on the course repository and the template repository
  2. (Optional, if your course is owned by an organization) Install Learning Lab on your chosen organization.
  3. Navigate to
  4. Enter the title of your course repository.
  5. Click Create course.

Once the course is created, you can continue to edit it manually, or use the course builder.

GitHub Learning Lab's mascot A course on GitHub Learning Lab can guide you through this step.