Expand description
Autocommiter
Autocommiter is a small CLI tool that generates concise, useful git commit messages automatically using an AI inference API (configurable) and a local fallback. It stages changes, summarizes staged diffs, asks the AI for a commit message, optionally prepends a gitmoji, and commits & pushes the changes.
High-level responsibilities by module:
api_client— HTTP/inference API calls and commit-message generation.changes_summarizer— Builds lightweight summaries of staged changes and compresses them into a small JSON payload to send to the model service.config— Load/save user configuration stored in the home directory (~/.autocommiter.json). Provides defaults and helpers for common config operations (API key, selected model, flags).git— Thin wrapper around git command invocations used to stage, inspect, commit and push changes.gitmoji— Utilities to select or guess a gitmoji and prepend it to generated messages.model_manager— Fetch and cache available models from the Models API and expose a local cached list.
Usage (short):
# generate commit for current repo (default)
autocommiter generate
# set an API key for model-based generation
autocommiter set-api-key <KEY>Configuration:
- The config file is stored at
~/.autocommiter.jsonand contains fields likeapi_key,selected_model,enable_gitmojiandupdate_gitignore.
See the docs/ directory for architecture notes and usage examples.