rtk-ai/rtk

feat: Extend git subcommand coverage (ls-files, rm, tag)

Open

#1526 opened on Apr 25, 2026

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Rust (48,085 stars) (2,914 forks)batch import
effort-mediumenhancementgood first issue

Description

The rtk git handler covers diff, status, log, add, stash, show, branch, worktree, fetch, pull, push — but misses several commonly-used subcommands.

Currently not intercepted:

$ rtk hook check "git ls-files"     # → exit 1, no rewrite ✗
$ rtk hook check "git rm"           # → exit 1, no rewrite ✗
$ rtk hook check "git tag"          # → exit 1, no rewrite ✗
$ rtk hook check "git cherry-pick"  # → exit 1, no rewrite ✗
$ rtk hook check "git rebase"       # → exit 1, no rewrite ✗
$ rtk hook check "git merge"        # → exit 1, no rewrite ✗
$ rtk hook check "git checkout"     # → exit 1, no rewrite ✗

Highest value:

  • git ls-files (98 calls/month) — in monorepos this can return hundreds of paths. Compact tree output (like rtk find) would be ideal.
  • git rm (92 calls/month) — bulk deletes produce one rm 'path' line per file. Summary format would help.

Lower priority (write operations where full output matters for confirmation):

  • git cherry-pick, git rebase, git merge, git checkout — these have important status output but could still benefit from ANSI stripping.

Usage context: ~280 calls/month for the missing subcommands, primarily in a 12-service monorepo with Claude Code.

Contributor guide