Configuration reference
The config reference list all value that can be set in the cog.toml
file at the root of a repository.
General
tag_prefix
Type:
String
Optional:
true
Description: set a tag prefix value for cocogitto. For instance if you have a
v
as a tag prefix, cocogitto will generate version starting withv
and commands likecog changelog
will pick only those versions.Example:
tag_prefix = "v"
Also see:
branch_whitelist
Type:
Array<String>
Optional:
true
Description: A list of glob patterns to allow bumping only on matching branches.
Example:
branch_whitelist = [ "main", "release/**" ]
Also see:
ignore_merge_commits
Type:
boolean
Optional:
true
Default:
false
Description: whether to ignore or to lint merge commits.
Example:
ignore_merge_commits = true
Also see:
commit_types
Type:
Hashmap<String, ChangelogTitle>
Optional:
true
Description: extend the allowed commit types, creating a new
cog commit
command and allowing to generate changelog entries for the given type.Example:
[commit_types] hotfix = { changelog_title = "Hotfixes" } release = { changelog_title = "Releases" }
Also see:
Bump config
pre_bump_hooks
Type:
Array<String>
Optional:
true
Description: an array of command to execute before a version bump.
Example:
pre_bump_hooks = [ "sh -c \"./ci/check_branch.sh\"", "cargo test -- --test-threads 1", "cargo clippy", "cargo build --release", "cargo fmt --all", "cargo bump {{version}}", ]
Also see:
post_bump_hooks
Type:
Array<String>
Optional:
true
Description: an array of command to execute after a version bump.
Example:
post_bump_hooks = [ "git push", "git push origin {{version}}", "cargo package", "cargo publish" ]
Also see:
bump_profiles
Type:
Hashmap<String, BumpProfile>
Optional:
true
Description: add additional pre-bump and post-bump hooks profile. a profile can be used with the
cog bump --hook-profile <profile_name>
flag.Example:
[bump_profiles.hotfix] pre_bump_hooks = [ "cargo build --release", "cargo fmt --all", "cargo bump {{version}}", ] post_bump_hooks = [ "cargo package", "cargo publish" ]
Also see:
Changelog
path
Type:
String
Optional:
true
Default value:
"CHANGELOG.md"
Description: path the repository markdown changelog.
Example:
[changelog] path = "my_changelog.md"
Also see:
template
Type:
String
Optional:
true
Default value:
"default"
Description: name of the builtin template to use for changelog generation or path to a custom template. Note that
remote
,repository
andowner
are mandatory if the "remote" built-in template us used or if your custom template make use of those variables.Built-in templates :
default
,remote
,full_hash
Example:
[changelog] template = "full_hash"
Also see:
remote
Type:
String
Optional:
true
Description: domain name of the git platform hosting the repository, used for Markdown link generation in changelogs. when provided
repository
andowner
are also required.Example:
[changelog] template = "remote" remote = "github.com" repository = "cocogitto" owner = "cocogitto"
Also see:
repository
Type:
String
Optional:
true
Description: name of the repository on the remote git platform.
Example:
[changelog] template = "remote" remote = "github.com" repository = "cocogitto" owner = "cocogitto"
Also see:
owner
Type:
String
Optional:
true
Description: owner of the repository on the remote git platform.
Example:
[changelog] template = "remote" remote = "github.com" repository = "cocogitto" owner = "cocogitto"
Also see:
authors
Type:
Array<Author>
Optional:
true
Description: A list of commit authors with their git signature and git platform username to generate Markdown links in changelogs.
Example:
[changelog] authors = [ { signature = "Paul Delafosse", username = "oknozor" }, { signature = "Jack Dorland", username = "jackdorland" }, { signature = "Mike Lubinets", username = "mersinvald" }, { signature = "Marcin Puc", username = "tranzystorek-io" }, { signature = "Renault Fernandes", username = "renaultfernandes" }, { signature = "Pieter Joost van de Sande", username = "pjvds" }, { signature = "orhun", username = "orhun" }, { signature = "Danny Tatom", username = "its-danny" }, ]
Also see: