// internal/core/discovery.go package core import ( "reflect" ) var moduleTypes []reflect.Type func RegisterModuleType(module Module) { moduleTypes = append(moduleTypes, reflect.TypeOf(module)) } func DiscoverModules(manager *ModuleManager) error { for _, typ := range moduleTypes { module := reflect.New(typ.Elem()).Interface().(Module) manager.RegisterModule(module) } return nil }