Vibe coding an XBRL parser

How I wrote an XBRL parser for edgartools using Claude Code. Learn about Vibe Coding and how AI changes how you develop software in the future

Vibe coding an XBRL parser

Two weeks ago I started vibe coding a rewrite of the XBRL parser in edgartools. The current parser was not that old - I wrote that code less than a year ago and even with the assistance of AI. But making fixes and improvements was getting increasingly arduous. XBRL is a huge and complicated standard, and making any fixes meant loading all that information into my head again and reasoning about it. I needed a new approach.

So what's the difference between AI assisted coding in 2024 and vibe coding in 2025? A lot, actually. My old process was copying code from my IDE into Claude, asking it to make changes, and then copying the changes back into my IDE.

The new approach is called vibe coding, though it won't be long before there are vibe coding courses and job postings. Actually there are job postings

The term originated with a tweet from Andrej Karpathy on Feb 2 2025.

This tweet was a continuation of Karpathy's idea's on AI coding, particularly his idea from January 2023 that the hottest new programming language was English. (I believe this to be true, though I wonder it how the best software developers in China write software. I'm genuinely curious and maybe I will ask Deepseek).

Update: Deepseek says - China’s best software developers operate within a hybrid ecosystem: English for code and AI prompts, Mandarin for communication, and QWERTY/Pinyin for input.

Anyway back to my own path to vibe coding. I started using Cursor and Windsurf editors for doing some of my newer projects. Now I've settled on Windsurf by personal preference, even though Cursor has more mind share. I was't yet 100% comfortable with vibe coding - I did not "fully give in to the vibe, embrace exponentials and forget that code even exists".

Then Anthropic dropped Claude Code and 3.7 Sonnet on Feb 24.

Claude Code is astonishing - the single greatest software I have used. It combines the coding intelligence of Claude 3.7 Sonnet, with agents that plan and operate on the code and files you give it with an intuitive CLI that gives visual feedback as things are happening. In normal coding thinking of a solution to a hard problem causes a slight mental discomfort until the problem is solved and you get a rush of dopamine (it's why coders are addicted). Now with Claude Code you get the dopamine reward while watching the progress on the screen.

So it's a bit like a drug addiction and just as in the real world that has consequences. It is expensive. And if you run out of credits while doing a major task you need to fork over cash to add to your Anthropic balance. We just may end up with something similar to Alcoholics Anonymous but for developers and I will confess to around $100 USD in 3 weeks in March.

That is a lot of cash and probably means maybe 6-10 million tokens used by Sonnet while coding the two features on edgartools. I was very happy with Insider Trading which I wrote about in Analyzing Form 3 Filings with edgartools which is why I started on XBRL. XBRL is a lot more complicated which is why it cost so much but I'm also happy with the results.

The biggest value for me is that I don't have to know everything about XBRL in order to code the XBRL features. I can just operate at the level of a project manager asking for features and have Claude Code agents working on my behalf. And if there are bugs I just describe the bugs and have it come up with solutions.

On the other hand subtle issues can trip up the AI so have to step in and debug until you can find an approximate cause to describe to Claude Code so it can work on a fix. An example of this is that in XBRL spec sometimes concepts are spelt with ":" and sometimes with "_" e.g. "us-gaap:Assets" and "us-gaap_Assets" and the AI agents will write code that fail because of this and won't know until you point it to Claude Code.

There's also the lack of accountability. I asked Claude Code to explain a bug and it said "It appears the developer forgot to ... " and I was like "Dude you are the developer" before reminding myself you shouldn't be talking to a CLI.

Conclusion

Vibe coding is here to stay and is worth checking out. Personally I am changing how I develop software and so will integrate the new tools into my workflow.

Steve Yegge wrote a great article forecasting where vibe coding will take us.

Revenge of the junior developer | Sourcegraph Blog
The latest instalment from Steve Yegge on viiiiibe coding and what that means for developer jobs.

edgartools is the easiest way to work with SEC filing data in Python.

GitHub - dgunning/edgartools: The world’s easiest, most powerful edgar library
The world’s easiest, most powerful edgar library. Contribute to dgunning/edgartools development by creating an account on GitHub.

Subscribe to EdgarTools

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe