Skip to content

v1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Aug 13:03
f54ff81

[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$').