
Security News
Rust RFC Proposes a Security Tab on crates.io for RustSec Advisories
Rustâs crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.
@joelthompson/gi
Advanced tools
`gi` is a command-line tool that uses AI to generate meaningful commit messages for your git changes. It analyzes your diff, understands the changes made, and creates conventional commit messages that accurately describe your work. No more struggling with
gi is a command-line tool that uses AI to generate meaningful commit messages for your git changes. It analyzes your diff, understands the changes made, and creates conventional commit messages that accurately describe your work. No more struggling with commit message wording or forgetting what changes you made!
You can install gi globally from npm:
npm install -g @joelthompson/gi
Or if you prefer using pnpm:
pnpm add -g @joelthompson/gi
After installation, the gi command will be available globally in your terminal.
NOTE: i'm updating frequently, so you may need to run pnpm update -g @joelthompson/gi to get the latest version.
It uses an openai api key, and expects a config file in ~/.gi.config.json.
example config file:
{
"openaiApiKey": "your key here"
}
Important: The -c (commit) flag is required to perform any actions. Running the tool without flags will show the help screen:
# No flags passed
$ gi
Flags passed: {"dryRun":false,"commit":false,"verbose":false,"yesCommit":false}
No action taken. Please use one of the following options:
--commit (-c) Generate and apply an AI commit message
--dry-run (-d) Show what would be committed without making changes
--verbose (-v) Show detailed output including full diff
--yesCommit (-y) Skip confirmation and commit directly
# Generate an AI commit message and prompt for confirmation
$ gi -c
message: feat: add user authentication system
Press Y to confirm or N to cancel
# Dry run - shows the AI-generated message without committing
$ gi -c -d
message: docs: update API documentation
# Show verbose output including the full diff being analyzed
$ gi -c -v
message: feat: add new feature
Press Y to confirm or N to cancel
# Skip confirmation and commit directly with AI-generated message
$ gi -c -y
message: fix: resolve login issue
I prefer to set an alias for my preffered way to run the tool. Example:
alias gii="gi -c -y"
The tool will:
Special cases:
$ gi
Usage
$ gi [options]
Options
-c, --commit Add and commit changes with AI-generated message
-d, --dry-run Show what would be committed without making changes
-v, --verbose Show detailed output including full diff
-y, --yesCommit Skip confirmation and commit directly
Examples
$ gi -c
# Generates commit message and prompts for confirmation
$ gi -c -d
# Shows generated message without committing
$ gi -c -v
# Shows full diff and generated message
$ gi -c -y
# Commits changes immediately with AI message
FAQs
`gi` is a command-line tool that uses AI to generate meaningful commit messages for your git changes. It analyzes your diff, understands the changes made, and creates conventional commit messages that accurately describe your work. No more struggling with
We found that @joelthompson/gi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Rustâs crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.

Security News
/Research
Socket found a Rust typosquat (finch-rust) that loads sha-rust to steal credentials, using impersonation and an unpinned dependency to auto-deliver updates.

Research
/Security Fundamentals
A pair of typosquatted Go packages posing as Googleâs UUID library quietly turn helper functions into encrypted exfiltration channels to a paste site, putting developer and CI data at risk.