{"id":35646331,"url":"https://github.com/respawn-app/ksrc","last_synced_at":"2026-03-06T00:14:01.056Z","repository":{"id":332410851,"uuid":"1127871602","full_name":"respawn-app/ksrc","owner":"respawn-app","description":"Let your AI agents search and read 3rd-party Kotlin dependency sources","archived":false,"fork":false,"pushed_at":"2026-01-31T18:51:47.000Z","size":318,"stargazers_count":39,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-13T06:19:12.664Z","etag":null,"topics":["agents","ai","cli","dependency","gradle","java","kotlin"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/respawn-app.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-04T18:51:57.000Z","updated_at":"2026-02-11T08:08:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/respawn-app/ksrc","commit_stats":null,"previous_names":["respawn-app/ksrc"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/respawn-app/ksrc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respawn-app%2Fksrc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respawn-app%2Fksrc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respawn-app%2Fksrc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respawn-app%2Fksrc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/respawn-app","download_url":"https://codeload.github.com/respawn-app/ksrc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/respawn-app%2Fksrc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30156267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"ssl_error","status_checked_at":"2026-03-05T22:39:24.771Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","cli","dependency","gradle","java","kotlin"],"created_at":"2026-01-05T13:15:06.254Z","updated_at":"2026-03-06T00:14:01.039Z","avatar_url":"https://github.com/respawn-app.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ksrc\n\n**One‑liner search and read for Gradle 3rd-party dependency sources for AI agents.**\n\nYour AI agents take ~10 steps just to see a single function signature in a third-party library. `ksrc` turns that into two commands and ~4x less tokens.\n\n## What it is\n\nIt's a CLI utility to enable efficient dependency source search for AI agents working with Gradle projects.\n\nEver saw an AI agent find a function's signature in TypeScript/Python? Simple `rg` over `node_modules` and a `sed` call is all it needs to discover APIs and signatures.\n\nWith Gradle ecosystems, agents have to take a 15-step journey to download, locate, unpack and ripgrep source jars.\n`ksrc` turns 16k tokens wasted on that into 2 CLI commands.\n\n## 1. Install the tool\n\nStart by installing the **command itself**.\n\n### Homebrew (macOS/Linux) - recommended, auto-updated:\n\n```\nbrew tap respawn-app/tap\nbrew install ksrc\n```\n\n### Standalone binaries via GitHub Releases:\n\nInstall script (macOS/Linux):\n\n```\ncurl -fsSL https://raw.githubusercontent.com/respawn-app/ksrc/main/scripts/install.sh | sh\n```\n\n### Manual install: \n\nDownload the appropriate archive for your OS/arch from [releases](https://github.com/respawn-app/ksrc/releases) and place `ksrc` on your `PATH`.\n\n## 2. Teach agents how to use it\n\nNext up, install the claude code plugin/skill, to let your agents know they _can_ use `ksrc` and how to use it.\n\n### Claude Code\n\nAdd the Respawn marketplace, then install the plugin:\n\n```\n/plugin marketplace add respawn-app/claude-plugin-marketplace\n/plugin install ksrc@respawn-tools\n```\n\n### Codex skill\n\nInstall from the public GitHub path:\n\n```\n$skill-installer install https://github.com/respawn-app/ksrc/tree/main/skills/ksrc\n```\n\n### MCP (Model Context Protocol)\n\nUse when your agent doesn't have `bash` tool. Configure your MCP client to spawn the stdio server:\n\n```json\n{\n  \"mcpServers\": {\n    \"ksrc\": {\n      \"command\": \"ksrc\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n```\n\nDefault tools: `search`, `cat`, `deps`. Enable more via `--tools=\u003clist\u003e` (e.g., `--tools=search,cat,deps,resolve` or `--tools=all`).\n\nYou shouldn't need the skill if you use mcp, but if your agent has access to `bash` tool, prefer CLI+bash instead of the mcp.\n\n### AGENTS.md prompt\n\n\u003e Avoid directly accessing `.gradle`; instead, proactively use `ksrc` bash tool to inspect source code of dependencies to learn API shapes or implementations. Start with `ksrc --help`.\n\n## Usage\n\nGive this tool larger timeouts - it can take a minute to download sources (if needed) and resolve gradle projects. \n\n1. Start by using ksrc search to get the file identifier and lines you need. Example:\n\n```bash\n$ ksrc search \"updateState\u003c\"\npro.respawn.flowmvi:core:3.3.0-alpha03!/commonMain/pro/respawn/flowmvi/api/StateReceiver.kt 19:8: updateState\u003cState.Subtype, _\u003e { }\n```\nThe tool returns found artifacts, versions, source sets, paths, and lines in a single common format that's chainable with other commands, rg-style.\n\nIf you want faster execution \u0026 less noise, specify:\n- `--artifact` to limit search to one artifact, (or `--module` to also limit by version)\n- `--subproject` to help discovery for monorepos/large modular apps\n- `--targets` to limit to specific KMP targets. \n\n2. When you have found the desired artifact, read the file contents:\n\n```bash\n$ ksrc cat 'pro.respawn.flowmvi:core:3.3.0-alpha03!/commonMain/pro/respawn/flowmvi/api/StateReceiver.kt' --lines 10,25\n```\n\n## License\n\nThis program is licensed under the Apache License, Version 2.0.\n\nSee `LICENSE.txt`.\n\nCopyright 2026 Respawn LLC\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frespawn-app%2Fksrc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frespawn-app%2Fksrc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frespawn-app%2Fksrc/lists"}