An extension is just a website.
The website lives in an iFrame on a Twitch page.
You need to only include a single external JS file and invoke a single callback.
Then from there an extension is literally just a website.
So the development workflow? The same as a “regular” website really