DI explícita, sin decoradores
Cada módulo recibe `dependencies` en su constructor. Mockéalo en tests, trázalo en producción, léelo en code review.
El runtime es open source y el quickstart es honesto: instala un paquete, escribe un archivo, córrelo. Todo lo demás — workers, vault, apps — compone encima cuando lo necesites.
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('¡Servicio corriendo!');
};
main(); Cada módulo recibe `dependencies` en su constructor. Mockéalo en tests, trázalo en producción, léelo en code review.
ignite() corre la misma secuencia en cada boot: módulos core, infraestructura, adapters, luego tráfico. SIGTERM desmonta en reversa.
Extiende BaseWorker, lánzalo desde el runtime, y obtén aislamiento y recuperación total de memoria gratis.
HTTP, eventos, funciones, streams — tu lógica de servicio permanece agnóstica al transporte y cada transporte está a una config de distancia.
.env local para tu laptop, fetch en runtime desde Cloud Vault para todo lo demás. El mismo código en ambos casos.
link-loom create --name my-service arranca el layout canónico de proyecto para que cada repo se sienta familiar.
El SDK vive abierto en GitHub. El runtime del que depende tu plataforma debería ser algo que puedas auditar, forkear y contribuir — y lo es.