sc walks you through building a Conventional Commit message step by step — type, scope, gitmoji, title, body, footer, and breaking changes — then commits straight through git2: GPG signing, your repo's hooks, and reusing whatever your gpg-agent already has cached, all included.
- Fully conventional commits, gitmoji included
- Native git access via
git2, no shellgitrequired for the core flow - GPG-signed commits, retried in place on a bad passphrase, reusing the agent's cache when it's warm
- Runs your repo's
pre-commit,commit-msg, andpost-commithooks - Infers commit type, scope, and a linked issue (
Closes: #123) from your current branch name - Custom scopes with fuzzy autocomplete, saved back to your config as you use them
- Custom commit templates, e.g. auto
git pushright after committing
cargo install simple-commitNixOS:
nix profile install github:romancitodev/simple-commitsIn your ~/$CONFIG_FOLDER create an sc directory with a config.toml inside:
Tip
mkdir ~/$CONFIG_FOLDER/sc && touch ~/$CONFIG_FOLDER/sc/config.tomlThen use this template as a starting point:
# The scopes
[[scopes]]
name = "app"
description = "the app itself"
[[scopes]]
name = "core"
description = "the core lib"
[git]
skip_emoji = true
# Customize your commit template as you want
commit_template = ["git", "commit", "-m", "{{message}}", "&&", "git", "push"]Just run it:
scOr with flags:
| flag | Description |
|---|---|
-e | --skip-emoji |
Skips the emoji step |
-c | --commit-template |
Command to run after generating the commit |
--config |
Set the config path |
Issues and pull requests are both very welcome at romancitodev/simple-commits.
Licensed under the Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0).
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.