{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://www.schemastore.org/commit-check.json","title":"commit-check","description":"Configuration for commit-check, a commit message, branch naming, and push linter\nhttps://github.com/commit-check/commit-check","type":"object","additionalProperties":true,"properties":{"inherit_from":{"type":"string","description":"Inherit configuration from a parent file. Supports github: shorthand (e.g., github:owner/repo:path/to/cchk.toml), HTTPS URL, or local file path.\nhttps://github.com/commit-check/commit-check/blob/main/docs/configuration.rst#organization-level-configuration-inherit_from"},"commit":{"type":"object","title":"Commit rules","description":"Settings for commit message validation.\nhttps://github.com/commit-check/commit-check/blob/main/docs/configuration.rst","additionalProperties":true,"properties":{"conventional_commits":{"type":"boolean","default":true,"description":"Enforce Conventional Commits specification.\nhttps://www.conventionalcommits.org"},"message_pattern":{"type":"string","default":"","description":"Custom regex pattern for commit message validation. When set (non-empty), this replaces the auto-generated Conventional Commits regex entirely. Useful for enforcing custom formats such as JIRA smart commits (e.g., ^PROJ-\\\\d+: .+)."},"subject_capitalized":{"type":"boolean","default":true,"description":"Subject must start with a capital letter."},"subject_imperative":{"type":"boolean","default":true,"description":"Subject must be in imperative mood.\nhttps://github.com/commit-check/commit-check/blob/main/commit_check/imperatives.py"},"subject_max_length":{"type":"integer","minimum":1,"description":"Maximum length of the subject line. No limit by default."},"subject_min_length":{"type":"integer","minimum":1,"description":"Minimum length of the subject line. No limit by default."},"allow_commit_types":{"type":"array","items":{"type":"string"},"default":["feat","fix","docs","style","refactor","test","chore","perf","build","ci"],"description":"Allowed commit types when conventional_commits is true."},"allow_merge_commits":{"type":"boolean","default":true,"description":"Allow merge commits."},"allow_revert_commits":{"type":"boolean","default":true,"description":"Allow revert commits."},"allow_empty_commits":{"type":"boolean","default":false,"description":"Allow empty commits."},"allow_fixup_commits":{"type":"boolean","default":true,"description":"Allow fixup commits (e.g., fixup! <commit message>)."},"allow_wip_commits":{"type":"boolean","default":false,"description":"Allow work-in-progress commits (e.g., WIP: <commit message>)."},"require_body":{"type":"boolean","default":false,"description":"Require a body in the commit message."},"require_signed_off_by":{"type":"boolean","default":false,"description":"Require Signed-off-by line in the commit message footer."},"ignore_authors":{"type":"array","items":{"type":"string"},"default":[],"description":"List of commit authors or co-authors (Co-authored-by: lines) to bypass all commit checks. Useful for bots (e.g., dependabot[bot], coderabbitai[bot])."}}},"branch":{"type":"object","title":"Branch rules","description":"Settings for branch naming validation.\nhttps://conventional-branch.github.io/","additionalProperties":true,"properties":{"conventional_branch":{"type":"boolean","default":true,"description":"Enforce Conventional Branch specification.\nhttps://conventional-branch.github.io/"},"allow_branch_types":{"type":"array","items":{"type":"string"},"default":["feature","bugfix","hotfix","release","chore","feat","fix"],"description":"Allowed branch types when conventional_branch is true."},"allow_branch_names":{"type":"array","items":{"type":"string"},"default":[],"description":"Additional standalone branch names allowed when conventional_branch is true (e.g., [\"develop\", \"staging\"]). By default, master, main, HEAD, and PR-* are always allowed."},"require_rebase_target":{"type":"string","description":"Target branch for rebase requirement. If not set, no rebase validation is performed."},"ignore_authors":{"type":"array","items":{"type":"string"},"default":[],"description":"List of authors to bypass branch checks."}}},"push":{"type":"object","title":"Push rules","description":"Settings for push validation (pre-push hook).\nhttps://github.com/commit-check/commit-check","additionalProperties":true,"properties":{"allow_force_push":{"type":"boolean","default":true,"description":"Allow force pushes. Set to false to block force pushes when used as a pre-push hook or with --no-force-push."}}}}}