20260830 - v1.0.0

Fecha: 2026-08-30
Summary
Presentamos la v1.0.0: ¡El GenericSuite Superproyecto está en vivo! 🚀
Este lanzamiento marca un hito fundamental para el ecosistema: se introducen un paquete de desarrollo de aplicaciones móviles Flutter, habilidades de generación de código, habilidades de herramientas y políticas de seguridad, y una aplicación móvil de documentación. Además, GenericSuite ahora se distribuye como un unificado Superproyecto, reuniendo los 16 paquetes como submódulos de git bajo un único monorepo, con automatización compartida y contexto de IA-agente que guía a cada paquete por igual. Es el lanzamiento estructural más grande en la historia de GenericSuite, y viene acompañado de una intensa pasade endurecimiento y expansión en todas las áreas.
Principales beneficios profesionales:
-
Nuevos paquetes:
genericsuite-mobile,genericsuite-mobile-exampleapp(para desarrollo de apps móviles con Flutter),genericsuite-basecamp-app(aplicación móvil de documentación),genericsuite-skills(habilidades de generación de aplicaciones),genericsuite-security(herramientas y políticas de seguridad), ygenericsuite-fe-scripts(scripts comunes de frontend), todos debutan en este ciclo, además de una nueva ruta de despliegue OpenTofu (Terraform). -
Un ecosistema, un hogar: El nuevo Superproyecto orquesta todos los paquetes de GenericSuite — frontend, backend, móvil, scripts, docs y ahora seguridad — desde una raíz única, con archivos de contexto
AGENTS.md/GEMINI.md/CLAUDE.mdatravesados por cada paquete para asistentes de codificación IA. -
Seguridad, en todas partes: Python 3.14 y Node.js 26 en todo, ecosistema con licencia MIT, decenas de correcciones CVE (axios, LangChain/aiohttp, Vite, Forge), limitación de tasas en FastAPI/Flask, y una nueva Suite de Seguridad GenericSuite — cinco habilidades Claude nacidas directamente de responder al gusano de la cadena de suministro npm Shai-Hulud.
-
Relaciones 1-1 y 1-N, en todas partes: El nuevo tipo de campo
select_tablellega a los editores CRUD de React y Flutter, sumándose al soporte de FlutterchildComponentspara relaciones 1-N. -
Almacenamiento y secretos multinube: GCP Cloud Storage y Azure Blob Storage se unen a AWS S3, además de GCP Secret Manager y Azure Key Vault como backends de secretos — genericsuite-be empieza a comunicarse con los tres grandes proveedores de nube.
-
Despliegues de AWS con OpenTofu: la nueva ruta de despliegue OpenTofu (Terraform) junto a CloudFormation para despliegues en AWS.
Consulta el registro completo de cambios para todos los detalles de los 16 paquetes.
IMPORTANTE: revisa la Guía de Migración 20260830 - v1.0.0 para migrar de la versión anterior a la nueva.
GenericSuite Superproject
Package, Pull Request and Tag
- Pull Request: https://github.com/tomkat-cr/genericsuite/pull/2
- Tag: https://github.com/tomkat-cr/genericsuite/releases/tag/1.0.0
Pull Request Overview
Presentando la estructura del GenericSuite superproyecto
Esta solicitud de extracción establece el GenericSuite Superproject como una capa de orquestación de monorepo, reuniendo los 16 paquetes de GenericSuite como submódulos de git bajo un único repositorio. Añade scripts de automatización para sincronizar y gestionar los paquetes, documentación a nivel de proyecto y archivos de contexto de AI Coding Assistant, sentando las bases para lanzamientos coordinados de todo el ecosistema como este.
Puntos destacados
- Capa de orquestación de monorepo: todos los paquetes de GenericSuite (
genericsuite-fe,genericsuite-be,genericsuite-be-ai,genericsuite-fe-ai,genericsuite-basecamp, y más) now son gestionados como submódulos de git bajopackages/, conmake update-packagespara sincronizarlos. - Contexto de AI Coding Assistant:
AGENTS.md,GEMINI.md, yCLAUDE.mdbrindan a Claude Code, Gemini CLI, Cursor, Antigravity, y otros asistentes una guía consistente a lo largo de todo el ecosistema. - Nueva habilidad de AI de notas de lanzamiento: la habilidad automátiza la recopilación de changelogs, PRs y etiquetas en cada paquete para producir este mismo changelog de lanzamiento y sus resúmenes en redes sociales.
CHANGELOG.md
[1.0.0] - 2026-08-30
Added
- Añadir: Presentación de la estructura del GenericSuite superproyecto con submódulos de git, scripts de automatización y documentación del proyecto, para facilitar la gestión, el cambio y el despliegue del proyecto en su conjunto [GS-319].
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a los AI Coding Assistants [GS-303].
- Añadir la habilidad
release-notesal directorio.ai./skills, para generar notas de lanzamiento y resúmenes para redes sociales del proyecto [GS-191].
Changed
- Licencia cambiada a MIT [FA-244].
- Renombrar AWS_S3_BUCKET_NAME a AWS_S3_BUCKET_NAME_FE en el archivo .env y .env.example [GS-328].
webpack.config.jsyconfig-overrides.js: comentarios sobre los polyfills del módulo central de Node.js han sido desactivados; se añadieron notas de instalación para volver a habilitarlos si es necesario [GS-338].- Actualizar .npmignore para incluir archivos y directorios adicionales para Claude Code, AI Agents y OpenTofu [GS-327].
- Actualizar la versión a 1.0.0 en package.json, package-lock.json y version.txt para reflejar el último lanzamiento [GS-327].
Fixed
- getFieldElementsYupValidations() no funcionaba con action=CREATION, por ejemplo tenía problemas en la creación de usuarios (clave API de OpenAI y modelo requeridos cuando tenían valores nulos). Por ahora, las validaciones de Yup están desactivadas [GS-251].
- La versión del paquete
bsonfijada a 7.2.0 para corregir el error "Uncaught TypeError: globalThis?.process?.getBuiltinModule is not a function" tras actualizar vite a la versión 8 [GS-268]. tsconfig.jsonle faltaba unexcludepara*.test.tsx, de modo que cada archivo de prueba generaba su propio stub.d.tsendist/esmydist/cjsdurante la build de Rollup. Dado quedistestá completamente incluido en el paquete npm publicado, se generaron ~24 archivos de declaración inútiles con cada lanzamiento [GS-338].rollup.config.mjs: se añadieronbsonyjs-md5al arregloexternal. Ambos son dependencias pares reales usadas ensrc/lib/services/id.utilities.jsxymd5.utilities.jsx, pero estaban ausentes deexternal, por lo que Rollup los empaquetaba directamente endisten lugar de tratarlos como dependencias pares suministradas por el consumidor [GS-338].- Se eliminó una entrada falsa
"with"de la configuraciónresolve.fallbackde webpack —withno es un módulo central de Node.js, así que el fallback nunca hacía nada [GS-338]. - "config-overrides.js" actualizado para corregir errores al ejecutar la app con RUN_BUNDLER="react-scripts" [GS-338] y refactorizado para usar fileURLToPath en la resolución de rutas y limpiar logs de depuración no usados [GS-327].
- Documentación de instalación de la dependencia "process" en el archivo "webpack.config.js" para corregir errores al ejecutar la app [GS-338].
- "generic.editor.rfc.common.jsx" y "generic.editor.rfc.service.jsx" corregidos para mostrar errores de configuración eventual en listados de hijos, y actualizados para mostrar el nombre del editor en los mensajes de error [GS-327].
- "vite.config.mjs" actualizado para corregir el mensaje "(!) Your Vite config uses features that are unsupported by
configLoader: 'native', which is planned to become the default in a future major version of Vite:__dirname(vite.config.mjs:54:42). Useimport.meta.dirnameinstead" tras la actualización a vite 8 [GS-268].
Security
- Actualizar dependencias a las versiones más recientes: crypto-browserify@^3.12.1, downshift@^9.4.0, react-icons@^5.7.0, react-markdown@^10.1.0, react-syntax-highlighter@^16.1.1 [GS-219] [GS-214].
- Actualizar axios@^1.19.0 para corregir vulnerabilidades de seguridad [GS-219]:
- SSRF, inyección de datos sensibles, modificación insegura de atributos, etc. (varias entradas). Ver detalle en la lista original.
- Actualizar yup@^1.7.1 para corregir vulnerabilidades [GS-219]:
- Inyección de código arbitraria y otros problemas en lodash y lodash-es [GS-219].
- Actualizar react-router-dom@^7.18.2 para corregir vulnerabilidad [GS-219]:
- Varios vectores de seguridad en rutas y CSRF, entre otros [GS-219].
- "react" y "react-dom" ahora tienen dependencias pares con "^18.2.0" (sin afectar este código porque solo usa BrowserRouter/Routes/Route/Link/Navigate; React/ReactDOM se actualizarán a 19 en la próxima versión para corregir la vulnerabilidad mencionada) [GS-219].
- Subir la versión de Node.js en .nvmrc a 26 [GS-339].
- Los archivos de configuración
users_user_history.json,users_config.jsonyusers_api_keys.jsonahora utilizan el parámetro "mandatoryFilters" en la configuración del backend para garantizar que el historial de usuarios, la configuración y las claves API estén forzados al usuario actual [GS-327]. - Los archivos
users_user_history_admin.json,users_config_admin.jsonyusers_api_keys_admin.jsonno usan el parámetro "mandatoryFilters" para permitir que el superusuario vea todo el historial de usuarios, configuraciones y claves API al editar usuarios [GS-327]. - Actualizar @babel/core a ^7.29.7 para corregir vulnerabilidad de lectura arbitraria mediante comentario sourceMappingURL ([CVE-2026-49356]) [GS-219].
Removed
- El directorio
scripts/se movió a la biblioteca de scripts frontend [GS-107]. - Dependencias pares no utilizadas:
react-icons,web-vitals,fs,json-loader,with,constants-browserify,crypto-browserify,os-browserify,stream-browserify,tty-browserify,url,vm-browserify. Ninguna se importa ensrc/; las dependencias CRUD-editor ya están requeridas de forma transitiva a través de la dependencia pares degenericsuitepara quien las necesite, y los shims de Node.js solo se usaban en las configuraciones dev-server opcionales de webpack/react-app-rewired[GS-338]. - Dependencias de desarrollo no utilizadas:
@babel/cli,@babel/preset-stage-0,@rollup/plugin-typescript,file-loader,path,url-loader(mismo razonamiento que engenericsuite-fe), ywhatwg-fetch(no se necesita en pruebas aquí).@testing-library/user-eventse mantuvo — a diferencia degenericsuite-fe, se usa realmente enChatCodeBlock.test.tsx[GS-338]. - Dependencias innecesarias (css-loader, postcss-loader, style-loader) y otras: el usuario puede importarlas si webpack o GitHub pages se van a usar en su app [GS-338].
- Atributo
'id="copyButton"'eliminado del componente<ChatCopyButton />[GS-327].
GenericSuite Frontend AI
Package, Pull Request and Tag
- Package: https://www.npmjs.com/package/genericsuite-ai/v/1.3.0
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-fe-ai/pull/11
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-fe-ai/pull/12
- Tag: https://github.com/tomkat-cr/genericsuite-fe-ai/releases/tag/1.3.0
Pull Request Overview
Documentación de agentes IA, scripts movidos a GS FE Scripts, licencia MIT y actualizaciones de seguridad
Replica el lanzamiento central de FE: documentos de agente IA, reacondicionamiento de licencia MIT y movimiento del directorio de scripts a genericsuite-fe-scripts. Añade pulido de UI de ChatBot (botón de copiar con icono, mejor renderizado de bloques de código) y corrige un error de resolución de dependencias de Formik que afecta a ExampleApp/FastApiTemplate, junto con el mismo gran barrido de dependencias de seguridad que FE Core más mejoras de jest/rollup-plugin-typescript.
Puntos destacados
- Corregido el fallo "Could not resolve dependency: formik@2.4.5" que sacaba de quicio a consumidores de ExampleApp/FastApiTemplate [GS-254].
- Bloques de código de conversación de ChatBot: botón de copiar con icono y mejoras de renderizado [GS-214].
scripts/movido agenericsuite-fe-scripts; Licencia cambiada a MIT [GS-107] [FA-244].- Seguridad: actualizaciones de axios, yup, react-router-dom, jest, rollup-plugin-typescript2/typescript, y @babel/core para corregir numerosas vulnerabilidades de alto/críticas, incluyendo problemas de ejecución remota de código [GS-219].
- Limpieza de construcción/dependencias: se eliminaron dependencias pares/dev no utilizadas (css-loader, postcss-loader, gh-pages, etc.) [GS-338].
CHANGELOG.md
[1.3.0] - 2026-08-30
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a los AI Coding Assistants [GS-303].
- Añadir pruebas SAST [GS-315].
- Añadir biblioteca de scripts frontend [GS-107].
Changed
- Licencia cambiada a MIT [FA-244].
- Renombrar AWS_S3_BUCKET_NAME a AWS_S3_BUCKET_NAME_FE en el archivo .env [GS-328].
- Bloques de código de diálogo de ChatBot mejorados: reemplazar el botón de copiar por un icono y mejorar el diseño [GS-214].
- Añadir script "tailwind-build" para desplegar_ y ejecutar_ en Makefile [GS-214].
webpack.config.jsyconfig-overrides.js: comentarios sobre polyfills del módulo central de Node.js han sido desactivados; se añadieron notas de instalación para reactivarlos si el grafo de dependencias de un consumidor lo requiere [GS-338].- Actualizar la versión a 1.3.0 en package.json, package-lock.json y version.txt para reflejar el último lanzamiento [GS-327].
Fixed
- Error "Could not resolve dependency: formik@2.4.5" en
ExampleApp,FastApiTemplatey todas las apps que usangenericsuite-fe-aicomo dependencia [GS-254]. - Error "installHook.js:1 TypeError: JY.default.includes is not a function" cuando se hacen clic en ciertas conversaciones de ChatBot y la página se queda vacía [GS-214].
tsconfig.jsonle faltaba unexcludepara*.test.tsx, por lo que cada archivo de prueba generaba su propio.d.tsendist/esmydist/cjsdurante la build de Rollup. Estas 14 filas sobrantes ya estaban en el repo y se enviaban endist/con cada npm publish [GS-338].- Eliminar entrada falsa
"with"de la configuraciónresolve.fallbackdeconfig-overrides.js—withno es un módulo central de Node.js, así que el fallback nunca hacía nada [GS-338]. - El
rollup.config.mjs: eliminarformikdel arrayexternal— no es una dependencia par declarada y no se importa ensrc/(restante de la configuración de Rollup degenericsuite-fe) [GS-338]. - "config-overrides.js" actualizado para corregir errores al ejecutar la app con RUN_BUNDLER="react-scripts" [GS-338], y refactor para usar fileURLToPath y limpiar logs de depuración no usados [GS-327].
- Documentación de instalación de la dependencia "process" en el archivo "webpack.config.js" para corregir errores al ejecutar la app [GS-338].
Security
- json5, postcss y prismjs arreglados por vulnerabilidades al actualizar sus paquetes dependientes [GS-214].
- Actualizar dependencias a las versiones más recientes: crypto-browserify, downshift, react-icons, react-markdown, react-syntax-highlighter [GS-219] [GS-214].
- Actualizar axios@^1.19.0 para corregir vulnerabilidades de seguridad [GS-219]:
- SSRF, inyección de datos sensibles, contaminación de prototipos, etc. (varias entradas). Ver listado completo.
- Actualizar yup@^1.7.1 para corregir vulnerabilidades [GS-219]:
- Inyección de código arbitraria en lodash/lodash-es [GS-219].
- Actualizar react-router-dom@^7.18.2 para corregir vulnerabilidad [GS-219]:
- Varias vectores de seguridad en rutas y CSRF, entre otros [GS-219].
- Actualizar jest, jest-environment-jsdom y babel-jest para corregir vulnerabilidades [GS-219].
- Actualizar rollup-plugin-typescript2 a ^0.37.0 y TypeScript a ^5.3.3 para corregir vulnerabilidades [GS-219].
- Otras vulnerabilidades de seguridad cubiertas por las actualizaciones de dependencias [GS-219]:
- Varias dependencias y herramientas relacionadas con seguridad.
- Actualizar React y React-DOM a dependencias pares ^18.2.0 (sin afectar este código; se planea la actualización a 19 en la próxima versión para corregir vulnerabilidad de react-router-dom) [GS-219].
- Bump Node.js en .nvmrc a 26 [GS-339].
- Actualizar @babel/core a ^7.29.7 para corregir vulnerabilidad ([CVE-2026-49356]) [GS-219].
Removed
- El directorio
scripts/se movió a la biblioteca de scripts frontend [GS-107]. - Dependencias pares no utilizadas: varias listas largas de dependencias que ya no se requieren en
genericsuite-fe[GS-338]. - Dependencias de desarrollo no necesarias eliminadas según lo anterior [GS-338].
- Atributo
id="copyButton"eliminado del componente<ChatCopyButton />[GS-327].
GenericSuite Frontend Scripts
Package, Pull Request and Tag
- Package: https://www.npmjs.com/package/genericsuite-fe-scripts/v/1.0.0
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-fe-scripts/pull/2
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-fe-scripts/pull/3
- Tag: https://github.com/tomkat-cr/genericsuite-fe-scripts/releases/tag/1.0.0
Pull Request Overview
Crear la biblioteca GS FE scripts, despliegue frontend expandido para ser utilizado en landing pages, pruebas SAST, OpenTofu para despliegue de FE
El lanzamiento inicial de la biblioteca de scripts frontend de GenericSuite — separada del directorio scripts/ de genericsuite-fe en su propio paquete independiente y reutilizable. Amplía el despliegue frontend de S3 para admitir landing pages (no solo la app principal) y añade un pipeline de despliegue completo basado en OpenTofu (S3 privado + CloudFront con Origin Access Control, enrutamiento SPA de errores, TLS 1.2 y estado remoto S3) paralelo al despliegue existente con bash-script.
Puntos destacados
- Nueva biblioteca independiente de scripts frontend, extraída de
genericsuite-fe[GS-107]. - Nuevo módulo OpenTofu
frontend-hosting: S3 privado + CloudFront (OAC, TLSv1.2_2021, enrutamiento SPA) con pipeline completoaws_tf_deploy_to_s3.sh[GS-334]. - Despliegue FE S3 ampliado para admitir landing pages, no solo la app principal [GS-328].
CHANGELOG.md
[1.0.0] - 2026-08-30
Added
- Crear la biblioteca de scripts frontend [GS-107].
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Despliegue de infraestructura OpenTofu (Terraform-compatible) en
scripts/aws_tf: módulo de alojamiento frontend (frontend-hosting) (S3 privado + CloudFront con Origin Access Control, redirección a https, TLSv1.2_2021, enrutamiento SPA) y pipeline completoaws_tf_deploy_to_s3.sh(aplicar tofu + construir + sincronizar S3 + invalidación de CloudFront), con estado remoto S3 — paralelo al existenteaws_deploy_to_s3.sh, que permanece sin cambios [GS-334].
Changed
- Cambiar el despliegue FE S3 para usar en Landing Pages [GS-328].
- Renombrar AWS_S3_BUCKET_NAME a AWS_S3_BUCKET_NAME_FE en el archivo .env y scripts [GS-328].
- Mejorar
aws_deploy_to_s3.sh: establecer valores por defecto para RUN_BUNDLER, UPDATE_BUILD y BUILD_DIR si no se especifican vía CLI. Mejorar el manejo del nombre del bucket y las verificaciones de CloudFront. Actualizar la homepage de package.json durante el despliegue y restaurarla solo al finalizar si RUN_BUNDLER != none. Usar BUILD_DIR para establecer el directorio de build, de modo que el despliegue móvil (que no usa react-vite) pueda realizarse. - Actualizar .npmignore para incluir archivos y directorios adicionales para Claude Code, AI Agents y OpenTofu [GS-327].
Security
- Actualizar la versión de Node.js en .nvmrc a 26 [GS-339].
GenericSuite Backend Core
Package, Pull Request and Tag
- Package: https://pypi.org/project/genericsuite/0.4.0/
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-be/pull/16
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-be/pull/16
- Tag: https://github.com/tomkat-cr/genericsuite-be/releases/tag/0.4.0
Pull Request Overview
OPENSPEC, mejorar documentación de IA, mejorar medidas de seguridad, licencia MIT y pruebas unitarias
Este lanzamiento añade implementaciones de abstracción para GCP Cloud Storage y Azure Blob Storage (emulando el soporte de AWS S3 existente), además de backends de secretos para GCP Secret Manager y Azure Key Vault — extendiendo el diseño multicloud a dos proveedores más. También añade limitación de tasa en FastAPI/Flask, cobertura de pruebas unitarias general, un resolver de relaciones 1-1 select_table a través de todos los motores de DB, relicensing a MIT y un pase de dependencias de seguridad (pyjwt, cryptography, urllib3) más una corrección de path traversal en app_context.py.
Highlights
- Soporte completo para GCP Cloud Storage y Azure Blob Storage (subir/eliminar/URL prefirmada/recuperación) [GS-318] [GS-317].
- Nuevos backends de secretos
get_secrets()para GCP Secret Manager y Azure Key Vault [GS-318] [GS-317]. - Campo
select_table: resolver de relaciones 1-1 agnóstico al motor (DynamoDB BatchGetItem / MongoDB$lookupcaminos rápidos) [GS-259]. - Limitación de tasas (
slowapi) integrada en endpoints de FastAPI y Flask [GS-332]. - Seguridad: actualización de pyjwt, cryptography, urllib3; corrección de vulnerabilidad de traversal en
app_context.py; migración a Python 3.14 [GS-219] [GS-337].
CHANGELOG.md
[0.4.0] - 2026-08-30
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Pruebas SAST [GS-315].
- Pruebas unitarias generales [GS-21].
- Nueva variable de entorno AWS_SSL_CERTIFICATE_ARN_BE añadida al
.env.example[GS-328]. - Soporte de almacenamiento GCP Cloud Storage (GCS): implementación completa de
upload_file_to_storage,remove_from_storage,get_gcs_presigned_url,storage_retievalyprepare_asset_urlengenericsuite/util/gcp.py[GS-318]. - Soporte de Azure Blob Storage: implementación completa de
upload_file_to_storage,remove_from_storage,get_blob_presigned_url(tokens SAS),storage_retievalyprepare_asset_urlengenericsuite/util/azure.py[GS-317]. - Soporte de GCP Secret Manager: implementación real de
get_secrets()engenericsuite/util/gcp_secrets.pyusando el SDKgoogle-cloud-secret-manager; requiere la variable de entornoGCP_PROJECT_ID[GS-318]. - Soporte de Azure Key Vault: implementación real de
get_secrets()engenericsuite/util/azure_secrets.pyusando los SDKsazure-keyvault-secrets+azure-identity; requiereAZURE_KEYVAULT_URL[GS-317]. - Grupos de dependencias opcionales
gcpyazureenpyproject.tomlpara instalación diferida de SDKs [GS-317] [GS-318]. - Nuevas variables de entorno documentadas en
.env.example:GCP_PROJECT_ID,GCS_CHATBOT_ATTACHMENTS_BUCKET_*,AZURE_STORAGE_ACCOUNT_NAME,AZURE_STORAGE_ACCOUNT_KEY,AZURE_CHATBOT_ATTACHMENTS_CONTAINER_*,AZURE_KEYVAULT_URL,CLOUD_STORAGE_PRESIGNED_EXPIRY,CLOUD_STORAGE_PRESIGNED_ACTIVE[GS-317] [GS-318]. - Pruebas unitarias para almacenamiento GCS (
tests/test_gcp_storage.py), Azure Blob storage (tests/test_azure_storage.py), GCP Secret Manager (tests/test_util_gcp_secrets.py), y Azure Key Vault (tests/test_util_azure_secrets.py) [GS-317] [GS-318]. - Introducir variable de entorno
DEBUG_CORSen FastAPIcreate_app.pypara registrar orígenes CORS durante el desarrollo. Mejora la capacidad de depuración para la configuración de CORS [GS-329]. slowapipara limitación de tasa en FastAPI [GS-332].- Integrar límite de tasa en endpoints de FastAPI y Flask [GS-332].
- Campo
select_table: tipo de campo 1-1 en listados y lecturas. Nuevos atributos JSONrelated_table,local_field,related_key,description_fields,description_separator,related_filter; filas ahora incluyen{field}_description. Resolver$inagnóstico del motor para todos los DB, con caminos rápidos en DynamoDB BatchGetItem y MongoDB$lookup[GS-259].
Fixed
- Encabezados de API Key MCP y problemas de autenticación de API Key: modificar get_access_token para incluir todos los encabezados, actualizar mcp_authenticate_api_key para que requiera solo user_id en base a MCP_MANDATORY_USER_ID, mejorar la asignación de user_id cuando solo se proporciona API Key [GS-243].
Changed
- Licencia cambiada a MIT [FA-244].
- Actualizar configuración de CORS en
create_app.pypara manejar múltiples orígenes separándolos si la cadenaCORS_ORIGINcontiene comas [GS-329]. - Actualizar configuración de CORS en
framework_abstraction.pypara establecerAccess-Control-Allow-Origina '*' al manejar múltiples orígenes, ya que FastAPI gestiona la división de orígenes internamente [GS-329]. - Quitar autenticación de solicitudes para flexibilidad [GS-329].
- Y añadir rate limit en
logs.pypara el endpoint/logs[GS-332]. - Mejoras en comentarios sobre cómo especificar C0301 y E501 para lint en
config.py - Reemplazar revisión de código de Gemini de Github por SonarQube y Claude [GS-336].
- Modificar Makefile para permitir argumentos opcionales para la subida de twine durante la publicación en producción, p. ej. "--verbosity" [GS-327].
- Actualizar versión a 0.4.0 en package.json, pyproject.toml y setup.py [GS-327].
Security
- Actualizar dependencies para corregir vulnerabilidades de configuración: pyjwt, cryptography, urllib3, y otros [GS-219] (detalles en la lista original).
- Actualizar
pytest,pytest-cov,twine,fastapi,pytest-mock, para corregir vulnerabilidades [GS-219]. - Actualizar ddgs, y fijar
urllib3a ^2.7.0 para corregir vulnerabilidad de envío de contenido comprimido [GS-219]. - Fijar Node.js a 26 en
.nvmrc[GS-339]. - Migrar a Python 3.14 [GS-337].
- Otros cambios de seguridad y mejoras varias [GS-219].
Removed
- El directorio
scripts/se movió a la biblioteca de scripts frontend [GS-107]. - Conjunto de dependencias y devDependencies no utilizadas eliminadas de forma extensa (ver listado completo en fuente original) [GS-338].
- El atributo
'id="copyButton"'eliminado del componente<ChatCopyButton />[GS-327].
GenericSuite Backend AI
Package, Pull Request and Tag
- Package: https://pypi.org/project/genericsuite-ai/0.4.0/
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-be-ai/pull/14
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-be-ai/pull/15
- Tag: https://github.com/tomkat-cr/genericsuite-be-ai/releases/tag/0.4.0
Pull Request Overview
Mejorar documentación de IA y abordar vulnerabilidades de seguridad
Una edición enfocada en seguridad e higiene: documentación de onboarding de IA, pruebas SAST, relicensing a MIT y herramientas de revisión de código migradas de GitHub Gemini a SonarQube + Claude. El grueso del cambio es un pase de actualización de dependencias de seguridad en la pila LangChain (langchain, langchain-openai, langchain-core, langchain-community) que corrige vulnerabilidades de traversal, SSRF, ReDoS y deserialización, además de actualizaciones de pytest/twine/fastapi/aiohttp/cryptography/pyjwt y una migración a Python 3.14.
Highlights
- Pila LangChain actualizada (langchain, langchain-openai, langchain-core, langchain-community) corrigiendo vulnerabilidades de alto riesgo de traversal, SSRF, ReDoS y deserialización insegura [GS-219].
- cryptography y pyjwt actualizados para corregir problemas de construcción de rutas y SSRF/falsificación de tokens [GS-219].
- Licencia cambiada a MIT; revisión de código movida a SonarQube + Claude [FA-244] [GS-336].
- Migración a Python 3.14; Node.js actualizado a v26 en
.nvmrc[GS-337] [GS-339].
CHANGELOG.md
[0.4.0] - 2026-08-30
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Pruebas SAST [GS-315].
- Pruebas unitarias generales [GS-21].
- Nueva variable de entorno AWS_SSL_CERTIFICATE_ARN_BE añadida al
.env.example[GS-328]. - Soporte de GCP Cloud Storage (GCS): implementación completa de
upload_file_to_storage,remove_from_storage,get_gcs_presigned_url,storage_retievalyprepare_asset_urlengenericsuite/util/gcp.py[GS-318]. - Soporte de Azure Blob Storage: implementación completa de
upload_file_to_storage,remove_from_storage,get_blob_presigned_url(tokens SAS),storage_retievalyprepare_asset_urlengenericsuite/util/azure.py[GS-317]. - Soporte de GCP Secret Manager: implementación real de
get_secrets()engenericsuite/util/gcp_secrets.pyusando el SDKgoogle-cloud-secret-manager; requiereGCP_PROJECT_ID[GS-318]. - Soporte de Azure Key Vault: implementación real de
get_secrets()engenericsuite/util/azure_secrets.pyusandoazure-keyvault-secrets+azure-identity[GS-317]. - Grupos de dependencias opcionales
gcpyazureenpyproject.tomlpara instalación perezosa de SDKs [GS-317] [GS-318]. - Nuevas variables de entorno documentadas en
.env.example:GCP_PROJECT_ID,GCS_CHATBOT_ATTACHMENTS_BUCKET_*,AZURE_STORAGE_ACCOUNT_NAME,AZURE_STORAGE_ACCOUNT_KEY,AZURE_CHATBOT_ATTACHMENTS_CONTAINER_*,AZURE_KEYVAULT_URL,CLOUD_STORAGE_PRESIGNED_EXPIRY,CLOUD_STORAGE_PRESIGNED_ACTIVE[GS-317] [GS-318]. - Pruebas unitarias para almacenamiento GCS (
tests/test_gcp_storage.py), Azure Blob storage (tests/test_azure_storage.py), GCP Secret Manager (tests/test_util_gcp_secrets.py), y Azure Key Vault (tests/test_util_azure_secrets.py) [GS-317] [GS-318]. - Introducción de variable de entorno
DEBUG_CORSen FastAPIcreate_app.pypara registrar orígenes CORS durante el desarrollo. Mejora de capacidades de depuración para la configuración de CORS [GS-329]. slowapipara limitación de tasa en FastAPI [GS-332].- Integración de limitación de tasa en endpoints de FastAPI y Flask [GS-332].
- Campo
select_table: tipo de campo 1-1 resuelto en listados y lecturas. Nuevos atributos JSONrelated_table,local_field,related_key,description_fields,description_separator,related_filter; las filas ahora incluyen{field}_description. Resolver tipo$inagnóstico para todos los motores DB, con caminos rápidos en DynamoDB BatchGetItem y MongoDB$lookup[GS-259].
Fixed
- Encabezados de API Key MCP y problemas de autenticación de API Key: modificar get_access_token para incluir todos los encabezados, actualizar mcp_authenticate_api_key para requerir solo user_id según MCP_MANDATORY_USER_ID, mejorar la asignación de user_id cuando solo se proporciona API Key [GS-243].
Changed
- Licencia cambiada a MIT [FA-244].
- Actualizar la capa de abstracción de FastAPI CORS para manejar orígenes múltiples y dividirlos si es necesario [GS-329].
- Actualizar configuración de CORS en
framework_abstraction.pypara queAccess-Control-Allow-Originsea '*', gestionando múltiples orígenes (FastAPI maneja la división internamente) [GS-329]. - Eliminar autenticación de solicitudes para mayor flexibilidad [GS-329].
- Añadir rate limit en
logs.pypara el endpoint/logs[GS-332]. - Mejoras en comentarios sobre cómo especificar condiciones de lint C0301 y E501 en
config.py. - Reemplazar revisión de código de Gemini por SonarQube y Claude [GS-336].
- Modificar Makefile para permitir argumentos opcionales para la subida de twine durante la publicación en producción, por ejemplo, "--verbosity" [GS-327].
- Actualizar versión a 0.4.0 en package.json, pyproject.toml y setup.py [GS-327].
Security
- Actualizar
pyjwta "^2.13.0" para corregir vulnerabilidades [GS-219]: - Verificación indebida de firma criptográfica.
- Varios problemas de seguridad relacionados con JWKS y scheme allowlist.
- Actualizar cryptography a "^50.0.0" para corregir vulnerabilidades [GS-219].
- Evitar caracteres no permitidos en nombres de archivos derivados de user_id u ObjectId en
app_context.py[GS-219]. - Actualizar
urllib3a "^2.7.0" para corregir vulnerabilidades [GS-219]. - Corregir vulnerabilidad de traversal en
app_context.py[GS-219]. - Migrar a Python 3.14 [GS-337].
- Subir versión de Node.js en .nvmrc a 26 [GS-339].
Removed
- El directorio
scripts/se movió a la biblioteca de scripts frontend [GS-107]. - Grupos de dependencias pares no utilizados (muchos listados) y devDependencies eliminadas que ya no se requieren [GS-338].
- Atributo
id="copyButton"eliminado del componente<ChatCopyButton />[GS-327].
GenericSuite Frontend Scripts
Package, Pull Request and Tag
- Package: https://www.npmjs.com/package/genericsuite-fe-scripts/v/1.0.0
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-fe-scripts/pull/2
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-fe-scripts/pull/3
- Tag: https://github.com/tomkat-cr/genericsuite-fe-scripts/releases/tag/1.0.0
Pull Request Overview
Crear la biblioteca GS FE scripts, despliegue frontend expandido para uso en landing pages, pruebas SAST, OpenTofu para despliegue de FE
La primera versión de la biblioteca de scripts frontend de GenericSuite — separada del directorio scripts/ de genericsuite-fe en su propio paquete independiente y reutilizable. Amplía el despliegue frontend de S3 para soportar landing pages (no solo la app principal) y añade un pipeline completo de despliegue basado en OpenTofu (S3 privado + CloudFront con Origin Access Control, enrutamiento de errores SPA, TLS 1.2 y estado remoto S3) paralelo al despliegue existente de bash-script.
Highlights
- Nueva biblioteca independiente de scripts frontend, extraída de
genericsuite-fe[GS-107]. - Nuevo módulo OpenTofu
frontend-hosting: S3 privado + CloudFront (OAC, TLSv1.2_2021, SPA routing) con pipeline completoaws_tf_deploy_to_s3.sh[GS-334]. - Despliegue FE S3 ampliado para soportar landing pages, no solo la app principal [GS-328].
CHANGELOG.md
[1.0.0] - 2026-08-30
Added
- Crear la biblioteca de scripts frontend [GS-107].
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Despliegue OpenTofu (Iac compatible con Terraform) en
scripts/aws_tf: módulo de hosting frontend (frontend-hosting), estado remoto de S3 con bloqueo nativo (bootstrap-tf-state.sh) y módulos/Stacks para buckets S3, tablas DynamoDB, KMS, Secrets Manager, ECR, ACM/Route53 para dominios de apps, EC2+ALB y Lambda+API Gateway — paralelos a los scripts de CloudFormation existentes, que permanecen sin cambios [GS-334].
Changed
- Cambiar despliegue FE S3 para ser utilizado en Landing Pages [GS-328].
- Renombrar AWS_S3_BUCKET_NAME a AWS_S3_BUCKET_NAME_FE en el archivo .env y scripts [GS-328].
- Mejorar
aws_deploy_to_s3.sh: establecer valores por defecto para RUN_BUNDLER, UPDATE_BUILD y BUILD_DIR si no se especifican vía CLI. Mejorar manejo de nombre de bucket y comprobaciones de CloudFront. Actualizar homepage de package.json durante el despliegue y restaurarla tras la finalización solo si RUN_BUNDLER != none. Usar BUILD_DIR para definir el directorio de build, de modo que el despliegue móvil —que no es react-vite— pueda realizarse. - Actualizar .npmignore para incluir archivos y directorios adicionales para Claude Code, AI Agents y OpenTofu [GS-327].
Security
- Subir la versión de Node.js en .nvmrc a 26 [GS-339].
GenericSuite Backend Core
Package, Pull Request and Tag
- Package: https://pypi.org/project/genericsuite/0.4.0/
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-be/pull/16
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-be/pull/16
- Tag: https://github.com/tomkat-cr/genericsuite-be/releases/tag/0.4.0
Pull Request Overview
OPENSPEC, mejorar documentación de IA, mejorar medidas de seguridad, licencia MIT y pruebas unitarias
Este lanzamiento añade implementaciones completas de abstracción para GCP Cloud Storage y Azure Blob Storage (emulando el soporte existente de AWS S3), además de backends de secretos para GCP Secret Manager y Azure Key Vault — ampliando el diseño multicloud a dos proveedores más. También añade limitación de tasa en FastAPI/Flask, cobertura de pruebas unitarias general, un resolver de relaciones 1-1 select_table a través de todos los motores de DB, relicensing a MIT y un pase de dependencias de seguridad (pyjwt, cryptography, urllib3) más una corrección de path traversal en app_context.py.
Highlights
- Soporte completo para GCP Cloud Storage y Azure Blob Storage (subir/remover/URL prefirmada/recuperación) [GS-318] [GS-317].
- Nuevos backends de secretos
get_secrets()para GCP Secret Manager y Azure Key Vault [GS-318] [GS-317]. - Campo
select_table: resolución de relaciones 1-1 independiente del motor (DynamoDB BatchGetItem / MongoDB$lookupcaminos rápidos) [GS-259]. - Limitación de tasas (
slowapi) integrada en endpoints de FastAPI y Flask [GS-332]. - Seguridad: actualizaciones de pyjwt, cryptography, urllib3; corrección de traversal en
app_context.py; migración a Python 3.14 [GS-219] [GS-337].
CHANGELOG.md
[0.4.0] - 2026-08-30
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Pruebas SAST [GS-315].
- Pruebas unitarias generales [GS-21].
- AWS_SSL_CERTIFICATE_ARN_BE en
.env.example[GS-328]. - Soporte de GCP Cloud Storage (GCS): implementación completa de
upload_file_to_storage,remove_from_storage,get_gcs_presigned_url,storage_retievalyprepare_asset_urlengenericsuite/util/gcp.py[GS-318]. - Soporte de Azure Blob Storage: implementación completa de
upload_file_to_storage,remove_from_storage,get_blob_presigned_url(tokens SAS),storage_retievalyprepare_asset_urlengenericsuite/util/azure.py[GS-317]. - Soporte de GCP Secret Manager: implementación real de
get_secrets()engenericsuite/util/gcp_secrets.pyusando el SDKgoogle-cloud-secret-manager; requiereGCP_PROJECT_ID[GS-318]. - Soporte de Azure Key Vault: implementación real de
get_secrets()engenericsuite/util/azure_secrets.pyusando los SDKsazure-keyvault-secrets+azure-identity[GS-317]. - Grupos de dependencias opcionales
gcpyazureenpyproject.tomlpara instalación perezosa de SDKs [GS-317] [GS-318]. - Nuevas variables de entorno documentadas en
.env.example:GCP_PROJECT_ID,GCS_CHATBOT_ATTACHMENTS_BUCKET_*,AZURE_STORAGE_ACCOUNT_NAME,AZURE_STORAGE_ACCOUNT_KEY,AZURE_CHATBOT_ATTACHMENTS_CONTAINER_*,AZURE_KEYVAULT_URL,CLOUD_STORAGE_PRESIGNED_EXPIRY,CLOUD_STORAGE_PRESIGNED_ACTIVE[GS-317] [GS-318]. - Pruebas unitarias para almacenamiento GCS (
tests/test_gcp_storage.py), Azure Blob storage (tests/test_azure_storage.py), GCP Secret Manager (tests/test_util_gcp_secrets.py), y Azure Key Vault (tests/test_util_azure_secrets.py) [GS-317] [GS-318]. - Introducir variable de entorno
DEBUG_CORSen FastAPIcreate_app.pypara registrar orígenes CORS durante el desarrollo. Mejora de capacidades de depuración para la configuración de CORS [GS-329]. slowapipara limitación de tasa en FastAPI [GS-332].- Integrar limitación de tasa en FastAPI y Flask endpoints [GS-332].
- Campo
select_table: 1-1 resolución de relaciones en listados y lecturas. Nuevos atributos JSONrelated_table,local_field,related_key,description_fields,description_separator,related_filter; filas ahora incluyen{field}_description. Resolución agnóstica a motor para_inen todos los DB, con rutas rápidas para DynamoDB BatchGetItem y MongoDB$lookup[GS-259].
Fixed
- Encabezados de API Key MCP y autenticación de API Key: ajustar get_access_token para incluir todos los encabezados, actualizar
mcp_authenticate_api_keypara requerir solouser_idsegún MCP_MANDATORY_USER_ID, mejorar la asignación deuser_idcuando solo se proporciona API Key [GS-243].
Changed
- Licencia cambiada a MIT [FA-244].
- Actualizar la capa de abstracción de CORS de FastAPI en
create_app.pypara manejar orígenes múltiples separándolos si la cadenaCORS_ORIGINcontiene comas [GS-329]. - Actualizar la configuración de CORS en
framework_abstraction.pypara devolverAccess-Control-Allow-Origina '*' para manejar múltiples orígenes, ya que FastAPI gestiona la división de orígenes internamente [GS-329]. - Eliminar la autenticación de solicitudes para mayor flexibilidad [GS-329].
- Añadir rate limit en
logs.pypara el endpoint/logs[GS-332]. - Mejorar comentarios sobre cómo especificar C0301 y E501 en
config.py. - Reemplazar revisión de código de Github Gemini por SonarQube y Claude [GS-336].
- Modificar Makefile para permitir argumentos opcionales para subida de twine durante la publicación de producción, p. ej. "--verbosity" [GS-327].
- Actualizar versión a 0.4.0 en package.json, pyproject.toml y setup.py [GS-327].
Security
- Actualizar
langchainy otras dependencias para corregir vulnerabilidades de seguridad en la pila LangChain [GS-219]. - Actualizar
pyjwt,cryptography,urllib3y otras dependencias para corregir vulnerabilidades relevantes [GS-219]. - Migrar a Python 3.14 [GS-337].
- Subir versión de Node.js en .nvmrc a 26 [GS-339].
Removed
- El directorio
scripts/se movió a la biblioteca de scripts frontend [GS-107]. - Dependencias pares no utilizadas: (... lista extensa eliminada por claridad) [GS-338].
- Dependencias de desarrollo no utilizadas:
@babel/cli,@babel/preset-stage-0,@rollup/plugin-typescript,file-loader,path,url-loader(misma justificación que engenericsuite-fe), ywhatwg-fetch(no se necesita aquí).@testing-library/user-eventse mantiene — se utiliza enChatCodeBlock.test.tsx[GS-338]. - Eliminación de numerosos módulos de desarrollo innecesarios y ajustes de configuración para reducir dependencias no esenciales [GS-338].
- Atributo
'id="copyButton"'del componente<ChatCopyButton />eliminado [GS-327].
GenericSuite BaseCamp
Package, Pull Request and Tag
- Pull Request: https://github.com/tomkat-cr/genericsuite-basecamp/pull/19
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-basecamp/pull/22
- Tag: https://github.com/tomkat-cr/genericsuite-basecamp/releases/tag/1.6.0
Pull Request Overview
Renombrar docs a mkdocs_root + otros
Este pull request es una actualización amplia de documentación y herramientas que abarca todo el ecosistema GenericSuite: el sitio de documentación fue reorganizado (docs/ → mkdocs_root/, specs/ → docs/), se añadieron nuevas documentaciones para Desarrollo móvil, Habilidades IA, GS FE Scripts y una guía de despliegue OpenTofu, la licencia del proyecto se movió a MIT, se aplicaron pruebas SAST y correcciones de vulnerabilidad de dependencias en ExampleApp y FastApiTemplate, y el puntero del repositorio principal cambió de GS Basecamp al nuevo GS Superproject.
Highlights
- Reorganización del sitio de documentación:
docs/renombrado amkdocs_root/, nuevas páginas para Mobile Development, AI Skills, GS FE Scripts y guía de despliegue OpenTofu; y el repositorio principal apunta ahora a GS Superproject. - Seguridad y cumplimiento: pruebas SAST integradas, actualizaciones de dependencias (cryptography, crypto-browserify, correcciones de CVE en
@babel/core), migración a Python 3.14, licencia MIT, y aplicación demandatoryFilterspara tablas de historial de usuarios/config/API-key. - Herramientas para desarrolladores: scripts para crear nuevos proyectos desde plantillas, renombrar apps, refactor de Makefile para usar
genericsuite-fe-scripts, y tres nuevas habilidades de IA (add-doc,sample-code-update,translate-docs). - CRUD Editor y configuración: campo
select_tabley opciones de selección en línea para el CRUD Editor documentados.
CHANGELOG.md
[1.6.0] - 2026-08-30
Added
- Nueva imagen de arquitectura para la página de índice de documentación [GS-327].
- Añadir página de documentación de Habilidades IA [GS-254].
- Añadir página de documentación de Habilidades de Seguridad [GS-339].
- Documentación de GS FE Scripts [GS-107].
- Sección de documentación de Desarrollo móvil: instalación de GenericSuite Flutter, CRUD driven por JSON, childComponents (relaciones 1-N) y los tokens de tematización Apple-clean, entre otros [GS-261].
- Guía de despliegue OpenTofu (
mkdocs_root/en/Deployment-Guide/opentofu.md) que cubre los stacks IaC de genericsuite-fe-scripts y genericsuite-be-scripts, con una entrada de navegación enmkdocs.yml[GS-334]. - GS Superproject, Security Suite y GS FE Scripts en la página de repositorios [GS-319].
- Pruebas SAST [GS-315]
- Documentación de campo
select_tablepara añadir soporte a relaciones 1-1 en páginas de listado/datos CRUD [GS-259]. - Navegación en español para la sección de Mobile Development [GS-261].
- Introducción del modelo
SelectElementItempara opciones de selección en línea en la configuración del editor CRUD. Actualización del camposelect_elementspara soportar IDs predefinidos y objetos{title, value}en línea [GS-254]. - Variables de entorno AWS_SSL_CERTIFICATE_ARN_FE y AWS_SSL_CERTIFICATE_ARN_BE [GS-328].
- Soporte multi-origin CORS para FastAPI en
aws_big_lambda/template-sam.yml[GS-329]. make create-supadpara servidor exampleapp/fastapitemplate [GS-306].- Scripts para copiar e inicializar un nuevo proyecto desde "fastapitemplate" y "exampleapp":
scripts/new-project-from-template.shyscripts/rename-app.sh[GS-306]. - Nuevas definiciones de habilidades de IA (
.ai/skills/): add-doc, sample-code-update, translate-docs - Dependencia
zippañadida a main requirements.txt para abordar una vulnerabilidad según Snyk [GS-219].
Changed
- Renombrar
docs/amkdocs_root/[GS-208]. - Renombrar
specs/adocs/[GS-208]. .venv/añadido a.gitignorey.dockerignore.run_translate_uncommitted.shcrea y elimina el entorno virtual.venv[GS-316].- Licencia cambiada a MIT [FA-244].
- Mejorar la documentación de ARN de certificados SSL en el backend core para mayor claridad sobre uso de
AWS_SSL_CERTIFICATE_ARN_FEyAWS_SSL_CERTIFICATE_ARN_BEentre backend y scripts de frontend [GS-328]. - Inicializar la variable APP_ENVS en
update_additional_envvars.shpara variables de entorno específicas de la aplicación [GS-329]. - Actualizar Makefile de FastApiTemplate con nuevos objetivos utilitarios, y sustituir
tomkat-crporgithub-usernameen.env.example[GS-306] - Separar la estructura de directorios de CLAUDE.md para hacerla más pequeña [GS-303].
- Actualizar configuración de FastAPI template con instrucciones para ejecutar
new-project-from-template.shusandocurl[GS-306]. - Añadir referencia de FastApiTemplate a la guía de configuración principal [GS-254].
- FastApiTemplate: refactor de nombres de componentes UI:
_components>components,_images>images, y_constants>constants[GS-306]. - Actualizar servidor de exampleap/fastapitemplate y scripts de desarrollo de mcp-server para gestión dinámica de entornos, de modo que se pueda definir stage ejecutando
STAGE=dev make dev(package.json ahora usa la variable STAGE en "dev": "make run_${STAGE:-qa}") [GS-306]. - FastApiTemplate: hacer que los archivos
.env.examplemuestren valores por defecto para reducir cambios del usuario al iniciar el proyecto [GS-306]. - Mejorar AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar mejor contexto e instrucciones a AI Coding Assistants [GS-303].
- Incluir directorios
.claude,.agents,.codex,.cursory.geminipara compartir habilidades/comandos desde el directorio.ai[GS-254] - Renombrar '.claude' a '.ai'
- Corregir gráficos de directorio con líneas finales
- Modificar documentación de la función
food_moment_in_userpara mayor claridad sobre referencias de usuario. Mejorar documentación de operaciones de momentos de comida [GS-254]. - ExampleApp: manejo de excepciones amplio en el endpoint de FDA food [GS-254].
mkdocs.yml— una línea de navegación ('AI Skills'), verificadobuild-safefrente a la convención de carpeta i18n [GS-254].- ExampleApp: Actualizar dependencias en
package.jsonypnpm-lock.yamlpara dotenv y turbo [GS-254] - ExampleApp: Actualizar versiones de
aiohappyeyeballsyaiohttpen archivos uv.lock para apps API. - ExampleApp y FastApiTemplate: Refactor de Makefile para usar
genericsuite-fe-scriptspara comandos de build y deployment en la UI (UI app) [GS-107]. - Actualizar
index.mdpara mayor claridad y contenido sobre características de Generic Suite (una línea más descripción breve para referencia rápida, logos centrados, nueva imagen de arquitectura) [GS-327]. - Actualizar Makefile con instrucciones de uso de ramas usando la variable BRANCH para preparar código desde la rama develop.
- Frontend-Development/GenericSuite-Core: eliminar
@babel/cli,@babel/preset-stage-0,@testing-library/user-event,file-loader,path,url-loaderde la etapa de instalación de dependencias de desarrollo; ya no son necesarios para el pipeline de build/pruebas degenericsuite-fe[GS-338]. - Frontend-Development/GenericSuite-Core: eliminar dependencias innecesarias (css-loader, postcss-loader, style-loader, express, gh-pages) de la misma documentación.
- ASDT documentation para LangGraph y Smolagents planificada, no soportada aún.
- Unificación de formato de CHANGELOG.
- Repositorio principal para GS Superproject en lugar de GS Basecamp:
repo_url: https://github.com/tomkat-cr/genericsuite[GS-319]. - Publicación de post en inglés principal para redirigir a
https://www.carlosjramirez.com/en/genericsuite. - Mover el segundo banner de aniversario a la sección de lanzamientos.
- Reemplazar revisión de código de Github Gemini por SonarQube y Claude [GS-336].
- Mejorar el script de traducción para soportar modo 'changed' para traducir archivos Markdown actualizados. Añadido manejo de argumentos para selección de modo y lógica para identificar archivos cambiados en mkdocs_root/en. El modo por defecto es 'changed' y puede configurarse a 'uncommitted' para archivos sin confirmar. Esto mejora la flexibilidad de los procesos de traducción [GS-252].
Fixed
mkdocs_transfer_site.shelimina los directoriosdocs_for_ftpysite, y usa.venven lugar devenvpara evitar múltiples entornos Python [GS-301].new-project-from-template.shmaneja ramas e entrada de plantilla del usuario porque no se preguntaba debido a la asignación de valores predeterminados temprana [GS-306]- Nueva validación de NAME solo si está seteado (scripts/new-project-from-template.sh) [GS-306]
- Documentación de BASECAMP_BRANCH sobre valor por defecto a "main" (scripts/new-project-from-template.sh) [GS-306]
scripts/rename-app.sh— nueva pasada de renombrado de archivos para fastapitemplate* (arreglo de leftovers de openapi.json/yaml; probado en un directorio desechable, 5/5 comprobaciones, reproducido por el reviewer IApackages/genericsuite-skills/skills/python-fastapi-code-builderde IA) [GS-254].- Error "Could not resolve dependency: formik@2.4.5" en ExampleApp [GS-254].
- Transferir scripts para usar "mkdocs_root" en lugar de "docs" [GS-208].
config-overrides.jsactualizado para corregir errores al ejecutar la app con RUN_BUNDLER="react-scripts" [GS-338].- Valores AWS_S3_BUCKET_NAME* de FastApiTemplate en
.env.example. - Transferir scripts para usar "mkdocs_root" en lugar de "docs" [GS-208].
Security
- Actualizar dependencias en exampleapp y fastapitemplate en archivos de bloqueo de paquetes para múltiples aplicaciones. Cambios relevantes incluyen: cryptography, crypto-browserify, downshift, react-icons, react-markdown, react-syntax-highlighter, react-router-dom y yup [GS-219].
- Migrar a Python 3.14 [GS-337].
- Añadir documentación de rate limiter a GS BE Core
.env.example[GS-332]. - Subir versión de Node.js en .nvmrc a 26 [GS-339].
- exampleapp y fastapitemplate: configuración de
users_user_history.json,users_config.jsonyusers_api_keys.jsonconmandatoryFilterspara forzar al usuario actual [GS-327]. - exampleapp y fastapitemplate: configuración de
users_user_history_admin.json,users_config_admin.jsonyusers_api_keys_admin.jsonsinmandatoryFilterspara permitir ver historial completo al editar usuarios [GS-327]. - exampleapp y fastapitemplate: Actualizar @babel/core a ^7.29.7 para corregir vulnerabilidad de lectura de archivos [CVE-2026-49356] [GS-219].
Removed
- AGENTS.md symlink [GS-303]
activeContext.mdmovido al directorio del GS Superproject [GS-319]- ".ai/settings.json" hooks específicos de MacOS (mover a ~/.claude/settings.json).
- Como Webpack no se usa en exampleapp y fastapitemplate, eliminar dependencias no necesarias (css-loader, postcss-loader, style-loader, react-icons, web-vitals, fs, json-loader, with, constants-browserify, crypto-browserify, os-browserify, stream-browserify, tty-browserify, url, vm-browserify, @babel/cli, @babel/preset-stage-0, @rollup/plugin-typescript, @testing-library/user-event, file-loader, url-loader, path, gh-pages, express, express-rate-limit)
GenericSuite BaseCamp App
Package, Pull Request and Tag
- Pull Request: https://github.com/tomkat-cr/genericsuite-basecamp-app/pull/2
- Tag: https://github.com/tomkat-cr/genericsuite-basecamp-app/releases/tag/1.0.0+4
Pull Request Overview
Desarrollo inicial
Esta versión ("GS Doc", la aplicación móvil de visualización de documentación Flutter) añade archivos de contexto de IA, pruebas SAST y un conjunto de objetivos Makefile para abrir emuladores de iOS/Android, al tiempo que completa la migración desde el antiguo submódulo git genericsuite-basecamp en favor de obtener la documentación a través de GS_BASECAMP_PATH.
Highlights
- Nueva variable de entorno
GS_BASECAMP_PATHyrun_docs_converter.shpara clonar o reutilizar un checkout local de GenericSuite Basecamp - Nuevos targets
make open-ios-simulator/open-android-emulatorpara desarrollo local - El submódulo
genericsuite-basecampse elimina en favor del flujo impulsado porGS_BASECAMP_PATH - Licencia cambiada a MIT [FA-244]; corregidos problemas de imágenes que no se mostraban tras el cambio de prefijo de idioma [GS-252]
CHANGELOG.md
[1.0.0+4] - 2026-08-30
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Añadir pruebas SAST [GS-315].
- Variable de entorno
GS_BASECAMP_PATHpara especificar la ruta del repositorio GenericSuite Basecamp. - Contenido de
README.mdcon prerequisitos, instalación y uso [GS-303]. make open-ios-simulatorpara abrir el simulador de Apple iOS.open-android-emulatory el scriptopen-android-emulator.sh.
Changed
- Renombrar
assets/docs/aassets/mkdocs_root/[GS-208]. run_docs_converter.shclonará el repo de GenericSuite Basecamp en el directorio./genericsuite-basecampsiGS_BASECAMP_PATHestá vacío, de lo contrario usará la ruta especificada enGS_BASECAMP_PATH.- Licencia cambiada a MIT [FA-244].
Fixed
- Las imágenes se muestran correctamente tras añadir el prefijo de idioma a la ruta [GS-252].
Removed
- Submódulo Git genericsuite-basecamp
GenericSuite Gitops
Package, Pull Request and Tag
- Pull Request: https://github.com/tomkat-cr/genericsuite-gitops/pull/6
- Tag: https://github.com/tomkat-cr/genericsuite-gitops/releases/tag/0.5.0
Pull Request Overview
Mejorar documentación de IA y mejorar la estructura de directorios
Una versión de mantenimiento enfocada: archivos de contexto de IA, pruebas SAST, renombramiento de directorios (docs/ → help/, specs/ → docs/), y migración a licencia MIT.
Highlights
- AGENTS.md, GEMINI.md y CLAUDE.md para agregar contexto a los agentes IA [GS-303]
- Pruebas SAST añadidas [GS-315]
- Unificación de estructura de directorios:
docs/renombrado ahelp/,specs/renombrado adocs/[GS-303] - Licencia cambiada a MIT [FA-244]
CHANGELOG.md
[0.5.0] - 2026-08-30
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Añadir Pruebas SAST [GS-315].
Changed
- Renombrar directorio
docs/ahelp/[GS-303]. - Renombrar directorio
specs/adocs/[GS-303]. - Licencia cambiada a MIT en archivos README.md [FA-244].
GenericSuite App Maker (GSAM)
Package, Pull Request and Tag
- Pull Request: https://github.com/tomkat-cr/genericsuite-app-maker/pull/15
- Tag: https://github.com/tomkat-cr/genericsuite-app-maker/releases/tag/0.6.0
Pull Request Overview
Documentación de IA + pruebas SAST + correcciones de vulnerabilidades + errores tipográficos y de redacción en README
Esta versión añade documentación de IA y pruebas SAST a GSAM, limpia la redacción del README y actualiza las dependencias de requirements.txt a sus últimas versiones para cerrar vulnerabilidades conocidas.
Highlights
- Archivos AGENTS.md, GEMINI.md y CLAUDE.md de IA añadidos, más pruebas SAST [GS-303] [GS-315]
- Targets de Makefile para
upgradeyupdatepara mantenimiento de dependencias [GS-219] - Dependencias en
requirements.txtactualizadas para corregir vulnerabilidades [GS-219] - Se regeneró el lockfile y se eliminaron varios paquetes transitorios no usados (cohere, mistralai, gotrue, etc.) [GS-219]
CHANGELOG.md
[0.6.0] - 2026-08-30
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto y instrucciones a AI Coding Assistants [GS-303].
- Añadir pruebas SAST [GS-315].
- Objetivos de Makefile para "upgrade" y "update" [GS-219].
Changed
- Correcciones tipográficas en README [GS-128].
Security
- Actualizar dependencias a las versiones más recientes [GS-219].
- Migrar a Python 3.14 [GS-337]
gsam_ottomator_agent/base_python_docker/Dockerfileusa Python 3.14 [GS-337]
Removed
- Regenerar lockfile elimina paquetes que no estaban presentes previamente: cohere, mistralai, gotrue, etc. [GS-219].
GenericSuite Mobile
Package, Pull Request and Tag
- Pull Request: https://github.com/tomkat-cr/genericsuite-mobile/pull/2
- Tag: https://github.com/tomkat-cr/genericsuite-mobile/releases/tag/0.5.0
Pull Request Overview
Desarrollo inicial de GenericSuite Mobile para Flutter
Este lanzamiento trae soporte de relaciones 1-N childComponents en el Editor CRUD de Flutter (secciones secundarias pulsables, edición a pantalla completa, subtipos array/table que coinciden con el comportamiento de genericsuite-fe), un sistema de tokens de tema limpio de Apple basado en shadcn_ui, y una gran tanda de correcciones defensivas de errores en el editor CRUD, formularios, manejo de autenticación/sesión y navegación — además de pruebas SAST y el campo select_table heredado de 0.4.2.
Highlights
- Soporte de
childComponents(1-N) en el Editor CRUD de Flutter, a la par de genericsuite-fe [GS-261]. - Nuevo sistema de temas basado en Apple-clean
shadcn_uicon contrato de fusión dedefaultThemeParams[GS-261]. - Amplia pasada de correcciones de errores: decodificación de JWT, filtrado de disposed, timeouts, llamadas API sincrónicas, etc. [GS-327].
- Campo
select_tablecon resolución de descripciones de registros relacionados, heredado de 0.4.2 [GS-259].
CHANGELOG.md
[0.5.0] - 2026-08-30
Added
- Soporte de
childComponents(relaciones 1-N) en el Editor CRUD de Flutter: los componentes hijos declarados en la configuración JSON del frontend se muestran como secciones pulsables en el formulario de edición, se abren a pantalla completa con el registro padre comoparentData, y soportan ediciones dechild_listingcon subtiposarrayytable(incluidos los payloads de escritura<array_name>/<array_name>_old), replicando el comportamiento del CRUD Editor de genericsuite-fe [GS-261]. - Tokens de tema con estilo Apple-limpio en
theme_config_defaults.dart(accentColor,borderRadius12px,fontFamily/textThemecon Inter vía google_fonts, texto casi negrotextColor, colores semánticos del sistema iOS) y contrato de fusióndefaultThemeParamspara que las apps sólo sobrescriban las claves necesarias [GS-261]. shadcn_ui(port de flutter-shadcn-ui) ahora es raíz del árbol de widgets medianteShadApp.custom;CreateGsAppconstruye el tema MaterialApp a partir de los tokens genéricos; los botones Save/Cancel usan ShadButton [GS-261].buildGsShadTheme()construyeShadThemeDataa partir de los tokens de tema genéricos; nuevo parámetroshadColorSchemeNamepara seleccionar el esquema base de shadcn (greenpor defecto; cualquier valor deShadColorScheme.fromName), conaccentColorque sobrescribeprimary/ringy los tokens GS de superficie/texto/errores aplicados mediantecopyWith[GS-261].- Nuevos comandos de Makefile: "lint" y "test".
- Cobertura de pruebas para el proyecto [GS-327].
Changed
- Color de acento por defecto cambiado de azul a verde; la barra de aplicación y el cajón usan superficies blancas con texto casi negro; versión de genericsuite_flutter actualizada a 0.5.0 [GS-261].
- La configuración detallada en README.md se movió a la documentación de GS Basecamp [GS-261].
Fixed
- http_service.dart [GS-327]:
- getJwtPayload usa ascii.decode(...) en lugar de utf8.decode(...) para decodificar el payload del JWT. Cualquier afirmación con caracteres no ASCII lanza FormatException, rompiendo verificaciones de login-gate, loadConfig y current_user_service.dart.
- No hay
.timeout(...)en ninguna llamada http.get/post/put/delete/patch (a diferencia de ip_address_service.dart, que sí lo usa), así que una conexión colgada bloquea al llamador indefinidamente. - La ruta de éxito 200/201 (json.decode(response.body)) tampoco tiene try/catch; la rama de error sí lo tiene. Flags de depuración (debugJwtToken, debugConfigValues) imprimirían JWTs/claves API si se activaran, actualmente están desactivados.
- Añadir anotaciones de tipos a
bToA(str). - create_gs_app.dart: payload["exp"] * 1000 no tiene check de null; un token con payload que carece de exp (o un token mal formado donde
getJwtPayloaddevuelve{}) provoca una excepción enbuild(), deteniendo el inicio de la app en lugar de volver a la página de inicio de sesión. Verificado por lectura directa [GS-327]. - crud_editor.dart [GS-327]:
- _saveItem: si
isCreationyeditorConfig['createReenter']es true tras un guardado exitoso, el método retorna sin llamarsetState();_isLoadingse activa consetState()pero luego se reasigna, por lo que el spinner de carga podría quedar activo indefinidamente. - No hay comprobaciones de mounted después de
awaitantes desetState/_setStateAndShowMessages(p. ej. en_buildListItemonTap,initState_loadConfig().then); navegar fuera durante la solicitud puede lanzar "setState() called after dispose()". json.decode(localApiResp['resultset'])en_loadSelectedItemsintry/catcha diferencia de_loadItems, yint.parse(...['rows_affected'])sin protección._getSelectFieldsOptions— espera secuencial en un bucle en lugar deFuture.wait, encadenando llamadas de red innecesariamente.- crud_editor_commons.dart [GS-327]:
(buildChildRowToSave):parentDataindexado porkeyPair['parentElementName']sin revisión de null.parentDatapuede estar vacío/faltante (p. ej._setEndpointFilterno hace nada), por lo que guardar/eliminar en un editorchild_listingpuede lanzarNoSuchMethodError.- form_field_service.dart [GS-327]:
- Casos de
selectyselect_componentconfiguranDropdownButtonFormField.initialValuesin verificar que el valor exista entre los elementos, a diferencia del casoselect_tableque verifica concontainsKey(...) ? value : null. - Datos editados obsoletos fallan al abrir el formulario. Campos numéricos convierten con
double.parse/int.parseen cada pulsación; borrar el campo o escribir./-lanzaFormatExceptionno capturada. TextEditingController(text: ...)creado en línea enbuild()para la mayoría de tipos de campo y nunca eliminado; cada reconstrucción filtra el controlador anterior y restablece el cursor/foco en todos los campos de la pantalla.- app_drawer.dart [GS-327]:
Icon(item['callable']['icon'])rompe siitem['element']no es clave encallables; sin fallback/guard._loadConfig().then(...)no tiene manejo de errores; las excepciones se vuelven errores async no manejados.- error_reporter_widget.dart:
ScaffoldMessenger.of(context).showSnackBar(...)se llama de forma sincrónica dentro debuild()— anti-patrón conocido de Flutter que debe diferirse conaddPostFrameCallback, como enhomepage.darten otro lugar. - login.dart [GS-327]:
_usernameController/_passwordControllerse crean pero el widget no tienedispose(), ocasionando fuga de ambos controladores de texto.apiResponse['resultset']['token']se accede sin comprobación deresultset. Campo "password" no tiene autocompletado desactivado.- current_user_service.dart:
if (data['error'] == 'Not Found')nunca puede ser verdadero ya quehttp_service.dartsiempre devuelveerrorcomo booleano; este branch es código muerto [GS-327]. - logout_service.dart: llamadas a
storage.delete(...)para jwt/api_key/user_data no esperan a su finalización antes de navegar; la app podría terminarse con credenciales antiguas en almacenamiento seguro [GS-327]. - routing_services.dart: se añadió
item['callable']['type'] = 'async'(por defecto) | 'sync' para permitir llamadas síncronas/asíncronas y manejar el cambio enlogout_service.dart[GS-327]. - locator_service.dart:
registerLazySingletonsin guardiaisRegistered; reiniciar configuración (hot restart, remount, tests) lanza por duplicación de registro [GS-327]. - timestamp_utilities.dart: formateo de 12 horas no maneja medianoche de forma especial; la hora 0 se muestra como "0:MM AM" en lugar de "12:MM AM" [GS-327].
- homepage.dart:
loadHomeData(true)se llama directamente como elfuturedelFutureBuilder; esto vuelve a disparar la llamada API en cada reconstrucción antes de que haya datos [GS-327]. - deviceid_service.dart: dependencia implícita de orden en
setupStorageLocator()debe ejecutarse primero [GS-327]. - back_button.dart:
Navigator.of(context, rootNavigator: true).pop(context)pasandocontextcomo resultado de la salida parece no intencional [GS-327]. - La guardia de guardado de CRUD Editor y otras partes han sido ajustadas para arreglar varios comportamientos problemáticos descritos en la extensa lista de cambios [GS-261].
suggestion_dropdown: el texto tipificado ahora se almacena en la fila en memoria (selectedItem) al cambiar y al guardar, para alinear con el comportamiento de genericsuite-fe [GS-261].suggestion_dropdown: las filas de sugerencias se leen de la misma forma en que los listados de CRUD decodificanresultset(lista ya decodificada, cadena JSON o{resultset: [...]}anidado), para que el overlay muestre opciones cuando la API devuelve filas [GS-261].suggestion_dropdown: al seleccionar una sugerencia ya no se copian las claves de la tabla relacionada (_id,name, …) a la fila guardada. Solo el campo del formulario yautocomplete_fieldsse escriben, en línea con genericsuite-fe [GS-261].- El campo de contraseña muestra hash SHA-256 en lugar de texto plano. La contraseña inicial debe estar en blanco [GS-261].
Removed
- El directorio
flutter_project_template. Utilizar genericsuite-mobile-exampleapp en su lugar [GS-261].
[0.4.2] - 2026-04-20
Added
- AGENTS.md, GEMINI.md y CLAUDE.md para proporcionar contexto e instrucciones a AI Coding Assistants [GS-303].
- Añadir campo
select_tableen Flutter CRUD editor: listado y formulario de solo lectura muestran la descripción del registro relacionado (backend{field}_descriptioncon fallback en caché del cliente); crear/editar renderiza un dropdown poblado desde la tabla relacionada [GS-259].
Changed
- Correcciones menores en README.md.
- Licencia cambiada a MIT [FA-244].
- Actualizar
.gitignorepara incluir directorios de IA Agents [GS-303].
Fixed
- Mejorar manejo de errores en
create_gs_app.dartyip_address_service.dartpara mayor estabilidad y arreglar despliegue Flutter web [GS-252].
GenericSuite Mobile ExampleApp
Package, Pull Request and Tag
- Pull Request: https://github.com/tomkat-cr/genericsuite-mobile-exampleapp/pull/2
- Tag: https://github.com/tomkat-cr/genericsuite-mobile-exampleapp/releases/tag/1.0.0+1
Pull Request Overview
Desarrollo inicial. Migrado desde genericsuite-mobile
Este es un nuevo submódulo separado del antiguo directorio flutter_project_template de genericsuite-mobile hacia su propio repositorio de ejemplo de aplicación, dando a la librería Flutter una referencia de implementación dedicada y versionada de forma independiente.
Highlights
- Separación del repositorio desde
genericsuite-mobilehaciagenericsuite-mobile-exampleapp[GS-261]. - Establece una aplicación de ejemplo Flutter independiente y versionada.
CHANGELOG.md
[1.0.0+1] - 2026-08-30
Added
- Migrado de
genericsuite-mobileagenericsuite-mobile-exampleapp.
GenericSuite AI Agent Skills
Package, Pull Request and Tag
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-skills/pull/1
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-skills/pull/3
- Tag: https://github.com/tomkat-cr/genericsuite-skills/releases/tag/1.0.0
Pull Request Overview
Agregar plugin Claude Skills de gs-app-builder-suite [GS-254]
Se introduce el grupo de plugins gs-app-builder-suite — un "orchestrator" de habilidades (gs-app-builder) más habilidades especializadas de generadores de apps para andamiaje, configuración, JSX, menús, endpoints, Python-FastAPI, IA de código/herramientas, y servidores MCP — junto con un conjunto de evaluaciones y un mecanismo de sincronización de referencias para alinear las habilidades con la documentación del ecosistema GenericSuite.
Highlights
- Nuevo grupo de plugins
gs-app-builder-suitecon un orquestador más 9 habilidades de generadores [GS-254]. - Suite de evals/evals.json para validar la ejecución en tiempo real [GS-254].
- Mecanismo de sincronización de referencias (
make sync-references) para alinear las habilidades con la documentación de GS [GS-254]. - Habilidad
release-notesmovida fuera al GS Superproject [GS-191].
CHANGELOG.md
[1.0.0] - 2026-08-30
Added
- Idea de proyecto y desarrollo inicial (2026-04-12) [GS-254].
- Habilidades de app-builder (
gs-app-builder-suitegrupo de plugins):gs-app-builderorquestador (detección modo greenfield/brownfield, entrevista breve de la app, flujo con checkpoints),app-starter,config-builder(actualizado),jsx-code-builder(actualizado),menu-builder,endpoints-builder,python-fastapi-code-builder,python-ai-code-builder,python-ai-tools-code-builder,jsx-ai-code-builder,mcp-builder. - Paquetes
evals/evals.json(todas las habilidades de suite excepto config-builder) con aserciones de validez en tiempo de ejecución, enplayground/[GS-254]. - Mecanismo de sincronización de referencias:
skills/update-gs-docsmapa + script,make sync-references[GS-254]. - Añadir pruebas SAST [GS-315].
Changed
- Marketplace: grupo de plugins de marketplace
code-generation-skillsrenombrado ags-app-builder-suite; versión de metadatos 1.1.0 [GS-254]. - Reescritura de README alrededor de la suite de app-builder, instalación y publicación [GS-254].
Removed
- Habilidad
release-noteseliminada del marketplace, y eliminación del SKILL.md (movido al directorio GS Superproject) [GS-191].
Security
- Migrar a Python 3.14 [GS-337].
- Subir la versión de Node.js en .nvmrc a 26 [GS-339].
GenericSuite Security
Package, Pull Request and Tag
- Pull Request # 1: https://github.com/tomkat-cr/genericsuite-security/pull/4
- Pull Request # 2: https://github.com/tomkat-cr/genericsuite-security/pull/4
- Tag: https://github.com/tomkat-cr/genericsuite-security/releases/tag/1.0.0
Pull Request Overview
Ideación de proyecto y desarrollo inicial
Nueva submódulo creado en respuesta directa al ataque de la cadena de suministro npm de Keyv/Cacheable el 2026-08-04. Envia cinco habilidades Claude para auditoría de seguridad de la cadena de suministro y lista de producción: escaneo IOC, generador de corpus para toda la organización, escáner de imágenes Docker/contener, escáner de dependencias de GitHub Actions/pinging de dependencias, y analizador de debilidades/preparación para múltiples proyectos — además de un plugin de marketplace registrado.
Highlights
supply-chain-ioc-scan— detectar si un paquete npm/PyPI comprometido o un gusano de la cadena de suministro afecta esta máquina o árbol de repositorios [GS-339].repo-corpus→repo-docker-scanner→repo-packages-scanner— escaneo org-wide en tres fases (manifiesto de corpus, referencias de imágenes, detecciones de acciones)project-weakness-analysis— evaluación de ready-to-run en producción y auditoría de riesgos de seguridad para múltiples proyectos a la vez.- Cinco modelos de IA evalu — para mantener alineación con la documentación de GS.
Changed
repo-corpusy los dos escáneres planificados comparten una única ruta de código, usando un corpus en lugar de enumerar repositorios individualmente.
Fixed
- Revisión de reglas de prioridad en
repo-docker-scannercorregida para usar una leyenda basada enpolicy/images.json. - Detección de plantillas YAML/CloudFormation como P0 independientemente de su ubicación.
- Corrección de informes y descubrimiento de Dockerfiles; las referencias no resueltas se muestran tal cual.
- Varios ajustes de flujo de tests y preflight para entornos: se simula el entorno de git sin hooks, se desactiva hooks, etc.
- Correcciones de migración a Python 3.14 [GS-337].
- Actualizar Node.js a 26 [GS-339].
Security
- Actualizar dependencias para arreglar vulnerabilidades múltiples en LangChain, cryptography, pyjwt, etc. [GS-219].
- Migrar a Python 3.14 [GS-337].
- Añadir rate limiter en documentación y scripts [GS-332].
- Actualizar Node.js a 26 [GS-339].
Removed
- Actualizaciones de limpieza de dependencias no utilizadas y herramientas desfasadas.