Skip to content

feat(hook): handle global options before subcommands#99

Merged
pszymkowiak merged 3 commits intortk-ai:masterfrom
mhcoen:feat/global-options-normalization
Feb 15, 2026
Merged

feat(hook): handle global options before subcommands#99
pszymkowiak merged 3 commits intortk-ai:masterfrom
mhcoen:feat/global-options-normalization

Conversation

@mhcoen
Copy link
Contributor

@mhcoen mhcoen commented Feb 13, 2026

Summary

  • Normalize git, cargo, docker, and kubectl commands by stripping global options to find the subcommand before matching
  • git -C /path status, cargo +nightly test, docker -H host ps, kubectl --context prod get pods now correctly rewrite
  • Preserves all original arguments (including global options) in the rewritten rtk command

Tools affected

Tool Global options now handled
git -C <path>, -c k=v, --no-pager, --no-optional-locks, --bare, --literal-pathspecs, --key=val
cargo +nightly, +stable, +1.75.0
docker -H <host>, --context <ctx>, --config <path>, --key=val
kubectl --context <ctx>, -n <ns>, --kubeconfig <path>, --namespace <ns>, --key=val

Test plan

🤖 Generated with Claude Code

mhcoen and others added 2 commits February 12, 2026 20:40
…ibility

Replace \s with [[:space:]] in all grep -E patterns. The \s shorthand
is a PCRE extension not guaranteed by POSIX ERE, causing intermittent
match failures on macOS depending on grep version and locale settings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ker/kubectl

Normalize commands by stripping global options (git -C, --no-pager;
cargo +toolchain; docker -H, --context; kubectl --context, -n) to
correctly identify the subcommand for rewrite matching. Preserves all
original arguments in the rewritten command.
@pszymkowiak
Copy link
Collaborator

please review conlficts error ( rebase )

…ns-normalization

# Conflicts:
#	hooks/rtk-rewrite.sh
@mhcoen
Copy link
Contributor Author

mhcoen commented Feb 14, 2026

I fixed the merge conflicts

@pszymkowiak pszymkowiak merged commit 7401f10 into rtk-ai:master Feb 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants