New Repo Checklist

Policy and checklist for creating a new repo on GitHub.

0. Does it need to be a separate repo?

Often, you can simply use a subdirectory of an existing repo. Even Haskell packages that will be published to Hackage can be kept in subdirectories of another project.

Multiple repos are more work to maintain (e.g. CI), and it’s more stuff to keep track of.

Ensure that you have a good reason to create a separate repo.

1. Decide which GitHub organization owns the repo

In general, DON’T use your private GitHub account to own repos/forks which are dependencies of IOHK repos. Unless this fork is temporary, prefer input-output-hk. If you leave, we don’t want our project repos to disappear.

However, to state the obvious, DON’T add repos which are likely to harm to harm the reputation of IOHK or mislead the public. Ask first, if in doubt.

2. Decide whether the repo should be private

Usually a repo should be public, unless there is some real reason to restrict access.

DON’T create private repos under input-output-hk, unless you are certain that it should remain private for a while. It’s rather difficult to change a private repo to public, or even to delete the private repo that you just created.

3. Could an existing repo just be moved?

If doing renames, merges, etc, consider using “Transfer ownership”, “Rename”, or “Change repository visibility” in the GitHub repo settings. This is safe, because the old locations will redirect. You may need IT to help with this change.

4. Checklist for adding a new repo

Links to this page