Skip to content

Commit b6758f1

Browse files
committed
update project name again and update toml
1 parent 18fc6b9 commit b6758f1

2 files changed

Lines changed: 99 additions & 35 deletions

File tree

README.md

Lines changed: 96 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
# Git SmartCommit CLI
1+
# fm-smart-commit
22

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

5-
SmartCommit is a lightweight CLI tool that analyzes your staged Git changes and generates concise, professional [Conventional Commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `refactor:`, etc.).
5+
fm-smart-commit is a lightweight CLI tool that analyzes your staged Git changes and generates concise, professional [Conventional Commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `refactor:`, etc.).
66

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

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

1314
---
1415

15-
## Prerequisites
16+
## Prerequisites
1617

1718
Before installing, ensure your machine meets the hardware and software requirements for local Apple Intelligence:
1819
* **Hardware:** Apple Silicon Mac (M1 chip or newer).
@@ -23,24 +24,21 @@ Before installing, ensure your machine meets the hardware and software requireme
2324

2425
## Installation
2526

26-
```bash
27-
# 1. Download the latest release
28-
curl -fsSL -o smartcommit https://github.com/brazill7/smart-commit/releases/latest/download/smartcommit
29-
30-
# 2. Make the file executable
31-
chmod +x smartcommit
27+
### Via pip (Recommended)
3228

33-
# 3. Clear the macOS Gatekeeper quarantine flag (required for unsigned binaries)
34-
xattr -d com.apple.quarantine smartcommit
29+
```bash
30+
pip3 install fm-smart-commit
31+
```
3532

36-
# 4. Move it to your local bin so it can be run from anywhere
37-
sudo mv smartcommit /usr/local/bin/
33+
### From Source
3834

39-
### (Optional) Set up a Git Alias
40-
If you want to use this tool natively within Git (e.g., typing `git sc` or `git smart-commit` etc. ), you can add a global alias:
35+
```bash
36+
# Clone the repository
37+
git clone https://github.com/brazill7/smart-commit.git
38+
cd smart-commit
4139

42-
git config --global alias.sc '!smartcommit'
43-
git config --global alias.smart-commit '!smartcommit'
40+
# Install in development mode
41+
pip3 install -e .
4442
```
4543

4644
---
@@ -49,27 +47,93 @@ git config --global alias.smart-commit '!smartcommit'
4947

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

52-
### Option A: Using the Standalone Command
53-
If you skipped the alias step, you can just call the tool directly in your repository:
50+
### Quick Mode (Fast, Single-Pass)
5451

55-
`smartcommit`
52+
```bash
53+
fm-smart-commit -q
54+
```
5655

57-
To provide custom context to the AI (like explaining *why* you made a change), use the `-c` flag:
56+
### Detailed Mode (Default, Multi-Pass Analysis)
5857

59-
`smartcommit -c "race condition on the login screen"`
58+
```bash
59+
fm-smart-commit
60+
```
6061

62+
### With Custom Context
6163

62-
### Option B: Using the Git Alias
63-
If you configured the `git smart-commit` alias, you can use it just like a native Git command:
64+
Provide context to guide the AI:
6465

65-
`git smart-commit`
66+
```bash
67+
fm-smart-commit -c "fixes ticket #123"
68+
fm-smart-commit -q -c "race condition on login"
69+
```
70+
71+
### Options
72+
73+
| Flag | Description |
74+
|------|-------------|
75+
| `-q`, `--quick` | Use quick single-pass mode (faster but less detailed) |
76+
| `-c`, `--context` | Additional context to include in the commit message |
6677

67-
With custom context:
78+
### Git Alias (Optional)
6879

69-
`git smart-commit -c "refactored the login auth flow"`
80+
If you want to use this tool natively within Git:
81+
82+
```bash
83+
git config --global alias.sc '!fm-smart-commit'
84+
git config --global alias.smart '!fm-smart-commit'
85+
```
86+
87+
Then use:
88+
```bash
89+
git sc
90+
git smart
91+
```
92+
93+
---
94+
95+
## Example Output
96+
97+
```
98+
$ fm-smart-commit
99+
Analyzing diff (detailed mode - 3 parallel agents)...
100+
Scope: src/auth.py, login component...
101+
Intent: Improve user authentication...
102+
Changes: added hashPassword function...
103+
Synthesizing results...
104+
105+
Suggested commit: fix: add hashPassword function for secure authentication
106+
Accept commit? (y/n/r): y
107+
Committed successfully!
108+
```
109+
110+
### Prompt Options
111+
112+
- `y` - Accept and commit
113+
- `n` - Abort
114+
- `r` - Retry (up to 3 attempts)
115+
116+
---
117+
118+
## Features
119+
120+
- **Conventional Commits:** Generates properly formatted commit messages
121+
- **Privacy-First:** All processing happens locally on your Mac
122+
- **Zero Config:** Works out of the box with Apple Intelligence
123+
- **Two Modes:** Quick (fast) or Detailed (multi-pass parallel analysis)
124+
- **Retry Support:** Re-generate commits up to 3 times
125+
126+
---
127+
128+
## Requirements
129+
130+
- macOS 15.0+ (Sequoia)
131+
- Apple Silicon Mac (M1+)
132+
- Apple Intelligence enabled
133+
- Python 3.10+
134+
135+
---
70136

137+
## License
71138

72-
**Example Output:**
73-
> Analyzing diff...
74-
> Suggested commit: **fix: resolve race condition in login flow**
75-
> Accept this commit message? (y/n):
139+
MIT

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ requires = ["setuptools>=61.0", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
6-
name = "smart-commit"
7-
version = "1.1.0"
6+
name = "fm-smart-commit"
7+
version = "1.1.1"
88
description = "AI-powered Git commit message generator using Apple Intelligence"
99
readme = "README.md"
1010
requires-python = ">=3.10"
@@ -27,7 +27,7 @@ dependencies = [
2727
]
2828

2929
[project.scripts]
30-
smartcommit = "smartcommit:main"
30+
fm-smart-commit = "smartcommit:main"
3131

3232
[project.optional-dependencies]
3333
dev = [

0 commit comments

Comments
 (0)