núcleo
v3.2 · MIT · cero deps

Reactividad
sin build step.

NÚCLEO es una librería para construir interfaces reactivas con una API mínima. 8kB gzip, sin compilador, sin dependencias. Pega un script y ya tienes estado reactivo.

$ npm i nucleo-js copiar
8kB gzip SSR opcional TypeScript nativo 0 dependencias
contador.js
import { signal, mount } from 'nucleo-js' // estado reactivo en una línea const cuenta = signal(0) mount('#app', () => ` <button @click="cuenta++"> Clics: ${cuenta} </button> `) // se vuelve a pintar solo. sin VDOM.
sin pasos de compilación
USADO EN PRODUCCIÓN POR vortex/ui Helio Labs monorail brisa.dev Cobalt
// ejemplos

Una API que cabe
en tu cabeza

Tres primitivas: signal, computed y effect. Lo demás se deriva de ahí. No hay magia oculta ni configuración.

derivados.js
const precio = signal(29) const cantidad = signal(3) // se recalcula cuando cambia algo const total = computed(() => precio() * cantidad() ) cantidad.set(5) total() // → 145
efectos.js
const usuario = signal(null) // efecto: corre y se re-suscribe solo effect(() => { if (usuario()) analytics.track('login', usuario()) }) await api.login() usuario.set(data) // dispara el effect
// por qué núcleo

Pequeño por diseño,
no por recorte

Cada decisión apunta a lo mismo: que puedas leer todo el código fuente en una tarde y entender exactamente qué pasa.

8k

8kB y se queda ahí

El runtime entero pesa menos que una imagen de cabecera. Sin crecer release tras release.

Reactividad fina

Sin VDOM ni diffing. Cada signal sabe exactamente qué nodo del DOM tiene que tocar.

{}

Cero config

Sin bundler obligatorio, sin loaders, sin paso de compilación. Funciona desde un <script>.

TS

Tipado de verdad

Escrito en TypeScript. Los signals infieren su tipo y los templates se chequean en tu editor.

SSR cuando quieras

Renderiza en el servidor e hidrata solo lo interactivo. Opcional, nunca impuesto.

Open source de verdad

Licencia MIT, gobernanza abierta y un roadmap público. 340 contribuidores y subiendo.

12.4k
estrellas en GitHub
8kB
runtime gzip
340
contribuidores
2.1M
descargas / mes
// la comunidad

Construido por
340 personas

Núcleo no tiene una empresa detrás. Lo mantiene gente que lo usa cada día — y tú podrías ser la siguiente.

AR BS CN DP EC FO GR HV IM JL KB LP MG +327
// ecosistema

Un núcleo,
muchos paquetes

El core hace una cosa bien. Todo lo demás vive en paquetes oficiales que puedes añadir solo si los necesitas.

@nucleo/router
Enrutado por archivos, 2kB
estable
@nucleo/store
Estado global compartido
estable
@nucleo/forms
Validación reactiva
estable
@nucleo/query
Caché de datos remotos
beta
@nucleo/motion
Animaciones declarativas
beta
@nucleo/devtools
Inspector de signals
rc
// quickstart

De cero a reactivo
en treinta segundos

Sin generador de proyectos, sin asistente. Instala el paquete, importa signal y ya estás construyendo.

1

Instala el paquete con tu gestor favorito.

2

Importa las primitivas que necesites.

3

Monta tu componente. Listo.

terminal
$ npm install nucleo-js # added 1 package in 0.4s $ echo "import { signal } from 'nucleo-js'" > app.js $ nucleo dev ▲ núcleo v3.2.0 ➜ Local: http://localhost:5180 ➜ listo en 312 ms