Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contributor's guide for hyperSpec #112

Closed
ximeg opened this issue May 11, 2020 · 6 comments
Closed

Contributor's guide for hyperSpec #112

ximeg opened this issue May 11, 2020 · 6 comments
Assignees
Labels
Topic: documentation 📘 Related to hyperSpec's (non-vignette) documentation. Use a separate dag for vignettes. Type: enhancement 🎈 asking for a new feature.

Comments

@ximeg
Copy link
Collaborator

ximeg commented May 11, 2020

Why contributor's guide is a good idea?

How to contribute to the project? What git branches to use? How the code review is conducted? These are stumbling blocks for many developers.

Therefore it is paramount to have an established set of simple and logical, but strict rules that everybody has to follow. Their violation often leads to unpleasant surprises, misunderstanding, and can result in an unexpected urgent work for some of the team members to bring the project back on track. And this can be very bad.

This is why a we need a contributor's guide in a written form.

How to make one?

There is an article on GitHub that outlines the recommended approach - Setting guidelines for repository contributors

What questions should be addressed?

  • Rules of git use in the project - nobody commits directly to master, instead we work with branches according to the git flow model.
  • Core review - pull requests are subjects to review via pull requests
  • Traceability - issues are opened for the community to discuss the work to be done before it is done. These issues are linked to the feature or bugfix branches and pull requests.
  • Licensing - contributors understand that their work forever becomes the part of the hyperSpec project and is going to be licensed under free open source license
@ximeg ximeg added Type: enhancement 🎈 asking for a new feature. Topic: documentation 📘 Related to hyperSpec's (non-vignette) documentation. Use a separate dag for vignettes. labels May 11, 2020
@ximeg ximeg self-assigned this May 11, 2020
@ximeg
Copy link
Collaborator Author

ximeg commented May 11, 2020

@ximeg
Copy link
Collaborator Author

ximeg commented May 11, 2020

I like this idea of including emoji into the commit messages that I discovered in the Atom's guidelines. GitHub renders them as pictures.

  • Consider starting the commit message with an applicable emoji:
    * 🎨 :art: when improving the format/structure of the code
    * 🐎 :racehorse: when improving performance
    * 🚱 :non-potable_water: when plugging memory leaks
    * 📝 :memo: when writing docs
    * 🐧 :penguin: when fixing something on Linux
    * 🍎 :apple: when fixing something on macOS
    * 🏁 :checkered_flag: when fixing something on Windows
    * 🐛 :bug: when fixing a bug
    * 🔥 :fire: when removing code or files
    * 💚 :green_heart: when fixing the CI build
    * ✅ :white_check_mark: when adding tests
    * 🔒 :lock: when dealing with security
    * ⬆️ :arrow_up: when upgrading dependencies
    * ⬇️ :arrow_down: when downgrading dependencies
    * 👕 :shirt: when removing linter warnings

Do we want to use this practice in our project?

@cbeleites
Copy link
Owner

I'd prefer to use a more directly descriptive "tag" verb. Either something like
bugfix: ... or fix issue #... : <explanation, refactor ....
Possibly also because I do a good part of my git work in the shell.

@bryanhanson
Copy link
Collaborator

bryanhanson commented May 13, 2020 via email

@bryanhanson
Copy link
Collaborator

We have a solid CONTRIBUTING.md so can we close this issue? Obviously we can make changes in the future but the basic principles seem to be established.

@ximeg
Copy link
Collaborator Author

ximeg commented May 14, 2020

Yes, I agree, it's done and may need only small polishing in the future!

@ximeg ximeg closed this as completed May 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Topic: documentation 📘 Related to hyperSpec's (non-vignette) documentation. Use a separate dag for vignettes. Type: enhancement 🎈 asking for a new feature.
Projects
None yet
Development

No branches or pull requests

3 participants