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
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.