Skip to main content

How It Works

Inky analyzes your commit diffs and generates improved commit messages using Claude CLI. It rewrites your message to follow conventional commit format, adds structured Summary: and Test Plan: sections, and amends the commit automatically. When you run Inky, it:
  1. Validates the working directory is clean and you’re not on the main branch
  2. Reads the current commit message and diff
  3. Checks that the diff is non-empty — Inky won’t process empty commits
  4. Sends both to Claude CLI with instructions for generating a better message
  5. Amends the commit with the improved message
  6. Tags the commit with #inky for tracking
Inky uses the diff to understand what changed, then writes a message explaining what and why rather than restating the code.

Usage

Run Inky through the Lift CLI, either isolated or as part of the full pipeline:
# Run only Inky
lift -m

# Run the full pipeline (Inky runs first, then Doc)
lift

Cleanup Mode

Cleanup mode replaces the commit message with a placeholder instead of generating a new one. This is useful when you want to reset a commit message before re-running the pipeline:
lift -m -c
The placeholder message is set to "please wait: finding something to put here..." and the commit is still tagged with #inky.

Generated Message Format

Inky generates messages that follow these conventions:
  • Summary line under 72 characters
  • Conventional commit prefix when appropriate (feat:, fix:, refactor:, etc.)
  • Present tense (“Add feature” not “Added feature”)
  • Summary and Test Plan sections included in the body
  • Existing hashtags preserved (like #inky, #doc)
If Inky determines your existing message is already good, it may keep it mostly as-is rather than rewriting it.

Flags

These flags are passed to Lift and apply when Inky runs:
FlagDescription
-mRun only Inky (skip other tools)
-t NUMPrepend a task number to the commit message (e.g., TAHO-123:)
-cCleanup mode — set a placeholder message instead of generating
-qQuiet mode — suppress progress indicators
The task prefix defaults to TAHO and can be overridden via the inky.task_prefix config setting.

VCS Support

Inky works with both Git and Sapling, detected automatically. See VCS Support for details.