Guide for beginners
Who should read this
Anyone who wishes to be a part of Hamara community and/or wants to contribute to the development of Hamara.
Contents
The init
If you have landed here, you probably already know about the bunched docs in wiki, but it would be good to check out the website. If you're still muddled about getting started and the official guidelines for contributing to the project, this is the right stop for you.
Pre-requisites
- Join the community and be a part of us. Communicate as much as possible and stand out among all other members.
- Have a good command over git and show willingness to research about the part you'd like to contribute to.
Next big steps
- Make an account on Hamara gitlab and add your public SSH keys there.
- Request access to Hamara development repository.
- Clone the repository from gitlab preferably using SSH.
- Setup GPG keys to verify your commits on the repo.
But, what do I contribute to?
Have a look at the different aspects you can contribute to.
- Download the latest release of Hamara and explore. Feel like something can be improved? Contribute to that!
- Seems like some feature is missing? Contribute that!
- Above options seem too backbreaking? Have a look at the open bugs, contribute to fixing them!
- Help other developers with contributions if you know how to do it.
Still not sure what files to change?
- Dive into the codebase, look up the change logs and previously done similar contributions. Use some git magic to look at the formerly made code changes and kick it off.
- In case you still face difficulty, feel free to ping the existing developers for assistance.
Made all the changes and it looks good. Should I push my code to remote?
Wait -> Review -> Repeat
- Make sure you made all the points about the changes that need to be made somewhere on a checklist.
- Your work should be in a different branch in your forked repo.
- While making the necessary changes, you should be making one commit per definitive change. A branch can have multiple commits. They just should be meaningful enough such that separate commits make sense.
- Test your changes well, test them rigorously. Your changes should not affect the existing repo.
- Your code should follow the coding style conventions for the type of file you're dealing with. Code should be pretty. Spaces, indentation and solidity should be taken care of.
- After committing, double-check if you're about to push the changes that you want to. Make use of diff before adding your changes to staging area,
diff --cached
after adding your changes to the staging area andshow
command after committing. - Push your branch with all the commits to your forked repo and create a Merge Request.
- Wait for someone to approve and merge the changes to base branch.
- Make changes if requested by the developers and commit in the same branch.
Naming convention for branches
- Your branch should have a meaningful name explaining exactly the change you're making.
Commit message convention
- Your commit message should not be just one line, it should actually be in the following format:
Subject Summary of what the commit does Explanation as of why the commit was needed Side effects that your commit might cause on the existing codebase
- The subject should be written in imperative mood.
- It is advisable to configure your git to open up your favorite editor for writing the entire commit message.
If you are able to successfuly follow this guide then congratulations on taking your first step toward the contribution to Hamara! Welcome to the developers circle of Hamara.
Where to find other developers?
Choose any of the platforms below to communicate with other developers.
Footnotes
Do not forget that the most important thing to do before you start contributing is blending in with the community. You're contributing to the development of Hamara, we'd like to know more about you!