This is a "just the essentials" project template for your open-source repository. These are essentials you need to have in every repository you begin, and take the time to refine and adjust for your needs. As an open-source project creator and maintainer, you will most likely want others to use your project and contribute to improving it.
When doing so, there are a few things you need to think about and be clear about.
- What is the project about? How do I set it up, run it, or use it in my project? What does the project aim to be and what falls outside of the scope of the project? What types of contributions are you looking for? - The
README
is a great place to define this. - Which license is the most appropriate for your project? - Be sure to update the current
LICENSE
if you choose a license other than MIT. - A project cannot succeed if its members feel unsafe expressing themselves. However, we need to be careful to draw a defined line in the sand concerning how we expect contributors and the community to behave and what will not be tolerated. Definiting this in your
CODE_OF_CONDUCT
is a great start. However, ensure that you are also clear about how you will enforce the code of conduct, and then ensure that you enforce the rules and act impartially. - If I want to contribute, how do I do that? Are the steps I need to follow different than when running or using the project? - The
CONTRIBUTING
file is where all of this information goes.
Once you have thought through and written up the above, ensure that you link to these documents directly from your main project, README
. If it makes sense, include a short synopsis of the full document. It is often a good idea to list the most important dos and don'ts from your code of conduct on your README.
- A dev’s guide to open source software licensing
- Choose an open source license
- Opensource.guide Legal
-
Click the Use this template button, which is located either at the top right or left of this page, and create a copy of this repository.
-
Customize every required template and address each TODO item.
Each file is a template with instructions to customize the contents for your project. Most files use comments with TODO to call out where you need to make changes. We recommend viewing the files in raw or text form so that you can see the comments.
For example, in markdown files, we use <!-- TODO: ... -->
to provide additional
guidance or indicate where action is required, but you won't see those comments
when you view the markdown file in GitHub unless you view the raw text.
Update the README-template
for your needs and then replace this README
with your newly updated README
. Fill in as much as possible of the sections defined in the template even if it feels like a lot. Not only will it help contributors, but it is a moment for you to reflect and consider the goals of your project.
Note: This is the README file for the templates repo. Please use README-template.md as a template for your project README.
Thanks to the CNCF's project template, who served as the original inspiration.