Much of the implementation of Dartantic was written by AI. That has its upsides
and downsides.
The major upside is that I can produce an Agentic framework for Dart quickly and
it was needed! (or at least missing and I wanted it : ).
The downside is that not all of the code is what I would have written. I can’t
tell you how hard that is for me, but it is the dawn of a new age.
On the gripping hand, the AI surprises me with things I’d have never thought of,
so it feels like a wash from a quality standpoint.
The main part I still write by hand is the public API. I want to ensure that
dartantic has a great developer experience, mostly because I use it in my daily
work building actual agentic apps. That means a great API that gives you the
control you need without being too complex, great coverage of samples that shows
off that power, and great docs that are easy to understand and use.
I also pay close attention to the tests to triple-check that I’m testing the
behavior I want to see. That’s an excellent way to ensure that the AI is heading
down the right path.
I figure that if I can get the API, the docs, the samples and the tests right,
then I can let the AI write the bulk of the code. That’s worth the trade-off in
turn-around time on features and bug fixes. Plus, I’m building an agentic
framework, so I wanted to eat my own dogfood!
If that doesn’t work for you, I understand. Change is challenging, especially
change of this magnitude. No hard feelings if a package written with the
assistance of AI is not what you want.