A note on AI usage¶
The design and architecture of jero was entirely driven by the author and was motivated by experience with building on top of Django/DRF, Flask, Express, and FastAPI and implementing/re-implementing the same patterns in those frameworks that jero aims to formalise.
The implementation of jero and its documentation (with the exception of this note), however, were heavily assisted by AI (OpenAI Codex).
As a quick aside, the general approach employed has been an informal form of spec-driven design: a spec is provided, usually with a small code snippet illustrating the desired user-facing interface, which the agent then builds with a short human/agent feedback loop.
In this world, tests take on even more importance than normal and, in jero, the tests have been purposefully written to target only the public/user-facing interface.
Then, if the comprehensive test suite passes, we can be confident that the user-facing behaviour is correct and AI is allowed some freedom, in terms of refactoring and the overall code it generates, within these confines.
While the author has endeavoured to proofread all the documentation and most of the code generated by AI, there are, no doubt, some pieces that the author himself might raise eyebrows at.
This, in the author's opinion, is one of the tradeoffs we have to make in the modern age of AI-assisted development to fully embrace its benefits.
If you disagree or have concerns about this, the author would love to hear your thoughts, please feel free to reach out via GitHub Discussions.