diff --git a/.cz.toml b/.cz.toml new file mode 100644 index 0000000..c5d2aa4 --- /dev/null +++ b/.cz.toml @@ -0,0 +1,50 @@ +[tool.commitizen] +name = "cz_customize" +tag_format = "$version" +version_scheme = "semver" +version = "0.0.1" +update_changelog_on_bump = true +major_version_zero = true + +[tool.commitizen.customize] +message_template = """\ + {{ change_type }}{% if scope %}({{ scope }}){% endif %}: {{ subject }}\ + + {% if body %}{{ body }}{% endif %} +""" +example = "day(01): solve part 1" +schema = "‹type›‹optional scope, e.g., day›: ‹message›\n\n‹body›" +schema_pattern = """\ + (?s)\ + (chore|ci|day|fix|feat)\ + (\\(\\S+\\))?!?:\ + ( [^\\n\\r]+)\ + ((\\n\\n.*)|(\\s*))?$\ +""" + +[[tool.commitizen.customize.questions]] +name = "change_type" +message = "Select the type of change you are commiting" +type = "list" +choices = ["day", "feat", "fix", "chore", "ci"] + +[[tool.commitizen.customize.questions]] +name = "scope" +message = "What is the scope of this change, e.g., day or part of the utils?" +type = "input" + +[[tool.commitizen.customize.questions]] +name = "subject" +message = """\ + Write a short and imperative summary of the code changes\ + (lower case and no period):\ +""" +type = "input" + +[[tool.commitizen.customize.questions]] +name = "body" +message = """\ + Provide additional contextual information about the code changes\ + (press [enter] to skip): +""" +type = "input" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..fb68627 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,24 @@ +repos: +- hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files + repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.5.0 + +- hooks: + - args: + - --autofix + files: \.kt$ + id: pretty-format-kotlin + repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks + rev: v2.12.0 + +- hooks: + - id: commitizen + - id: commitizen-branch + stages: + - push + repo: https://github.com/commitizen-tools/commitizen + rev: v3.15.0