Feature
interface Feature
A Feature is a Tegral software component that gets installed within an application.
Features themselves do things by:
Modifying the application's Tegral DI environment (e.g. adding components or DI extensions)
Creating a feature
Creating a feature can be done by implementing this interface in an object, e.g.
object MyFeature : Feature {
    override val id: String = "my-feature"
    override val name: String = "My Feature"
    override val description: String = "My feature does this and that"
    override fun install(context: FeatureContext) {
        // Do something
    }
}Content copied to clipboard
Generally, features should not actually perform actions other than creating relevant classes within the DI environment of the application (i.e. the receiver of install).