I recognize that making an extension depend on another extension goes hard against the spirit of modular design, but I'm convinced it's unavoidable in my case. Likes, tags, following, and mentions are indispensable features of social media and they are implemented as extensions, not Core features. My extension needs to depend on those extensions in order to marshal that information to ActivityPub.
Since extensions are Composer packages, and Core (quite generously) exposes the ExtensionManager
class, this strikes me as a manageable (if uffish) quirk of my use case (rather than a horrible heap of smells and gotchas, see: WordPress plugins that depend on other WordPress plugins.) Maybe I'm making a bigger deal out of it than it needs to be, but for a project quite as ambitious as what I'm proposing I think some seriousness about design is warranted.
Is this kind of thing precedented on Flarum? Does anyone have particular advice or a recommended approach?