Ir al contenido

Conceptos

El @aws/nx-plugin es un plugin de Nx que proporciona un conjunto de herramientas para construir e implementar aplicaciones full-stack en AWS. Te ofrece una colección de Generadores que generan código de aplicación listo para producción y la infraestructura para desplegarlo — type-safe, ejecutable localmente y listo para enviar.

En lugar de comenzar desde una página en blanco, tú (o tu agente de IA) eliges los componentes que necesitas — APIs, sitios web, autenticación, agentes de IA, infraestructura — proporcionas algunas opciones de configuración, y el plugin genera código inicial siguiendo las mejores prácticas. Incluso conecta proyectos entre sí (incluyendo la actualización de archivos existentes mediante transformaciones AST) para producir clientes type-safe entre tu frontend y backend.

Nx es un framework de construcción inteligente para gestionar monorepos. Es agnóstico del lenguaje, permitiendo que TypeScript, Python, infraestructura y más convivan y se construyan juntos en un único workspace. Su sistema de construcción utiliza caché y análisis de gráficos de dependencias para reconstruir solo lo que cambió y ejecutar tareas en paralelo, manteniendo el testing, linting y construcción rápidos a medida que tu workspace crece.

Cada pieza de funcionalidad en el @aws/nx-plugin se entrega como un Generador de Nx — scaffolding automatizado que produce estructuras de código consistentes a partir de plantillas predefinidas. Los generadores pueden invocarse mediante la CLI de Nx, el plugin IDE Nx Console, o por tu asistente de IA a través del Nx Plugin for AWS MCP Server.

Debido a que cada componente es un generador, solo agregas lo que necesitas, cuando lo necesitas. Comienza con una API, agrega un sitio web más tarde, conéctalos cuando estés listo — cada paso es un solo comando.

El @aws/nx-plugin deliberadamente evita construir abstracciones personalizadas sobre las herramientas que ya conoces. En lugar de inventar frameworks, runtimes o wrappers a medida, genera código idiomático usando proyectos de código abierto establecidos y ampliamente adoptados. Esto significa que tus habilidades existentes se transfieren directamente, puedes confiar en la documentación oficial de cada framework, y nunca quedas atrapado en una capa que solo este plugin entiende.

El código generado se apoya en frameworks de primera clase, incluyendo:

El valor del plugin está en cómo estas piezas se configuran y conectan juntas para AWS — no en reemplazarlas.

Todo el código generado es tu código. El @aws/nx-plugin es una herramienta de tiempo de construcción, no una dependencia de runtime — una vez que un generador ha ejecutado, el plugin ya no está en escena. Puedes leer cada archivo que produjo, hacer commit, y cambiarlo como quieras.

Esto significa:

  • Sin escotillas de escape. No hay una superficie de configuración propietaria que aprender o con la que luchar cuando necesitas hacer algo que el generador no anticipó. Editas el código generado directamente, de la misma manera que editarías cualquier código que escribiste tú mismo.
  • Sin nuevas capas de abstracción. Los generadores emiten código plano e idiomático para los frameworks subyacentes. No hay una API wrapper o indirección mágica entre tú y React, tRPC, FastAPI, CDK o cualquiera de las otras herramientas — lo que ves es lo que se ejecuta.
  • El plugin no es una dependencia. Genera código y se aparta del camino. Tu aplicación no importa ni depende de @aws/nx-plugin en runtime, por lo que nunca estás bloqueado por él y nunca estás atrapado.

Si no te gusta algo en el código generado, eres libre de modificarlo. Los generadores te dan una ventaja inicial, no una jaula.

El @aws/nx-plugin se esfuerza por mantener el número de dependencias globales al mínimo. Lo que necesitas para comenzar se reduce a qué generadores invocas.

Por ejemplo, cualquier generador basado en TypeScript solo requerirá tener instalado Node. Para proyectos basados en Python, UV es el único requisito.

El @aws/nx-plugin emplea type-safety para simplificar la experiencia del desarrollador mediante autocompletado en el IDE, al mismo tiempo que elimina errores de runtime que de otro modo solo aparecerían en una implementación no type-safe. Como tal, todos los componentes que se proporcionan son type-safe por defecto.

La seguridad de tipos fluye a través de los límites del proyecto: cuando conectas un sitio web a una API, el cliente generado comparte tipos con el backend, por lo que un cambio en un contrato de API aparece como un error de tiempo de compilación en tu frontend en lugar de un bug en producción. Refactoriza con confianza.