{"id":13547941,"url":"https://github.com/kazupon/git-commit-message-convention","last_synced_at":"2025-04-06T03:12:09.892Z","repository":{"id":37736262,"uuid":"53643894","full_name":"kazupon/git-commit-message-convention","owner":"kazupon","description":":pencil: Extend git commit message from angular style","archived":false,"fork":false,"pushed_at":"2020-12-12T16:27:42.000Z","size":63,"stargazers_count":417,"open_issues_count":3,"forks_count":57,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-30T02:08:34.943Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kazupon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"kazupon","patreon":"kazupon","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2016-03-11T06:05:31.000Z","updated_at":"2025-03-22T08:14:27.000Z","dependencies_parsed_at":"2022-08-24T16:00:30.094Z","dependency_job_id":null,"html_url":"https://github.com/kazupon/git-commit-message-convention","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgit-commit-message-convention","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgit-commit-message-convention/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgit-commit-message-convention/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgit-commit-message-convention/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kazupon","download_url":"https://codeload.github.com/kazupon/git-commit-message-convention/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247427012,"owners_count":20937214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:01:03.398Z","updated_at":"2025-04-06T03:12:09.870Z","avatar_url":"https://github.com/kazupon.png","language":"JavaScript","funding_links":["https://github.com/sponsors/kazupon","https://patreon.com/kazupon"],"categories":["JavaScript"],"sub_categories":[],"readme":"# git-commit-message-convention\n\nExtend git commit message from angular style\n\n\n# Commit Message Format\nAll Commit Message Format **MUST** meet this Text Format:\n\n```\n[:\u003cEmoji\u003e: ][\u003cType\u003e[(\u003cScope\u003e)]: ]\u003cSubject\u003e\n[\u003cBLANK LINE\u003e]\n[\u003cMessage Body\u003e]\n[\u003cBLANK LINE\u003e]\n[\u003cMessage Footer\u003e]\n```\n\n\n# Types\n\n| Type          | Description |\n|:-------------:|-------------|\n| `new`         | for new feature implementing commit|\n| `feature`     | for new feature implementing commit (equal `new`) |\n| `update`      | for update commit |\n| `bug`         | for bug fix commit |\n| `security`    | for security issue fix commit |\n| `performance` | for performance issue fix commit |\n| `improvement` | for backwards-compatible enhancement commit |\n| `breaking`    | for backwards-incompatible enhancement commit |\n| `deprecated`  | for deprecated feature commit |\n| `i18n`        | for i18n (internationalization) commit |\n| `a11y`        | for a11y (accessibility) commit |\n| `refactor`    | for refactoring commit |\n| `docs`        | for documentation commit |\n| `example`     | for example code commit |\n| `test`        | for testing commit |\n| `deps`        | for dependencies upgrading or downgrading commit |\n| `config`      | for configuration commit |\n| `build`       | for packaging or bundling commit |\n| `release`     | for publishing commit |\n| `wip`         | for work in progress commit |\n| `chore`       | for other operations commit |\n\n\nIf the prefix is the below types, it will appear in the changelog. \n\n- `new` (`feature`)\n- `bug`\n- `performance`\n- `security`\n- `improvement`\n- `deprecated`\n- `breaking`\n\n\n# Scope\nThe scope could be anything specifying place or category of the commit change. For example $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, feature1, etc...\n\n\n# Subject\nThe subject contains succinct description of the change:\n\n* use the imperative, present tense: \"change\" not \"changed\" nor \"changes\"\n* don't capitalize first letter\n* no dot (.) at the end\n\n\n# Message Body\nJust as in the **Subject**, use the imperative, present tense: \"change\" not \"changed\" nor \"changes\". The body should include the motivation for the change and contrast this with previous behavior.\n\n\n# Message Footer\nThe Message Footer should contain any information about **Notes** and also Message Footer should be **recommended** [GitHub Issue](https://github.com/features#issues) ID Reference, Ex. `Issue #27`, `Fixes #1`, `Closes #2`, `Resolves #3`.\n\n**Notes** should start with the word `NOTE:` with a space or two newlines. The rest of the commit message is then used for this.\n\n\n# Revert\nIf the commit reverts a previous commit, it should begin with revert:, followed by the header of the reverted commit. In the body it should say: This reverts commit \u003chash\u003e., where the hash is the SHA of the commit being reverted.\n\n\n# Emojis\n\n| Emoji                         | Raw Emoji Code                  | Type               | Description |\n|:-----------------------------:|---------------------------------|--------------------|-------------|\n| :star:                     | `:star:`                     | `new` or `feature` | add **new feature** |\n| :bug:                      | `:bug:`                      | `bug`              | fix **bug** issue |\n| :ambulance:                | `:ambulance:`                | `bug`              | critical hotfix **bug** issue |\n| :lock:                     | `:lock:`                     | `security`         | fix **security** issue |\n| :chart_with_upwards_trend: | `:chart_with_upwards_trend:` | `performance`      | fix **performance** issue |\n| :zap:                      | `:zap:`                      | `improvement`      | update **backwards-compatible** feature |\n| :boom:                     | `:boom`                         | `breaking`         | update **backwards-incompatible** feature |\n| :warning:                  | `:warning:`                  | `deprecated`       | **deprecate** feature |\n| :globe_with_meridians:     | `:globe_with_meridians:`     | `i18n`             | update or fix **internationalization** |\n| :wheelchair:               | `:wheelchair:`               | `a11y`             | update or fix **accessibility** |\n| :rotating_light:           | `:rotating_light:`           | `refactor`         | remove **linter**/strict/deprecation warnings |\n| :shirt:                    | `:shirt:`                    | `refactor`         | **refactoring** or code **layouting** |\n| :white_check_mark:         | `:white_check_mark:`         | `test`             | add **tests**, fix **tests** failur or **CI** building |\n| :pencil:                   | `:pencil:`                   | `docs`             | update **documentation** |\n| :copyright:                 | `:copyright:`                 | `docs`             | decide or change **license** |\n| :lollipop:                 | `:lollipop:`                 | `example`          | for **example** or **demo** codes |\n| :lipstick:                 | `:lipstick:`                 | `update`           | update **UI/Cosmetic** |\n| :up:                       | `:up:`                       | `update`           | update **other** |\n| :truck:                    | `:truck:`                    | `update`           | **move** or **rename** files, repository, ... |\n| :twisted_rightwards_arrows:| `:twisted_rightwards_arrows:`| `update`           | merge **conflict resolution** |\n| :heavy_plus_sign:          | `:heavy_plus_sign:`          | `update`           | **add** files, dependencies, ... |\n| :heavy_minus_sign:         | `:heavy_minus_sign:`         | `update`           | **remove** files, dependencies, ... |\n| :on:                       | `:on:`                       | `update`           | **enable** feature and something ... |\n| :arrow_up:                 | `:arrow_up:`                 | `deps`             | upgrade **dependencies** |\n| :arrow_down:               | `:arrow_down:`               | `deps`             | downgrade **dependencies** |\n| :pushpin:                  | `:pushpin:`                  | `deps`             | pin **dependencies** |\n| :wrench:                   | `:wrench:`                   | `config`           | update **configuration** |\n| :package:                  | `:package:`                  | `build`            | **packaging** or **bundling** or **building** |\n| :whale:                    | `:whale:`                    | `build`            | Dockerfile |\n| :hatching_chick:           | `:hatching_chick:`           | `release`          | **initial** commit |\n| :confetti_ball:            | `:confetti_ball:`            | `release`          | release **major** version |\n| :tada:                     | `:tada:`                     | `release`          | release **minor** version |\n| :sparkles:                 | `:sparkles:`                 | `release`          | release **patch** version |\n| :rocket:                   | `:rocket:`                   | `release`          | **deploy** to production enviroment |\n| :bookmark:                 | `:bookmark:`                 | `release`          | **tagged** with version label |\n| :back:                     | `:back:`                     | `revert`           | **revert** commiting |\n| :construction:             | `:construction:`             | `wip`              | **WIP** commiting |\n\n\nAsk to Be [Creative](http://www.emoji-cheat-sheet.com/)!\n\n\n# Examples\n\nnew:\n```\n:star: new(graphite): add 'graphiteWidth' option\n```\n\nbug fix:\n```\n:bug: fix(graphite): stop graphite breaking when width \u003c 0.1\n\nCloses #28\n```\n\nimprove performance:\n```\n:chart_with_upwards_trend: performance(graphite): remove graphiteWidth option\n\nThe graphiteWidth option has been removed. The default graphite width of 10mm is always used for performance reason.\n```\n\nrevert:\n```\n:back: revert: new: add 'graphiteWidth' option\n\nThis reverts commit 667ecc1654a317a13331b17617d973392f415f02.\n```\n\n# Support tools\n\n## conventional-changelog\n\nYou can use with `conventional-changelog-cli` and `conventional-github-releaser`.\n\ne.g. conventional-changelog-cli:\n\n    $ npm i --save-dev git://github.com/kazupon/git-commit-message-convention.git\n    $ conventional-changelog -i CHANGELOG.md -s -n ./node_modules/git-commit-message-convention/convention.js -r 0\n\ne.g. conventional-github-releaser:\n\n    $ conventional-github-releaser -n ./node_modules/git-commit-message-convention/convention.js -r 0\n\n\n# TODO\n- [x] support conventional commit tools (e.g. conventional-changelog)\n- [ ] lint\n- [ ] cli\n- [ ] create a conventional commit tools with `golang`\n\n\n# License\n\n## MIT\n\n[MIT](http://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazupon%2Fgit-commit-message-convention","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkazupon%2Fgit-commit-message-convention","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazupon%2Fgit-commit-message-convention/lists"}