Extension development environment

Hello everyone,

I am looking into extension development and was wondering what the best way is to set up my development environment. Eventually, I want to manage the source of the extensions using Git. I now have a local copy of the App Inventor sources for contribution purposes, but should probably have a separate copy for extension development. I want each extension to have their own repository as I want to manage them as individual projects. I don’t want to include all of the App Inventor sources in the repository. What would be the best way to set up such an environment?


I encourage you to create the extension here:

1 Like

If you’re looking to do the development locally, we don’t yet have an official way of doing extension development that doesn’t involve also having the App Inventor sources checked out. This is something that I’ve been working on in my spare time but it’s not quite there yet. Our current best practice is to create a branch per extension and manage the development of the extension on that branch. You can then keep it up to date by either merging master into it or rebasing it on master.

One thing you could try but would likely be more of a headache than it is worth is have a package per extension and create a git submodule in that package so you can track the extensions independently from within the app inventor sources repo. You’d want to do this on a branch other than master though so you don’t accidentally end up submitting the extra repos in a pull request.


Thanks for the suggestions I will look at what works best. I will probably stick to the former one as this, as you stated, is easier to manage and maintain.


Thanks for the reply but I rather keep full control about what is happening. As I am new to extension development I would want to know as much as possible about the workings of developing extensions.