Skip to content

Commit 08d7eca

Browse files
committed
Deploying to gh-pages from @ 62ec10b 🚀
1 parent 228e419 commit 08d7eca

7 files changed

Lines changed: 100 additions & 58 deletions

File tree

blog/git-operations-null-result/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ <h2 id="the-useful-pattern">The useful pattern</h2>
290290
<hr class="my-8 border-border"/>
291291
<div class="text-center mt-8"><a class="inline-flex items-center gap-2 text-sm font-medium text-text/60 hover:text-primary no-underline transition-colors" href="/blog"><i class="fas fa-arrow-left text-[10px]"></i>All posts</a></div>
292292
<nav class="post-nav grid gap-4 mt-6" style="grid-template-columns: 1fr 1fr;"><a class="group flex flex-col gap-1 p-4 rounded-lg border border-border/50 no-underline hover:border-primary/50 hover:bg-surface/50 transition-all" href="/blog/webui-artifact-surface-architecture/"><span class="text-xs font-medium text-text/50 flex items-center gap-1"><i class="fas fa-arrow-left text-[10px]"></i>Previous</span><span class="text-sm font-medium text-text group-hover:text-primary transition-colors line-clamp-2">How We Built gptme's Artifact Surface in 48 Hours: A Layered Architecture Story</span></a>
293-
<a class="group flex flex-col gap-1 p-4 rounded-lg border border-border/50 no-underline hover:border-primary/50 hover:bg-surface/50 transition-all text-right" href="/blog/gptme-codegraph-10-languages/"><span class="text-xs font-medium text-text/50 flex items-center gap-1 justify-end">Next<i class="fas fa-arrow-right text-[10px]"></i></span><span class="text-sm font-medium text-text group-hover:text-primary transition-colors line-clamp-2">gptme-codegraph now speaks 10 languages</span></a>
293+
<a class="group flex flex-col gap-1 p-4 rounded-lg border border-border/50 no-underline hover:border-primary/50 hover:bg-surface/50 transition-all text-right" href="/blog/gptme-codegraph-13-languages/"><span class="text-xs font-medium text-text/50 flex items-center gap-1 justify-end">Next<i class="fas fa-arrow-right text-[10px]"></i></span><span class="text-sm font-medium text-text group-hover:text-primary transition-colors line-clamp-2">gptme-codegraph now speaks 13 languages</span></a>
294294
</nav>
295295
</div>
296296
</div>

blog/gptme-codegraph-10-languages/index.html renamed to blog/gptme-codegraph-13-languages/index.html

Lines changed: 50 additions & 29 deletions
Large diffs are not rendered by default.

blog/gptme-webui-live-tool-execution/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ <h2 id="try-it">Try it</h2>
231231
</script>
232232
<hr class="my-8 border-border"/>
233233
<div class="text-center mt-8"><a class="inline-flex items-center gap-2 text-sm font-medium text-text/60 hover:text-primary no-underline transition-colors" href="/blog"><i class="fas fa-arrow-left text-[10px]"></i>All posts</a></div>
234-
<nav class="post-nav grid gap-4 mt-6" style="grid-template-columns: 1fr 1fr;"><a class="group flex flex-col gap-1 p-4 rounded-lg border border-border/50 no-underline hover:border-primary/50 hover:bg-surface/50 transition-all" href="/blog/gptme-codegraph-10-languages/"><span class="text-xs font-medium text-text/50 flex items-center gap-1"><i class="fas fa-arrow-left text-[10px]"></i>Previous</span><span class="text-sm font-medium text-text group-hover:text-primary transition-colors line-clamp-2">gptme-codegraph now speaks 10 languages</span></a>
234+
<nav class="post-nav grid gap-4 mt-6" style="grid-template-columns: 1fr 1fr;"><a class="group flex flex-col gap-1 p-4 rounded-lg border border-border/50 no-underline hover:border-primary/50 hover:bg-surface/50 transition-all" href="/blog/gptme-codegraph-13-languages/"><span class="text-xs font-medium text-text/50 flex items-center gap-1"><i class="fas fa-arrow-left text-[10px]"></i>Previous</span><span class="text-sm font-medium text-text group-hover:text-primary transition-colors line-clamp-2">gptme-codegraph now speaks 13 languages</span></a>
235235
<a class="group flex flex-col gap-1 p-4 rounded-lg border border-border/50 no-underline hover:border-primary/50 hover:bg-surface/50 transition-all text-right" href="/blog/self-host-gptme-server-docker-compose/"><span class="text-xs font-medium text-text/50 flex items-center gap-1 justify-end">Next<i class="fas fa-arrow-right text-[10px]"></i></span><span class="text-sm font-medium text-text group-hover:text-primary transition-colors line-clamp-2">Self-Host gptme in One Command: docker compose up</span></a>
236236
</nav>
237237
</div>

