How are you supposed to organize the repo for an Asset and the code you use to develop and test the library? From what I have gathered, you have to have just the addons folder at the root of your Asset repo but you need to have a project that you use to develop and test the plugin. Where do you keep all that stuff?

It doesn't appear that I can use a submodule in Git due to the directory structure required for the addon repo. I tried having two projects and symlinking the plugin into my addons directory but then I can't edit the files in Godot (it won't follow symlinks to open files but runs them just fine). I think this is the best setup I can come up with, I just have to use another editor.

Suggestions?

I haven't done any addons but I just tried creating symlinks to *.gd files and opening in the editor... it seems to be working just fine at my end. I don't think it makes a difference if it's symlinks or not, isn't this resolved by the OS? I don't think that each app has to implement handling of symlinks, I'm pretty sure the linux OS dudes are smarter than this :). I just think you didn't symlink correctly, that's all

6 days later

What OS are you on? There's a chance I didn't symlink correctly but it seems pretty straight forward. I'm on a Mac using Sierra.

I did notice that, although using the quick open dialog won't find any symlinked scripts, if I click the script icon for the object in the Editor it opens it just fine. So maybe the problem is only with the file open dialogs in Gut.

a year later

I was just introduced to the .gitattributes file. This file lets you stop files from being exported when Github makes the zip file. Now everything can live in the repo but not be deployed and everything is wonderful.

example:

/templates export-ignore

5 years later