DiffDog 🐕
DiffDog (invoked as bark) is a CLI tool that sniffs through your daily git commits across multiple repositories and uses LLM (Groq) to bark out a clean, formatted daily update summary. It automatically copies the result to your clipboard.
🛠 Installation
Using uv (Recommended)
uv tool install diffdog
Using pip
pip install diffdog
⚙️ Setup
You need a config.yaml file to get started.
- Get an API Key: Create a free key at https://console.groq.com/keys
- Create your config: Create a
config.yamlwith the following structure:
author: "Your Name"
groq_key: "gsk_xxxx..."
model: "llama-3.3-70b-versatile" # Optional
no_copy: false # Optional
repos:
- "~/projects/work-app"
- "~/projects/side-hustle"
titles:
- "Work App"
- "Side Project"
notes: # Optional
- "The updates must sound like a rap"
Note: The author field must have either the name or email you commit with, it's used to get your commits from your repos.
Note: The number of repos must match the number of titles.
- Initialize the tool:
bark -c path/to/your/config.yaml
🚀 Usage
Generate and copy summary to clipboard:
bark
Print summary without copying to clipboard:
bark --no-copy
Pass notes to the bot to customize the summary:
bark --note "The updates must sound like a rap"
Register a repo (not specifying a path registers the current directory):
bark --repo ~/path/to/repo --title "A project of mine"
Register a repo with a perferred branch (defaults to main):
bark --repo ~/path/to/repo --title "A project of mine" --branch some-branch
Unregister a repo (not specifying a path unregisters the current directory):
bark --rm-repo ~/path/to/repo
View current configuration:
bark --show-conf
🔄 Updating Configuration
If you need to change your settings:
- Run
bark --show-conf > config.yamlto save your current settings to a file. - Edit the
config.yamlfile with your changes. - Re-assign it by running
bark -c config.yaml.
Metadata
Release files for diffdog 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| diffdog-0.1.5.tar.gz | 4.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| diffdog-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.4 kB
Release files / diffdog-0.1.5.tar.gz
| Download URL | diffdog-0.1.5.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4d7bb79704f93278d167862046dc0102f57058cbb96d951c94858609bd20932a
|
|
BLAKE2b-256 checksum How to use checksums |
93853048999d8d5c045b57d6ba054b807874b7bb0f413495ad66e7ce0280a741
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / diffdog-0.1.5-py3-none-any.whl
| Download URL | diffdog-0.1.5-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f87f635038e710ffac74dbb0c035b397d264f5c3fbddebe6937127318b9226c0
|
|
BLAKE2b-256 checksum How to use checksums |
c1b283d3e8d3336e306902c399f9fbe8e68b50d104d7eaaedf3204e2233df091
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|