init
The cz init command helps you set up Commitizen in your project by creating a configuration file with your preferred settings.
Usage
Command
cz init
Interactive Configuration
When you run cz init, Commitizen will guide you through an interactive setup process:
Configuration File
The initialization process will create a configuration file in your project root.
See Configuration File for more details.
Configuration Options
During the initialization process, you'll be prompted to configure the following settings:
- Convention Rules: Select the commit message convention to follow (e.g., conventional commits)
- Version Provider: Choose how to manage versioning in your project. Commitizen supports multiple version management systems:
- commitizen: Uses Commitizen's built-in version management system
- npm: Manages version in package.json for Node.js projects
- cargo: Manages version in Cargo.toml for Rust projects
- composer: Manages version in composer.json for PHP projects
- pep621: Uses pyproject.toml with PEP 621 standard
- poetry: Uses pyproject.toml with Poetry configuration
- uv: Uses pyproject.toml and uv.lock for Python projects
- scm: Reads version directly from git tags without modifying files
- Project Version: The current version of your project will be detected automatically
- Tag Format: The format used for version tags in your repository
- Version Type: Choose between:
- semver or semver2: Semantic Versioning (MAJOR.MINOR.PATCH)
- pep440: Python Package Versioning
- Changelog Generation: Configure whether to automatically generate changelog during version bumps
- Alpha Versioning: Option to keep major version at 0 for alpha/beta software
- Pre-commit Hooks: Set up Git pre-commit hooks for automated commit message validation
See Configuration Options for more details.
Example
# Start the initialization process
cz init
# Follow the interactive prompts to configure your project
Next Steps
After initialization, you can:
- Start using cz commit to create conventional commits
- Use cz bump to manage versioning
- Configure additional settings in your project's configuration_file
February 14, 2026