Extensions are just websites.
So if you have a working local environment to buld and run a website in.
Then you don’t need other knowledge.
That local environment can be an XAMMP server or a “proper” live website to host files in.
The Rig is optional for using to test your extension in, you can use the “live Twitch website”, you’ll just need to make sure that the URL you are loading files from have a SSL Certificate. Which your “website to host files in” might handle this for you.
So sure you don’t need any server knowledge what so ever.
When Twitch says “local test” for an extension they mean “not on the Twitch CDN loaded from whatever URL you specify”.
Most of the tutorials use some node stuff (or go stuff) since they tend to explain a specific feature of Twitch Extensions, which you might not even use.
You reached the end of the tutorial
This is the hello world example for an extension:
index.html
<html>
<head>
<script src="https://extension-files.twitch.tv/helper/v1/twitch-ext.min.js"></script>
<script src="script.js"></script>
</head>
<body>
Hello
</body>
</html>
script.js
window.Twitch.ext.onAuthorized((auth) => {
console.log('got auth');
});
That’s it two files, and two script tags.
Where one of the script tags is to the Twitch JS Extension helper.
You will find most of the tutorial/examples have extra code to allow them to demo a feature.
My Profile Example Extension
Ships with NodeJS componenets, to run the Backend Service (as one is needed for this extension), and to run a “simple server” to serve the files over HTTP(s)
The next step from these files is getting them on a “Web Server” somewhere, preferrably with an SSL Certificate.
Without SSL you can use the Rig which will skip the SSL Requirement
Or you can use a tool like NGROK to handle SSL and use that instead.
I wrote about this more in length on my Twitch Extensions Blog Series part 5 Twitch Extensions Part 5 – Dev Environment – Barry Carlyon
Which might help you out.
TLDR: The Rig is just a dumb Twitch Website client, with some bells and whistles that might/might not help, and lets you test Video extensions without the need for the channel to be live. (I just go use test channels instead)