angular-tooling
Angular v20以降のプロジェクトにおいて、Angular CLIと開発ツールを効果的に活用するスキルです。プロジェクトのセットアップ、コンポーネント・サービス・モジュールの生成、ビルド設定、テストの実行、本番ビルドの最適化などを対象とします。Nxワークスペースのコマンド、カスタムWebpack設定、またはViteスタンドアロンやesbuildの直接利用といったAngular CLI以外のビルドシステムには使用しないでください。
description の原文を見る
Use Angular CLI and development tools effectively in Angular v20+ projects. Use for project setup, code generation, building, testing, and configuration. Triggers on creating new projects, generating components/services/modules, configuring builds, running tests, or optimizing production builds. Don't use for Nx workspace commands, custom Webpack configurations, or non-Angular CLI build systems like Vite standalone or esbuild direct usage.
SKILL.md 本文
Angular Tooling
Angular v20+ 開発を効率化するために Angular CLI と開発ツールを使用します。
プロジェクトセットアップ
新規プロジェクトの作成
# 新しいスタンドアロンプロジェクトを作成(v20+ のデフォルト)
ng new my-app
# 特定のオプション付き
ng new my-app --style=scss --routing --ssr=false
# テストをスキップ
ng new my-app --skip-tests
# 最小限のセットアップ
ng new my-app --minimal --inline-style --inline-template
プロジェクト構造
my-app/
├── src/
│ ├── app/
│ │ ├── app.component.ts
│ │ ├── app.config.ts
│ │ └── app.routes.ts
│ ├── index.html
│ ├── main.ts
│ └── styles.scss
├── public/ # Static assets
├── angular.json # CLI configuration
├── package.json
├── tsconfig.json
└── tsconfig.app.json
コード生成
コンポーネント
# コンポーネントを生成
ng generate component features/user-profile
ng g c features/user-profile # 短縮形
# オプション付き
ng g c shared/button --inline-template --inline-style
ng g c features/dashboard --skip-tests
ng g c features/settings --change-detection=OnPush
# フラット(フォルダなし)
ng g c shared/icon --flat
# ドライラン(プレビュー)
ng g c features/checkout --dry-run
サービス
# サービスを生成(デフォルトで providedIn: 'root')
ng g service services/auth
ng g s services/user
# テストをスキップ
ng g s services/api --skip-tests
その他のスキーマティクス
# ディレクティブ
ng g directive directives/highlight
ng g d directives/tooltip
# パイプ
ng g pipe pipes/truncate
ng g p pipes/date-format
# ガード(デフォルトで関数型)
ng g guard guards/auth
# インターセプター(デフォルトで関数型)
ng g interceptor interceptors/auth
# インターフェース
ng g interface models/user
# 列挙型
ng g enum models/status
# クラス
ng g class models/product
パスエイリアスで生成
# フィーチャーフォルダのコンポーネント
ng g c @features/products/product-list
ng g c @shared/ui/button
開発サーバー
# 開発サーバーを起動
ng serve
ng s # 短縮形
# オプション付き
ng serve --port 4201
ng serve --open # ブラウザを開く
ng serve --host 0.0.0.0 # ネットワークに公開
# 本番環境モード(ローカル)
ng serve --configuration=production
# SSL 付き
ng serve --ssl --ssl-key ./ssl/key.pem --ssl-cert ./ssl/cert.pem
ビルド
開発ビルド
ng build
本番ビルド
ng build --configuration=production
ng build -c production # 短縮形
# 特定のオプション付き
ng build -c production --source-map=false
ng build -c production --named-chunks
ビルド出力
dist/my-app/
├── browser/
│ ├── index.html
│ ├── main-[hash].js
│ ├── polyfills-[hash].js
│ └── styles-[hash].css
└── server/ # SSR が有効な場合
└── main.js
テスト
ユニットテスト
# テストを実行
ng test
ng t # 短縮形
# 単一実行(CI)
ng test --watch=false --browsers=ChromeHeadless
# カバレッジ付き
ng test --code-coverage
# 特定のファイル
ng test --include=**/user.service.spec.ts
E2E テスト
# e2e を実行(設定されている場合)
ng e2e
リンティング
# リンターを実行
ng lint
# 自動修正可能な問題を修正
ng lint --fix
設定
angular.json の主要セクション
{
"projects": {
"my-app": {
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"outputPath": "dist/my-app",
"index": "src/index.html",
"browser": "src/main.ts",
"polyfills": ["zone.js"],
"tsConfig": "tsconfig.app.json",
"assets": ["{ \"glob\": \"**/*\", \"input\": \"public\" }"],
"styles": ["src/styles.scss"],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kB",
"maximumError": "1MB"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": true
}
}
}
}
}
}
}
環境設定
// src/environments/environment.ts
export const environment = {
production: false,
apiUrl: 'http://localhost:3000/api',
};
// src/environments/environment.prod.ts
export const environment = {
production: true,
apiUrl: 'https://api.example.com',
};
angular.json で設定:
{
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}
}
ライブラリの追加
Angular ライブラリ
# Angular Material を追加
ng add @angular/material
# Angular PWA を追加
ng add @angular/pwa
# Angular SSR を追加
ng add @angular/ssr
# Angular Localize を追加
ng add @angular/localize
サードパーティライブラリ
# インストールして設定
npm install @ngrx/signals
# 一部のライブラリはスキーマティクスを持つ
ng add @ngrx/store
Angular の更新
# 更新をチェック
ng update
# Angular コアと CLI を更新
ng update @angular/core @angular/cli
# すべてのパッケージを更新
ng update --all
# 強制更新(ピア依存関係チェックをスキップ)
ng update @angular/core @angular/cli --force
パフォーマンス分析
# 統計情報付きでビルド
ng build -c production --stats-json
# バンドルを分析(esbuild-visualizer をインストール)
npx esbuild-visualizer --metadata dist/my-app/browser/stats.json --open
キャッシング
# 永続的なビルドキャッシュを有効化(v20+ ではデフォルト)
# angular.json で設定:
{
"cli": {
"cache": {
"enabled": true,
"path": ".angular/cache",
"environment": "all"
}
}
}
# キャッシュをクリア
rm -rf .angular/cache
詳細な設定については、references/tooling-patterns.md を参照してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- analogjs
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/analogjs/angular-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。