From ksrc
Searches and reads source code from 3rd-party Gradle dependencies using rg-style globs and cat commands. Use to inspect API shapes and implementations in Kotlin/Java projects.
npx claudepluginhub respawn-app/ksrcThis skill uses the workspace's default tool permissions.
1. Search dependencies to retrieve coordinates and matches using rg-style globs: `ksrc search "class LocalDate\("`
Accesses definitive source code of project dependencies via vector search and direct file reads for API signatures, error debugging, internals, configs, and tests.
Looks up public API of JVM dependencies (Scala 3/2, Java) from terminal: type signatures, members, docs, source as Markdown. No JAR unpacking; queries project classpath or external Maven artifacts.
Performs structural code searches for symbols, classes, usages, implementations, hierarchies, dependencies, and project maps using ast-index CLI in Kotlin/Java, Swift/ObjC, TypeScript/JS, Rust, Ruby, C#, Dart/Flutter, Scala, PHP, Perl, Python, Go, C++ projects.
Share bugs, ideas, or general feedback.
ksrc search "class LocalDate\("If you want faster execution & less noise, consider adding:
--artifact to limit search to one artifact, (or --module to also limit by version)--subproject to help discovery for monorepos/large modular apps--targets to limit to specific KMP targets.ksrc cat org.jetbrains.kotlinx:kotlinx-datetime:0.7.1!/kotlinx/datetime/LocalDate.kt --lines 1,200File-id format: group:artifact:version!/path/inside/jar.ext — works for any language in the source JAR (e.g. .kt, .java, .groovy)
When a file-id comes from ksrc search or ksrc where <path>, follow-up cat/open usually do not need repeated --project or scope/config flags on same machine.
Give this tool generous timeouts. It can take a few minutes to download sources and set up gradle.
--project with app project (not monorepo root), specifying --scope (esp. for build-time deps), or ksrc doctor.E_NO_SOURCES: dependency sources not available; try ksrc deps, ksrc fetch <coord>, specify a project and scope.--project path explicitly, c) install gradle on machine.ksrc falls back to cache-only resolution and warns; when no version is pinned it picks the highest cached source-bearing version under Maven-style ordering. Re-run with -v to see Gradle output for debugging.--module, --group, or --artifact to narrow scope.ksrc search <pattern> [-- <rg-args>]Search dependency sources.
Output format: <file-id> <line>:<col>:<line-text>
Parsing rule:
<file-id>.:-delimited decimal fields as <line> and <col>.<line-text>; it may contain :.With --show-extracted-path, output shape changes to:
<file-id>\t<quoted-extracted-path>\t<line>\t<col>\t<quoted-line-text>
Common flags:
--all search across all resolved deps (default, slow)--project <path> project root (default .)--subproject <name> limit to a subproject (repeatable)--targets <list> limit KMP targets (comma‑separated: jvm,android,iosX64)--config <name> resolve specific configuration(s) (comma‑separated)--scope <compile|runtime|test|all>--module <glob> module filter (group:artifact[:version])--group <glob> / --artifact <glob> / --version <glob>--offline only use cached sources--refresh force dependency refresh--context <n> shortcut for rg -C <n> (context lines emit column 0)--rg-args <args> extra rg args (comma‑separated)-- <rg-args> pass through raw rg args--show-extracted-path include temp extracted paths in output (off by default)ksrc cat <file-id|path>Print file contents.
Common flags:
--lines <start,end> 1‑based inclusive range--module <glob> / --group / --artifact / --version to disambiguate when using a pathksrc open <file-id|path>Open in $PAGER (defaults to less -R). Same flags as cat.
ksrc depsList resolved dependencies and source availability.
ksrc resolveResolve and print source JARs: group:artifact:version|/path/to/sources.jar.
ksrc fetch <coord>Ensure sources for a coordinate exist: group:artifact:version. Usually only needed with offline mode.
ksrc where <path|coord>Locate cached source JAR or file.
ksrc doctorBasic diagnostics for environment issues.