You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[1.3.0] - 2026-08-28
Added
git-find: grep the file paths git knows about. By default it lists tracked and untracked files while honouring .gitignore
(git ls-files --cached --others --exclude-standard), so it behaves like a
git-aware find that never descends into node_modules/ or build output.
Scope flags -t/--tracked, -u/--untracked and -a/--all (include
ignored files) are mutually exclusive; -i, -F, -c and -z mirror the
corresponding grep options, and everything after -- is passed to git as a
pathspec. Output is NUL-safe end to end, and the exit status is 1 when
nothing matches.
git-agent-commit: --model <model> selects the Claude model used to generate
the message (default claude-sonnet-4-6); ignored by the --codex backend.
git-agent-commit: --exclude <pathspec> (repeatable) drops paths from the
staged diff sent to the agent, so lock files and generated output no longer
dominate the generated message.
Fixed
git-agent-commit: --exclude now understands git magic pathspecs. Previously the
value was unconditionally prefixed with :!, so a magic pathspec such as --exclude ':(glob)**/*.lock' became :!:(glob)**/*.lock — which git silently
interprets as excluding a literal file named :(glob)**/*.lock, matching nothing.
The exclusion was therefore a no-op with no error reported. The exclude magic word
is now merged into the user's pathspec while preserving any other magic words
(glob, icase, top, attr:, ...): '*.lock' → :(exclude)*.lock, ':(glob)**/*.lock' → :(exclude,glob)**/*.lock, ':/a/b' → :(exclude,top)a/b, while ':!x' / ':^x' / ':(exclude,icase)x'
are passed through unchanged. Malformed values (bare :, unterminated :(glob)
are now rejected with an error instead of being silently ignored.
Documentation
Commit conventions guide (docs/COMMITRULES.md) documenting the Conventional
Commits format used by this project.
Wiki entry for git-find, including options, examples and the git ls-files | grep one-liner equivalents.
Wiki now covers every script in src/ (24 scripts), and each entry was audited
against its script's actual argument parsing. Corrections:
git-agent-commit: documented the --model and --exclude options, which
the code already supported.
git-add-patch: documented the default no-flag mode (patch-stage every
modified file) and the -a > -d > -s precedence.
git-browse: -b accepts firefox, chrome, chromium, google-chrome; safari and edge were listed but are rejected by the script.
git-check-commitsize: -u/-l are required, and -d defaults to 365 days.
git-lastdiff: added the missing ### Options section (-n, --no-tool, -h) and corrected the one-liner — the script diffs the parent of the
selected commit against HEAD, not the commit itself.
git-sparse-checkout: documented -s (skeleton mode) and -h, stated that -p is colon-separated (the v1.0.3 change was never propagated to the wiki),
that -p is required only without -s, and that the clone is blobless.
git-sprint-commit: documented trailing positional arguments and the
staged-changes precondition.
git-tmp-checkout: documented -h and the auto-generated stash message, and
corrected the one-liner (git stash push -a + git stash apply, so the
stash entry is retained).
git-tree: one-liners now use git ls-tree -r --name-only HEAD to match the
script; an untracked directory yields empty output rather than an error.
git-delete-obsolete-branch: the script fetches with git fetch --prune
(not --all) and deletes with git branch -d (not -D).
git-delete-current-repo: noted that the local origin remote is removed on
success, and documented -n/-h.
git-push-multiple-remotes: noted that the script continues past a failed
push and always exits 0.
Added the previously undocumented -h/--help options for git-create-repo, git-repo-update, git-tree, git-tmp-checkout and git-whoami, plus the fd requirement for git-add-gitkeep and the .yml/.yaml requirement for git-create-repo.
Fixed
git-add-newline: the --help text advertised glob-style ignore patterns
(-i "*.md"), but matching uses bash regex ([[ $file =~ $pattern ]]), so a
glob never matched. The examples now show regexes (-i '\.md$').