Pular para o conteúdo

Conceitos

O @aws/nx-plugin é um plugin do Nx que fornece um conjunto de ferramentas para construir e implantar aplicações full-stack na AWS. Ele oferece uma coleção de Geradores que criam código de aplicação pronto para produção e a infraestrutura para implantá-lo — type-safe, executável localmente e pronto para entrega.

Em vez de começar de uma página em branco, você (ou seu agente de IA) escolhe os componentes necessários — APIs, websites, autenticação, agentes de IA, infraestrutura — fornece algumas opções de configuração, e o plugin gera código inicial seguindo as melhores práticas. Ele até conecta projetos entre si (incluindo atualização de arquivos existentes via transformações AST) para produzir clientes type-safe entre seu frontend e backend.

O Nx é um framework de build inteligente para gerenciar monorepos. Ele é agnóstico de linguagem, permitindo que TypeScript, Python, infraestrutura e mais coexistam e sejam construídos juntos em um único workspace. Seu sistema de build usa cache e análise de grafo de dependências para reconstruir apenas o que mudou e executar tarefas em paralelo, mantendo testes, linting e builds rápidos conforme seu workspace cresce.

Cada funcionalidade do @aws/nx-plugin é entregue como um Gerador do Nx — scaffolding automatizado que produz estruturas de código consistentes a partir de templates predefinidos. Geradores podem ser invocados via CLI do Nx, o plugin IDE Nx Console, ou pelo seu assistente de IA através do Nx Plugin for AWS MCP Server.

Como cada componente é um gerador, você adiciona apenas o que precisa, quando precisa. Comece com uma API, adicione um website depois, conecte-os quando estiver pronto — cada passo é um único comando.

O @aws/nx-plugin deliberadamente evita construir abstrações customizadas sobre as ferramentas que você já conhece. Em vez de inventar frameworks, runtimes ou wrappers personalizados, ele cria código idiomático usando projetos open-source estabelecidos e amplamente adotados. Isso significa que suas habilidades existentes se transferem diretamente, você pode confiar na documentação oficial de cada framework, e você nunca fica preso em uma camada que apenas este plugin entende.

O código gerado se apoia em frameworks de primeira classe, incluindo:

O valor do plugin está em como essas peças são configuradas e conectadas para AWS — não em substituí-las.

Todo código gerado é seu código. O @aws/nx-plugin é uma ferramenta de build-time, não uma dependência de runtime — uma vez que um gerador foi executado, o plugin não está mais na jogada. Você pode ler cada arquivo que ele produziu, fazer commit e alterá-lo como quiser.

Isso significa:

  • Sem escape hatches. Não há superfície de configuração proprietária para aprender ou lutar quando você precisa fazer algo que o gerador não antecipou. Você edita o código gerado diretamente, da mesma forma que editaria qualquer código que você mesmo escreveu.
  • Sem novas camadas de abstração. Geradores emitem código simples e idiomático para os frameworks subjacentes. Não há API wrapper ou indireção mágica entre você e React, tRPC, FastAPI, CDK ou qualquer outra ferramenta — o que você vê é o que executa.
  • O plugin não é uma dependência. Ele gera código e sai do caminho. Sua aplicação não importa ou depende de @aws/nx-plugin em runtime, então você nunca é bloqueado por ele e nunca fica preso.

Se você não gostar de algo no código gerado, você é livre para modificá-lo. Geradores dão a você um ponto de partida, não uma gaiola.

O @aws/nx-plugin busca manter o número de dependências globais no mínimo. O que você precisa para começar se resume a quais geradores você invoca.

Por exemplo, qualquer gerador baseado em TypeScript exigirá apenas Node instalado. Para projetos baseados em Python, UV é o único requisito.

O @aws/nx-plugin emprega type-safety para simplificar a experiência do desenvolvedor via autocompletar do IDE, ao mesmo tempo que elimina erros de runtime que de outra forma só surgiriam em uma implementação não type-safe. Como tal, todos os componentes fornecidos são type-safe por padrão.

Type safety flui através das fronteiras do projeto: quando você conecta um website a uma API, o cliente gerado compartilha tipos com o backend, então uma mudança em um contrato de API aparece como um erro de tempo de compilação no seu frontend em vez de um bug em produção. Refatore com confiança.