Automate git using Raycast AI!
brew install jag-k/tap/git-raycastDownload latest build from Releases and install it in any directory in your PATH.+
git-raycast
# OR
git raycastmessage- Create commit message based on changesmr/pr- Generate MR/PR Summary messagesummary- Create daily summary based on changes since yesterday
By default, message generates a commit message from staged changes. If nothing is staged, it falls back to unstaged changes:
git-raycast messageUse --changes to select changes explicitly:
git-raycast message --changes stage # staged changes only
git-raycast message --changes unstage # unstaged changes only
git-raycast message --changes all # both, labeled as separate sectionsSet the default globally or for the current repository with Git config:
git config --global git-raycast.message-changes stage
git config git-raycast.message-changes allThe --changes flag takes priority over Git config, including when explicitly set to auto.
By default, git-raycast opens commands in stable Raycast:
git-raycast messageFor Raycast beta, use:
git-raycast --raycast-version beta message
# OR
GIT_RAYCAST_VERSION=beta git-raycast message
# OR
git config --global git-raycast.raycast-version betaSettings priority is: CLI argument or flag, environment variable, Git config, default value.
Raycast beta uses the raycast-x:// scheme and expects command arguments as URL-encoded JSON. The decoded arguments payload is:
{"diff":"..."}Which is opened as:
raycast-x://extensions/raycast/ai/{command-name}?arguments=%7B%22diff%22%3A%22...%22%7D
For stable Raycast, the argument is passed as plain text in arguments.
Command names can also be configured with Git config:
git config --global git-raycast.message-name git-commit-message
git config --global git-raycast.summary-name daily-summary
git config --global git-raycast.mr-pr-summary-name mr-pr-summary
git config --global git-raycast.message-changes autoOmit --global to set a value only for the current repository.
Requirements:
- Go version 1.22 or higher
Install dependencies:
go mod downloadBuild:
go build -o ./bin/git-raycast ./git-raycastRun:
./bin/git-raycast
# or
go run ./git-raycast