Hey guys!
I've recently tried OpenAI's codex-cli for work on some Rust project and came away very impressed. That made me want to give these CLI "agentic" tools a good try on Nim code. With a bit of playing around I felt that Claude Code (with Sonnet 4.5 at the time, Opus 4.5 hadn't been released yet), does a much better job at Nim than other gpt-5.1, grok or even Gemini 3.0 Pro (spent 13€ on Gemini within like 20 minutes the other day for effectively no progress on something else... 🥴).
At that time I was once again very annoyed at MathJax so I thought it could be a good test case to have Claude Code write a standalone library for me: Namely, a LaTeX to MathML converter like TeMML just with the exact features I want (TeMML does not support the SI commands from siunitx, which I sort of depend on; those are available in MathJax if one uses an old version as an addon, it's a mess).
I created a new git repo and pulled the TeMML docs into a directory there, because it comes with plenty of HTML pages of supported features etc. Then I launched Claude Code and explained what I wanted:
And from there I just let it do its thing. Soon after I settled on having a markdown file describing the current progress as the main file of interest. I'd just start a Claude Code session, have a predefined prompt of the sort "Read foo.md and continue the implementation" and have the thing commit after every small milestone. I'd restart the session after every milestone to keep the context short.
That's pretty much it and it worked exceptionally well. The code including supported features (though slightly outdated again I think) lives here:
https://github.com/Vindaar/yatexml/
You can also test it here with a live conversion:
https://pages.vindaar.de/yatexml/tex_to_ml_tester.html
There's a bunch of other pages here:
https://pages.vindaar.de/yatexml/
(some of those are a bit outdated I think)
All in all I've maybe spent 3-4 hours on this by prodding the thing in the terminal, testing its work etc. Certainly way less than it would have taken me to write it myself. This would have been a multiple weekend project.
I think the biggest takeaway from this for me was: At this point in my life the number one thing I have too little of is time. That practically means I barely have any time to do any coding. While there's a lot of Nim projects I'd like to write myself for the enjoyment of it, there's also an even larger amount of stuff I'd just like to have in Nim, where I'll never have the time to do it all on my own, even if I didn't have a job or family. The fact that these things can already do this, makes me kinda hopeful for the future. Maybe it's only a short golden era before any code becomes obsolete, but it's opening up a lot of possibilities and I'm excited for it.
Since then I've played around more. Especially with the release of Opus 4.5 I've been even more impressed. Have it working on some fun stuff, but that's the topic of another forum thread once it's slightly further along. If you know me you might have a hint of what that could be about. :)