{"id":47715302,"url":"https://github.com/nguyenyou/kodex","last_synced_at":"2026-04-05T22:00:37.275Z","repository":{"id":347924225,"uuid":"1195758123","full_name":"nguyenyou/kodex","owner":"nguyenyou","description":"Compiler-precise Scala code intelligence, built in Rust. Best for: codebase Q\u0026A, knowledge base generation, onboarding to unfamiliar code, production spec sync.","archived":false,"fork":false,"pushed_at":"2026-03-31T11:02:48.000Z","size":1907,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-03T04:57:36.088Z","etag":null,"topics":["call-graph","cli","code-intelligence","code-navigation","coding-agent","developer-tools","rust","scala","semanticdb","static-analysis"],"latest_commit_sha":null,"homepage":"https://nguyenyou.github.io/kodex/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nguyenyou.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":null,"dco":null,"cla":null}},"created_at":"2026-03-30T03:11:24.000Z","updated_at":"2026-03-31T11:02:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nguyenyou/kodex","commit_stats":null,"previous_names":["nguyenyou/kodex"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/nguyenyou/kodex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenyou%2Fkodex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenyou%2Fkodex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenyou%2Fkodex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenyou%2Fkodex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nguyenyou","download_url":"https://codeload.github.com/nguyenyou/kodex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyenyou%2Fkodex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31374051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"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":["call-graph","cli","code-intelligence","code-navigation","coding-agent","developer-tools","rust","scala","semanticdb","static-analysis"],"created_at":"2026-04-02T18:54:28.003Z","updated_at":"2026-04-03T20:01:15.345Z","avatar_url":"https://github.com/nguyenyou.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"555\" height=\"362\" alt=\"kodex-mascot\" src=\"site/banner-transparent.png\" /\u003e\n\u003c/p\u003e\n\n# kodex\n\n**K**nowledge + C**ode** + Inde**x** = **Kodex.** Compiler-precise Scala code intelligence for coding agents.\n\n**Best for:** codebase Q\u0026A, knowledge base generation, onboarding to unfamiliar code, production spec sync.\n\n\u003e Our mascot is a raven, inspired by Odin's ravens Huginn and Muninn — who flew across the world each day and returned to whisper everything they had seen. kodex does the same for codebases.\n\n## Why I Built This\n\nI work across many domains and products at work — codebases I don't have deep knowledge about. The usual workflow: figure out how to set something up, realize I don't know how, go find the engineer who owns that domain and ask them. That's friction.\n\nI built kodex so that Claude Code can answer those questions instead. *How do I create X? How does Y work? What are the requirements for Z to be properly set up?* It traces through the compiled codebase and gives me a precise answer.\n\nThis tool is built for **reading code, not writing code**.\n\n## Quick Start\n\n**1. 🪶 Summon it** — install the plugin (one-time):\n\n```\n/plugin marketplace add nguyenyou/kodex\n/plugin install kodex@kodex-marketplace\n```\n\n**2. 🚀 Let it fly** — ask away:\n\n```\nuse kodex to explore how authentication works in this codebase\n```\n\n\u003e The coding agent knows how to compile SemanticDB for Mill, sbt, and scala-cli projects — just ask and it will handle the build for you.\n\n## Recommended Workflows\n\n### Knowledge base generator (automated)\n\nA server runs daily/weekly to clone the production codebase, compile SemanticDB, and let an AI agent use kodex to generate product specs. Specs stay in sync with the actual code — generated from code, not the other way around.\n\n### Read-only explorer (what I use)\n\nKeep two clones of the production codebase:\n- **Read-only clone** — compiled with SemanticDB, used with kodex for understanding\n- **Working clone** — where you write code\n\nYour kodex index stays stable and doesn't get invalidated by in-progress changes.\n\n## scalex vs kodex\n\n```\nscalex:  .scala ──▶ Parser ──▶ AST ──▶ Index \u0026 Query\nkodex:   .scala ──▶ Compiler ──▶ SemanticDB ──▶ Index \u0026 Query\n                    (expensive)   (precise)\n```\n\n|  | **scalex** | **kodex** |\n|---|---|---|\n| **Setup cost** | None — instant on any Scala codebase | Requires a full compile |\n| **Accuracy** | Best-effort (unresolved implicits, overloads) | Compiler-precise — every symbol resolved |\n| **Speed to first query** | Seconds | Minutes (compile time) |\n| **Best for** | Quick exploration, reading unfamiliar code | Deep understanding, production codebases |\n\nI use both. **scalex** is my default for open source projects and libraries — no setup, instant answers. Opus 4.6 is good enough at reasoning that AST + source code alone is more than enough to explain how a project works. **kodex** is for production codebases where I already compile the code for work, so the cost is paid and I want compiler-precise accuracy.\n\n## Credits\n\n- **[Scala](https://github.com/scala/scala3) \u0026 [Scalameta](https://github.com/scalameta/scalameta)** — for building [SemanticDB](https://scalameta.org/docs/semanticdb/guide.html), the compiler output format that makes this tool possible.\n- **[Metals](https://github.com/scalameta/metals)** — for showing how to compile SemanticDB across sbt and scala-cli projects.\n- Built with **[Claude Code](https://claude.com/claude-code)** (Opus 4.6).\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyenyou%2Fkodex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnguyenyou%2Fkodex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyenyou%2Fkodex/lists"}