rtk-ai/rtk

Feature: support for `jar tf`, `jar xf`, and `javap` commands

Open

#2158 aperta il 29 mag 2026

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)Rust (2914 fork)batch import
area:clienhancementhelp wantedpriority:medium

Metriche repository

Star
 (48.085 star)
Metriche merge PR
 (Merge medio 11g 1h) (45 PR mergiate in 30 g)

Descrizione

Summary

jar tf, jar xf, and javap are not intercepted by RTK. These commands produce large, verbose output when inspecting JVM class files and JAR archives — common during Android/JVM dependency debugging.

Usage data

From rtk discover on an Android monorepo project (last 30 days):

  • 27 invocations of jar xf
  • 13 invocations of jar tf
  • 11 invocations of javap

Example commands seen:

jar tf /tmp/classes.jar
jar xf /Users/sinan.kozak/.gradle/caches/modules-2/files-2.1/com.bumptech.glide/...
javap -p com/bumptech/glide/integration/compose/ExperimentalGlideComposeApi.class

Why it matters

  • jar tf lists every class file in a JAR — large libraries (e.g. Glide, OkHttp) can have thousands of entries
  • jar xf extracts files and is often followed by inspecting extracted content
  • javap -p dumps full decompiled bytecode including all method signatures

All three produce output that is largely noise for the model — it typically only needs a few specific class names or method signatures, not the full listing.

Expected behavior

  • rtk jar tf <jar> — truncate output, show first N entries + summary count ("showing 50 of 3,241 classes")
  • rtk javap <args> — truncate to relevant sections, similar to how RTK handles large grep output
  • rtk jar xf — passthrough (extraction itself produces no stdout, follow-up reads are handled by rtk read)

Current workaround

Pipe through grep manually: jar tf foo.jar | grep SomeClass — but this requires knowing what to grep for upfront.

Guida contributor