I have a main TCL proc that sources tons of other tcl procs in other folders and subsequent subdirectories. For example, in the main proc it has:
source $basepa
It gets trivial with tcllib on board:
package require fileutil foreach file [fileutil::findByPattern $basepath *.tcl] { source $file }