angular-tooling
$
npx mdskill add HoangNguyen0403/agent-skills-standard/angular-tooling- **Command**: `ng generate component` (or `ng g c`) - **Flags**: `--dry-run` previews before write. `--change-detection=OnPush` sets CD at generation. `--skip-tests` skips spec. - **Workflow**: Always `ng generate` — **never create files manually**.
SKILL.md
.github/skills/angular-toolingView on GitHub ↗
---
name: angular-tooling
description: Angular CLI usage, code generation, build configuration, and bundle optimization. Use when creating Angular projects, generating components/services/guards, configuring builds, running tests, or analyzing bundles.
metadata:
triggers:
files:
- 'angular.json'
keywords:
- ng generate
- ng build
- ng serve
- ng test
- ng add
- angular cli
- bundle analysis
---
# Angular Tooling
## **Priority: P2 (OPTIONAL)**
## CLI Essentials
- **Command**: `ng generate component` (or `ng g c`)
- **Flags**: `--dry-run` previews before write. `--change-detection=OnPush` sets CD at generation. `--skip-tests` skips spec.
- **Workflow**: Always `ng generate` — **never create files manually**.
```bash
ng new my-app --style=scss --routing # Create project
ng g c features/user-profile # Generate component
ng g s services/auth # Generate service (providedIn: root)
ng g guard guards/auth # Generate functional guard
ng g interceptor interceptors/auth # Generate functional interceptor
ng g pipe pipes/truncate # Generate standalone pipe
```
## Code Generation Flags
- `--dry-run` — Preview output without writing files. Always use `--dry-run` first for unfamiliar generators.
- `--skip-tests` — Skips spec file generation.
- `--flat` — Skips subfolder creation.
- `--change-detection=OnPush` — Sets CD strategy on generation.
- `--style=scss` — Sets stylesheet format.
## Build Configuration
- **Dev**: `ng serve --open`
- **Prod**: `ng build -c production`. Output goes to `dist/my-app/browser/`.
- **SSR**: `ng add @angular/ssr` then `ng build` (adds `server/` output).
- **Coverage**: `ng test --code-coverage --watch=false`. Coverage output goes to `coverage/` directory.
## Bundle Analysis
```bash
ng build -c production --stats-json
npx esbuild-visualizer --metadata dist/my-app/browser/stats.json --open
```
- **Note**: Analyze bundle before editing `angular.json` budgets — don't lower without understanding what's large.
## Update Angular
- **Check**: `ng update` — lists available updates.
- **Apply**: `ng update @angular/core @angular/cli` — runs official **codemods**.
- **Rule**: **Never use --force**; fix peer dependency conflicts instead.
## Anti-Patterns
- **No manual file creation**: Use `ng generate` for consistency and proper registration.
- **No `ng update --force`**: Fix peer dependency conflicts instead of skipping.
- **No hand-editing angular.json budgets**: Analyze bundles first — lower budgets break CI.
## References
- [CLI Commands & Build Examples](references/REFERENCE.md)
- [Angular CLI Docs](https://angular.dev/tools/cli)
More from HoangNguyen0403/agent-skills-standard
- android-agp-upgradeUpgrade an Android project to Android Gradle Plugin (AGP) 9. Use when migrating to AGP 9, updating Gradle build files, migrating to built-in Kotlin, or adopting the new AGP DSL.
- android-architectureApply Clean Architecture layering, modularization, and Unidirectional Data Flow in Android projects. Use when setting up project structure, placing code in layers, configuring feature/core modules, or implementing UDF patterns.
- android-background-workImplement WorkManager and background processing correctly on Android. Use when creating Worker classes, scheduling tasks, choosing between WorkManager and Foreground Services, or setting up Hilt in workers.
- android-composeBuild high-performance declarative UI with Jetpack Compose. Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects.
- android-compose-migrationMigrate an Android XML View to Jetpack Compose following a structured 10-step workflow. Use when converting XML layouts to Compose, setting up Compose in an existing View-based project, or incrementally adopting Compose.
- android-concurrencyWrite correct coroutine scopes, Flow collection, and dispatcher injection in Android. Use when writing suspend functions, choosing between StateFlow and SharedFlow, or injecting Dispatchers for testability.
- android-deploymentConfigure release signing, R8 obfuscation, and App Bundle publishing for Android. Use when setting up signing configs, enabling minification, adding ProGuard keep rules, or preparing for Play Store submission.
- android-design-systemEnforce Material Design 3 theming and design token usage in Jetpack Compose. Use when implementing M3 components, color schemes, typography, or design tokens.
- android-diConfigure Hilt dependency injection with proper scoping, modules, and constructor injection in Android. Use when setting up Hilt DI, defining modules, or configuring component scoping.
- android-edge-to-edgeMigrate a Jetpack Compose app to edge-to-edge display and fix system bar inset issues. Use when UI components are obscured by navigation/status bars, fixing IME insets, or enabling edge-to-edge for SDK 35+.