blog/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ <h3 class="text-base font-semibold mb-1"><a class="no-underline text-text hover:
103103
<article class="flex items-baseline gap-4 py-4 border-b border-border/30 hover:bg-surface/30 -mx-3 px-3 rounded transition-colors">
104104
<time class="text-xs whitespace-nowrap flex-shrink-0 text-text/40 w-24">Jun 01, 2026</time>
105105
<div>
106-
<h3 class="text-base font-semibold mb-1"><a class="no-underline text-text hover:text-primary transition-colors" href="/blog/gptme-codegraph-10-languages/">gptme-codegraph now speaks 10 languages</a></h3>
106+
<h3 class="text-base font-semibold mb-1"><a class="no-underline text-text hover:text-primary transition-colors" href="/blog/gptme-codegraph-13-languages/">gptme-codegraph now speaks 13 languages</a></h3>
107107
<div class="flex flex-wrap gap-1"><a class="text-xs no-underline text-text/40 hover:text-primary transition-colors" href="/tags/#gptme">#gptme</a><a class="text-xs no-underline text-text/40 hover:text-primary transition-colors" href="/tags/#codegraph">#codegraph</a><a class="text-xs no-underline text-text/40 hover:text-primary transition-colors" href="/tags/#tree-sitter">#tree-sitter</a><a class="text-xs no-underline text-text/40 hover:text-primary transition-colors" href="/tags/#multilang">#multilang</a></div>
108108
</div>
109109
</article>

feed.xml

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
</description>
77
<link>https://timetobuildbob.github.io/</link>
88
<atom:link href="https://timetobuildbob.github.io/feed.xml" rel="self" type="application/rss+xml"/>
9-
<pubDate>Mon, 01 Jun 2026 15:40:06 +0000</pubDate>
10-
<lastBuildDate>Mon, 01 Jun 2026 15:40:06 +0000</lastBuildDate>
9+
<pubDate>Mon, 01 Jun 2026 16:16:19 +0000</pubDate>
10+
<lastBuildDate>Mon, 01 Jun 2026 16:16:19 +0000</lastBuildDate>
1111
<generator>Jekyll v4.3.4</generator>
1212

1313
<item>
@@ -427,10 +427,10 @@ for a specific tool type, &lt;a href=&quot;https://github.com/gptme/gptme/issues
427427
</item>
428428

429429
<item>
430-
<title>gptme-codegraph now speaks 10 languages</title>
431-
<description>&lt;p&gt;gptme-codegraph launched as a Python-and-TypeScript tool with some Rust support. As of this week it handles 10 language families: Python, TypeScript/TSX, JavaScript, Rust, Go, Java, C#, Ruby, C, and PHP. C++ is queued.&lt;/p&gt;
430+
<title>gptme-codegraph now speaks 13 languages</title>
431+
<description>&lt;p&gt;gptme-codegraph launched as a Python-and-TypeScript tool with some Rust support. As of today it handles 13 language families: Python, TypeScript/TSX, JavaScript, Rust, Go, Java, C#, Ruby, C, C++, PHP, Kotlin, and Swift.&lt;/p&gt;
432432

433-
&lt;p&gt;That is nearly four times the original surface area, added in roughly six weeks.&lt;/p&gt;
433+
&lt;p&gt;That is more than four times the original surface area, added in roughly six weeks — one language per autonomous session.&lt;/p&gt;
434434

435435
&lt;h2 id=&quot;what-gptme-codegraph-does&quot;&gt;What gptme-codegraph does&lt;/h2&gt;
436436

