Skip to content


This page describes how to create/clone, use, and organize repositories "repos".

Clone a GitHub Repository

Cloning makes a copy of a GitHub repository locally on your computer. These instructions are for cloning an existing repository. If you are starting a new project, you will need to Create a New Repository.

  • You can clone a repository online from

    • On, go to the repository you want to clone (e.g.,
    • Click the "Clone or download" button on the right side of the screen. Then click "Open in Desktop". This will launch the GitHub app.
    • Click "Clone" to save the repository in your "htdocs" folder.
    • In the GitHub app, there is a "Sync" button in the top right. Clicking Sync pulls the most recent code from GitHub and pushes any changes you have made locally.
  • Or you can clone a repository using the GitHub desktop app

    • Open the app and select "Clone repository" from the "File" dropdown menu.
    • Select the repository from the list or type the name into the seach box.
    • Confirm that the local path is cloning it to MAMP/htdocs.
    • Click "Clone"

Creating a GitHub Repository

Respository Organization

Within a respository you should have separate folders for each experiment in that line of experiments. Within each experiment you will have a set of files. Common files that you will need to modify are described below.

  • experiment.html – the html file for your experiment that will be used to define plugins
  • experiment.js - the file that you will use to program most of your experiment
  • lab-start.html – this is used if you needed to create a login screen (for in-lab experiments)
    • verify.html - this is used to present a verification screen after the login screen
  • anything ending in .css edits styling (font size, color, etc.)
  • plugins – folder containing all of the plugins
    • files starting with jspsych are plugins created by jspsych
    • files starting with pcllab are plugins created specifically for our lab (you will use these the most)
    • plugin.js – the plugin you will need to define the path to this file in experiment.html * There will be a readMe file or a comment at the top of the plugin.js file that explains the parameters that can be modified for the plugin