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 configis 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.jsonandREADME.md, most often used foranswers.txtexercise_repo: configuration for what the exercise repository would look likerepo_type:local(creates and initializes the folder as a Git repository) orremote(reference a repository on Github)repo_name: name of repository during cloningrepo_title: (only read iflinkis present) link of repository on Githubcreate_fork: (only read iflinkis present) flag to determine if we need to fork the repository to the student's machine, otherwise it just clones the repositoryinit: (only read ifcustomis present) flag to determine if we will callgit initon 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