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, with optional pre-release filtering
  • 🎯 Release Checking: Verify if a commit/issue/PR is in a specific release
  • 👤 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

# Check if a commit is in a specific release
wtg c62bbcc v2.0.0

# Skip pre-releases when finding the first release
wtg c62bbcc -S

# Fetch latest tags from remote before querying
wtg c62bbcc --fetch

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.3.1.tar.gz (98.2 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.3.1-cp314-cp314-win_amd64.whl (4.4 MB view details)

Uploaded CPython 3.14Windows x86-64

wtg_cli-0.3.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

wtg_cli-0.3.1-cp314-cp314-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

wtg_cli-0.3.1-cp313-cp313-win_amd64.whl (4.4 MB view details)

Uploaded CPython 3.13Windows x86-64

wtg_cli-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wtg_cli-0.3.1-cp313-cp313-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

wtg_cli-0.3.1-cp312-cp312-win_amd64.whl (4.4 MB view details)

Uploaded CPython 3.12Windows x86-64

wtg_cli-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wtg_cli-0.3.1-cp312-cp312-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

wtg_cli-0.3.1-cp311-cp311-win_amd64.whl (4.4 MB view details)

Uploaded CPython 3.11Windows x86-64

wtg_cli-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wtg_cli-0.3.1-cp311-cp311-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1.tar.gz
  • Upload date:
  • Size: 98.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1.tar.gz
Algorithm Hash digest
SHA256 fd70661622a999ad8cf117fb625217d29713de58e9f35439a5d1ba345323ba1d
MD5 507a5343b57a89efab33d8c68da287e0
BLAKE2b-256 6729c4deeecffcb1db4a5e515bf5a47d1c904d39646b2daac885fcbd2ba618be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 def218b240294341756edf81a109a1ea83dc204a29f871f50a63d28faff1486c
MD5 91f757e402f8a36335005f9e623fc2d3
BLAKE2b-256 6e96546408665cadcf2dd957100d482b7844b9d497e5427f16dab027cfd2102f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ce2542fe3727528306a4be4884eee507cd5d9c598b3f5c58be7777434d90c2d
MD5 07a292862c67df8673f75dc4dfb66031
BLAKE2b-256 90140fa078a7e775851780dff7e26061575c089277be441b1d084b04ba388914

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09c37877d292ad46438b1f7c46cfa0eab704d703132f54e2beda4e5949f58b4d
MD5 bbc4f8d4aed831f4c6d51f9814e80603
BLAKE2b-256 aa7083fade746c0f060875c6b2c0c8d069a0afe24f45446ab8c342391f1e53c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 02da08c5b06819512dde32f395406ba8bcf24134628ae6d189b31e6ef5b2db69
MD5 45e9b286b403c080dd15aaa56890a8ee
BLAKE2b-256 18a8b1749bf043930152aa2e257a3a5225adff179e56569f0a07dd783bc249c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45dc3b04e10a91e089c10ec1690ea143793641a121f9134190f13c89c505dba6
MD5 fcb0790fc7182fd65a061fdce54311c7
BLAKE2b-256 370610720d02b6976e4394888cf9650e44f14c4fa768c4d920c5313f4052f38a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd63765988ff2e33b38b1057e686cd10922b2ffb334c1ea6608c40f1bb5cbef5
MD5 197b9b35db3bf1bbad36b3be8b4e29b0
BLAKE2b-256 d2b3f269a470018c65e9b4e956db579a21f919aa7ea577012e84ba2e3f75cdb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c2690c2c8d9c7eafd5d9868abc76f2cfbf4165018f6b4371a6efc5af96101b25
MD5 fa9bde6314e70ae093cf93719a7cf099
BLAKE2b-256 6d3d1c72cf7ab2120dd69c8005236a676931626b1ccd8798b3906ae65642cd0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99efc9e42364e9929eb67a1d78da4b0a3005617ae44ab3ec080e2e05f736f696
MD5 7bc30bac41ca8779747cb2f90e878588
BLAKE2b-256 29188fce4e4594e452f8d0c95953431353d330a5cea29a16288dd1466866a9ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c8c457ee3956ac28f147a437e5d6aa1205895db27a84d0d6f52cc7b74854646
MD5 e8785c1f9db20538b7f9799514a6e9d8
BLAKE2b-256 7cf3ab3676ce1b830d6bf499e1856c535ffc45b1195306e777bb11a5ffa03cdd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d2dca0831b795ba914d73c3c34741e88be3f7f7189ad8be7cbd9f93856147ef2
MD5 814bfbc4e6b1594985d2520872f4a0f1
BLAKE2b-256 c3e3b8f6f217065127811bfa55ddf315154348ed355df58bfd45fac05b7bcaf3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04fd7e73797280c8df165b9fae93342435b46326d1cfa9f6459000828d992118
MD5 ec2d021ca33b36d81a6c397fc6e44c9b
BLAKE2b-256 2a6d05bad0a4f514d1619fb40b43e066fe4bfba12b5b1732951a34f23031bc3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wtg_cli-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 721bc7832fb564b78041ce894082fc5d7aec041ecf2901f2b1408e24bfd67d85
MD5 62704f78ce8ccacd7a9c3c855198ac1b
BLAKE2b-256 fe0f741f3f3a2db65b4308469e0c3ae4a1d650121d85c2c9b39049312801a61b

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