{"id":13820428,"url":"https://github.com/lppedd/idea-conventional-commit","last_synced_at":"2025-05-16T09:03:40.221Z","repository":{"id":37012450,"uuid":"208670987","full_name":"lppedd/idea-conventional-commit","owner":"lppedd","description":"Context and template-based completion for conventional/semantic commits.","archived":false,"fork":false,"pushed_at":"2025-03-27T13:21:16.000Z","size":2668,"stargazers_count":356,"open_issues_count":33,"forks_count":19,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T04:03:27.995Z","etag":null,"topics":["conventional-commit","idea","idea-plugin","intellij","intellij-plugin","semantic","semantic-commits"],"latest_commit_sha":null,"homepage":"https://plugins.jetbrains.com/plugin/13389-conventional-commit","language":"Kotlin","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/lppedd.png","metadata":{"files":{"readme":"README.md","changelog":"change-notes/0_10_0.html","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-15T23:23:37.000Z","updated_at":"2025-04-07T13:40:27.000Z","dependencies_parsed_at":"2025-04-09T04:03:01.845Z","dependency_job_id":"e84f4b22-164a-4b6d-a808-44dfcf998df6","html_url":"https://github.com/lppedd/idea-conventional-commit","commit_stats":{"total_commits":710,"total_committers":4,"mean_commits":177.5,"dds":"0.028169014084507005","last_synced_commit":"5d55768a47a31a10147e7d69f2be261d028d1b85"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lppedd%2Fidea-conventional-commit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lppedd%2Fidea-conventional-commit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lppedd%2Fidea-conventional-commit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lppedd%2Fidea-conventional-commit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lppedd","download_url":"https://codeload.github.com/lppedd/idea-conventional-commit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501554,"owners_count":22081528,"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":["conventional-commit","idea","idea-plugin","intellij","intellij-plugin","semantic","semantic-commits"],"created_at":"2024-08-04T08:01:03.247Z","updated_at":"2025-05-16T09:03:40.121Z","avatar_url":"https://github.com/lppedd.png","language":"Kotlin","funding_links":[],"categories":["Kotlin","Conventional Commit"],"sub_categories":["Merge Request Integration CE - Code Review for GitLab"],"readme":"\u003cimg align=\"left\" width=\"85\" height=\"85\" src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_logo.png\" alt=\"Plugin logo\"\u003e\n\n# Conventional Commit\n\n### Available @ [JetBrains Plugins Repository][1]\n\nLooking for the latest **plugin binaries**? Get them [here][2] as `.zip`  \n\u003csmall\u003eSupported IDE versions **from 0.24.0**: `233.11799` to `251.*` (both inclusive)\u003c/small\u003e  \n\u003csmall\u003eSupported IDE versions **from 0.23.0**: `223.4884` to `243.*` (both inclusive)\u003c/small\u003e  \n\u003csmall\u003eSupported IDE versions **from 0.19.0**: `202.6397` to `233.*` (both inclusive)\u003c/small\u003e  \n\u003csmall\u003eSupported IDE versions **upto 0.18.0**: `193.****` to `212.*` (both inclusive)\u003c/small\u003e \n\n\u003cstrong\u003eAdditional Providers\u003c/strong\u003e are available by installing other lightweight plugins.  \n\n| Context \u0026 GitHub  |              Plugins Repository              |        Type        |       Scope        | Subject | Body | Footer type | Footer value |\n|-------------------|:--------------------------------------------:|:------------------:|:------------------:|:-------:|:----:|:-----------:|:------------:|\n| [Angular (2+)][6] | :heavy_check_mark: [Install][7] (Deprecated) |                    | :heavy_check_mark: |         |      |             |              |\n| [Commitlint][8]   | :heavy_check_mark: [Install][9] (Deprecated) | :heavy_check_mark: | :heavy_check_mark: |         |      |             |              |\n| GitHub            |                Coming soon...                |                    |                    |         |      |             |              |\n| VCS (extended)    |                Coming soon...                |                    |                    |         |      |             |              |\n\n-----\n\nThe aim of this plugin is to provide completion for [conventional commits][3],\nalso named _semantic_ commits, inside the VCS Commit dialog. The plugin must provide:\n\n - **standard completion** — based on context\n - **template completion** — initiated intentionally\n - **extensibility** — which means allowing attaching providers for the various parts of the commit:  \n   _type_, _scope_, _subject_, _body_ and _footer_\n\n-----\n\nWriting quality commit messages is important to keep an understandable and searchable history\nof your project. Conventional commits are a perfect example of that.  \nHowever, as an example, it can happen choosing the correct _type_ or _scope_ isn't that immediate.\nWe might have forgotten about when a specific _type_ should be used or what are the\navailable _scopes_, or we simply need a way to quickly complete the _subject_.\n\nThe plugin helps with the above, while also respecting the aforementioned requirements, so that\neach user is able to customize the experience based on its preferences.\n\n### Completion modes\n\nThe plugin offers two completion modes.\n  \n  - #### Context based\n    The commit message can be written like you have done until now, but by invoking\n    completion you'll be offered the correct items based on the scope.\n    Certain commodities, such as auto-completing the scope parenthesis or the `:` separator,\n    are there too.\n    \n    \u003cimg src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_standard.gif\" alt=\"Standard completion\"\u003e\n    \n  - #### Template based\n    By firstly invoking the _type_ completion and confirming an item, a template will be\n    generated in place, and you'll be guided through each token (_scope_ and _subject_).\n    You can also go back (with `shift + tab`) and change your pick.\n    \n    Arbitrary characters' insertion is also allowed inside each template's range marker.\n\n    \u003cimg src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_template.gif\" alt=\"Template completion\"\u003e\n\n### Inspections\n\nInspections are bundled too, and they're **extensible**, which means a _Provider_ may contribute with\nadditional ones.  \nThe standard inspection warns you if you're not following the Conventional Commit standard.\nIn case, just press `ctrl + alt + l` (on Windows) and the commit message will be formatted for you.\n\n\u003cimg src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_inspections.gif\" alt=\"Inspections\"\u003e  \n\nYou may enable/disable inspections via _Settings \u003e Version Control \u003e Commit_\n\n### Documentation\n\nEach commit token is able to hold documentation. This is important in case you forgot their meaning,\nor if you want to share additional pieces of information with users.\n\n\u003cimg src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_docs.gif\" alt=\"Documentation\"\u003e\n\nDocumentation for tokens which might hold long text, spawning multiple lines, is rendered a bit differently.\n\n\u003cimg width=\"840\" height=\"281\" src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_long_doc.png\" alt=\"Long documentation\"\u003e\n\n### Custom default types and scopes\n\nDefault commit types and scopes can be totally customized and shared with your team by creating and populating\na JSON file named \n```\nconventionalcommit.json\n```\n\nThe plugin uses an internal version of that file, which you can export via _Export built-in defaults to path_.  \nYou may then customize it per your needs.\n\n\u003cimg width=\"840\" height=\"572\" src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_custom_defaults.png\" alt=\"Custom defaults\"\u003e\n\nYou're allowed to provide custom commit's _types_, _scopes_ and _footer types_, given the JSON file respects a [Schema][5].   \nAn example is shown below:\n\n```json\n{\n  \"types\": {\n    \"custom-type\": {\n      \"description\": \"The custom type's description\",\n      \"scopes\": {\n        \"first\": {\n          \"description\": \"The first scope's description\"\n        },\n        \"second\": {}\n      }\n    }\n  },\n  \"commonScopes\": {\n    \"one\": {\n      \"description\": \"The common scope's description\"\n    },\n    \"two\": {}\n  },\n  \"footerTypes\": {\n    \"custom-footer\": {\n      \"description\": \"The custom footer's description\",\n      \"values\": {\n        \"value-one\": {\n          \"description\": \"The footer value's description\"\n        },\n        \"value-two\": {}\n      }\n    }\n  }\n}\n```\n\n**If the file is located in the project's root directory, the plugin will pick it up automatically**,\nmaking it easy to version it, and avoiding to explicitly set a _Custom default tokens_ path. \n\n### Providers\n\nIn a fresh installation you'll only be offered the most common tokens (e.g. `fix`, `feat`, `build`, `BREAKING CHANGE`, etc.),\nbut the plugin exposes an API to enhance completion items, per each token.\n_Type_, _scope_ and _subject_ each have a specific entry point, and the implementation is called\n**Provider**. Each Provider is listed in a table, based on its context.\n\n\u003cimg width=\"845\" height=\"552\" src=\"https://raw.githubusercontent.com/lppedd/idea-conventional-commit/master/images/cc_providers.png\" alt=\"Providers\"\u003e\n\nYou're allowed to re-order Providers per your necessities, knowing that possible duplicates\nare going to be automatically filtered by the core engine.\n\n\u003cb\u003eMore on this later on...\u003c/b\u003e\n\n-----\n\n## Author and contributors\n\n - Edoardo Luppi (\u003clp.edoardo@gmail.com\u003e)\n - [ymind][4]\n - [bric3][11]\n - [LinWanCen][12]\n\n[1]: https://plugins.jetbrains.com/plugin/13389-conventional-commit\n[2]: https://github.com/lppedd/idea-conventional-commit/releases\n[3]: https://conventionalcommits.org/\n[4]: https://github.com/ymind\n[5]: https://github.com/lppedd/idea-conventional-commit/blob/master/src/main/resources/defaults/conventionalcommit.schema.json\n[6]: https://github.com/lppedd/idea-conventional-commit-angular2\n[7]: https://plugins.jetbrains.com/plugin/13405-angular-conventional-commit\n[8]: https://github.com/lppedd/idea-conventional-commit-commitlint\n[9]: https://plugins.jetbrains.com/plugin/14046-commitlint-conventional-commit\n[10]: https://join.slack.com/t/ideaconventio-1ts8697/shared_invite/zt-iuztsuth-pr_5wjvZGqITHCz3OOUxgQ\n[11]: https://github.com/bric3\n[12]: https://github.com/LinWanCen\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flppedd%2Fidea-conventional-commit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flppedd%2Fidea-conventional-commit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flppedd%2Fidea-conventional-commit/lists"}