# GitHub template repository with best practices

**URL:** <https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225>\
**Category:** Governance\
**Created:** [April 11, 2023, 12:33pm UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225 "2023-04-11T12:33:12Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![jlcanovas](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/jlcanovas/32/240_2.png) [@jlcanovas](https://discourse.sustainoss.org/u/jlcanovas)\
**Post date:** [April 11, 2023, 12:33pm UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/1 "2023-04-11T12:33:13Z")

</div>

Hi,

I’ve been working on preparing a template repository for GitHub trying to follow some recommendations and best practices to build sustainable projects.

[GitHub Best Practices Template](https://github.com/jlcanovas/gh-best-practices-template)

The repository currently provides some indications (and templates) for:

- Project Description
- Contributing guidelines
- Code of Conduct
- Governance rules
- License
- Code owners in your project
- Templates for your issues/pull requests
- Security policy
- Fundings file
- Citation

The objective is to provide a nice scaffolding solution for any project. Developers would only have to use the repository as template and _adapt and fill the gaps_ in the templates.

Any comment would be more than welcome!

---

<div class="post-metadata">

**Author:** ![RichardLitt](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/richardlitt/32/8_2.png) [@RichardLitt](https://discourse.sustainoss.org/u/RichardLitt)\
**Post date:** [April 11, 2023, 2:55pm UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/2 "2023-04-11T14:55:51Z")

</div>

I don’t think it’s just about the project documentation, but also about the nature of the project.

Here’s some fun reading from Sophie Huilian Qiu and Bogdan Vasilescu’s lab: [https://dl.acm.org/doi/pdf/10.1145/3359224](https://dl.acm.org/doi/pdf/10.1145/3359224)

---

<div class="post-metadata">

**Author:** ![jlcanovas](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/jlcanovas/32/240_2.png) [@jlcanovas](https://discourse.sustainoss.org/u/jlcanovas)\
**Post date:** [April 12, 2023, 7:30am UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/3 "2023-04-12T07:30:07Z")

</div>

Thanks @RichardLitt ! I remember having read that paper, I’ll revisit it 🤓

---

<div class="post-metadata">

**Author:** ![RichardLitt](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/richardlitt/32/8_2.png) [@RichardLitt](https://discourse.sustainoss.org/u/RichardLitt)\
**Post date:** [April 13, 2023, 1:27am UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/4 "2023-04-13T01:27:11Z")

</div>

Also, this is old, but this is what I used to use when I audited repositories full-time. [audit-templates/audit-template.md at dd837d08c357b1bff09fca80269fdb59f8719a74 · mntnr/audit-templates · GitHub](https://github.com/mntnr/audit-templates/blob/dd837d08c357b1bff09fca80269fdb59f8719a74/audit-template.md)

---

<div class="post-metadata">

**Author:** ![jlcanovas](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/jlcanovas/32/240_2.png) [@jlcanovas](https://discourse.sustainoss.org/u/jlcanovas)\
**Post date:** [April 13, 2023, 7:45am UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/5 "2023-04-13T07:45:23Z")

</div>

oldie but goldie! thanks again!

---

<div class="post-metadata">

**Author:** ![GeorgLink](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/georglink/32/19_2.png) [@GeorgLink](https://discourse.sustainoss.org/u/GeorgLink)\
**Post date:** [April 13, 2023, 12:01pm UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/6 "2023-04-13T12:01:11Z")

</div>

Thanks for sharing your checklist!

---

<div class="post-metadata">

**Author:** ![Ryuno-Ki](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/ryuno-ki/32/916_2.png) [@Ryuno-Ki](https://discourse.sustainoss.org/u/Ryuno-Ki)\
**Post date:** [May 25, 2023, 1:32pm UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/7 "2023-05-25T13:32:27Z")

</div>

In the past I contributed to

> **[GitHub - hackergrrl/art-of-readme: Things I've learned about writing good...](https://github.com/hackergrrl/art-of-readme)**
>
> :love\_letter: Things I've learned about writing good READMEs. - GitHub - hackergrrl/art-of-readme: Things I've learned about writing good READMEs.

---

<div class="post-metadata">

**Author:** ![jlcanovas](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/jlcanovas/32/240_2.png) [@jlcanovas](https://discourse.sustainoss.org/u/jlcanovas)\
**Post date:** [May 25, 2023, 2:11pm UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/8 "2023-05-25T14:11:20Z")

</div>

Hi Ryuno-Ki,

thanks a lot! those indications & checklist are quite useful to guide the writing of readmes. I’ll review it to see how to enrich our proposal, thanks again!

Cheers,

---

<div class="post-metadata">

**Author:** ![ShaneCurcuru](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/shanecurcuru/32/1015_2.png) [@ShaneCurcuru](https://discourse.sustainoss.org/u/ShaneCurcuru)\
**Post date:** [September 27, 2023, 10:41am UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/9 "2023-09-27T10:41:06Z")

</div>

As I’ve been thinking about setting up better standards for my repos, this is a great start. A few questions for Javier:

- I presume you’re happy to accept contributions? 😀
- Is the choice of CC-BY-SA intentional, or just your default for projects? Switching to any permissive license makes it more likely different users would be interested in using the template. In particular, I’d be nervous using this as a template, because I’d need to ask myself: if I just use this as a template and update for my own uses, does that mean my _entire doc_ set has to be CC-BY-SA?
  - The key question is: are you building a research project, or a template to give away where you want as many coding projects to use it (perhaps so we can later do research by looking at projects who do)?

- Have you thought about tying details here more directly to the [default repo files that GitHub offers](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)? They also suggest a SUPPORT.md file, which I think is useful.

Separately, seeing the default repo files docs makes me wonder if the root dir is the best place, or if files like this work better in /docs to keep the root cleaner (except for of course README.md). Although I suppose that kind of question will always be a personal style thing, given how many other config files tend to clutter the root dir of a repo anyway…

---

<div class="post-metadata">

**Author:** ![jlcanovas](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/jlcanovas/32/240_2.png) [@jlcanovas](https://discourse.sustainoss.org/u/jlcanovas)\
**Post date:** [September 28, 2023, 9:54am UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/10 "2023-09-28T09:54:04Z")

</div>

Hi @ShaneCurcuru!

of course contributions are welcome! feel free to open a PR 🥳

Regarding the license, in this particular project, I think relaxing the license may help reaching more public. I’ve changed the license to CC-BY, I’ll see if that helps.

I didn’t hear about `SUPPORT.md` file, I’ll have a look, thanks!

Cheers,

---

<div class="post-metadata">

**Author:** ![ShaneCurcuru](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sustainoss.org/shanecurcuru/32/1015_2.png) [@ShaneCurcuru](https://discourse.sustainoss.org/u/ShaneCurcuru)\
**Post date:** [October 10, 2023, 6:30pm UTC](https://discourse.sustainoss.org/t/github-template-repository-with-best-practices/1225/11 "2023-10-10T18:30:52Z")

</div>

Also related, I just learned about Justin Colannino’s Minimum Viable Governance MVG repo, that contains a complete, well defined, yet simple governance model you can drop into a repo to govern a group of maintainers. Well worth a read.

> **[GitHub - github/MVG: MVG = Minimum Viable Governance](https://github.com/github/mvg)**
>
> MVG = Minimum Viable Governance. Contribute to github/MVG development by creating an account on GitHub.

Long term - it could be exciting to work with GItHub (or other repo hosters) to build a “choose a governance model” into their new repo tool, like ChooseALicense.
