kontent-ai.github.io

Checklist for publishing a new OS project

Before you publish any repository under Kontent.ai organization on GitHub, please go through this checklist and make sure the repository is up to standards.

Repository name

Set repository name according to the Naming conventions.

Dedicate a maintainer

It’s essential to decide who’s going to be responsible for the repository. Every repository needs to have an owner (a person or a team) who will actively:

Read more on the duties of a maintainer.

Mark this user into the CODEOWNERS file. See an example.

Community profile

Description, website, and topics

Fill in basic information about the project to make it easy to find it. Topics

⚠ Tag the repository based on the division according to Naming conventions.

In the case of private repositories, add a “private-repository” tag.

README (Documentation)

README should contain:

More complex topics and examples can be covered in separate articles in GitHub Wiki (or an external system such as ReadTheDocs).

The template of the README file is stored in repo-template.

Contributing

From the README or CONTRIBUTING files, it should be clear:

The template of CONTRIBUTING file is stored in repo-template.

License

Use the MIT license and set “Kontent.ai” as the copyright holder. If you want to use a different license, please contact the DevRel team.

Store the license in the “LICENSE.md” file in the root of the repository because it is being linked from “CONTRIBUTING.md” document.

The template of the LICENSE file is stored in repo-template.

Issue & pull request templates & Code of Conduct

Use repo-template for the templates and Code of Conduct.

GitHub features

GH Features

Expectations

You should make clear:

In case of private repos, please add the following note to the top of the README:

🛈 This repository contains Kontent.ai’s internal code that is of no use to the general public. Please explore our other repositories.

Set up an issue tracker. Most likely, you’ll use GitHub issues. Take your time to set up labels and milestones.

Badges

Use badges to make it easy to find basic information about the status of the project.

Pro tip: generate custom badges via https://shields.io/ Custom Badge

Examples:

⚠ Try to unify the style of the badge statuses. If it is not possible group the stypes per line.

Tests

Include at least a basic set of (unit) tests.

Review

Continuous Integration

Setting up CI, makes it easy for contributors to know whether their code works as expected. You can find more info about CI practices in the separate article.

Protect the master branch

You can learn more about branch protection in the documentation. Branch protection

Add collaborating teams

Releases

Want to make the repo even more friendly?