YUNQUE
v2.0 · caché remota incluida

Builds de monorepo
forjados en Rust.

YUNQUE es el orquestador de tareas para monorepos: detecta lo que cambió, ejecuta solo lo afectado en paralelo y comparte la caché entre tu equipo y la CI. Rápido, determinista y open source.

$ curl -fsSL yunque.sh | sh
Licencia MIT Cero config para empezar npm · pnpm · cargo · go
~/acme-monorepo yunque run

$ yunque build --affected

analizando grafo · 312 tareas en 9 paquetes

▸ caché 304 aciertos remotos (restaurado en 0.4s)

@acme/uicaché
@acme/corecaché
@acme/api1.1s
@acme/web1.8s

312/312 tareas · 8 reconstruidas

tiempo total 2.9s (antes: 1m 34s)

Equipos que forjan su monorepo con YUNQUE

NorthbyteHelios LabsVexelQuantaFerrumAurionPulse CI
Por qué YUNQUE

Cada build,
solo lo necesario

Un grafo de tareas que entiende tus dependencias, una caché que viaja con tu equipo y un núcleo en Rust que no te hace esperar. Sin daemons frágiles ni configuración interminable.

Ejecución incremental

YUNQUE rastrea inputs por hash y reconstruye solo lo que cambió. Toca un archivo, no todo el repo.

Caché remota compartida

Si tu compañero ya lo construyó, tú lo descargas. Misma caché en local y en CI — auto-hospédala o usa la nuestra.

Grafo en paralelo

Resuelve el orden de tareas automáticamente y satura cada núcleo de tu CPU. Sin describir dependencias a mano.

Núcleo en Rust

Un binario estático, sin runtime que arrancar ni daemon que reiniciar. Arranca en frío en menos de 30 ms.

Agnóstico de lenguaje

npm, pnpm, cargo, go, make o tu propio script. Si corre en una terminal, YUNQUE lo orquesta y lo cachea.

Open source de verdad

MIT, sin tier de pago oculto ni telemetría a escondidas. Léelo, fórkalo y autohospédalo entero.

Configuración

Un archivo,
todo el grafo

Declara tus tareas y de qué dependen en yunque.toml. YUNQUE infiere el orden, la caché y el paralelismo. Empieza con cero config y profundiza solo cuando lo necesites.

yunque init yunque run build TOML · JSON
yunque.toml raíz del repo
# el grafo de tareas de todo el monorepo
[tasks.build]
deps    = ["^build"]   # primero las dependencias
inputs  = ["src/**", "package.json"]
outputs = ["dist/**"]
cache   = true

[tasks.test]
deps    = ["build"]
inputs  = ["src/**", "tests/**"]

[cache.remote]
url     = "https://cache.acme.dev"
mode    = "read-write"   # equipo + CI comparten
Benchmarks

Los números, no las promesas

Monorepo de referencia: 9 paquetes, 312 tareas, ~140k líneas. Medido en un build "caliente" tras un cambio de una línea en un solo paquete.

2.9s
build incremental caliente
30×
más rápido que sin caché
97%
aciertos de caché en CI
28ms
arranque en frío del binario

Build incremental

menos es mejor
YUNQUE2.9s
make + scripts41s
sin orquestador1m 34s

Grafo de tareas

resuelto automáticamente
ui ✓ core ✓ api ⚡
tokens ✓ web ⚡ e2e ⚡
caché ejecutado
Comunidad

Forjada
en público

Cada decisión vive en GitHub: RFCs abiertos, roadmap público y releases cada dos semanas. ¿Una duda a media build? El Discord responde en minutos.

24.7k
estrellas en GitHub
480+
contribuidores
2 sem.
cadencia de releases

Migramos un monorepo de 9 paquetes en una tarde. La CI pasó de 12 minutos a 90 segundos gracias a la caché remota. Es de esas herramientas que desaparecen: simplemente funcionan.

Marco Iriarte
Staff Eng · Vexel
Empieza ahora

Tu próximo build
en segundos, no minutos

Instálalo en una línea, corre yunque init en la raíz de tu repo y mira cómo se enfría tu CI. Gratis, open source, para siempre.

$ curl -fsSL yunque.sh | sh
Licencia MIT·sin telemetría·autohospedable