rtk-ai/rtk

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

Open

#2 158 ouverte le 29 mai 2026

Voir sur GitHub
 (1 commentaire) (0 réactions) (0 assignés)Rust (2 914 forks)batch import
area:clienhancementhelp wantedpriority:medium

Métriques du dépôt

Stars
 (48 085 stars)
Métriques de merge PR
 (Merge moyen 8j 17h) (49 PRs mergées en 30 j)

Description

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.

Guide contributeur