Skip to main content

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

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

Metadata

Release files for fm-smart-commit 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fm-smart-commit 1.2.0
File Size Uploaded Provenance Actions
fm_smart_commit-1.2.0.tar.gz 8.6 kB Without provenance Details for fm_smart_commit-1.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fm-smart-commit 1.2.0
File Interpreter ABI Platform Actions
fm_smart_commit-1.2.0-py3-none-any.whl Python 3 none any Details for fm_smart_commit-1.2.0-py3-none-any.whl

Total release size: 16.4 kB

Release files / fm_smart_commit-1.2.0.tar.gz

Download URL fm_smart_commit-1.2.0.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
227984400c5130fea277e2e88a4f75ccbf66dcae19310be8a50b5d71d0da249a
BLAKE2b-256 checksum
How to use checksums
93c7a666be4bcf55c185c6b77b02d0c8fca8516ba37bfbf0bf42fe6c3590207d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / fm_smart_commit-1.2.0-py3-none-any.whl

Download URL fm_smart_commit-1.2.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b70370d3658cf087c9efd3606147a4796eb5721d541861f66107d14868e8d453
BLAKE2b-256 checksum
How to use checksums
fe0ce04bd68d86d9db4063ee8213701afaa815deb74d1aabfab19925c63c7b9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for fm-smart-commit 1.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page