rtk-ai/rtk

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

Open

Aperta il 29 mag 2026

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

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