Skip to content

Latest commit

 

History

History
110 lines (75 loc) · 3.43 KB

CONTRIBUTING.md

File metadata and controls

110 lines (75 loc) · 3.43 KB

Contributing

👍 🎉 First off, thanks for taking the time to contribute! 🎉 👍

The following is a set of guidelines for contributing to zsh-exa. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Table of Content

Tools used

Pre-commit

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.

The main hooks configured

Linting
md-toc

To ensure an automatic generation of markdown Table of content, the md-toc hook is used.

Install dependencies

Usage Pre-commit

To execution automated on commit you can install pre-commit on your repo folder

pre-commit install

To perform code test manually, you must run the pre-commit before pushing your code like this:

pre-commit install
pre-commit run --all

Makefile

Install dependencies

Usage

⚠️ Warning : Don't tag manually.

> 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)

Styleguides

Git Commit Messages

  • 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

Changelog is generated automatically (based on gitmoji-changelog) when building a new release.

Documentation Styleguide