How to Contribute to Community Leaders Cm-Tools Repository!

Trust Jamin

Trust Jamin

Feb 05, 2023 0 MIN READ

This article is about how you can contribute to the growing list of CM tools.
For starters, here’s the link to the repository: https://github.com/communityleads/cm-tools.


CM Tools is an open-source repository on Github that contains a large list of community managers’ tools that they use regularly for their work. In this article, I'll show you how you can contribute to the list of tools if we missed any, and I'm sure you'll want to contribute and add to it.
This could be your first open-source contribution or your first time working with GitHub as a CM. To help you understand, here are some words that will appear frequently throughout the article, along with their definitions.


GitHub: GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. Aside from hosting code on GitHub, you can also host other file formats and documents on GitHub.

GitHub Repository: A repository is a storage space where your project lives on GitHub. A repository contains all of your project's files and each file's revision history. You can discuss and manage your project's work within the repository.

Fork: A fork is a copy of a repository that you manage. Forks let you make changes to a project without affecting the original repository. You can fetch updates from or submit changes to the original repository with pull requests.

Commit: Similar to saving a file that's been edited, a commit record makes changes to one or more files in your branch. Git assigns each commit a unique ID, called an SHA or hash, that identifies:

  • The specific changes

  • When the changes were made

  • Who created the changes.

When you make a commit, you must include a commit message that briefly describes the changes.

Pull Request: Pull requests let you tell others about changes you've pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch.

Step 1

You will need an account on GitHub to make contributions to a GitHub repository. Head over to github.com and create an account. It is free to create an account and start using GitHub.

Step 2

Yay!!! You’ve just become a GitHub user. Now that you have your GitHub account, you can start making contributions to the repository. Go to the repository URL at https://github.com/communityleads/cm-tools. Here you will find the list of tools already contributed by others. Click on the “fork” button on the top right of the page in the repository to fork the repository.

Forking a repository simply means creating an independent copy of a repository for yourself, which you can access and make changes to without affecting the original repository you made the fork from. Clicking on the fork button should get you to a page that looks like this, where you can click on the “create fork” button to create an independent copy of the repository.

You should end up with your repository after creating a fork of the original repository, with your username and repository looking like this: Notice how the repository name shows that it was forked from the communityleads/cm-tools repository!

Hurray!!!, You are doing great! You just created your first repository from a different repository by forking it.

Let’s move on to the next step: making changes and updating your repository before sending it back to the communityleads/cm-tools repository.

Step 3: Let’s get it!

Now that you’ve successfully created your repository, it’s time to make some changes, update files on the repository, and add your favorite tool to the list of CM tools.

There are a few files on the repository, but we are only going to be making changes to the readme.md file as this is the file that contains all of the CM tools on the repository. To do that, right on the homepage view of your repository, you’ll see an edit icon; clicking it will take you to an edit mode where you can make edits to the readme.md file.

After clicking on the edit icon, it should take you to a page that looks like the one below. Clicking on the "preview" tab will show you a preview of the document.

While on this view, let’s add Send Grid to the list as a CM tool. To write that in markdown on the page, we’ll write something like this:

| [SendGrid](https://sendgrid.com/) | SendGrid is an email service provider that enables you to design marketing and newsletter emails in different forms, it also allows you to design your emails using its library of responsive templates, or start from scratch, design with drag & drop tools, pure HTML, or both or building your own design template from scratch. |

This ensures that we add the tool properly; after adding this tool, click on the preview tab to check if the tool was properly added, the tool we added should be like this

Whenever we make changes to a file on GitHub, we can save the changes by committing that file to GitHub. To do that, while still in the editing mode of ourreadme.md file, scroll down and you’ll find a "commit" section with a title and description field; the title and description will help others track changes we made to this file whenever they check the history of the file. Let’s update the title so it can reflect the changes we just made. After updating the title, click on the "commit changes" button to save all changes made to the readme.md file.

Clicking on the "commit changes" button will take us straight to the homepage of our repository. To confirm if our changes were saved, you should see a reference to the changes you made and also the time the changes were made, like in the picture below.

We did it! That was amazing!

Thumbs up for all that work; that was a lot, but yes, you did it. We’ve successfully made changes to the list of tools by adding Send Grid as an emailing tool to our repository.

Step 4 - Contributing our Changes

Next, we need to take all of these changes and contribute them to the original repository we cloned it from. To do this, head back to the homepage of your cloned repository and click on the “contribute” button, which will open a dropdown with an “open pull request” button.

After clicking on the “open pull request” button, it should get you to a pull request page like the one below. Pull requests let you tell others about changes you've made in a repository on GitHub and that you want to merge those changes back to the original repository you cloned from. Notice how it compares our branch with that of the community-leads branch for the changes we’ve made.

To create our pull request, we first have to follow the guidelines on the pull request template by doing the following things

  1. Update the title of our pull request in the pattern of [resources] → [ Category the resource falls into]

  2. Add the name of the resource

  3. Add a description of the resource

  4. A link to the resource itself

  5. Lastly, add an “x” to the square brackets on the checklist section to confirm that the resource we are submitting followed the guidelines of the repository.

After adding all of those changes, we should have a view that looks like the screenshot attached below. Click on the “Create pull request” button to create your pull request. You do not have to update anything else on your pull request as a template has already been created by the team.

Step 5 - Final Touch

Finally, for a pull request to be approved and merged into the communityleads/cm-tools repository, it must receive at least one review and approval from the team. To request a review, click on the settings icon on the reviewer's tab to select someone to review your changes, you can request up to 3 persons. Here I requested 2 persons from the team to review my pull request.

Once your pull request is created and ready for review, someone from the team will review your changes, and when they are approved, you will receive an email notification.

So there you have it. You’ve successfully made your first contribution to the list of community managers tool on GitHub.

I hope this article was helpful, and I look forward to seeing your contributions on GitHub.

Happy contributions, Cheers.

Subscribe to our community Newsletter

Get the latest trends about community works

Community Leads Africa
Facebook Logo
Instagram Logo
Twitter Logo
LinkedIn Logo
Get in Touch
info@communtyleads.africa

© 2023 community leads Africa. All Rights Reserved.