TypeScript Nx Plugin
통합된 Model Context Protocol (MCP) 서버가 포함된 완전한 TypeScript Nx Plugin을 생성합니다. 이 제너레이터는 AI 어시스턴트가 자동화된 코드 생성 및 프로젝트 스캐폴딩에 원활하게 사용할 수 있는 커스텀 제너레이터를 빌드하기 위한 기반을 만듭니다.
사용법
섹션 제목: “사용법”Nx Plugin 생성하기
섹션 제목: “Nx Plugin 생성하기”TypeScript Nx Plugin은 두 가지 방법으로 생성할 수 있습니다:
pnpm nx g @aws/nx-plugin:ts#nx-pluginyarn nx g @aws/nx-plugin:ts#nx-pluginnpx nx g @aws/nx-plugin:ts#nx-pluginbunx nx g @aws/nx-plugin:ts#nx-plugin- 설치 Nx Console VSCode Plugin 아직 설치하지 않았다면
- VSCode에서 Nx 콘솔 열기
- 클릭
Generate (UI)"Common Nx Commands" 섹션에서 - 검색
@aws/nx-plugin - ts#nx-plugin - 필수 매개변수 입력
- 클릭
Generate
| 매개변수 | 타입 | 기본값 | 설명 |
|---|---|---|---|
| name 필수 | string | - | TypeScript 프로젝트 이름 |
| directory | string | packages | 라이브러리가 배치될 상위 디렉토리입니다. |
| subDirectory | string | - | 라이브러리가 배치될 하위 디렉토리입니다. 기본값은 라이브러리 이름입니다. |
| preferInstallDependencies | boolean | true | 생성기 실행 후 의존성 설치를 선호할지 여부입니다. 여러 생성기를 일괄 처리할 때 설치를 연기하려면 false로 설정하세요(후속 생성기가 Nx 프로젝트 그래프를 계산할 수 있도록 필요한 경우 설치는 여전히 실행됩니다). 마지막에 한 번만 설치하세요. |
제너레이터 출력
섹션 제목: “제너레이터 출력”제너레이터는 다음과 같은 프로젝트 구조를 생성합니다:
디렉터리your-plugin/
디렉터리src/
- index.ts Empty entry point for your plugin
디렉터리mcp-server/
- index.ts Exports your server
- server.ts Main MCP server configuration
- stdio.ts Entry point for your MCP server with STDIO transport
- http.ts Entry point for your MCP server with Streamable HTTP transport
디렉터리tools/
- create-workspace-command.ts Tool for workspace creation guidance
- general-guidance.ts Tool for general Nx and plugin guidance
- list-generators.ts Tool to list available generators
- generator-guide.ts Tool for detailed generator information
- utils.ts Utility functions for the MCP server
- generators.json Nx generator configuration (initially empty)
- package.json Plugin package configuration
- tsconfig.json TypeScript configuration (CommonJS for Nx compatibility)
- project.json Nx project configuration with build and package targets
Nx Plugin 작업하기
섹션 제목: “Nx Plugin 작업하기”제너레이터 추가하기
섹션 제목: “제너레이터 추가하기”플러그인 프로젝트가 생성되면 ts#nx-generator 제너레이터를 사용하여 제너레이터를 추가할 수 있습니다:
pnpm nx g @aws/nx-plugin:ts#nx-generator --project=your-pluginyarn nx g @aws/nx-plugin:ts#nx-generator --project=your-pluginnpx nx g @aws/nx-plugin:ts#nx-generator --project=your-pluginbunx nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin어떤 파일이 변경될지 확인하기 위해 드라이 런을 수행할 수도 있습니다
pnpm nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-runyarn nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-runnpx nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-runbunx nx g @aws/nx-plugin:ts#nx-generator --project=your-plugin --dry-run- 설치 Nx Console VSCode Plugin 아직 설치하지 않았다면
- VSCode에서 Nx 콘솔 열기
- 클릭
Generate (UI)"Common Nx Commands" 섹션에서 - 검색
@aws/nx-plugin - ts#nx-generator - 필수 매개변수 입력
- project: your-plugin
- 클릭
Generate
이렇게 하면 플러그인에 새로운 제너레이터가 추가됩니다.
MCP Server의 generator-guide 도구에서 사용되므로 제너레이터에 대한 자세한 README.md를 작성해야 합니다.
프로젝트 타겟
섹션 제목: “프로젝트 타겟”생성된 플러그인에는 몇 가지 중요한 타겟이 포함되어 있습니다:
Build 타겟
섹션 제목: “Build 타겟”TypeScript 코드를 컴파일하고 플러그인을 사용할 수 있도록 준비합니다:
pnpm nx build your-pluginyarn nx build your-pluginnpx nx build your-pluginbunx nx build your-pluginPackage 타겟
섹션 제목: “Package 타겟”NPM 게시를 위한 배포 가능한 패키지를 생성합니다:
pnpm nx package your-pluginyarn nx package your-pluginnpx nx package your-pluginbunx nx package your-pluginpackage 타겟에는 다음과 같은 필요한 모든 에셋이 포함됩니다:
- 컴파일된 JavaScript 파일
- TypeScript 선언 파일
- 제너레이터 및 executor 구성 파일
- 문서 및 라이선스 파일
MCP Server 통합
섹션 제목: “MCP Server 통합”플러그인은 ts#mcp-server 제너레이터를 사용하여 MCP 서버를 구성합니다.
플러그인에는 AI 어시스턴트에게 다음 도구를 제공하는 완전한 MCP 서버가 포함되어 있습니다:
general-guidance: Nx 및 플러그인 작업을 위한 모범 사례 얻기create-workspace-command: 플러그인을 사용할 수 있는 새 워크스페이스를 만드는 방법 알아보기list-generators: 플러그인에서 사용 가능한 모든 제너레이터 나열generator-guide: 스키마 및 사용법을 포함한 특정 제너레이터에 대한 자세한 정보 얻기
AI 어시스턴트 구성하기
섹션 제목: “AI 어시스턴트 구성하기”구성 파일
섹션 제목: “구성 파일”MCP를 지원하는 대부분의 AI 어시스턴트는 유사한 구성 방식을 사용합니다. MCP 서버 세부 정보로 구성 파일을 생성하거나 업데이트해야 합니다:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/stdio.ts"] } }}핫 리로드
섹션 제목: “핫 리로드”MCP 서버를 개발하는 동안 AI 어시스턴트가 항상 최신 버전의 도구/리소스를 볼 수 있도록 --watch 플래그를 구성할 수 있습니다:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/stdio.ts"] } }}어시스턴트별 구성
섹션 제목: “어시스턴트별 구성”특정 AI 어시스턴트로 MCP를 구성하는 방법은 다음 문서를 참조하세요:
MCP Server 커스터마이징
섹션 제목: “MCP Server 커스터마이징”server.ts를 수정하여 플러그인 도메인에 특화된 추가 도구나 리소스를 추가함으로써 MCP 서버를 확장할 수 있습니다.
MCP Server 작성에 대한 자세한 내용은 ts#mcp-server 가이드를 참조하세요.
플러그인 게시하기
섹션 제목: “플러그인 게시하기”게시 준비
섹션 제목: “게시 준비”-
패키지 정보 업데이트: 플러그인의
package.json을 적절한 이름, 버전, 설명 및 저장소 정보로 편집합니다. -
패키지 빌드:
Terminal window pnpm nx package your-pluginTerminal window yarn nx package your-pluginTerminal window npx nx package your-pluginTerminal window bunx nx package your-plugin -
로컬 테스트: 다른 워크스페이스에 설치하여 플러그인을 로컬에서 테스트할 수 있습니다:
Terminal window npm install /path/to/your/workspace/dist/your-plugin/package
NPM에 게시하기
섹션 제목: “NPM에 게시하기”플러그인이 준비되면:
cd dist/your-plugin/packagenpm publish게시된 플러그인 사용하기
섹션 제목: “게시된 플러그인 사용하기”게시 후 다른 사람들이 플러그인을 설치하고 사용할 수 있습니다:
pnpm add -w your-plugin-nameyarn add your-plugin-namenpm install --legacy-peer-deps your-plugin-namebun add your-plugin-name그런 다음 제너레이터를 사용합니다:
pnpm nx g your-plugin-name:your-generator-nameyarn nx g your-plugin-name:your-generator-namenpx nx g your-plugin-name:your-generator-namebunx nx g your-plugin-name:your-generator-name어떤 파일이 변경될지 확인하기 위해 드라이 런을 수행할 수도 있습니다
pnpm nx g your-plugin-name:your-generator-name --dry-runyarn nx g your-plugin-name:your-generator-name --dry-runnpx nx g your-plugin-name:your-generator-name --dry-runbunx nx g your-plugin-name:your-generator-name --dry-run- 설치 Nx Console VSCode Plugin 아직 설치하지 않았다면
- VSCode에서 Nx 콘솔 열기
- 클릭
Generate (UI)"Common Nx Commands" 섹션에서 - 검색
your-plugin-name - your-generator-name - 필수 매개변수 입력
- 클릭
Generate
게시된 플러그인으로 AI 어시스턴트 구성하기
섹션 제목: “게시된 플러그인으로 AI 어시스턴트 구성하기”게시된 플러그인의 MCP 서버는 다음과 같이 구성할 수 있습니다:
{ "mcpServers": { "aws-nx-mcp": { "command": "npx", "args": ["-y", "-p", "your-plugin-name", "your-plugin-name-mcp-server"] } }}