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 commitn- Abortr- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
227984400c5130fea277e2e88a4f75ccbf66dcae19310be8a50b5d71d0da249a
|
|
| MD5 |
29cc7808cdcddb568998b3b2c77a178b
|
|
| BLAKE2b-256 |
93c7a666be4bcf55c185c6b77b02d0c8fca8516ba37bfbf0bf42fe6c3590207d
|
File details
Details for the file fm_smart_commit-1.2.0-py3-none-any.whl.
File metadata
- Download URL: fm_smart_commit-1.2.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b70370d3658cf087c9efd3606147a4796eb5721d541861f66107d14868e8d453
|
|
| MD5 |
ffc6feec8658d79fce757aa22e78023a
|
|
| BLAKE2b-256 |
fe0ce04bd68d86d9db4063ee8213701afaa815deb74d1aabfab19925c63c7b9b
|