3  Using the template

This guide walks through how to use this template to create a new workshop or apply it to an existing workshop.

3.1 Creating a new workshop

You can use this template to create a new workshop with a standard set of files and folders, as well as all the features and configurations to make it easier to build your workshop smoothly and effectively. First, open a terminal and change your working directory to a location you want to create the new workshop project, e.g. Documents/:

Terminal
cd Documents

Next, copy and paste the following command, replacing the WORKSHOP-NAME with the name you want for your new workshop. The WORKSHOP-NAME is the name you want to give for the new workshop’s directory and (ideally) the GitHub repository for the workshop. The name should be something short and meaningful, ideally lowercase, with - instead of spaces, and no special characters.

Terminal
uvx copier copy gh:rostools/template-workshop WORKSHOP-NAME

The copy command uses the template on GitHub (gh:) at the rostools/template-workshop location.

3.2 Applying to an existing workshop

If you want to use this template on an existing workshop, you can use the copy command of copier just like above to apply the template to the existing workshop. This will add all the template’s files and configurations to the existing workshop. First, open a terminal and move your working directory to the existing workshop’s directory:

Terminal
cd Documents/EXISTING-WORKSHOP

Next, copy and paste the command below. The . means “use the template in the current directory”:

Terminal
uvx copier copy gh:rostools/template-workshop .

See the comment above in the “Creating a new workshop” section about the naming of the existing workshop directory. It will go through a series of prompts, as in the case of creating a new workshop, including asking if you want to overwrite existing files.

Note

To use the copy command, the existing workshop needs to be tracked by Git and in a clean state (no changes have been made in the working directory).