Package: conventional-with-data
Conventional With DataA branch of conventionalish with an addeddataprefix.Patch Commitizen's Conventional Commits implementation with additional prefixes.QUESTIONS = [
    ("fix", "A bug fix", "x", PATCH),
    ("feat", "A new feature", "f", MINOR),
    ("data", "Changes to non-code input (data, blog content, models, etc.)", "a", PATCH),
    ("docs", "Documentation only changes", "d", None),
    ("style", "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)", "s", None),
    ("refactor", "A code change that neither fixes a bug nor adds a feature", "r", PATCH),
    ("perf", "A code change that improves performance", "p", PATCH),
    ("test", "Adding missing or correcting existing tests", "t", None),
    ("build", "Changes that affect the build system or external dependencies (example scopes: pip, docker, npm)", "b", None),
    ("ci", "Changes to our CI configuration files and scripts (example scopes: GitLabCI)", "c", None)
]By default, Commitizen will use its Conventional Commits implementation, so when you runcz commit, you will get a choice offix:feat:docs:style:refactor:perf:test:build:ci:Commitizen has a robust system for building your own commit patterns, and it's great if you want to start from scratch. But if you want to make a small change to the defaults and keep the nice prompts, commit-message linting, and changelog-building provided by Commitizen, you will have to create or update six patterns or regexps. This script inherits from ConventionalCommitsCz and patches in new choices and associated properties. FWIW, despite theishin the name conventionalish, these changes will still meet the Conventional Commits standard (at least as much as Commitizen does) as long as thefeat:andfix:prefixes remain.Should you want to accomplish this by hand:inherit from ConventionalCommitsCzoverload.questions()# for commit promptsoverload.schema_pattern()# for commit-message lintingWill your addition affect versioning?overload.bump_pattern# for commitizen bumpoverload.bump_map# for commitizen bumpoverload.commit_parser# for commitizen changelogoverload.change_type_map# for commitizen changelogoverload.changelog_pattern# for commitizen changelogUsageTo make these changes using a script:clone this project into your project rootedit theQUESTIONSvalue at the top ofquestions.py. The default value will give near-identical behavior to the Commitizen default.install conventionalish in your project venv (poetry add .\conventionalish;pip install .\conventionalish; ...) or upload to PyPi with a new name.run withcz -n cz_conventionalishor add the following topyproject.toml[tool.commitizen]
name = "cz_conventionalish"Troubleshooting, Q&AI updated the file, but Commitizen doesn't recognize the changes.This is an installed package, depending how you installed it, you may need to:delete anycommitizenish/buildorcommitizenish/egg-infodirectoriesuninstallreinstallHow can I change the project name (conventionalish)?change the name of this folder after you clone itupdate the linename="conventionalish"inconventionalish/pyproject.tomltoname="new_folder_name"How can I change the commit-rule name (cz_conventionalish)?change the filenameconventionalish/cz_conventionalish.pytoconventionalish/cz_new_name.pychange the line{ include = "cz_conventionalish.py" }inconventionalish/pyproject.tomlto{ include = "cz_new_name.py" }AuthorShay Hill (shay_public@hotmail.com)