id = "czg" name = "czg" homepage = "https://cz-git.qbb.sh/cli/" description = "Interactive CLI that generate standardized git commit messages." executables = ["czg"] [dotfiles] # The cz-git configuration guide documents ~/.czrc as the global Commitizen # configuration. Its AI options are persisted by czg in ~/.config/.czrc (the # CLI documentation calls out this path). The latter can contain an OpenAI API # token, so it is kept as a credential rather than ordinary synced content. # https://cz-git.qbb.sh/guide/ # https://cz-git.qbb.sh/cli/ai paths = ["~/.czrc"] exclude = [] secret = ["~/.config/.czrc"] [commands] format = 1 label = "Generate a commit" description = "Run the interactive commit prompt, optionally with mode subcommands (ai, emoji, ...) and AI settings. Extra git commit options, aliases and API key setup are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "help" kind = "help" url = "https://cz-git.qbb.sh/cli/" revision = "czg --help on cz-git.qbb.sh/cli" evidence = """ SYNOPSIS: czg [subcommand...] [options...] [git-commit-options...] SUBCOMMAND: ai Turn on OpenAI generate subject mode break Turn on appends a ! after the type/scope emoji Turn on output message with emoji mode checkbox Turn on scope checkbox mode gpg Turn on use GPG sign commit message OPTIONS: --config= Specify the configuration file to use -N=,--ai-num= Sets AI return multiple subjects and Turn on choose mode -M=,--ai-model= Sets AI model in this session FLAG: -r, --retry Directly retry submit by the last message --no-ai Turn off AI prompt mode in this session """ [[commands.field]] id = "modes" label = "Modes" description = "Subcommands that switch on a mode for this commit." type = "string" position = 0 multiple = true suggestions = [{ value = "ai", label = "AI-generated subject" }, { value = "emoji", label = "Emoji" }, { value = "break", label = "Breaking change (!)" }, { value = "checkbox", label = "Scope checkbox" }, { value = "gpg", label = "GPG sign" }] sources = ["help"] [[commands.field]] id = "config" label = "Config file" type = "path" option = ["--config"] path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "ai_num" label = "Number of AI subjects" type = "integer" option = ["--ai-num"] sources = ["help"] [[commands.field]] id = "ai_model" label = "AI model" type = "string" option = ["--ai-model"] suggestions = [{ value = "gpt-4o-mini", label = "gpt-4o-mini" }, { value = "gpt-4o", label = "gpt-4o" }, { value = "gpt-3.5-turbo", label = "gpt-3.5-turbo" }] sources = ["help"] [[commands.field]] id = "retry" label = "Retry last message" type = "boolean" option = ["--retry", "-r"] sources = ["help"] [[commands.field]] id = "no_ai" label = "Turn off AI this session" type = "boolean" option = ["--no-ai"] sources = ["help"] [[commands.task]] id = "commit" label = "Interactive commit" fields = ["modes", "config"] required = [] [[commands.task]] id = "ai" label = "AI-assisted commit" set = { modes = ["ai"] } fields = ["modes", "ai_num", "ai_model"] required = [] [[commands.task]] id = "retry" label = "Retry last commit message" set = { retry = [true] } lock = ["retry"] fields = ["retry"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["modes", "ai_num", "ai_model", "retry"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["config", "no_ai"]