Add your description here
Project description
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.
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 diffdog-0.1.5.tar.gz.
File metadata
- Download URL: diffdog-0.1.5.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d7bb79704f93278d167862046dc0102f57058cbb96d951c94858609bd20932a
|
|
| MD5 |
eb148c1be38aec2ffe0c53e85241f9ee
|
|
| BLAKE2b-256 |
93853048999d8d5c045b57d6ba054b807874b7bb0f413495ad66e7ce0280a741
|
File details
Details for the file diffdog-0.1.5-py3-none-any.whl.
File metadata
- Download URL: diffdog-0.1.5-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f87f635038e710ffac74dbb0c035b397d264f5c3fbddebe6937127318b9226c0
|
|
| MD5 |
0bc767ec60173459a5db64642ae9b31e
|
|
| BLAKE2b-256 |
c1b283d3e8d3336e306902c399f9fbe8e68b50d104d7eaaedf3204e2233df091
|