When you download an exercise, you will get the following folder structure:
Configuration fields for each exercise:
exercise_name
: name of exercisetags
: list of tags for exerciserequires_git
: downloading the exercise will check that Git is installed and thatgit config
is already donerequires_github
: downloading the exercise will check that Github and Github CLI is installedbase_files
: provides the files to be included outside of the repository, along with.gitmastery-exercise.json
andREADME.md
, most often used foranswers.txt
exercise_repo
: configuration for what the exercise repository would look liketype
:custom
(creates and initializes the folder as a Git repository) orlink
(reference a repository on Github)name
: name of repository during cloninglink
: (only read iflink
is present) link of repository on Githubcreate_fork
: (only read iflink
is present) flag to determine if we need to fork the repository to the student's machine, otherwise it just clones the repositoryinit
: (only read ifcustom
is present) flag to determine if we will callgit init
on the exercise repository (useful if we don't want to start out with a Git repository)
- Add validation for exercise configuration (e.g. cannot fork + not require Github) - to run as CI