Assists with git workflows using LLMs.
Project description
DiffWeave AI
DiffWeave is a tool that automatically generates meaningful Git commit messages using large language models (LLMs). It analyzes your staged changes and creates descriptive commit messages, saving you time and ensuring consistent documentation.
Installation & Quick Start
You can run DiffWeave via uvx diffweave-ai or from a local checkout using uv run diffweave-ai while developing this repo.
DiffWeave is installed as an isolated tool using uv:
# Make sure you have uv installed first
# https://docs.astral.sh/uv/getting-started/installation/
uvx diffweave-ai
Usage
Configure a model
Before generating commit messages, configure at least one model endpoint:
uvx diffweave-ai add-model \
--model "name-of-your-model" \
--endpoint "https://endpoint-url" \
--token "$TOKEN"
Then set the default model to use:
uvx diffweave-ai set-model "name-of-your-model"
You can still override the model per invocation with the --model / -m flag.
Generate a commit message
Once you have a model configured and some changes staged in your current Git repository you can run:
uvx diffweave-ai
This will:
- Show the current
git status. - Optionally stage files for you (interactive by default).
- Generate a commit message using your configured model.
- Let you review/refine the message.
- Attempt
git commit(and optionallygit pushand PR open if a URL is printed).
To specify a model for a single run:
uvx diffweave-ai -m "your-model-name"
If you prefer a simpler, more natural-language commit style rather than Conventional Commits, pass --simple:
uvx diffweave-ai --simple
You can also run in dry-run mode (generate and print a commit message without committing):
uvx diffweave-ai --dry-run
Or in a non-interactive mode, which will generate a message and attempt to commit and push without asking follow-up questions:
uvx diffweave-ai --non-interactive
Features
- AI-powered commit message generation based on staged diffs
- Interactive or non-interactive workflows
- Support for configuring custom LLM HTTP endpoints
- Ability to set and override the default model
- Optional simpler commit style via
--simple - Optional push and PR-open flow when
git pushprints a URL
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file diffweave_ai-1.2.2.tar.gz.
File metadata
- Download URL: diffweave_ai-1.2.2.tar.gz
- Upload date:
- Size: 552.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ffbf8acdbebfc82ff6ef5fe91609bc06e1a971401fba0fc5263638be83ac258
|
|
| MD5 |
b7810a50283d8f510acf444a0f68e0ac
|
|
| BLAKE2b-256 |
26c61b5bdb92a24596f8b94fe1e632797b00211558bc81b60ff6734679223d5a
|
Provenance
The following attestation bundles were made for diffweave_ai-1.2.2.tar.gz:
Publisher:
release.yml on block/diffweave-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diffweave_ai-1.2.2.tar.gz -
Subject digest:
2ffbf8acdbebfc82ff6ef5fe91609bc06e1a971401fba0fc5263638be83ac258 - Sigstore transparency entry: 714109868
- Sigstore integration time:
-
Permalink:
block/diffweave-ai@d700f34ce54356e68a10cb511395269ff0714ae2 -
Branch / Tag:
refs/tags/v1.2.2 - Owner: https://github.com/block
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d700f34ce54356e68a10cb511395269ff0714ae2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file diffweave_ai-1.2.2-py3-none-any.whl.
File metadata
- Download URL: diffweave_ai-1.2.2-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6588046c5e85a9f47888a50870059531dbbe4065d0d1449e83829a1faa73793
|
|
| MD5 |
43e1285704f0c7322d33ed0d52f5f392
|
|
| BLAKE2b-256 |
3ad886bfef02630881a411293d074856565fe12b5b23d6f3c54ee3bd083509a5
|
Provenance
The following attestation bundles were made for diffweave_ai-1.2.2-py3-none-any.whl:
Publisher:
release.yml on block/diffweave-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diffweave_ai-1.2.2-py3-none-any.whl -
Subject digest:
b6588046c5e85a9f47888a50870059531dbbe4065d0d1449e83829a1faa73793 - Sigstore transparency entry: 714109870
- Sigstore integration time:
-
Permalink:
block/diffweave-ai@d700f34ce54356e68a10cb511395269ff0714ae2 -
Branch / Tag:
refs/tags/v1.2.2 - Owner: https://github.com/block
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d700f34ce54356e68a10cb511395269ff0714ae2 -
Trigger Event:
release
-
Statement type: