{"id":15003478,"url":"https://github.com/ttys3/git-cz","last_synced_at":"2025-10-03T14:31:20.725Z","repository":{"id":41401087,"uuid":"309461614","full_name":"ttys3/git-cz","owner":"ttys3","description":"conventional commits tool with fuzzy matcher support, with extra  changelog, versioning, validation feature.","archived":false,"fork":true,"pushed_at":"2024-12-08T23:29:47.000Z","size":280,"stargazers_count":28,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-09T07:55:06.214Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ttys3.github.io/git-cz","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"convco/convco","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ttys3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-02T18:35:15.000Z","updated_at":"2024-12-08T23:29:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ttys3/git-cz","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgit-cz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgit-cz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgit-cz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttys3%2Fgit-cz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ttys3","download_url":"https://codeload.github.com/ttys3/git-cz/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235146441,"owners_count":18943261,"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-09-24T18:58:38.069Z","updated_at":"2025-10-03T14:31:15.323Z","avatar_url":"https://github.com/ttys3.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git-cz\n\n`git-cz` is short for `git-commitizen`\n\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/ttys3/git-cz/Build%20binary)\n[![Crates.io](https://img.shields.io/crates/v/git-cz)](https://crates.io/crates/git-cz)\n\nA Conventional commit cli.\n\n`git-cz` gives tools to work with [Conventional Commits][1].\n\nThe tool is still in early development.\nIt provides already the following commands:\n\n- `git-cz changelog`: Create a changelog file.\n- `git-cz check`: Checks if a range of commits is following the convention.\n- `git-cz commit`: Helps to make conventional commits.\n- `git-cz version`: Finds out the current or next version.\n\n![git-cz-screen-record.gif](assets/git-cz-screen-record.gif)\n\n## Installation\n\n\n### build from sourceo\n\n`cargo install --git https://github.com/ttys3/git-cz.git`\n\n### download pre-build binary\n\ndownload and put `git-cz` to your `PATH` env\n\n## Git alias\n\nrecommand Git alias:\n\n```bash\n\n# use \"git cc\" for quick commit\ngit config --global alias.cc 'cz commit'\n\ngit config --global alias.ck 'cz check'\n\ngit config --global alias.cl 'cz changelog'\n\ngit config --global alias.cv 'cz version'\n```\n\n## Docker usage\n\n```bash\n# build the git-cz image\ndocker build -t git-cz .\n# run it on any codebase\ndocker run -v \"$PWD:/tmp\" --workdir /tmp --rm git-cz\n```\n\n### Use it in .gitlab-ci.yml\n\nIf you've created an image and pushed it into your private registry\n\n```yaml\ngit-cz:check:\n  stage: test\n  image:\n    name: 80x86/git-cz:latest\n  script:\n    - check\n```\n\n## Tools\n\n### Changelog\n\nA changelog can be generated using the conventional commits.\nIt is inspired by [conventional changelog][2].\nConfiguration follows the [conventional-changelog-config-spec][3]\n\n```bash\ngit-cz changelog \u003e CHANGELOG.md\n```\n\n### Check\n\nCheck a range of revisions for compliance.\n\nIt returns a non zero exit code if some commits are not conventional.\nThis is useful in a pre-push hook.\n\n```bash\ngit-cz check $remote_sha..$local_sha\n```\n\n### Commit\n\nHelps to make conventional commits.\nA scope, description, body, breaking change and issues will be prompted.\n\n```bash\n# commit a new feature and then run git commit with the interactive patch switch\ngit-cz commit --feat -- --patch\n```\n\n### Version\n\nWhen no options are given it will return the current version.\nWhen `--bump` is provided, the next version will be printed out.\nConventional commits are used to calculate the next major, minor or patch.\nIf needed one can provide `--major`, `--minor` or `--patch` to overrule the convention.\n\n```bash\ngit-cz version --bump\n```\n\nIt is useful to use it with release tools, such as [`cargo-release`](https://crates.io/crates/cargo-release):\n\n```bash\ncargo release $(git-cz version --bump)\n```\n\n#### TODO\n\n- [x] automatic notes for breaking changes\n- [x] custom template folder\n- [x] use a `.versionrc` file\n- [x] limit to a range of versions\n- [x] sort sections in changelog\n- [x] issue references\n- [ ] better documentation\n- [ ] better error handling\n\n\n### Thanks\n\n- fuzzy finder powered by [Skim](https://github.com/lotabout/skim#use-as-a-library)\n\n- original code by [convco](https://github.com/convco/convco)\n\n[1]: https://www.conventionalcommits.org/\n[2]: https://github.com/conventional-changelog/conventional-changelog\n[3]: https://github.com/conventional-changelog/conventional-changelog-config-spec/blob/master/versions/2.1.0/README.md\n\n\n### Ref\n\n\u003chttps://www.conventionalcommits.org/en/v1.0.0/\u003e\n\n\n\u003chttps://github.com/commitizen/conventional-commit-types/blob/master/index.json\u003e\n\n### Related Works\n\n\u003chttps://github.com/commitizen/cz-cli\u003e\n\n\u003chttps://github.com/goreleaser/chglog\u003e\n\n\u003chttps://github.com/ahmadawais/Emoji-Log\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttys3%2Fgit-cz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fttys3%2Fgit-cz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttys3%2Fgit-cz/lists"}