Skip to main content

What The Git CLI – snarky Git history sleuth packaged for Python

Project description

What The Git (wtg) 🔍

A snarky but helpful CLI tool to identify git commits, issues, PRs and file changes, and tell you which release they shipped in. Because sometimes you just need to know what the git is going on!

A totally vibe-coded tool, so do not blame me if it hurts your feelings. 😄

PyPI Crates.io CI

Demo

Demo

Try it yourself!

uvx --from wtg-cli wtg https://github.com/go-task/task/issues/1322

Features

  • 🔍 Smart Detection: Automatically identifies what you're looking for (commit hash, issue/PR number, file path, or tag)
  • 🌐 Remote Repository Support: Work with any GitHub repository without cloning it locally
  • 🔗 GitHub URL Parsing: Paste any GitHub URL (commit, issue, PR, file) and wtg figures it out
  • 🎨 Colorful Output: Beautiful terminal output with emojis and colors
  • 😄 Snarky Messages: Helpful error messages with personality
  • 📦 Release Tracking: Finds which release first shipped your commit
  • 👤 Blame Info: Shows who's responsible for that pesky bug
  • 🚀 Smart Caching: Efficiently caches remote repositories with minimal disk usage
  • 🌐 Graceful Degradation: Works without network or GitHub remote

Installation

Recommended: Python package

Run the (python) CLI without installing anything permanently:

uvx --from wtg-cli wtg --help

Or install it as a global tool (works on macOS, Linux, and Windows):

uv tool install wtg-cli
wtg --help

Alternative: build/install from source

cargo install wtg-cli

Usage

Local Repository

Simply run wtg with any of the following:

# Find a commit by hash
wtg c62bbcc

# Find an issue or PR
wtg 123
wtg #123

# Find a file
wtg Cargo.toml

# Find a tag
wtg v1.2.3

Remote Repository

Query any GitHub repository without cloning it first:

# Using -r flag with owner/repo
wtg -r astral-sh/uv 0.5.0

# Using full GitHub URL
wtg -r https://github.com/astral-sh/uv v0.5.0

# Paste any GitHub URL directly
wtg https://github.com/astral-sh/uv/commit/abc123
wtg https://github.com/astral-sh/uv/issues/42
wtg https://github.com/astral-sh/uv/pull/123
wtg https://github.com/astral-sh/uv/blob/main/README.md

Note: Remote repositories are cached in your system's cache directory for faster subsequent queries. The cache uses --filter=blob:none (Git 2.17+) for minimal disk usage, with automatic fallback to bare clones on older Git versions. On macOS this lives under ~/Library/Caches/wtg/repos, on Linux it defaults to ~/.cache/wtg/repos, and on Windows it follows %LOCALAPPDATA%\wtg\repos.

Output Examples

Commit

🔍 Found commit: c4e0cc8e98d3

💻 The Commit:
   Hash: c4e0cc8
   👤 Who wrote this gem:
      mishamsk (5206955+mishamsk@users.noreply.github.com)
      🔗 https://github.com/mishamsk
   📝 ⬇️ reduce msrv
   📅 2024-11-07 03:37:26
   🔗 https://github.com/mishamsk/sas-lexer/commit/c4e0cc8e98d3e786916ac811c5617ecb68d1a6fd

📦 First shipped in:
   🎉 rust-v1.0.0-beta.3 (rust-v1.0.0-beta.3)
   📅 2024-11-08 03:03:21 U
   🔗 https://github.com/mishamsk/sas-lexer/releases/tag/rust-v1.0.0-beta.3

GitHub Authentication

For better rate limits, set a GitHub token:

  1. Environment variable (recommended):

    export GITHUB_TOKEN=ghp_your_token_here
    
  2. GitHub CLI: wtg automatically reads from ~/.config/gh/hosts.yml if you have gh installed

  3. Anonymous: Works without auth but has lower rate limits (60 requests/hour)

How It Works

  1. Opens your git repository
  2. Tries to identify the input type (commit, issue, file, tag)
  3. Fetches additional info from GitHub API if available
  4. Finds the closest release that contains the commit
  5. Displays everything in a beautiful, colorful format

Limitations

  • Only supports GitHub (GitLab and others coming... maybe?)
  • Squashed commits detection not yet implemented
  • No TUI mode (planned for future)

License

MIT

Contributing

Found a bug? Want to add a snarky message? PRs welcome! Just make sure to keep the snark levels high and the code quality higher.

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

wtg_cli-0.2.0.tar.gz (82.3 kB view details)

Uploaded Source

Built Distributions

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

wtg_cli-0.2.0-cp314-cp314-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.14Windows x86-64

wtg_cli-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

wtg_cli-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

