nx について
Nx ワークスペースを構築・保守するチーム向けのリファレンススキルです。モノレポや複数言語のプロジェクトを対象に、ジェネレーター、変更対象タスク、共有ライブラリ、設定を扱います。
主な機能
- 01ドメイン別のプロジェクト構成
- 02一貫したワークスペースコードの生成
- 03変更対象プロジェクトだけでタスクを実行
- 04プロジェクト間でのライブラリ共有
- 05タスク依存関係と設定の構成
- 06複数言語ワークスペースへの対応
活用シーン
- 01ライブラリやコンポーネントのひな型作成
- 02変更プロジェクトのビルド、テスト、Lint
- 03アプリ間のユーティリティ重複の削減
- 04ワークスペース内のタスク順序の調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oguzhan18/ angular-ecosystem-skills --skill nxインストール後、Claude Code で/nxを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/discussions/_INDEX.mdreferences/docs/_INDEX.mdreferences/issues/_INDEX.mdreferences/releases/_INDEX.md詳細
Nx(スマートで高速、拡張可能なビルドシステム)
Version: 22.x(2025) Tags: モノレポ、ビルドシステム、Angular、React、Node
References: ドキュメント — ガイド、チュートリアル • GitHub • エンタープライズパターンの書籍
API の変更
このセクションでは、最近のバージョン固有の API の変更について説明します。
-
新機能:TypeScript Project References — 最新の TypeScript 設定でビルドと型チェックを高速化します ソース
-
新機能:pnpm カタログのサポート — pnpm カタログでバージョンポリシーを一元管理します ソース
-
新機能:Angular Rspack のサポート — Angular プロジェクト向けの高速バンドラーです ソース
-
新機能:AI エージェントとの統合 — LLM のコンテキスト管理を改善するコードモードです ソース
-
新機能:ポリグロットなワークスペース — JS/TS プロジェクトと並行して、Gradle、Maven、.NET をネイティブにサポートします
ベストプラクティス
- ドメインベースのフォルダー構成を使用する — ビジネスドメインごとにプロジェクトをまとめます
libs/
├── auth/
│ ├── feature-login/
│ └── data-access/
├── products/
│ ├── feature-list/
│ └── ui/
└── shared/
├── ui/
└── utils/
- Nx ジェネレーターを使用する — ワークスペース全体で一貫性のあるコードを生成します
# Create new library
nx g @nx/angular:library --name=shared-data-access --directory=libs/shared/data-access
# Create new feature
nx g @nx/angular:component --name=user-profile --project=my-app
- affected コマンドを使用する — 変更されたプロジェクトのタスクのみを実行します
nx affected:build # Build only changed projects
nx affected:test # Test only changed projects
nx affected:lint # Lint only changed projects
-
共有ライブラリを使用する — 共通ユーティリティを使ってコードの重複を避けます
-
タスクの依存関係を設定する —
project.jsonでタスク同士の依存関係を定義します
{
"build": {
"dependsOn": ["^build"]
}
}
-
Nx Cloud を使用する — 分散キャッシュを有効にして CI を高速化します
-
nx.jsonとtsconfig.base.jsonを使用する — プロジェクト全体で一貫した設定を適用します -
@nx/angular:componentジェネレーターを使用する — ワークスペースの規約に沿ったコンポーネントを作成します