rtk-ai/rtk

Feature Request rtk ssh subcommand — remote command output filtering

Open

#333 aberto em 5 de mar. de 2026

Ver no GitHub
 (2 comments) (2 reactions) (0 assignees)Rust (2.914 forks)batch import
area:clieffort-largeenhancementhelp wantedplatform:macospriority:medium

Métricas do repositório

Stars
 (48.085 stars)
Métricas de merge de PR
 (Mesclagem média 11d 1h) (45 fundiu PRs em 30d)

Description

rtk ssh subcommand — remote command output filtering

Running rtk discover on a codebase with multiple remote dev servers shows SSH as by far the largest unhandled savings opportunity:

TOP UNHANDLED COMMANDS

Command Count Example
ssh [host] 787 ssh host "cd /project && git log --oneline -20"
ssh [host2] 200 ssh host2 "cat /etc/some-config"
ssh [host3] 30 ssh host3 "diff /path/file1 /path/file2"

~1,000 SSH invocations in 30 days, all piping back verbose output that rtk could filter if it had a way to intercept.

Proposed: rtk ssh

rtk ssh user@host "pytest tests/"        # pipe remote stdout through rtk pytest
rtk ssh user@host "git log -n 20"        # pipe through rtk git log
rtk ssh user@host "cat big-file.log"     # pipe through rtk log

The subcommand would:

  1. Execute the remote command via SSH normally
  2. Detect the remote command type (first token after the quoted string)
  3. Pipe stdout through the appropriate existing rtk filter

Why the hook can't handle this today

The PreToolUse hook could rewrite ssh host "cmd"ssh host "cmd" 2>&1 | rtk log, but this breaks exit codes and interactive sessions, so a dedicated subcommand is safer.

Fallback behaviour

If the remote command type isn't recognised, pipe through rtk log (dedup + truncate) as a generic fallback — still better than raw output.

Environment: macOS, Claude Code PreToolUse hook, rtk 0.24.0

Guia do colaborador