A CLI tool that enforces semantic git commit conventions with emoji support and configurable rules.
semantic-git-commit-cli is a Node.js-based command-line tool that automates the creation of semantic git commit messages. It enforces consistent commit conventions through interactive prompts or CLI parameters, reducing errors and aligning with automated versioning workflows. The tool supports emojis, custom rules, and integration with semantic-release for streamlined development cycles.
Development teams and individual developers who follow semantic versioning practices and want to enforce consistent git commit messages across projects. It's particularly useful for open-source maintainers and organizations with strict commit guidelines.
Developers choose sgc because it eliminates the mental overhead of remembering commit conventions, provides extensive customization, and integrates directly with existing CI/CD tools like semantic-release. Its interactive approach ensures compliance while remaining flexible enough for diverse project needs.
A CLI for semantic git commits
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Guides users through structured prompts for type, scope, and message, replacing error-prone manual git commit -m usage, as demonstrated in the interactive screenshot in the README.
Supports project-specific rules via .sgcrc or package.json, including custom commit types, scopes, emojis, and validation rules, allowing teams to tailor commit guidelines precisely.
Works seamlessly with semantic-release for automated versioning and changelogs, with detailed setup instructions provided, including plugin installation and configuration files.
Includes a check command to verify existing commits against configured rules, ensuring consistency even in historical data, with options like --start to specify a commit SHA.
Integrating with semantic-release requires installing multiple plugins and configuring a release.config.js file, adding significant initial overhead and potential for errors.
Requires Node.js and npm/yarn for installation and operation, making it unsuitable for projects not using JavaScript or preferring language-agnostic tools.
Setting up custom types, rules, and options can be verbose and time-consuming, especially for teams new to semantic commits, with many config parameters to manage.