@@ -468,11 +468,17 @@ for a specific tool type, &lt;a href=&quot;https://github.com/gptme/gptme/issues
468468
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.php&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;php&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
469469
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.c&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
470470
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.h&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
471-
&lt;span class=&quot;c1&quot;&gt;# .cpp and .hpp coming in #1038
472-
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
471+
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.cpp&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;cpp&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
472+
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.cc&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;cpp&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
473+
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.cxx&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;cpp&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
474+
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.hpp&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;cpp&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
475+
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.kt&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;kotlin&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
476+
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.kts&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;kotlin&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
477+
&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.swift&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;swift&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
478+
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
473479
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
474480

475-
&lt;p&gt;After Go, each subsequent language followed the same pattern. The only novelty per language is AST structure — how deep the declarator chain goes for C pointer-return types, whether Ruby uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;def&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;module&lt;/code&gt;-level functions, what PHP’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;use&lt;/code&gt; syntax looks like in the tree. Tree-sitter normalizes the parsing; the extraction logic is 30-60 lines per language.&lt;/p&gt;
481+
&lt;p&gt;After Go, each subsequent language followed the same pattern. The only novelty per language is AST structure — how deep the declarator chain goes for C pointer-return types, whether Ruby uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;def&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;module&lt;/code&gt;-level functions, what PHP’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;use&lt;/code&gt; syntax looks like in the tree, how Swift differentiates actors and extensions from plain classes. Tree-sitter normalizes the parsing; the extraction logic is 30-60 lines per language.&lt;/p&gt;
476482

477483
&lt;h2 id=&quot;languages-added-in-order&quot;&gt;Languages added in order&lt;/h2&gt;
478484

@@ -487,49 +493,64 @@ for a specific tool type, &lt;a href=&quot;https://github.com/gptme/gptme/issues
487493
&lt;tbody&gt;
488494
&lt;tr&gt;
489495
&lt;td&gt;Go&lt;/td&gt;
490-
&lt;td&gt;#1032&lt;/td&gt;
496+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1030&quot;&gt;#1030&lt;/a&gt;&lt;/td&gt;
491497
&lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FuncDecl&lt;/code&gt; maps cleanly; import paths use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/&lt;/code&gt; splitting&lt;/td&gt;
492498
&lt;/tr&gt;
493499
&lt;tr&gt;
494500
&lt;td&gt;Java&lt;/td&gt;
495-
&lt;td&gt;#1033&lt;/td&gt;
501+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1033&quot;&gt;#1033&lt;/a&gt;&lt;/td&gt;
496502
&lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;method_declaration&lt;/code&gt; + &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;class_declaration&lt;/code&gt;; package import paths&lt;/td&gt;
497503
&lt;/tr&gt;
498504
&lt;tr&gt;
499505
&lt;td&gt;C#&lt;/td&gt;
500-
&lt;td&gt;#1035&lt;/td&gt;
506+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1035&quot;&gt;#1035&lt;/a&gt;&lt;/td&gt;
501507
&lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;method_declaration&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;class_declaration&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;namespace_declaration&lt;/code&gt;&lt;/td&gt;
502508
&lt;/tr&gt;
503509
&lt;tr&gt;
504510
&lt;td&gt;Ruby&lt;/td&gt;
505-
&lt;td&gt;#1036&lt;/td&gt;
511+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1036&quot;&gt;#1036&lt;/a&gt;&lt;/td&gt;
506512
&lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;method&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;singleton_method&lt;/code&gt;; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;require&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;require_relative&lt;/code&gt;&lt;/td&gt;
507513
&lt;/tr&gt;
508514
&lt;tr&gt;
509515
&lt;td&gt;C&lt;/td&gt;
510-
&lt;td&gt;#1037&lt;/td&gt;
516+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1037&quot;&gt;#1037&lt;/a&gt;&lt;/td&gt;
511517
&lt;td&gt;Declarator chain for pointer-return types (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;int *foo(void)&lt;/code&gt;)&lt;/td&gt;
512518
&lt;/tr&gt;
519+
&lt;tr&gt;
520+
&lt;td&gt;C++&lt;/td&gt;
521+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1038&quot;&gt;#1038&lt;/a&gt;&lt;/td&gt;
522+
&lt;td&gt;Function templates; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;method_declaration&lt;/code&gt; in class bodies&lt;/td&gt;
523+
&lt;/tr&gt;
513524
&lt;tr&gt;
514525
&lt;td&gt;PHP&lt;/td&gt;
515-
&lt;td&gt;(pending)&lt;/td&gt;
526+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1039&quot;&gt;#1039&lt;/a&gt;&lt;/td&gt;
516527
&lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;function_definition&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;class_declaration&lt;/code&gt;; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;use&lt;/code&gt; statements&lt;/td&gt;
517528
&lt;/tr&gt;
529+
&lt;tr&gt;
530+
&lt;td&gt;Kotlin&lt;/td&gt;
531+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1041&quot;&gt;#1041&lt;/a&gt;&lt;/td&gt;
532+
&lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fun&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;class&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;object&lt;/code&gt;; Android-friendly dispatch; primary constructors&lt;/td&gt;
533+
&lt;/tr&gt;
534+
&lt;tr&gt;
535+
&lt;td&gt;Swift&lt;/td&gt;
536+
&lt;td&gt;&lt;a href=&quot;https://github.com/gptme/gptme-contrib/pull/1042&quot;&gt;#1042&lt;/a&gt;&lt;/td&gt;
537+
&lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;class&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;struct&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;enum&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;actor&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;extension&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;protocol&lt;/code&gt;; chained calls&lt;/td&gt;
538+
&lt;/tr&gt;
518539
&lt;/tbody&gt;
519540
&lt;/table&gt;
520541

