개념
@aws/nx-plugin은 AWS에서 풀스택 애플리케이션을 구축하고 배포하기 위한 툴킷을 제공하는 Nx 플러그인입니다. 프로덕션 준비가 완료된 애플리케이션 코드 및 이를 배포할 인프라를 스캐폴딩하는 Generators 컬렉션을 제공합니다 — 타입 안전하고, 로컬에서 실행 가능하며, 바로 배포할 수 있습니다.
빈 페이지에서 시작하는 대신, 사용자(또는 AI 에이전트)가 필요한 컴포넌트 — API, 웹사이트, 인증, AI 에이전트, 인프라 — 를 선택하고 몇 가지 구성 옵션을 제공하면, 플러그인이 모범 사례 스타터 코드를 생성합니다. 심지어 프로젝트를 자동으로 연결하여(AST 변환을 통해 기존 파일 업데이트 포함) 프론트엔드와 백엔드 간에 타입 안전한 클라이언트를 생성합니다.
Nx와 제너레이터 기반 구축
섹션 제목: “Nx와 제너레이터 기반 구축”Nx는 모노레포 관리를 위한 스마트 빌드 프레임워크입니다. 언어에 구애받지 않아 TypeScript, Python, 인프라 등이 단일 워크스페이스에서 함께 작동하고 빌드될 수 있습니다. 빌드 시스템은 캐싱과 의존성 그래프 분석을 사용하여 변경된 부분만 재빌드하고 작업을 병렬로 실행하여, 워크스페이스가 성장해도 테스트, 린팅, 빌드를 빠르게 유지합니다.
@aws/nx-plugin의 모든 기능은 Nx Generator로 제공됩니다 — 미리 정의된 템플릿에서 일관된 코드 구조를 생성하는 자동화된 스캐폴딩입니다. 제너레이터는 Nx CLI, Nx Console IDE 플러그인, 또는 Nx Plugin for AWS MCP Server를 통한 AI 어시스턴트로 실행할 수 있습니다.
모든 컴포넌트가 제너레이터이기 때문에, 필요할 때 필요한 것만 추가하면 됩니다. API로 시작하고, 나중에 웹사이트를 추가하고, 준비가 되면 연결하세요 — 각 단계는 단일 명령입니다.
검증된 프레임워크로 구축
섹션 제목: “검증된 프레임워크로 구축”@aws/nx-plugin은 이미 알고 있는 도구 위에 커스텀 추상화를 구축하는 것을 의도적으로 피합니다. 맞춤형 프레임워크, 런타임 또는 래퍼를 만드는 대신, 확립되고 널리 채택된 오픈소스 프로젝트를 사용하여 관용적인 코드를 스캐폴딩합니다. 이는 기존 기술이 직접 이어지고, 각 프레임워크의 공식 문서를 신뢰할 수 있으며, 이 플러그인만 이해하는 레이어에 갇히지 않는다는 것을 의미합니다.
생성된 코드는 다음을 포함한 최고 수준의 프레임워크를 기반으로 합니다:
플러그인의 가치는 이러한 조각들이 AWS를 위해 어떻게 구성되고 연결되는지에 있습니다 — 이들을 대체하는 것이 아닙니다.
자유로운 수정 가능
섹션 제목: “자유로운 수정 가능”생성된 모든 코드는 사용자의 코드입니다. @aws/nx-plugin은 빌드 타임 도구이지 런타임 의존성이 아닙니다 — 제너레이터가 실행되고 나면 플러그인은 더 이상 관여하지 않습니다. 생성된 모든 파일을 읽고, 커밋하고, 원하는 대로 변경할 수 있습니다.
이것이 의미하는 바는:
- 탈출구가 필요 없습니다. 제너레이터가 예상하지 못한 작업을 수행해야 할 때 배우거나 씨름해야 할 독점 구성 표면이 없습니다. 직접 작성한 코드를 편집하는 것과 동일한 방식으로 생성된 코드를 직접 편집합니다.
- 새로운 추상화 레이어가 없습니다. 제너레이터는 기본 프레임워크를 위한 평범하고 관용적인 코드를 생성합니다. React, tRPC, FastAPI, CDK 또는 기타 도구 사이에 래퍼 API나 마법 같은 간접 참조가 없습니다 — 보이는 것이 실행되는 것입니다.
- 플러그인은 의존성이 아닙니다. 코드를 생성하고 물러납니다. 애플리케이션은 런타임에
@aws/nx-plugin을 가져오거나 의존하지 않으므로, 플러그인에 의해 차단되거나 종속되지 않습니다.
생성된 코드 중 마음에 들지 않는 부분이 있으면 자유롭게 수정할 수 있습니다. 제너레이터는 출발점을 제공하지, 감옥이 아닙니다.
최소한의 의존성
섹션 제목: “최소한의 의존성”@aws/nx-plugin은 전역 의존성 수를 최소화하기 위해 노력합니다. 시작하는 데 필요한 것은 실행하는 제너레이터에 따라 결정됩니다.
예를 들어 TypeScript 기반 제너레이터는 Node 설치만 필요합니다. Python 기반 프로젝트의 경우 UV가 유일한 요구사항입니다.
타입 안전성
섹션 제목: “타입 안전성”@aws/nx-plugin은 IDE 자동 완성을 통한 개발자 경험 단순화와 함께, 타입 안전하지 않은 구현에서만 발생할 수 있는 런타임 오류를 제거하기 위해 타입 안전성을 적용합니다. 따라서 제공되는 모든 컴포넌트는 기본적으로 타입 안전합니다.
타입 안전성은 프로젝트 경계를 넘어 흐릅니다: 웹사이트를 API에 연결하면 생성된 클라이언트가 백엔드와 타입을 공유하므로, API 계약의 변경이 프로덕션의 버그가 아닌 프론트엔드의 컴파일 타임 오류로 나타납니다. 자신 있게 리팩토링하세요.