Guías de ingeniería
Cómo escribimos código aquí: el criterio que fijamos después del incidente, y las dos casas nuevas a las que estamos migrando (Python en el backend, React en el frontend).
Tres guías que se leen en este orden. La primera dice qué se hace y qué no en cualquier repo nuestro, con los vicios reales encontrados en una auditoría. Las otras dos son la transición: de PHP a Python para m-b-core, y de Blade/jQuery/React 15 a React con SSR para el libro y el marketplace.
Por dónde empezar
Criterio Mesa247
Las reglas del equipo, el flujo de un cambio, las reglas de oro de seguridad y los 43 vicios que encontramos en nuestro propio código, cada uno con evidencia, por qué duele y cómo se hace bien. Checklist de PR, definición de listo y plan 30/60/90.
Abrir →
02 · BackendPython para m-b-core
De PHP/Laravel a Python: el mapa de equivalencias, 14 trampas del que viene de PHP, async/await, tipos y Pydantic, cómo está armado m-b-core y una feature de punta a punta. Con 8 prácticas guiadas que construyen un mini-repo calcando el real.
Abrir →
03 · FrontendReact y SSR
De Blade, jQuery y React 15 a React 19 con TanStack Start: dónde corre cada línea, server functions, quién es dueño del estado (Query vs Jotai), 14 trampas y dos features de punta a punta sobre m-f-libro.
Abrir →
Según tu caso
Las ocho prácticas de Python
Construyen un mismo mini-repo (mesa-core-practicas) que calca la estructura y las convenciones reales de m-b-core. Todo el código y todas las salidas se ejecutaron de verdad al escribirlas; lo no ejecutable está marcado en cada página. Hazlas en orden.
- 1 · Entorno, funciones puras y testsEl repo, el venv, requirements pineados, motor mínimo con numpy y reglas puras con tests parametrizados.
- 2 · async/await de verdadCliente httpx con timeout, gather con Semaphore, to_thread, y los tres errores clásicos medidos.
- 3 · Un módulo como
cities/Schemas Pydantic, utils puros, ruta delgada con los códigos de error correctos y tests con TestClient. - 4 · SQL con parámetros y el mock boundarylegacy_db_read, la inyección demostrada, y el patrón de tests de la casa.
- 5 · Postgres propio con SQLModel y alembicCompose, migraciones revisadas, transacciones, y la máscara de credenciales bien hecha.
- 6 · Fechas por restaurantetz_for y now_local, aware vs naive, la trampa de las 19:00 de Lima en un test.
- 7 · Errores, logging y tareas idempotentesHandlers únicos, logs JSON sin PII, secreto en tiempo constante, idempotencia y backoff.
- 8 · Docker, pipeline y tu primer PRMulti-stage con tests dentro del build, CI, el pipeline comentado y cómo se hace el primer PR.
Cómo se mantiene esto
- Vive en el repo
Mesa247/guias-ingenieria. Un cambio es un PR, como cualquier otro código. - Cuando una convención cambie en un repo (
CLAUDE.md,TESTING.md, metodología de estado), se actualiza la guía en el mismo PR que la cambia. - Cuando aparezca un vicio nuevo o se cierre uno, se edita su tarjeta en Criterio y se anota en el anexo de auditoría.
- Retro mensual de 20 minutos: qué regla sobra, qué falta, qué confundió a quien entró último.
Estas páginas citan rutas, líneas y hallazgos de seguridad de nuestros repos de producción (nunca valores de secretos). Son para el equipo: no se comparten fuera ni se indexan. Si hace falta control de acceso real, va detrás de Cloudflare Access con el correo del equipo.