jeeves-git-commit 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +18 -3
- data/config/prompt +2 -1
- data/lib/jeeves/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 527ce9c1bf1bbb7a3d32de28211fd81a2c07dbeb1405457f026e438cbbf50a5f
|
4
|
+
data.tar.gz: 368cac10056082021363258f35d5cf49aafbfee5a803d2bb6cdea310efc06012
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cec4382871ef998ea7c0344b3156dd775ab5453031e1950ed986cfd4e27540c7e53d56fa70004ee857b079fbfbf3acf578e07fa39b23eeaeee8e1bd35a374d6
|
7
|
+
data.tar.gz: 06f70672dfd85ec2a93c1f5cdfbfc0df89c4769504c66700bafad5e3f5a6c0d8d96a7d74d43f62b2356c8e4d6080076bf83a88707cfc2b025422821d33b89adb
|
data/README.md
CHANGED
@@ -4,16 +4,31 @@
|
|
4
4
|
<img src="assets/jeeves.png" alt="Jeeves Logo" width="200">
|
5
5
|
</p>
|
6
6
|
|
7
|
-
Jeeves is a command-line tool that
|
7
|
+
Jeeves is a command-line tool that creates AI-powered Git commit messages that mercilessly roast you and your code.
|
8
8
|
|
9
9
|
## Features
|
10
10
|
|
11
|
-
- Generate intelligent [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) messages with [gitmoji](https://gitmoji.dev) based on your staged changes.
|
11
|
+
- Generate intelligent [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) messages with [gitmoji](https://gitmoji.dev) based on your staged changes that point out what an idiot you are.
|
12
12
|
- Option to automatically stage all changes before committing
|
13
13
|
- Option to push changes after committing
|
14
14
|
- Customizable AI prompts for tailored commit message generation
|
15
15
|
- Choose any AI model (chat-gpt 4.1-mini by default)
|
16
16
|
|
17
|
+
## Example Commit message
|
18
|
+
|
19
|
+
```
|
20
|
+
✨ refactor(HTMLText): rewrite HTML parsing and rendering from scratch because why not torture future maintainers
|
21
|
+
Completely scrap the previously sane approach of leveraging NSAttributedString's native HTML importer—because parsing HTML by hand in SwiftUI is obviously a great idea—and replace it with a painfully verbose custom parser that handles only a handful of tags (`<b>`, `<i>`, `<u>`, `<strong>`, `<em>`) by rudimentary string manipulation and manual state tracking.
|
22
|
+
|
23
|
+
Add a fragile, regex-based preprocessing pipeline to replace paragraph and break tags with newlines, which predictably will fail on anything but the simplest input and blatantly ignores the complexity of HTML’s DOM and semantics. Implement a hopelessly naive tag parser and format stack that counts nested tags without any error recovery, inviting undefined behavior from malformed or unexpected inputs.
|
24
|
+
|
25
|
+
Replace cached AttributedString with a freshly built one on each render, ignoring performance consequences and the obvious benefits of reuse or incremental updates—because rendering performance doesn’t matter, right?
|
26
|
+
|
27
|
+
Throw in a sprawling debug preview showcasing trivial formatting examples like `"Bold text"`, `"<b>Bold <i>nested</i></b>"`, and some paragraph-handling tests to prove the gross oversimplification, all stacked in a monstrously long VStack with no regard for code readability or separation of concerns.
|
28
|
+
|
29
|
+
In summary: regress from standard, battle-tested Cocoa HTML rendering to a brittle, hand-rolled solution that’s both inefficient and incomplete. Future developers, good luck deciphering this spaghetti; you’ll need it.
|
30
|
+
```
|
31
|
+
|
17
32
|
## Installation
|
18
33
|
|
19
34
|
### Requirements
|
@@ -120,7 +135,7 @@ When you run Jeeves, it will:
|
|
120
135
|
|
121
136
|
This allows you to have a default prompt for all your projects while still being able to customize the prompt for specific repositories that may have different requirements or coding standards.
|
122
137
|
|
123
|
-
**Example Repository-Specific Prompt**: See `example.jeeves_prompt` in this repository for an example of how you might customize the prompt for a JavaScript/Node.js project with specific requirements.
|
138
|
+
**Example Repository-Specific Prompt**: See `example.jeeves_prompt` in this repository for an example of how you might customize the prompt for a JavaScript/Node.js project with specific requirements (that also doesn't roast you).
|
124
139
|
|
125
140
|
When you run Jeeves for the first time, if there's no global prompt file in the config directory, it will copy `config/prompt` to the config directory automatically.
|
126
141
|
|
data/config/prompt
CHANGED
@@ -3,8 +3,9 @@ Generate a git commit message based on the following diff.
|
|
3
3
|
The commit message should:
|
4
4
|
- Start with an appropriate gitmoji based on the nature of the changes
|
5
5
|
- Follow the Conventional Commits format (https://www.conventionalcommits.org/en/v1.0.0/)
|
6
|
-
- Explain WHAT changed
|
6
|
+
- Explain WHAT changed and WHY it changed
|
7
7
|
- Use present tense ("add" not "added")
|
8
|
+
- Be extremely critical and mercilessly roast the author of the change
|
8
9
|
- Assume the audience is educated software engineers
|
9
10
|
|
10
11
|
Example format:
|
data/lib/jeeves/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jeeves-git-commit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Bishop
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-05-
|
10
|
+
date: 2025-05-31 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: json
|