👍 🎉 First off, thanks for taking the time to contribute! 🎉 👍
The following is a set of guidelines for contributing to zsh-tgswitch. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
To facilitate testing before committing, you have the option of running automated tests with pre-commit. Each hook enables a test that we can customize.
To ensure an automatic generation of markdown Table of content, the md-toc hook is used.
To execution automated on commit you can install pre-commit on your repo folder
pre-commit installTo perform code test manually, you must run the pre-commit before pushing your code like this:
pre-commit install
pre-commit run --all> make help
default Default Task, build program with default values
version Get current version
check-status Check current git status
check-release Check release status
major-release Do a major-release, ie : bumped first digit X+1.y.z
minor-release Do a minor-release, ie : bumped second digit x.Y+1.z
patch-release Do a patch-release, ie : bumped third digit x.y.Z+1
precommit Execute some checks with pre-commit hooks
help Show this help (Run make <target> V=1 to enable verbose)- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit commit title to 48 characters or less
- Reference issues and pull requests liberally in commit title/message
- Consider starting the commit message with an applicable emoji like :
- ✨
:sparkles:when introducing new features - ♻️
:recycle:when refactoring code - 🎨
:art:when improving the format/structure of the code - ⚡
:zap:when improving performance - 📝
:memo:when writing docs - 🐛
:bug:when fixing a bug - 🔥
:fire:when removing code or files - 💚
:green_heart:when fixing the CI build - 📌
:pushpin:when pinning dependencies to specific version - ⬆️
:arrow_up:when upgrading dependencies - ⬇️
:arrow_down:when downgrading dependencies - 🚨
:rotating_light:when removing linter warnings
- ✨
Changelog is generated automatically (based on gitmoji-changelog) when building a new release.
- Use Markdown.