Skip to content

Setting up a new Repo

It is recommended that you use the template repository for initial set up of your new repository. It will include an appropriate gitignore file, a suitable Visual Studio file, and a ReadMe file which can be easily updated for your repository. It will also include some sample code for an oM, Engine, and Adapter to get you started.

This page provides instructions on how to set up a repository within BHoM to meet our guidelines/standards and assist our automated processes to work with the new repository. This is for brand new repositories, which by default will start life as Prototype status. Once repositories progress to become Beta repositories, the requirements for the repository will shift slightly, including additional requirements to the branching strategy. If further assistance is required, please reach out to the DevOps team.

  1. Select the repository template - image
  2. Name the Repo SoftwareNameOrFocus _Toolkit. It will likely end in Toolkit - see explaination here. It may end in _Tool if the designation of the repository is for a zero-code tool rather than an interoperability toolkit. DevOps can assist in making the distinction if required.
  3. Make sure the Public option is selected.
  4. Under Settings -> Options. Ensure only the merge option is enabled and the default commit message is set to be the Pull Request title - image
  5. Add a Team under Collaborators and teams
  6. Under Branches. Set the main Branch as protected with the following settings (click edit on the right-hand side of the listed main branch)

image image image image image

If you don't have a team for that repo yet, you can create it here. Make sure the team has the same name as the repo and that you have added the repo into its list of repositories with the the "Write" access level. Now you should be able to link it in the branch setup page above.

Once you've set up the repository, follow the instructions in the template repository to finish setting up the repository from the code perspective.