Next steps

Tasks to do in your project after applying the template to it.

While most of the post-copy steps are listed in the created TODO.md file within the project, this documents some more details for these steps. Use this guide alongside the TODO.md to complete those tasks. There are post-copy tasks for two types of people: the person creating the project and the person who will actually use it. Sometimes these are the same person, but in DP-Next they are usually two different people. That’s because we need to do some GitHub admin tasks after creating the repository that only some people have access permissions for. So this guide is split into those two people: creator and researcher.

Creator

Setting up a GitHub repository

Before you can put the project on GitHub, you need to set up the project to be a Git repository. Use these commands in the terminal to do that:

Terminal
git init -b main
git add .
git commit -m "start of project"

These commands will initialize the project as a Git repository (init) with main as the main branch name and then will add and commit all the files into the Git history. Now you’re ready to upload to GitHub!

The easiest and quickest way to put the repository up onto the DP-Next GitHub organization is to use the gh command line tool:

Terminal
gh repo create dp-next/REPO --source=. --public --push

This command creates a public repository on GitHub using the folder Git repository (.) and then pushes the contents of the folder up to GitHub. The next steps include some administrative tasks that make it easier to manage and protect the repository. In Seedcase, we created a custom command line tool to help manage GitHub repositories. While it’s useful for us, it isn’t designed or build in a way that makes it easy for others to use. So for this step, you can try to install our internal tool spaid and run the commands below. Or you can ask Luke to do these next steps, as they are very quick to do.

Terminal
spaid_gh_set_repo_settings dp-next/REPO
spaid_gh_ruleset_basic_protect_main dp-next/REPO
spaid_team_add_repo dp-next research-projects-team REPO
spaid_team_add_user dp-next research-projects-team USERNAME

Some configuration may be needed after copying this template to a new repository, including configuration external to the repository. However, most of these settings have already been set at the organizational level. For informational purposes, the created workflow in .github/workflows/add-to-project.yml of the newly created repository requires the add-to-board-token GitHub App (a Seedcase app), along with the ADD_TO_BOARD_TOKEN secret and the ADD_TO_BOARD_APP_ID variable of the GitHub App’s ID. These can all be set in the GitHub organization settings (and have already been set).

Researcher

For now, the TODO.md file contains enough information on what the next steps are for the researcher. Importantly, you need to fill out the dp-next.yaml file, as we use that to keep track of projects.