[package]
name = "git-atomic"
version = "0.1.3"
edition = "2024"
description = "Split multi-component commits into isolated per-component branches"
license = "MIT"
repository = "https://github.com/aRustyDev/git-atomic"
homepage = "https://github.com/aRustyDev/git-atomic"
keywords = ["git", "atomic", "commits", "branches", "monorepo"]
categories = ["command-line-utilities", "development-tools"]
readme = "README.md"
[package.metadata.git-cliff.bump]
features_always_bump_minor = true
breaking_always_bump_major = true
initial_tag = "v0.1.0"
[package.metadata.git-cliff.changelog]
header = "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\n"
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [Unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\
{% if commit.github.pr_number %} \
([#{{ commit.github.pr_number }}](https://github.com/aRustyDev/git-atomic/pull/{{ commit.github.pr_number }}))\
{% endif %}\
{% endfor %}
{% endfor %}
"""
trim = true
footer = "<!-- generated by git-cliff -->"
[package.metadata.git-cliff.git]
conventional_commits = true
filter_unconventional = true
require_conventional = false
split_commits = false
commit_parsers = [
{ message = "^Merge", skip = true },
{ body = ".*Signed-off-by: dependabot", skip = true },
{ message = "^chore\\(release\\)", skip = true },
{ message = "^feat", group = "<!-- 0 -->โจ Features" },
{ message = "^fix", group = "<!-- 1 -->๐ Bug Fixes" },
{ message = "^docs", group = "<!-- 2 -->๐ Documentation" },
{ message = "^perf", group = "<!-- 3 -->โก Performance" },
{ message = "^refactor", group = "<!-- 4 -->โป๏ธ Refactor" },
{ message = "^style", group = "<!-- 5 -->๐จ Styling" },
{ message = "^test", group = "<!-- 6 -->โ
Testing" },
{ message = "^ci", group = "<!-- 7 -->๐ท CI/CD" },
{ message = "^chore", group = "<!-- 8 -->๐ง Miscellaneous" },
{ message = "^build", group = "<!-- 9 -->๐ฆ Build" },
{ message = "^revert", group = "<!-- 10 -->โช Reverts" },
{ message = "^โจ", group = "<!-- 0 -->โจ Features" },
{ message = "^๐", group = "<!-- 1 -->๐ Bug Fixes" },
{ message = "^๐", group = "<!-- 1 -->๐ Bug Fixes" },
{ message = "^๐ฉน", group = "<!-- 1 -->๐ Bug Fixes" },
{ message = "^๐", group = "<!-- 2 -->๐ Documentation" },
{ message = "^โก", group = "<!-- 3 -->โก Performance" },
{ message = "^โป๏ธ", group = "<!-- 4 -->โป๏ธ Refactor" },
{ message = "^๐จ", group = "<!-- 5 -->๐จ Styling" },
{ message = "^๐", group = "<!-- 5 -->๐จ Styling" },
{ message = "^โ
", group = "<!-- 6 -->โ
Testing" },
{ message = "^๐งช", group = "<!-- 6 -->โ
Testing" },
{ message = "^๐ท", group = "<!-- 7 -->๐ท CI/CD" },
{ message = "^๐", group = "<!-- 7 -->๐ท CI/CD" },
{ message = "^๐ง", group = "<!-- 8 -->๐ง Miscellaneous" },
{ message = "^๐จ", group = "<!-- 8 -->๐ง Miscellaneous" },
{ message = "^๐ฆ", group = "<!-- 9 -->๐ฆ Build" },
{ message = "^โช", group = "<!-- 10 -->โช Reverts" },
{ message = "^๐", group = "<!-- 11 -->๐ Security" },
{ message = "^โฌ๏ธ", group = "<!-- 12 -->โฌ๏ธ Dependencies" },
{ message = "^โฌ๏ธ", group = "<!-- 12 -->โฌ๏ธ Dependencies" },
{ message = "^โ", group = "<!-- 12 -->โฌ๏ธ Dependencies" },
{ message = "^โ", group = "<!-- 12 -->โฌ๏ธ Dependencies" },
{ message = "^๐", group = "<!-- 12 -->โฌ๏ธ Dependencies" },
{ message = "^๐ฅ", group = "<!-- 13 -->๐ฅ Removed" },
{ message = "^โฐ๏ธ", group = "<!-- 13 -->๐ฅ Removed" },
{ message = "^๐ฅ", group = "<!-- 14 -->๐ฅ Breaking Changes" },
{ message = "^๐๏ธ", group = "<!-- 14 -->๐ฅ Breaking Changes" },
{ message = "^๐", group = "<!-- 15 -->๐ Deployment" },
{ message = "^๐", group = "<!-- 15 -->๐ Deployment" },
]
protect_breaking_commits = false
filter_commits = false
fail_on_unmatched_commit = false
tag_pattern = "v[0-9].*"
topo_order = false
topo_order_commits = true
sort_commits = "oldest"
link_parsers = [
{ pattern = "#(\\d+)", href = "https://github.com/aRustyDev/git-atomic/issues/$1" },
{ pattern = "RFC(\\d+)", text = "ietf-rfc$1", href = "https://datatracker.ietf.org/doc/html/rfc$1" },
]
recurse_submodules = false
[package.metadata.git-cliff.remote.github]
owner = "aRustyDev"
repo = "git-atomic"
[dependencies]
clap = { version = "4.5.55", features = ["derive"] }
figment = { version = "0.10.19", features = ["toml", "env"] }
gix = { version = "0.78.0", features = ["tree-editor", "revision"] }
globset = "0.4"
schemars = { version = "1.2.0", features = ["derive"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1"
thiserror = "2.0.18"
owo-colors = "4"
toml = "0.8"
tracing = "0.1"
[dev-dependencies]
assert_cmd = "2"
figment = { version = "0.10.19", features = ["test"] }
glob = "0.3"
insta = { version = "1", features = ["json", "filters"] }
jsonschema = "0.29"
predicates = "3"
proptest = "1"
tempfile = "3"