GithubVerify 0.2.0
dotnet tool install --global GithubVerify --version 0.2.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local GithubVerify --version 0.2.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=GithubVerify&version=0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package GithubVerify --version 0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
GithubVerify
A .NET CLI tool to help you configure and verify SSH-based commit signing for GitHub.
Built with ❤️ by The Standard Organization, a coalition of the Good-Hearted Engineers.
Repository: https://github.com/hassanhabib/GithubVerify
✨ Features
- ✅ Check if Git commit signing is enabled and uses SSH
- 🔐 Generate SSH keys and configure Git signing
- 🔍 Verify that your latest commit is signed and valid
- ♻️ Reset the SSH commit signing configuration safely
🛠 Requirements
- .NET 6.0 SDK or later
- Git
- OpenSSH (usually pre-installed on most systems)
- A GitHub account
🚀 Getting Started
Clone and Build
git clone https://github.com/hassanhabib/GithubVerify.git
cd GithubVerify
dotnet build
Run
dotnet run --project GithubVerify.csproj [command] [username] [email]
Or, if compiled:
dotnet GithubVerify.dll [command] [username] [email]
⚙️ Commands
| Command | Description |
|---|---|
check |
Check if Git commit signing is enabled and using SSH |
setup |
Generate SSH key, configure Git to sign commits using SSH |
verify |
Verify that the latest Git commit is signed correctly |
reset |
Reset the SSH signing configuration (removes keys and Git config changes) |
📘 Examples
Check commit signing status
dotnet GithubVerify.dll check
Setup SSH commit signing
dotnet GithubVerify.dll setup hassan hassan@example.com
Verify the latest commit signature
dotnet GithubVerify.dll verify
Reset all Git + SSH signing configuration
dotnet GithubVerify.dll reset
🔐 What setup Does
- Generates
id_ed25519key in~/.sshif missing - Creates
.gnupg/allowed_signersfile with your SSH public key - Updates your global Git configuration with:
gpg.format = sshuser.signingkey = ~/.ssh/id_ed25519.pubcommit.gpgsign = truegpg.ssh.allowedSignersFile = ~/.gnupg/allowed_signers
- Instructs you to upload your public key to GitHub
🚨 Reset Behavior
The reset command will:
- Unset Git configuration values related to SSH commit signing
- Delete the
id_ed25519andid_ed25519.pubfiles from~/.ssh - Delete the
allowed_signersfile from~/.gnupg
⚠️ This is irreversible. Use only if you want to fully reset your signing configuration.
🔑 Upload Your Public Key
After running setup, you must upload your public key to GitHub:
cat ~/.ssh/id_ed25519.pub
Then go to: https://github.com/settings/ssh
🧑💻 Developed By
Hassan Habib
📄 License
The Standard Software License
Copyright © The Standard Organization
See LICENSE for full text.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
This is a beta release