Project

comito

0.0
The project is in a healthy, maintained state
Comito is a lightweight and easy-to-use Ruby CLI tool that provides an interactive interface for generating commit messages following the Conventional Commits specification. It is designed primarily for Ruby and Rails developers who want to standardize their commit history with minimal setup and dependencies. Comito guides users through selecting the commit type, optional scope, and description, then formats the message correctly and optionally executes the git commit command. This helps teams maintain a clean, consistent, and meaningful git history to improve collaboration, automate changelogs, and streamline release processes.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

~> 2.4
 Project Readme

Comito

Comito is a lightweight and intuitive Ruby CLI tool that provides an interactive interface for crafting commit messages following the Conventional Commits standard in Rails projects (and any Ruby-based project).

Installation

gem install comito

Or add it to your project’s Gemfile:

gem "comito"

Usage

comito

You’ll be guided through a series of prompts to build your commit message, with the option to confirm and commit directly.

Features

  • πŸš€ Interactive step-by-step interface to choose commit type (feat, fix, chore, docs, style, refactor, test, etc.).
  • 🏷️ Optional scope support for more precise commit descriptions.
  • πŸ“ Automatic commit message formatting according to the Conventional Commits standard.
  • πŸ”§ Option to directly commit via Git after generating the message.
  • πŸ“¦ Minimal dependencies β€” fully written in Ruby.
  • 🎯 Perfect for Rails developers who want to standardize commit history.
  • βš™οΈ Easy integration with CI/CD pipelines and Git hooks.

Why Comito?

  • ❌ No need for Node.js, Rust, or other external tools β€” 100% Ruby.
  • πŸ–₯️ Simple to use β€” run comito and follow the interactive generator.
  • πŸ”„ Flexible and extensible β€” easily adapted to your team’s workflow.
  • πŸ“š Keeps your commit history clean and consistent for better collaboration and release management.

Configuration File comito_config.yml

Comito allows you to create a custom configuration file comito_config.yml in the root directory of your project.

This file lets you override the default gem settings, such as commit types, scopes, and whether to confirm commit messages before committing.

Example config comito_config.yml:

types:
  feat: "A new feature"

scopes:
  ruby: "Ruby code"

confirm_commit_message: false

How comito_config works:

  • Comito looks for the file comito_config.yml in the current directory (Dir.pwd)
  • If the file exists, the settings are loaded from it.
  • If the file does not exist, default values are used.

Example

Example

License

Apache-2.0