{"id":13459723,"url":"https://github.com/SKalt/git-cc","last_synced_at":"2025-03-24T18:31:16.800Z","repository":{"id":49438723,"uuid":"259802906","full_name":"SKalt/git-cc","owner":"SKalt","description":"a git extension to help write conventional commits","archived":false,"fork":false,"pushed_at":"2024-08-10T16:03:30.000Z","size":3303,"stargazers_count":90,"open_issues_count":7,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-27T07:52:02.404Z","etag":null,"topics":["cli","command-line","command-line-interface","command-line-interpreter","command-line-tool","conventional-changelog","conventional-commits","git","git-extension","git-extenstions","hacktoberfest","terminal-ui","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SKalt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2020-04-29T02:20:44.000Z","updated_at":"2024-10-18T13:27:14.000Z","dependencies_parsed_at":"2023-02-18T21:31:04.733Z","dependency_job_id":"bef4e9ae-4f95-4bd4-a3c9-8a965736c7cd","html_url":"https://github.com/SKalt/git-cc","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SKalt%2Fgit-cc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SKalt%2Fgit-cc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SKalt%2Fgit-cc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SKalt%2Fgit-cc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SKalt","download_url":"https://codeload.github.com/SKalt/git-cc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221995765,"owners_count":16913556,"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":["cli","command-line","command-line-interface","command-line-interpreter","command-line-tool","conventional-changelog","conventional-commits","git","git-extension","git-extenstions","hacktoberfest","terminal-ui","tui"],"created_at":"2024-07-31T10:00:27.196Z","updated_at":"2024-10-29T05:31:15.686Z","avatar_url":"https://github.com/SKalt.png","language":"Go","funding_links":["https://github.com/sponsors/skalt/sponsorships?tier_id=365645","https://github.com/sponsors/skalt/sponsorships?tier_id=335824"],"categories":["语言资源库","Go","\u003ca name=\"git\"\u003e\u003c/a\u003eGit and accessories"],"sub_categories":["go"],"readme":"# git-cc\n\nA git extension to help write [conventional commits][cc-standard]\n\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/skalt/git-cc)\n![Go report card](https://goreportcard.com/badge/github.com/skalt/git-cc)\n[Buy a commercial license](https://github.com/sponsors/skalt/sponsorships?tier_id=365645)\n\n## Usage\n\n![demo](./assets/demo.gif)\n\n```sh\n# you can invoke either of the below to\n# interactively write a conventional commit\ngit cc\ngit cc feat          # start after the commit-type\ngit cc 'feat(scope)' # start after the scope\n\n# or validate your conventional commit\ngit cc feat: added conventional commits # ok! creates a commit\ngit cc 'feat(cli): added a conventional commit' # ok! creates a commit\ngit cc feat add a typo  # starts interaction at the scope\ngit cc -m \"invalid(stuff): should return 1\"\n```\n\n### Configuration\n\n`git-cc` searches for a configuration file named `commit_convention.{yaml,yml,toml}`.\nNote that `git-cc` prefers the extension `yaml` over `yml`, and `yml` over `toml`.\n\n\n`git-cc` searches the following directories for a configuration file in this order:\n\n```\n${PWD}/\n${REPO_ROOT}/         # ignored if not inside a git repo\n${REPO_ROOT}/.config/ # ignored if not inside a git repo\n${XDG_CONFIG_HOME}/\n```\n\nSee [`./config/commit_convention.yaml`](./.config/commit_convention.yaml) for an example configuration file.\n\n## Why write conventional commits through an interactive CLI?\n\nFiguring out what to write for an informative commit can be difficult.\nThe conventional commits standard helps figure out what to write.\nAs a bonus, conventional commits facilitate generating changelogs and semantic version increments.\nAn interactive command-line application helps with following the standard.\n\n## Licensing\n\nFor the details, see [./LICENSE.md](./LICENSE.md).\n\n`git-cc` is source-provided software, not open-source software: it's offered under either [the PolyForm Free Trial 1.0.0 license](./licenses/PolyForm-Free-Trial-1.0.0.md), [the PolyForm Noncommercial 1.0.0 license](./licenses/PolyForm-Noncommercial-1.0.0.md), or a per-developer commercial license.\nThis means anyone can use the software for noncommercial purposes and trial the software for commercial use for a month.\nAnyone using the software to make money after their trial expires needs to purchase a commercial license.\n\nYou can purchase a commercial license [via a one-time GitHub sponsorship](https://github.com/sponsors/skalt/sponsorships?tier_id=335824).\n\n\n\u003cdetails\u003e\u003csummary\u003e\n  Prior licenses apply to previous versions of \u003ccode\u003egit-cc\u003c/code\u003e.\n\u003c/summary\u003e\n\n- From 2021-08-25 to 2023-11-14, `git-cc` was offered under the Indie Code Catalog Standard Deal, version 4.0.1 or higher. The licenses can be found at commit [`b682f27e`](https://github.com/SKalt/git-cc/commit/b682f27e1fb9d3c06f9bfbcc9403e4343e739a11).\nIndieCC shut down, prompting relicensing.\n\n- From 2020-11-23 to 2021-08-25, `git-cc` was licensed under the strictEq free and paid licenses. The licenses can be found at commit [`7ca8e95`](https://github.com/SKalt/git-cc/blob/7ca8e95c1dc25ee87eeeb0d73f0b2ddef1aa9f29/LICENSE.md). StrictEq rebranded to indieCC, prompting relicensing.\n\nIf you bought an indieCC or strictEq paid license, that license still grants you rights to copy and use updated versions `git-cc` even after the license change.\n\n\u003c/details\u003e\n\n\n## Installation\n\n### Manual installation\n\nGo to [the project releases page][releases page] to download the appropriate packaging format.\nPlease verify the shasum of the downloaded executable for you before you run it.\n\n### Using `brew`\n\n```sh\nbrew tap skalt/git-cc\nbrew install git-cc\n```\n\n### Using the installer script for Linux or Mac\n\nFirst, take a second to verify that the installer script would correctly check the shasum of the downloaded package.\nThen, run the following commands:\n\n\u003c!-- TODO: automate populating outputs with `cog` or similar --\u003e\n\n```sh\nrepo=skalt/git-cc\nbranch=master\ncurl -sL https://raw.githubusercontent.com/$repo/$branch/scripts/install.sh \u003e /tmp/install.sh\nshasum -a 256 /tmp/install.sh | sed 's/^/# /g'\n# 805354a9b0db5648af785086af5a4af036d5281ea5999bda055c888186d36cd7  /tmp/install.sh\n```\n\n```sh\nchmod +x /tmp/install.sh\n/tmp/install.sh --help | sed 's/^/# /g'\n```\n```txt\n# USAGE: ./install.sh [-h|--help] [--download-only|--dry-run] [FMT]\n# download a release of git-cc for your OS and instruction set architecture.\n#\n# ARGS:\n#   -h|--help        print this message and exit\n#   --download-only  download as FMT, but do not install\n#   --dry-run        print rather than follow the download url for the binary\n#   FMT              The download format. Valid values are\n#                      - tar.gz (default)\n#                      - apk\n#                      - brew\n#                      - deb\n#                      - exe\n#                      - rpm\n```\n\n```sh\n/tmp/install.sh\n```\n\n### From source with go\n\nTo compile from source, run `make install` inside the source directory.\nYou'll need to have a `go \u003e= 1.19` toolchain and to have your `$GOPATH/bin` on your `$PATH`.\n\n\n## Prior art:\n\n- [`@commitlint/prompt-cli`][commitlint]\n- [`committizen`][commitizen]\n- [`commitsar`][commitsar]\n\n\u003c!-- links --\u003e\n\n[commitlint]: https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/prompt-cli\n[cc-standard]: https://www.conventionalcommits.org/en/v1.0.0/\n[commitizen]: https://github.com/commitizen/cz-cli\n[commitlint]: https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional\n[commitsar]: https://github.com/commitsar-app/commitsar\n[releases page]: https://github.com/skalt/git-cc/releases/latest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSKalt%2Fgit-cc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSKalt%2Fgit-cc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSKalt%2Fgit-cc/lists"}