# CONTRIBUTING Make sure that you follow [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) while contributing and engaging in the discussions. ## How to contribute to this project First, fork this repository by clicking the fork button. Next, clone your forked repo. ```bash git clone https://github.com/hugo-fixit/FixIt.git && cd FixIt ``` Then, install the dev dependencies. ```bash npm install ``` And now you are ready to go! Here are some useful commands. ```bash # run a local debugging server with watch npm run server # run a local debugging server with watch in production environment npm run server:production ``` If you want to do docs-related theme changes, the simplest way is to have both `FixIt` and `fixit-docs` cloned as sibling directories, and then run: ```bash npm run server:docs ``` Finally, create a new pull request at to submit your contribution 🎉 ## Git standard for developers ### Branches | Branch | Description | | :-- | :-- | | master | _The branch open to the public and release versions_ | | dev | _The development branch of the next version_ | | single feature | _The branch to enhancements or fixes_ | ### Merge events | event | merge | | :-- | :-- | | release | **dev => master:** `--rebase` | | PR | **others:master => master:** `--rebase` | | single feature| **feature branch => dev/master:** `--merge` | ### Commit message #### Format `[{emoji} ]{type}[({scope})]: {subject within 50 words}[ (#{issue/pull request})]` example: - :tada: Feat: add shortcode fixit-encryptor shortcode (#123) - :arrow_up: Chore(libs): update Artalk from 2.2.12 to 2.3.4 (#150) #### Emoji - - [vscode plugin](https://github.com/maixiaojie/git-emoji-zh.git) - utools plugin `GitEmoji` #### Message | Emoji | Type | Example | Description (No Ambiguous) | | :-------------------------------------------- | :------- | :----------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | | :tada:
:sparkles: | Feat | Feat: add {feature} | new feature | | :truck: | | Feat: adjust/migrate {feature name}, {change details} | For the adjustment feature, it is necessary to describe the current situation (before) and after adjustment (after) | | :fire: | | Feat: delete {feature name}, {deletion reason} | If the feature is deleted, the reason for deletion must be explained | | :bug:
:construction:
:rotating_light: | Fix | Fix: fix {bug description} | Fix known bugs | | :art:
:lipstick:
:pencil2: | Style | Style: Typesetting/CSS style {optimizing content} | Changes that do not affect code operation, such as code layout and style change | | :recycle: | Refactor | Refactor: override {feature name} | It is neither a new function nor a code change to fix a bug. Simply rewriting the code of a function does not affect the function result | | :zap: | Perf | Perf: improve performance {function name}, {improve content} | Optimize code performance | | :rewind: | Revert | Revert: restore version {commit message of restore version} | Restore the version of one commit | | :pencil:
:pencil2: | Docs | Docs: revise comments/update documents | Adjustment of documents and notes | | :wrench: | Chore | Chore: update plugin version | Changes in the construction process or auxiliary tools | > [!note] > The change log is automatically generated based on the commit message.\ > Use `Chore` type or add `(ignore)` scope to ignore including in.