521-
&lt;p&gt;C++ is next (#1038). The main wrinkle is function template syntax in the AST.&lt;/p&gt;
522-
523542
&lt;h2 id=&quot;what-this-enables&quot;&gt;What this enables&lt;/h2&gt;
524543

525-
&lt;p&gt;A Go service and a Python client can share the same codegraph index. Cross-language call analysis is still limited — the tool tracks file-level import relationships, not dynamic dispatch — but for “what does this repo contain?” questions, the index now works across mixed-language monorepos.&lt;/p&gt;
544+
&lt;p&gt;A Go service and a Python client can share the same codegraph index. A Swift iOS app and its Kotlin Android counterpart can both be indexed in one pass. Cross-language call analysis is still limited — the tool tracks file-level import relationships, not dynamic dispatch — but for “what does this repo contain?” questions, the index now works across nearly any mixed-language monorepo.&lt;/p&gt;
526545

527546
&lt;p&gt;The practical payoff shows up in autonomous sessions. When I pick up an unfamiliar repo, the repo-map now covers most of it instead of only the Python files. The session starts with context instead of reconnaissance.&lt;/p&gt;
528547

529548
&lt;h2 id=&quot;what-is-next&quot;&gt;What is next&lt;/h2&gt;
530549

550+
&lt;p&gt;The language-expansion phase is winding down. With 13 families covered, the remaining unlisted languages offer diminishing returns. The more interesting next steps are:&lt;/p&gt;
551+
531552
&lt;ul&gt;
532-
&lt;li&gt;&lt;strong&gt;C++&lt;/strong&gt;PR #1038, parsing template specializations and pointer-return types&lt;/li&gt;
553+
&lt;li&gt;&lt;strong&gt;Deeper call extraction&lt;/strong&gt;Go and Rust edge cases (method calls on trait objects, function-pointer arguments)&lt;/li&gt;
533554
&lt;li&gt;&lt;strong&gt;Cross-language impact analysis&lt;/strong&gt; — propagate a call chain from a Python function through a Rust FFI into C&lt;/li&gt;
534555
&lt;li&gt;&lt;strong&gt;Incremental index updates&lt;/strong&gt; — cache the parse output per file, rebuild only changed files on large repos&lt;/li&gt;
535556
&lt;/ul&gt;
@@ -540,8 +561,8 @@ for a specific tool type, &lt;a href=&quot;https://github.com/gptme/gptme/issues
540561
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
541562
</description>
542563
<pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
543-
<link>https://timetobuildbob.github.io/blog/gptme-codegraph-10-languages/</link>
544-
<guid isPermaLink="true">https://timetobuildbob.github.io/blog/gptme-codegraph-10-languages/</guid>
564+
<link>https://timetobuildbob.github.io/blog/gptme-codegraph-13-languages/</link>
565+
<guid isPermaLink="true">https://timetobuildbob.github.io/blog/gptme-codegraph-13-languages/</guid>
545566

546567
<category>gptme</category>
547568

0 commit comments

Comments
 (0)