Skip to main content

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.

Metadata

Release files for wtg-cli 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wtg-cli 0.3.1
File Size Uploaded Provenance
wtg_cli-0.3.1.tar.gz 98.2 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for wtg-cli 0.3.1
File
wtg_cli-0.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
wtg_cli-0.3.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
wtg_cli-0.3.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
wtg_cli-0.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
wtg_cli-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
wtg_cli-0.3.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
wtg_cli-0.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
wtg_cli-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
wtg_cli-0.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
wtg_cli-0.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
wtg_cli-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
wtg_cli-0.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 58.4 MB

Release files / wtg_cli-0.3.1.tar.gz

Download URL wtg_cli-0.3.1.tar.gz
Size 98.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fd70661622a999ad8cf117fb625217d29713de58e9f35439a5d1ba345323ba1d
BLAKE2b-256 checksum
How to use checksums
6729c4deeecffcb1db4a5e515bf5a47d1c904d39646b2daac885fcbd2ba618be
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp314-cp314-win_amd64.whl

Download URL wtg_cli-0.3.1-cp314-cp314-win_amd64.whl
Size 4.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
def218b240294341756edf81a109a1ea83dc204a29f871f50a63d28faff1486c
BLAKE2b-256 checksum
How to use checksums
6e96546408665cadcf2dd957100d482b7844b9d497e5427f16dab027cfd2102f
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL wtg_cli-0.3.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.5 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3ce2542fe3727528306a4be4884eee507cd5d9c598b3f5c58be7777434d90c2d
BLAKE2b-256 checksum
How to use checksums
90140fa078a7e775851780dff7e26061575c089277be441b1d084b04ba388914
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL wtg_cli-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
Size 3.8 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
09c37877d292ad46438b1f7c46cfa0eab704d703132f54e2beda4e5949f58b4d
BLAKE2b-256 checksum
How to use checksums
aa7083fade746c0f060875c6b2c0c8d069a0afe24f45446ab8c342391f1e53c5
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp313-cp313-win_amd64.whl

Download URL wtg_cli-0.3.1-cp313-cp313-win_amd64.whl
Size 4.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
02da08c5b06819512dde32f395406ba8bcf24134628ae6d189b31e6ef5b2db69
BLAKE2b-256 checksum
How to use checksums
18a8b1749bf043930152aa2e257a3a5225adff179e56569f0a07dd783bc249c9
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL wtg_cli-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.5 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
45dc3b04e10a91e089c10ec1690ea143793641a121f9134190f13c89c505dba6
BLAKE2b-256 checksum
How to use checksums
370610720d02b6976e4394888cf9650e44f14c4fa768c4d920c5313f4052f38a
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL wtg_cli-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
Size 3.8 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dd63765988ff2e33b38b1057e686cd10922b2ffb334c1ea6608c40f1bb5cbef5
BLAKE2b-256 checksum
How to use checksums
d2b3f269a470018c65e9b4e956db579a21f919aa7ea577012e84ba2e3f75cdb4
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp312-cp312-win_amd64.whl

Download URL wtg_cli-0.3.1-cp312-cp312-win_amd64.whl
Size 4.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c2690c2c8d9c7eafd5d9868abc76f2cfbf4165018f6b4371a6efc5af96101b25
BLAKE2b-256 checksum
How to use checksums
6d3d1c72cf7ab2120dd69c8005236a676931626b1ccd8798b3906ae65642cd0a
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL wtg_cli-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.5 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
99efc9e42364e9929eb67a1d78da4b0a3005617ae44ab3ec080e2e05f736f696
BLAKE2b-256 checksum
How to use checksums
29188fce4e4594e452f8d0c95953431353d330a5cea29a16288dd1466866a9ff
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL wtg_cli-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 3.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1c8c457ee3956ac28f147a437e5d6aa1205895db27a84d0d6f52cc7b74854646
BLAKE2b-256 checksum
How to use checksums
7cf3ab3676ce1b830d6bf499e1856c535ffc45b1195306e777bb11a5ffa03cdd
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp311-cp311-win_amd64.whl

Download URL wtg_cli-0.3.1-cp311-cp311-win_amd64.whl
Size 4.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d2dca0831b795ba914d73c3c34741e88be3f7f7189ad8be7cbd9f93856147ef2
BLAKE2b-256 checksum
How to use checksums
c3e3b8f6f217065127811bfa55ddf315154348ed355df58bfd45fac05b7bcaf3
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL wtg_cli-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
04fd7e73797280c8df165b9fae93342435b46326d1cfa9f6459000828d992118
BLAKE2b-256 checksum
How to use checksums
2a6d05bad0a4f514d1619fb40b43e066fe4bfba12b5b1732951a34f23031bc3f
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / wtg_cli-0.3.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL wtg_cli-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Size 3.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
721bc7832fb564b78041ce894082fc5d7aec041ecf2901f2b1408e24bfd67d85
BLAKE2b-256 checksum
How to use checksums
fe0f741f3f3a2db65b4308469e0c3ae4a1d650121d85c2c9b39049312801a61b
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for wtg-cli 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page