A microservice fleet with one signature
Twelve services, one boot sequence, one logging convention, one DI contract. A new engineer reads one service and understands all twelve.
The Loom class takes over your process lifecycle: dependencies resolve, infrastructure connects, adapters load — in a guaranteed order, every single boot. Fully open source.
Link Loom is a runtime host, not a library you call. When you run loom.ignite(), it bootstraps a finite state machine that governs your application from BOOT to SHUTDOWN — database connections, message brokers and background threads initialize in a guaranteed order before any traffic is accepted.
Every capability arrives through one explicit dependency graph. No global singletons, no decorator magic, no implicit imports: every service, route and model receives the same structured `dependencies` object — logger, config, database, event bus, utilities — injected at construction.
Transport is separated from logic by design. A service that creates users does not know HTTP exists; the HTTP adapter calls it for a POST, the events adapter calls it for a signup event, a worker calls it from a background job. Same code, three transports.
const { Loom } = require('@link-loom/sdk');
const loom = new Loom({ root: __dirname, name: 'my-service' });
const main = async () => {
const dependencies = await loom.ignite();
dependencies.console.success('Service is running');
};
main(); Twelve services, one boot sequence, one logging convention, one DI contract. A new engineer reads one service and understands all twelve.
Domain services never import each other’s internals — everything crosses the dependency graph. When you finally split it, the seams already exist.
Deterministic boot means the service comes back the same way every time. No "works after the second restart" mysteries.