Skip to main content

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.

  1. Get an API Key: Create a free key at https://console.groq.com/keys
  2. Create your config: Create a config.yaml with 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.

  1. 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:

  1. Run bark --show-conf > config.yaml to save your current settings to a file.
  2. Edit the config.yaml file with your changes.
  3. Re-assign it by running bark -c config.yaml.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffdog-0.1.5.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diffdog-0.1.5-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

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

Hashes for diffdog-0.1.5.tar.gz
Algorithm Hash digest
SHA256 4d7bb79704f93278d167862046dc0102f57058cbb96d951c94858609bd20932a
MD5 eb148c1be38aec2ffe0c53e85241f9ee
BLAKE2b-256 93853048999d8d5c045b57d6ba054b807874b7bb0f413495ad66e7ce0280a741

See more details on using hashes here.

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

Hashes for diffdog-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f87f635038e710ffac74dbb0c035b397d264f5c3fbddebe6937127318b9226c0
MD5 0bc767ec60173459a5db64642ae9b31e
BLAKE2b-256 c1b283d3e8d3336e306902c399f9fbe8e68b50d104d7eaaedf3204e2233df091

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page