About GitHub Learning Lab

Learning Lab is the way to learn on GitHub. You can use Learning Lab to level up your own skills (as a learner), and to create courses for others (as an author).

This is the general pattern learners and authors follow when using GitHub Learning Lab.

  1. An author creates and publishes a Learning Lab course.
  2. A learner visits GitHub Learning Lab. They can browse through the course catalog and read about GitHub Learning Lab without signing in.
  3. A learner signs into GitHub Learning Lab for the first time, GitHub requests user-level permissions. The learner authorizes the app.
  4. GitHub Learning Lab requests the learner install it on at least one repository, or on their account (all current and future repositories). These installation types are known as selected or all, respectively.
  5. Learner installs the app as requested.
  6. A learner registers for a course in GitHub Learning Lab.
  7. GitHub Learning Lab creates a repository for the registered course based on a template specified by the course's author.
  8. If the learner uses the selected installation type, GitHub Learning Lab requests the learner install it on the newly created repository.
  9. GitHub Learning Lab sets up the newly created repository with any issues, pull requests, and settings specified by the course's author.
  10. GitHub Learning Lab shows the learner the course progress page with steps defined by the course's author.
  11. Learner clicks on the current step and navigates to the active issue, pull request, or page on GitHub.
  12. Learner performs the course's requested action.
  13. GitHub Learning Lab receives an event describing the learner's action.
  14. If the learner's action is expected, GitHub Learning Lab responds as defined by the course's author. If the learner's action is unexpected, GitHub Learning Lab does not react.
  15. GitHub Learning Lab marks the course as complete when the learner completes all expected actions.