git-format
CLI tool that produces commits following the Conventional Commits specification through flags, made for LLMs and not really their operators (but I guess you can use this directly if you want). Operators would likely prefer, as the author does, meteor.
I've found that LLMs consistently fail to
- Format trailers correctly: they add too many newlines between trailers, which
breaks tools like
git interpret-trailers - Include proper scope notation
- Follow the loose 50/72 subject/body standard held by projects like the Linux kernel. I try to stick to it, but LLMs writing badly-formatted commit messages means rewording work for me once they're done.
git-format enforces all of this. Where possible, we "correct" the model's
input. Where that's less possible, we error. For example, instead of requiring
the model wrap body text at 72 columns, we let it write whatever body it wants
and wrap it ourselves. We can't really fix the subject, so git-format emits an
error when the subject is too long with clear indication of where the
50-character cut-off is.
Installation
You need both the binary and the skill.
The binary
- Using bin (highly recommended
because it's one tool to manage and update myriad CLI tools
distributed as statically-linked binaries, like git-format)
bin install goinstall://git.secluded.site/git-format@latest git-format install - Using the go toolchain (upgrade with
git-format upgrade)go install git.secluded.site/git-format@latest git-format install
The git-format install command creates symlinks so you can invoke it as git formatted-commit and git formatted-tag.
Contributions
Patch requests are in amolith/llm-projects on pr.pico.sh. You don't need a
new account to contribute, you don't need to fork this repo, you don't need to
fiddle with git send-email, you don't need to faff with your email client to
get git request-pull working...
You just need:
- Git
- SSH
- An SSH key
# Clone this repo, make your changes, and commit them
# Create a new patch request with
git format-patch origin/main --stdout | ssh pr.pico.sh pr create amolith/llm-projects
# After potential feedback, submit a revision to an existing patch request with
git format-patch origin/main --stdout | ssh pr.pico.sh pr add {prID}
# List patch requests
ssh pr.pico.sh pr ls amolith/llm-projects
See "How do Patch Requests work?" on pr.pico.sh's home page for a more complete example workflow.
Some other tools if this one interested you