jfastframework
Documentación English PyPI GitHub

JFastFramework — Roadmap

Las fases están ordenadas por dependencia, no por ambición. Cada una termina con algo usable; nada se entrega a medias dentro de la fase siguiente.

Leyenda: [x] hecho · [~] parcial, con los huecos nombrados · [ ] sin empezar

Al lado de este archivo hay dos propuestas que no son compromisos: PLAN-NEXT.md para el camino a 1.0, y PLAN-CLI.md para que la CLI pase de generador a herramienta de ciclo de vida. Un paso llega aquí solo cuando se acepta.


Fase 0 — Kernel (hecho)

Lo más chico que hace posible cada fase posterior.

Criterios de salida cumplidos: un servicio es create_app() y un jfast.toml.


Fase 1 — Plugins integrados (casi hecho)

Lo que falta en esta fase


Fase 2 — Multi-tenancy (sin empezar)

El pitch de toda fábrica de SaaS y la parte que todo el mundo hace mal, tarde. Decide la estrategia antes de escribir nada de esto, porque cambiarla después es una migración de datos, no un refactor.

Trade-off que hay que aceptar ahora: BaseRepository filtra por tenant, pero un session.execute crudo lo saltea. Hasta que llegue RLS, el aislamiento entre tenants es una convención, no una garantía. No lo vendas como garantía.


Fase 3 — El generador (parcialmente hecho)


Fase 3b — Workspaces y el gateway (hecho)


Fase 4 — Deployment (parcialmente hecho)


Fase 5 — Superficie para agentes (parcialmente hecho)

Lo que hace que "describe una app y obtenla" sea real y no una demo.


Fase 6 — Endurecimiento (empezado)


No-objetivos explícitos

Decir que no mantiene chico el kernel.


Migrar desde CometaXMicroservices

  1. Elige un servicio generado — FrameworkTest es la víctima natural para empezar.
  2. Reemplaza su core/ y config/ copiados por imports de jfastframework.
  3. Mueve cada os.getenv a un modelo de settings de plugin.
  4. Convierte cada modules/<name>/ al layout de módulo de JFast.
  5. Borra los archivos copiados y pinea jfastframework~=0.1.
  6. Recién entonces migra el segundo servicio.

No los migres todos de una. La primera migración es donde salen a la superficie las piezas que le faltan al framework, y conviene encontrarlas con un solo servicio en riesgo.


Fase 3c — Polyglot, colas y el borde (0.4.0)

Fase 3d — Más lenguajes y frontends (sin empezar)

Cada ítem de aquí está condicionado a la misma regla: un job de CI que construya y corra lo que genera. Esa regla es la razón de que Go saliera y Angular no.

El contrato es el punto de extensión. Agregar un lenguaje es: implementar las seis secciones de docs/service-contract.md, registrar un LanguageSpec, agregar un árbol de plantillas, agregar el job de CI.


Fase 1b — Auth (0.6.0)

Fase 4b — Kubernetes (0.6.0)


Fase 6 — Storage, tenancy y nube (0.7.0)