I pretty much do what you said where I have a file that includes everything I need.
Names default to here(1);
self_title = current window() << Get Window Title();
files = files in directory(".", recursive(1));
for(i=1, i<=nitems(files), i++,
if(endswith(files[i], ".jsl") & files[i] != self_title||".jsl",
include(files[i])
)
);