Skip to main content

AI-powered Git commit message generator using Apple Intelligence

Project description

fm-smart-commit

AI-powered Git commit generation running 100% locally on your Mac using Apple Intelligence.

fm-smart-commit is a lightweight CLI tool that analyzes your staged Git changes and generates concise, professional Conventional Commits (feat:, fix:, refactor:, etc.).

Because it runs completely on-device using the Apple Foundation Models SDK, it offers massive advantages over cloud-based AI tools:

  • Privacy-First: Your codebase never leaves your machine. Perfect for enterprise, proprietary, or sensitive code.
  • Zero API Costs: No OpenAI API keys or GitHub Copilot subscriptions required. It uses the AI already built into your Mac.
  • Fast: Powered natively by Apple Silicon neural engines for instant inference.
  • Multi-Pass Analysis: Default mode runs parallel agents for better commit messages.

Prerequisites

Before installing, ensure your machine meets the hardware and software requirements for local Apple Intelligence:

  • Hardware: Apple Silicon Mac (M1 chip or newer).
  • OS: macOS 15.0 (Sequoia) or newer.
  • Settings: Apple Intelligence must be enabled on your Mac.

Installation

Via pip (Recommended)

pip3 install fm-smart-commit

Updating

To update to the latest version of fm-smart-commit, run:

pip3 install --upgrade fm-smart-commit

From Source

# Clone the repository
git clone https://github.com/brazill7/smart-commit.git
cd smart-commit

# Install in development mode
pip3 install -e .

Usage

Make sure you have staged your changes (git add .) before running the tool.

Quick Mode (Fast, Single-Pass)

fm-smart-commit -q

Detailed Mode (Default, Multi-Pass Analysis)

fm-smart-commit

With Custom Context

Provide context to guide the AI:

fm-smart-commit -c "fixes ticket #123"
fm-smart-commit -q -c "race condition on login"

Options

Flag Description
-q, --quick Use quick single-pass mode (faster but less detailed)
-c, --context Additional context to include in the commit message

Git Alias (Optional)

If you want to use this tool natively within Git:

git config --global alias.sc '!fm-smart-commit'
git config --global alias.smart '!fm-smart-commit'

Then use:

git sc
git smart

Example Output

$ fm-smart-commit
Analyzing diff (detailed mode - 3 parallel agents)...
  Scope: src/auth.py, login component...
  Intent: Improve user authentication...
  Changes: added hashPassword function...
Synthesizing results...

Suggested commit: fix: add hashPassword function for secure authentication
Accept commit? (y/n/r): y
Committed successfully!

Prompt Options

  • y - Accept and commit
  • n - Abort
  • r - Retry (infinite retries, automatically uses context from the last 3 rejected messages)

Features

  • Conventional Commits: Generates properly formatted commit messages
  • Privacy-First: All processing happens locally on your Mac
  • Zero Config: Works out of the box with Apple Intelligence
  • Two Modes: Quick (fast) or Detailed (multi-pass parallel analysis)
  • Smart Retries: Infinite retries that learn from your rejections to improve the next suggestion

Requirements

  • macOS 15.0+ (Sequoia)
  • Apple Silicon Mac (M1+)
  • Apple Intelligence enabled
  • Python 3.10+

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fm_smart_commit-1.2.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fm_smart_commit-1.2.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file fm_smart_commit-1.2.0.tar.gz.

File metadata

  • Download URL: fm_smart_commit-1.2.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fm_smart_commit-1.2.0.tar.gz
Algorithm Hash digest
SHA256 227984400c5130fea277e2e88a4f75ccbf66dcae19310be8a50b5d71d0da249a
MD5 29cc7808cdcddb568998b3b2c77a178b
BLAKE2b-256 93c7a666be4bcf55c185c6b77b02d0c8fca8516ba37bfbf0bf42fe6c3590207d

See more details on using hashes here.

File details

Details for the file fm_smart_commit-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fm_smart_commit-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b70370d3658cf087c9efd3606147a4796eb5721d541861f66107d14868e8d453
MD5 ffc6feec8658d79fce757aa22e78023a
BLAKE2b-256 fe0ce04bd68d86d9db4063ee8213701afaa815deb74d1aabfab19925c63c7b9b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page