npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

frankjstein

v0.6.4

Published

<⚡> Fragment Reactive Async Node Kit JavaScript Suspense Tree Engine Integrated Natively

Readme

🧟‍♂️ FrankJStein

Fragment Reactive Async Node Kit JavaScript Suspense Tree Engine Integrated Natively

Frank J. Stein es un motor de renderizado y framework UI para JavaScript nativo. Construye interfaces de usuario asíncronas, reactivas y ultrarrápidas sin necesidad de transpiladores, Virtual DOM complejos o configuraciones pesadas.

Escríbelo en JS, córrelo en el navegador. Así de simple.

📦 Instalación

npm install frankjstein

Y luego impórtalo en tu proyecto:

import { createSignal, ELEMENT_UTIL as $, TuJsHtml } from "frankjstein";

✨ Un Vistazo Rápido

FrankJStein se compone de módulos hiper-optimizados que puedes usar en conjunto o por separado. Observa cómo TuJsHtml y KageBunshin (Signals) se combinan para crear una UI reactiva sin esfuerzo:

import { createSignal, ELEMENT_UTIL as $, TuJsHtml } from "frankjstein";

/** @param {import("frankjstein").TuJsHtml.Types.Tags} tags */
const app = new TuJsHtml((tags) => {
  const contador = createSignal(0);

  tags.div({ className: "counter-card" }, (ctx) => {
    ctx.h1`Hola FrankJStein`;
    ctx.p`Clicks actuales: ${contador}`;
    
    ctx.button({ 
      style: { marginTop: "10px" },
      "@on": { click: () => contador.value++ }
    }, "Incrementar");
  });
});

document.body.append(app);

📚 Documentación y Soberanía

Para mantener este archivo limpio, la documentación técnica exhaustiva se divide por módulos. Si eres un desarrollador humano o una IA buscando entender las reglas de oro del framework, consulta nuestro manifiesto de soberanía:

📦 Módulos Core (Núcleo Principal)

Estos módulos forman parte del núcleo principal del framework y están disponibles importando directamente desde "frankjstein".

🧩 Addons (Módulos de Extensión Opcionales)

Módulos desacoplados que extienden el framework. Para mantener el core ultra ligero, se importan por separado utilizando subpath exports.

  • TuRouter (Enrutamiento Avanzado): Enrutador desacoplado agnóstico con trie de prefijos ultra rápido ($O(L)$) y adaptadores de navegación multi-modo (History, Hash, Query). Se importa desde "frankjstein/turouter".

[!TIP] El Linter es tu mejor amigo. FrankJStein distribuye un archivo frankjstein.d.ts con tipados estrictos. Desarrollar en un entorno con soporte para TypeScript/JSDoc te ahorrará horas de debugging al validar tus configuraciones en tiempo real.

🧠 Filosofía y Contribuciones (¿Dónde está /src?)

Si exploras el repositorio notarás una particularidad: no existe una carpeta /src tradicional.

Esto no es un error. FrankJStein es, literalmente, un "monstruo de Frankenstein". Nace de la unificación de múltiples librerías privadas internas (TuJsHtml, KageBunshin, TuContainer, RemoteModule) que fueron creadas, maduradas y probadas en el fragor de la batalla de otros proyectos comerciales y privados.

Este repositorio público actúa como el ensamblador y distribuidor central (/dist). Su objetivo principal es la estandarización arquitectónica para mi "yo del futuro" y para agentes de Inteligencia Artificial que consuman la librería.

Por esta razón, aunque el código se distribuye bajo licencia Apache-2.0 y cualquiera es libre de usarlo:

  • Las Pull Requests con modificaciones al código core (/dist) son muy difíciles de procesar, ya que el código fuente real vive distribuido en otros proyectos privados.
  • Si encuentras un bug o tienes una idea para una característica, eres bienvenido a abrir un Issue, pero ten en cuenta que la integración dependerá de cómo afecte al ecosistema privado de donde proviene el código original.

[!WARNING] Estado del Proyecto: Alpha La arquitectura central es funcional, pero muchas de las guías y directrices para Inteligencia Artificial (AI Skills) son experimentales y no han sido sometidas a pruebas de estrés en producción. Úsalo bajo tu propio riesgo y espera posibles cambios

📄 Licencia

Este proyecto está bajo la Licencia Apache 2.0 - mira el archivo LICENSE para más detalles.

📜 Créditos y Reconocimientos

Skeleton UI: Los estilos de carga utilizados en los ejemplos de Suspense provienen de Skeleton Screen CSS por nullilac (Licencia MIT).

Agent Teams Lite (Gentle AI): La estructura, estandarización de Skills y directrices para agentes de Inteligencia Artificial de este proyecto están fuertemente inspiradas e impulsadas por el framework de Gentleman Programming (gentle-ai). Gemini Antigravity: Reconocimiento a la IA de Google (Antigravity) por su colaboración como Arquitecto de Software en la redacción, formalización de la documentación y estandarización del ecosistema de Skills de FrankJStein.

🤖 Soporte para Agentes de IA (LLMs)

FrankJStein es una librería pensada para humanos, pero construida con una arquitectura clara que facilita la asistencia por Inteligencia Artificial. Si utilizas un Agente de IA para programar, puedes descargar nuestro Pack de Skills oficial para que el modelo comprenda instantáneamente los patrones, reglas y convenciones del framework.

Instalación vía CLI (Recomendado)

Puedes instalar e inyectar todas las skills directamente en tu entorno de desarrollo usando el ecosistema de skills.sh:

npx skills add tuadmin/FrankJStein

Descargas Directas


❤️ Apoya el proyecto

Si FrankJStein te ha sido útil, considera apoyar su desarrollo. ¡Cada pequeña contribución ayuda a mantener al monstruo con vida!

GitHub Sponsors