Helper for Creating Firefox Extensions

Posted by & filed under , , .

firefox logoI haven’t turned my attention to Firefox extensions pretty much since I left Vibrant Media — where I wrote a handful of extensions to help us with the IntelliTXT platform. That was about 4 years back — amazingly in all that time Firefox went from version 3.0 to about 26.0! As such I had to try my hand again at their extension mechanism to see what and how things have changed.

As I started messing about with Firefox extensions, I realised that the process can be quite laborious at times so I thought I’d put something together to help me (and hopefully others too) create an extension quicker. The purpose of this blog post is to introduce this little project I started on github for this reason.

If you’re getting started with Firefox extension, no doubt you would have encountered this blogpost which despite its age still covers most aspects of Firefox extension development. That article, while great in content, does require quite a few manual steps — in terms of creating a certain directory structure, files etc. Even more so, reading it, it turns out that a lot of that content is actually “boilerplate” stuff — so right away the idea came to me that this thing surely can be automated a bit!

The result is a project I published on github here:, ingeniously labelled FFExtensionSkeleton 🙂 Perhaps the term “project” is a bit generous here since ultimately this is just a simple bash script which when run creates the directory structure and some boilerplate code where needed.

The script is customizeable and you can read the “readme” I put together on the project page for more info on that. At the moment it’s in version “0.1” if you will, which means it just creates a very basic skeleton and boilerplate code — however, referring back to the original article, that does save you about 5-10 paragraphs of reading and manual work.

You can grab the source of the script from — or go through normal means of downloading it from github, whichever works best for you. Once saved locally all you have to do is just launch it — make sure you edit it and customize your “settings” first otherwise it will use some hardcoded defaults which might not be what you want — and you’ll have your directory structure and basic code ready to go. I’ve personally used it to kick off another project on github ( but I’ll get back to that in a different blog post perhaps.