La lógica de negocio primero
La plomería es una lista de plugins. El diff de la rama es la funcionalidad.
CostoHeredas opiniones, y se exigen.
v0.1.0a12 · alpha
Un comando: FastAPI, PostgreSQL, Redis, jobs, un frontend en Vue y un reverse proxy. Conectados, en contenedores, migrando al arrancar. Lo que escribes es la parte que solo tú conoces.
$ pip install jfastframework
$ jfast start shop
✓ shop/ FastAPI · Postgres · Redis
✓ shop-web/ Vue 3 · Vite
✓ compose un contenedor por recurso
✓ Caddyfile TLS · un solo host
Alpha. La tabla de madurez dice qué partes están probadas contra infraestructura real y cuáles no.
Genera
FastAPI PostgreSQL pgvector Redis SQLAlchemy Alembic Vue 3 React Tailwind Docker CaddyAntes y después
A mano
Conectar la sesión. Decidir dónde va la query. Agregar modelo, router, migración y servicio de compose. Enterarte en el review de que alguien consultó la base desde un handler.
Aquí
jfast new module invoice — router, service, repository, schemas y un test, registrados, bajo un contrato que rompe el build si el handler toca la base.
El diseño
La plomería es una lista de plugins. El diff de la rama es la funcionalidad.
CostoHeredas opiniones, y se exigen.
Cada regla la verifica una máquina, y cada violación dice el arreglo.
CostoEscribir el contrato es trabajo.
Hoy un monolito modular; un comando convierte un módulo en servicio.
CostoUn monolito el día uno.
Barandales
Generar código rápido ya está resuelto. Mantenerlo coherente tras la cuarta funcionalidad, no.
$ jfast contracts check
modules/payment/service.py:41: cross-module: module 'payment' imports module 'invoice'
(two modules that need the same thing should share it: move it to shared/enums.py)
modules/billing/service.py:88: blocking-call: time.sleep stalls the event loop
(every request on this worker waits; use await asyncio.sleep)
Dos que se importan entre sí ya no se pueden separar.
Un time.sleep frena todas las peticiones del worker.
La sesión confirma antes de responder, y una carrera es un 409, no una escritura perdida.
Para quién es
El módulo generado es un ejemplo que lees en cinco minutos.
Te saltas la plomería; el checker atrapa el atajo de las 6pm.
El review es sobre la funcionalidad; la estructura la revisa la CI.
Reglas que la IA lee primero y no puede romper en silencio.
Documentación
Genera el stack con un comando, y deja que la CI lo mantenga con la forma que elegiste mientras un equipo — o un agente — trabaja en él.