Ruby vs. Java vs. TypeScript: my experience on building a Cowork DOCX plugin

https://news.ycombinator.com/rss Hits: 2
Summary

We've built a Claude Cowork DOCX plugin in Ruby, Java, and TypeScript.Java is the winner for supporting zip files and XML in its runtime with no issues. Java's libraries seem most mature compared to Ruby's and JS's. The static typing really makes it easier to write.However, TypeScript is eventually chosen due to the possibility of future MCPB support, which will eliminate the embedded runtime and reduce the binary size by 99%.Codex's plugin mechanism is lagging behind Claude's. It doesn't support an equivalent of CLAUDE_PLUGIN_ROOT and seems impossible to execute a binary inside the plugin.Bun has been chosen for building a single-executable binary. One gap is that I cannot figure out how to make its source maps work with PostHog. Recently, we've implemented the same Cowork DOCX plugin 3 times. The first prototype was in Ruby. We reimplemented it in Java in order to make it a desktop app. Then, We reimplemented it in Typescripts (Node) in order to make it compatible with MCPB. Eventually, We've switched to Bun because Cowork plugin apparently doesn't support MCPB.Since now I have direct experience in implementing the same app in 3 different languages within a span of a month, I've decided to write about it.For context, a DOCX file is actually a zip file with a bunch of XMLs and other files in it. Therefore, our code must process zip files and XMLs.💡If anyone is interested in using our DOCX plugin with Claude Cowork, you can try it out here: https://github.com/LegalRabbit-AI/legalrabbit-docx-claude-pluginIt works well with legal documents, and you can use it together with the Claude for Legal plugin.The plugin is still in its nascent stage. I'd love for you to drop us an email at tanin@legalrabbit.ai, so we can help you and notify you when there's an update.RubyAt first, I built a prototype in Ruby because my colleague knew Ruby well, and we wanted it to a server-side application. I wrote a lot of Ruby back in 2010s. I felt Ruby was a beautiful language. Unfortunatel...

First seen: 2026-05-28 12:10

Last seen: 2026-05-28 13:11