wtg_cli-0.2.0-cp313-cp313-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.13Windows x86-64

wtg_cli-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wtg_cli-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

wtg_cli-0.2.0-cp312-cp312-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.12Windows x86-64

wtg_cli-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wtg_cli-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

wtg_cli-0.2.0-cp311-cp311-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.11Windows x86-64

wtg_cli-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wtg_cli-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file wtg_cli-0.2.0.tar.gz.

File metadata

  • Download URL: wtg_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 82.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a95ab558ce53732b857b338afcf65abb37501763c25ab6b01ab59dd8ae53a972
MD5 e2f929f4b880e47009b69042fd80effa
BLAKE2b-256 8cd1dbb0a63e13713706b0bcfdf9f5c3794ee45bc707d58f8ada5031c086c30c

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 be236d3c3684dab261ef1d65aa5c12cc9fc6eaf7b9bcb5f6175616ea12a10f8b
MD5 ce39d69639cf56d5c231e64f6c6bc244
BLAKE2b-256 4d9824d2142ce97348de464e44af9b3257fd34871d1b51ff06fc588447ac0d0b

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f881ce2a718b5abffb26b469bb31816d57e3ae0d113b90a5b09d03ffca901b84
MD5 3f63f9eeab8f271e4be618e618e22f85
BLAKE2b-256 e2b28c1269484233e52704ccbda1c2a5e630532a311659ca9c2ccd65e9b3fbaa

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2293b3533cedc8619be1f41e73ecbebe93fb94d706c9dbd3017d499731113540
MD5 5002363f17b1314a86f20e18d727ca4d
BLAKE2b-256 e418413aa3364597055aa0dcbc1d010aee697d0d952a63271e512516c2246ec8

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a45eb72e83b5a23e53e0ffb5e14e7b5f51234c5561c6e4159405cb9551533362
MD5 a3907de28d1bdf31d5aeeee1cb53795b
BLAKE2b-256 98b89900f491f0b813e2f5c1790a66e2b6a1e6d5d9d5f1cc8178963bff9a269e

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c0e5403af9f80919dd52a79c2328e75e042e6ddc2abf9b2c6f896ca0ac05703
MD5 7d85bd2ee5c5d557bf2c1950ef8e2dbf
BLAKE2b-256 8ec00b5ffefa1eef29dd5fb058f874e82b86ba51dc2c4479053d6403db612538

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 771ac3ecd3597cd30568957cf306ff445cbf396dd8e0c78451fed912ec36d895
MD5 352d8ad6c405a0b5a20f26479f2cdaef
BLAKE2b-256 763216d2cd2e1aa36e2d0f3eb6865461ea1599663785e10efe204a16650acc52

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b2b94ac72b454fe48f7f0ead2adbacacfd61aa39133abc8a62cef3b008285b40
MD5 984aaca8aadcc3ae8cfbb421dbcdcef7
BLAKE2b-256 ec7557d5fd490614c66efa5583e65dee57375e463838097a5e5875ffacc33b8f

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a341a74bf9c7a43087c2c8b2f66e0f17b97361a82b583bb54d7a4de34108be8a
MD5 17e43a476a12d875be60c9dce56582dc
BLAKE2b-256 e50a9d4c3efb81cbd2c3c8993b3dee69cf424358260ac3383a8bf4d59e26d329

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5976a8088435d5af6dd7dcae2d3416286046fb6945c516a03edc5ad9c6237a87
MD5 18677a2f2b210ab82bdc65e58ba4f289
BLAKE2b-256 91c8784856b9e9d6d998fbaf77beb20d92bc7a64f75a7ebe25c5e6339b43a63a

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1c96d2ff661553e4aa9edf696877846599e93e92a6b3987cb06f647aa3d4f493
MD5 79ba143fe8ada949c0c812a14cebc164
BLAKE2b-256 47bd3efcda833b95d61fa4d7054af51f0f967715040daa1d746db267dff5af17

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca177c049d3f9163ef737b02d61b0d72fe7f32d6eb82c92ee094e32af680456d
MD5 d1aec6b10894d69706792a9a7e985371
BLAKE2b-256 369ff259052946b8b5ec2ffae099ab91a00b2c170dfd50849dbcf1ef4e57b3a3

See more details on using hashes here.

File details

Details for the file wtg_cli-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: wtg_cli-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":true}

File hashes

Hashes for wtg_cli-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c667c69ace2ffac7662225ff57f00ed2dcda0dae61cd6a2deda3ba255d2fe5d
MD5 9e6b5dbdc1cbc735de61d795566a24f5
BLAKE2b-256 668e0bb7bc4f1764022d04462a09560dd2e7c90115def92112271d5377762e20

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