一键导入
ksrc
// Search/read 3rd-party Gradle dependency sources. Avoid directly accessing `.gradle`; instead, proactively use this skill to inspect source code of dependencies to learn API shapes or implementations.
// Search/read 3rd-party Gradle dependency sources. Avoid directly accessing `.gradle`; instead, proactively use this skill to inspect source code of dependencies to learn API shapes or implementations.
| name | ksrc |
| description | Search/read 3rd-party Gradle dependency sources. Avoid directly accessing `.gradle`; instead, proactively use this skill to inspect source code of dependencies to learn API shapes or implementations. |
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.KMP note: --module group:artifact searches common/base sources plus Gradle-selected platform variant source jars by default. Use --targets or --config to narrow variants.
ksrc cat org.jetbrains.kotlinx:kotlinx-datetime:0.8.0!/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.ksrc respects GRADLE_USER_HOME. Use --gradle-user-home <path> to override it for both Gradle invocation and cache fallback.--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--gradle-user-home <path> override GRADLE_USER_HOME / ~/.gradle--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.