Contributing to lesson development

Also read Lesson design and Lesson review.

This document is work in progress on how to contribute to a CodeRefinery lesson.

We use GitHub issues to communicate things that need to be updated, collect feedback and improvement suggestions. Latest prior to every workshop we go through the issues and implement and resolve at least the urgent ones.

All our lesson materials are written in Markdown using our own Sphinx lesson template.

Improvements are done on branches either on the CodeRefinery repository or your own fork. The improvement suggestions are then submitted via Pull Requests. For easier and faster review, please keep the pull requests topically small.

Steps to contribute to a CodeRefinery lesson:

  1. Find the lesson materials on GitHub

  2. Submit an issue describing the things you would like to fix / update / add

  3. Discuss with the team in the issue

  4. Work on your own fork and branch on the implementation 4a. Add yourself as author to the citation.cff file

  5. Submit a draft Pull Request if you want early comments and discussion

  6. Build the lesson locally to check the format

  7. Submit a pull request to the lesson repository with coderefinery-team as reviewer

  8. Remind the team in chat or via support@coderefinery.org if you do not get any comments or reviews within some days.

Some more hints and explanations can be found in our Sphinx-lesson contribution quickstart.

Lesson preview

Preview lesson page by building it locally using Sphinx, see also Sphinx-lesson build.

Creating a new CodeRefinery lesson

We have a self-explaining Sphinx-lesson.