This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
このリポジトリは AWS 関係の自作サンプルコード集です。複数の AWS サービス(Lambda、CodePipeline、CodeBuild、Amplify、ECS、EC2など)の実装例を含む pnpm ワークスペースのモノレポです。
- 必須: pnpm >= 10.0.0
- 禁止: npm, yarn は使用しないでください
- Node.js >= 22.0.0 が必要です
pnpm -r build # 全プロジェクトをビルド
pnpm -r --parallel build # 全プロジェクトを並列ビルドpnpm -r --parallel lint # 全プロジェクトで lint 実行
pnpm -r --parallel lint-fix # 全プロジェクトで lint 自動修正cd <project-directory>
pnpm cdk deploy # スタックをデプロイ
pnpm cdk synth # CloudFormation テンプレートを生成
pnpm cdk diff # 変更点を確認
pnpm cdk destroy # スタックを削除cd <project-directory>
pnpm test # テストを実行このリポジトリは機能別に分類された複数の独立したプロジェクトで構成されています:
-
amplify/: AWS Amplify 関連のプロジェクト
- CDK インフラストラクチャと Next.js アプリケーション
-
codebuild/: AWS CodeBuild 関連のプロジェクト
- カスタムイメージ、Webhook プロジェクトの例
-
codepipeline/: AWS CodePipeline 関連のプロジェクト
- Docker ビルド、脆弱性スキャン、GitHub タグ連携など
-
lambda/: AWS Lambda 関連のプロジェクト
- Apollo Server (GraphQL)
- EventBridge 連携
- Lambda Layer の実装例
-
infra/: 共通インフラストラクチャ
- S3、ECS、VPC、ACM など
-
ec2-bluegreen/: EC2 Blue-Green デプロイメントの例
- CloudFront との連携
-
codeconections/: AWS CodeConnections の実装例
各 CDK プロジェクトは一般的に以下の構造を持ちます:
<project-name>/
├── bin/ # CDK アプリケーションのエントリーポイント
├── lib/ # スタック定義 (Constructs)
├── test/ # Jest テスト (一部のプロジェクト)
├── cdk.json # CDK 設定
├── tsconfig.json # TypeScript 設定
└── package.json # 依存関係とスクリプト
pnpm-workspace.yamlで全サブプロジェクトを管理.nextとcdk.outは workspace から除外enablePrePostScripts: trueで pre/post スクリプトが有効
- ルートに
eslint.config.js(Flat Config 形式) - TypeScript、React Hooks、jsx-a11y、import プラグインを使用
- プロジェクト全体で統一された lint ルール
Jest を使用するプロジェクトの場合:
- テストファイルは
test/**/*.test.tsに配置 ts-jestトランスフォーマーを使用pnpm testでテストを実行
GitHub Actions を使用:
.github/workflows/ci.ymlでビルドとテストを実行- pnpm を使用して依存関係をインストール
- 全プロジェクトを並列ビルド