Wired by declaration
A module declares the service types it provides and requires. ModuleKit builds the dependency graph and injects the rest — no wiring code, no service locators.
Safe by ordering
A topological sort guarantees providers start before consumers, cycles are detected, and a broken module is isolated — the rest of your app still boots.
Ready for Minecraft
The core is plain Java with no dependencies. Bundled adapters for Paper, Folia and Minestom map the lifecycle onto the server for you.