This is nice work @jrahmatzadeh@blogs.gnome.org, and if there's a recommended template for new extensions, it should probably include an AGENTS.MD with this, or at least with a pointer to this.
I don't get what the problem is with writing code that works on multiple GNOME shell versions at once though, rather than individual ports for every version. The former feels like it could make maintenance a lot easier if an extension developer wants to support multiple GNOME versions?
Edit: I see that there's gnome-extensions create --interactive that can create a skeleton extension from a template. That would be the perfect place for this, probably.