angular-best-practices-legacy
17
总安装量
11
周安装量
#20065
全站排名
安装命令
npx skills add https://github.com/develite98/angular-best-practices --skill angular-best-practices-legacy
Agent 安装分布
codex
7
opencode
6
github-copilot
6
antigravity
5
claude-code
5
Skill 文档
Angular Best Practices (Legacy: v12-16)
Comprehensive performance optimization guide for Angular 12-16 applications using NgModule-based architecture and RxJS-centric patterns. Contains 30+ rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Maintaining Angular 12-16 codebases
- Using NgModule-based architecture
- Working with *ngIf, *ngFor directives
- Using RxJS for state management
- Using class-based HTTP interceptors
- Reviewing code for performance issues
Key Patterns (v12-16)
- NgModules – Feature modules for organization
- BehaviorSubject – Reactive state management
- Subject + takeUntil – Subscription cleanup pattern
- Class-based interceptors – HTTP handling with implements HttpInterceptor
- **ngFor / ngIf – Structural directives with trackBy
- loadChildren – Module-based lazy loading
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Change Detection | CRITICAL | change- |
| 2 | Bundle & Lazy Loading | CRITICAL | bundle- |
| 3 | RxJS Optimization | HIGH | rxjs- |
| 4 | Template Performance | HIGH | template- |
| 5 | Dependency Injection | MEDIUM-HIGH | di- |
| 6 | HTTP & Caching | MEDIUM | http- |
| 7 | Forms Optimization | MEDIUM | forms- |
| 8 | General Performance | LOW-MEDIUM | perf- |
Quick Reference
1. Change Detection (CRITICAL)
change-rxjs-state– Use BehaviorSubject with OnPush for reactive statechange-onpush– Use OnPush change detection strategychange-detach-reattach– Detach change detector for heavy operationschange-run-outside-zone– Run non-UI code outside NgZone
2. Bundle & Lazy Loading (CRITICAL)
bundle-ngmodule– Organize code into feature NgModulesbundle-scam– Use Single Component Angular Modules patternbundle-lazy-routes– Lazy load routes with loadChildrenbundle-preload– Preload routes for perceived speedbundle-no-barrel-imports– Avoid barrel files, use direct imports
3. RxJS Optimization (HIGH)
rxjs-async-pipe– Use async pipe instead of manual subscriptionsrxjs-takeuntil– Use takeUntil with destroy$ Subject for cleanuprxjs-share-replay– Share observables to avoid duplicate requestsrxjs-operators– Use efficient RxJS operatorsrxjs-mapping-operators– Use correct mapping operators (switchMap vs exhaustMap)rxjs-no-nested-subscribe– Avoid nested subscriptions
4. Template Performance (HIGH)
template-trackby– Use trackBy function with *ngFortemplate-pure-pipes– Use pure pipes for expensive transformationstemplate-ng-optimized-image– Use NgOptimizedImage for image optimizationtemplate-no-function-calls– Avoid function calls in templatestemplate-virtual-scroll– Use virtual scrolling for large lists
5. Dependency Injection (MEDIUM-HIGH)
di-provided-in-root– Use providedIn: ‘root’ for singleton servicesdi-injection-token– Use InjectionToken for non-class dependenciesdi-factory-providers– Use factory providers for complex initialization
6. HTTP & Caching (MEDIUM)
http-interceptors– Use class-based interceptors for cross-cutting concernshttp-transfer-state– Use TransferState for SSR hydration
7. Forms Optimization (MEDIUM)
forms-reactive– Use reactive forms instead of template-drivenforms-typed– Use typed FormGroup for type safety
8. General Performance (LOW-MEDIUM)
perf-memory-leaks– Prevent memory leaks (timers, listeners, subscriptions)perf-web-workers– Offload heavy computation to Web Workersarch-smart-dumb-components– Use Smart/Dumb component pattern
How to Use
Read individual rule files for detailed explanations and code examples:
rules/change-rxjs-state.md
rules/bundle-ngmodule.md
rules/rxjs-takeuntil.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md