Skip to content
This repository was archived by the owner on Feb 10, 2026. It is now read-only.

Commit 48569aa

Browse files
authored
Merge pull request #2 from sidedwards/r/0.0.5
R/0.0.5
2 parents bd0ed3e + 54e1a22 commit 48569aa

6 files changed

Lines changed: 654 additions & 105 deletions

File tree

README.md

Lines changed: 84 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# auto-commit
22

3-
Automatically generate git commit messages using AI. Analyzes your staged changes and creates clear, conventional commit messages.
3+
Automatically generate git commit messages using Claude 3 Haiku. Analyzes your staged changes and creates clear commit messages. Uses the conventional commit format by default, but you can also train it to use a repo or author-specific style.
44

55
## Features
66

77
- Generates clear, concise commit messages from staged changes
8-
- Interactive editing with vim
9-
- Secure API key storage
8+
- Supports multiple commit formats:
9+
- Conventional Commits (default)
10+
- Angular
11+
- Semantic Git Commits (with emojis)
12+
- Linux Kernel style
13+
- Repository or author-specific commit styles
1014
- Simple CLI interface
1115

1216
## Installation
@@ -45,15 +49,41 @@ cd auto-commit
4549
deno task install
4650
````
4751

52+
### Updating
53+
54+
```bash
55+
# If installed from source
56+
cd auto-commit
57+
deno task update
58+
59+
# If using pre-built binary
60+
# Download the latest release and follow installation steps above
61+
```
62+
4863
## Usage
4964

5065
```bash
5166
# Optional: Set up git alias
5267
git config --global alias.ac '!auto-commit'
5368

54-
# Use the tool
69+
# Use the tool with default commit style (conventional)
5570
git add <files>
5671
auto-commit # or 'git ac' if alias configured
72+
73+
# Use a specific commit format
74+
auto-commit --format=conventional # default
75+
auto-commit --format=angular # Angular style
76+
auto-commit --format=semantic # with emojis
77+
auto-commit --format=kernel # Linux kernel style
78+
79+
# View repository authors
80+
auto-commit --list-authors
81+
82+
# Learn commit style from repository history
83+
auto-commit --learn
84+
85+
# Learn commit style from specific author
86+
auto-commit --learn --author="user@example.com"
5787
```
5888

5989
Example output:
@@ -78,10 +108,59 @@ Proposed commit:
78108

79109
On first run, you'll be prompted to enter your [Anthropic API key](https://console.anthropic.com/account/keys).
80110

111+
### Commit Formats
112+
113+
The tool supports several commit message formats:
114+
115+
1. **Conventional** (default): `type(scope): description`
116+
```
117+
feat(auth): add OAuth2 authentication
118+
```
119+
120+
2. **Angular**: Similar to conventional but with stricter rules
121+
```
122+
feat(auth): implement OAuth2 authentication
123+
124+
* Add login endpoints
125+
* Set up token management
126+
127+
BREAKING CHANGE: Remove basic auth support
128+
```
129+
130+
3. **Semantic** (with emojis): `emoji description`
131+
```
132+
✨ Add new user authentication system
133+
134+
- Implement OAuth2 flow
135+
- Add session management
136+
137+
Closes #123
138+
```
139+
140+
4. **Linux Kernel**: `subsystem: change summary`
141+
```
142+
auth: implement secure token rotation
143+
144+
Previous implementation had security flaws.
145+
This patch adds automatic rotation with
146+
proper invalidation of old tokens.
147+
148+
Signed-off-by: John Doe <john@example.com>
149+
```
150+
151+
5. **Repository or Author-Specific**: Learn from repository history or specific author's style
152+
```
153+
# Learn commit style from repository history
154+
auto-commit --learn
155+
156+
# Learn commit style from specific author
157+
auto-commit --learn --author="user@example.com"
158+
```
159+
81160
## Requirements
82161

83162
- Git
84-
- Vim
163+
- Vim (for editing commit messages)
85164
- Anthropic API key
86165

87166
## License

build.ts

Whitespace-only changes.

deno.jsonc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
{
22
"tasks": {
33
"start": "deno run --allow-net --allow-read --allow-write --allow-env --allow-run=\"git,vim\" main.ts",
4-
"install": "deno run --allow-read --allow-write --allow-run install.ts",
5-
"build": "deno run --allow-read --allow-write --allow-run scripts/build.ts"
4+
"install": "deno run --allow-read --allow-write --allow-run scripts/install.ts",
5+
"build": "deno run --allow-read --allow-write --allow-run scripts/build.ts",
6+
"update": "git pull && deno task install"
67
},
78
"name": "auto-commit",
89
"version": "1.0.0",
910
"exports": "./main.ts",
10-
"description": "AI-powered git commit message generator using Claude 3",
11+
"description": "Automatically generate git commit messages.",
1112
"author": "Sid Edwards",
1213
"license": "MIT"
1314
}

deno.lock

Lines changed: 38 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)