Communitygithub.com

développeur-angular

Génère du code Angular et fournit des conseils architecturaux. À activer lors de la création de projets, composants ou services, ou pour les bonnes pratiques en matière de réactivité (signals, linkedSignal, resource), formulaires, injection de dépendances, routage, SSR, accessibilité (ARIA), animations, styles (styles de composants, Tailwind CSS), tests, ou outils CLI.

Qu'est-ce que développeur-angular ?

Cette compétence est conçue pour les agents IA travaillant sur des projets Angular. Elle fournit des directives complètes et automatisées pour tout le cycle de vie du développement Angular, de la création de projets à la génération de code, en passant par l'architecture, les tests et l'optimisation. Elle prend en charge plusieurs plateformes (Angular CLI, MCP) et versions, en analysant automatiquement la version du projet pour adapter les recommandations (ex. : préférer les Signal Forms pour les nouvelles versions). La compétence organise ses connaissances par domaines clés : composants (entrées/sorties basées sur les signaux), réactivité (signals, linkedSignal, resource, effects), formulaires (Signal Forms, formulaires réactifs et pilotés par les templates), injection de dépendances (hiérarchies, fournisseurs), accessibilité (composants ARIA headless), routage (chargement paresseux, gardes, animations de transition), styles (Tailwind CSS, encapsulation), animations et tests (unitaires, harness, E2E). Elle inclut également des anti-patrons à éviter (ex. : utilisation incorrecte de `inject()` ou `effect()`). L'agent peut consulter des fichiers de référence détaillés pour chaque sujet et exécuter `ng build` pour valider le code généré.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/angular-developer

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Directives pour le Développeur Angular

Quand l'activer

  • Travailler dans un projet ou une base de code Angular
  • Créer ou générer un nouveau projet, une application ou une bibliothèque Angular
  • Générer des composants, services, directives, pipes, guards ou resolvers
  • Implémenter la réactivité avec les Angular Signals, linkedSignal ou resource
  • Travailler avec des formulaires Angular (formulaires de signaux, formulaires réactifs ou pilotés par les templates)
  • Mettre en place l'injection de dépendances, le routage, le chargement paresseux ou les guards de route
  • Ajouter de l'accessibilité (ARIA), des animations ou des styles de composants
  • Écrire ou déboguer des tests spécifiques à Angular (unitaires, harness de composants, E2E)
  • Configurer les outils Angular CLI ou le serveur Angular MCP
  1. Analysez toujours la version Angular du projet avant de fournir des conseils, car les bonnes pratiques et les fonctionnalités disponibles peuvent varier considérablement entre les versions. Si vous créez un nouveau projet avec Angular CLI, ne spécifiez pas de version sauf si l'utilisateur le demande.

  2. Lors de la génération de code, suivez le guide de style et les bonnes pratiques d'Angular pour la maintenabilité et les performances. Utilisez Angular CLI pour générer des composants, services, directives, pipes et routes afin d'assurer la cohérence.

  3. Une fois la génération de code terminée, exécutez ng build pour vous assurer qu'il n'y a pas d'erreurs de build. S'il y a des erreurs, analysez les messages d'erreur et corrigez-les avant de poursuivre. Ne sautez pas cette étape, car elle est essentielle pour garantir l'exactitude et la fonctionnalité du code généré.

Création de nouveaux projets

Si l'utilisateur ne fournit pas de directives, utilisez ces valeurs par défaut lors de la création d'un nouveau projet Angular :

  1. Utilisez la dernière version stable d'Angular, sauf indication contraire de l'utilisateur.
  2. Préférez les formulaires de signaux pour les nouveaux projets uniquement lorsque la version cible d'Angular les prend en charge. En savoir plus.

Règles d'exécution pour ng new : Lorsque l'on vous demande de créer un nouveau projet Angular, vous devez déterminer la commande d'exécution correcte en suivant ces étapes strictes :

Étape 1 : Vérifier une version explicite de l'utilisateur.

  • SI l'utilisateur demande une version spécifique (par exemple, Angular 15), ignorez les installations locales et utilisez strictement npx.
  • Commande : npx @angular/cli@<version_demandée> new <nom-du-projet>

Étape 2 : Vérifier une installation Angular existante.

  • SI aucune version spécifique n'est demandée, exécutez ng version dans le terminal pour vérifier si Angular CLI est déjà installé sur le système.
  • SI la commande réussit et retourne une version installée, utilisez directement l'installation locale/globale.
  • Commande : ng new <nom-du-projet>

Étape 3 : Repli vers la dernière version.

  • SI aucune version spécifique n'est demandée ET que la commande ng version échoue (indiquant qu'aucune installation Angular n'existe), vous devez utiliser npx pour obtenir la dernière version.
  • Commande : npx @angular/cli@latest new <nom-du-projet>

Composants

Lorsque vous travaillez avec des composants Angular, consultez les références suivantes en fonction de la tâche :

  • Fondamentaux : Anatomie, métadonnées, concepts de base et contrôle de flux des templates (@if, @for, @switch). Lisez components.md
  • Entrées : Entrées basées sur les signaux, transformations et entrées de modèle. Lisez inputs.md
  • Sorties : Sorties basées sur les signaux et bonnes pratiques pour les événements personnalisés. Lisez outputs.md
  • Éléments hôtes : Liaisons hôtes et injection d'attributs. Lisez host-elements.md

Si vous avez besoin d'une documentation plus approfondie que celle fournie dans les références ci-dessus, lisez la documentation à l'adresse https://angular.dev/guide/components.

Réactivité et gestion des données

Lors de la gestion de l'état et de la réactivité des données, utilisez les Angular Signals et consultez les références suivantes :

  • Aperçu des Signals : Concepts de base des signaux (signal, computed), contextes réactifs et untracked. Lisez signals-overview.md
  • État dépendant (linkedSignal) : Création d'un état modifiable lié à des signaux sources. Lisez linked-signal.md
  • Réactivité asynchrone (resource) : Récupération de données asynchrones directement dans l'état des signaux. Lisez resource.md
  • Effets de bord (effect) : Journalisation, manipulation DOM tierce (afterRenderEffect) et quand NE PAS utiliser les effets. Lisez effects.md

Formulaires

Dans la plupart des cas pour les nouvelles applications, préférez les formulaires de signaux. Lorsque vous prenez une décision concernant les formulaires, analysez le projet et tenez compte des directives suivantes :

  • Si la version de l'application prend en charge les formulaires de signaux et qu'il s'agit d'un nouveau formulaire, préférez les formulaires de signaux.

  • Pour les applications plus anciennes ou les formulaires existants, utilisez la stratégie de formulaire actuelle de l'application.

  • Formulaires de signaux : Utilisez des signaux pour la gestion de l'état des formulaires. Lisez signal-forms.md

  • Formulaires pilotés par les templates : Utilisez pour les formulaires simples. Lisez template-driven-forms.md

  • Formulaires réactifs : Utilisez pour les formulaires complexes. Lisez reactive-forms.md

Injection de dépendances

Lors de l'implémentation de l'injection de dépendances dans Angular, suivez ces directives :

  • Fondamentaux : Aperçu de l'injection de dépendances, services et fonction inject(). Lisez di-fundamentals.md
  • Création et utilisation de services : Création de services, option providedIn: 'root' et injection dans des composants ou d'autres services. Lisez creating-services.md
  • Définition des fournisseurs de dépendances : Fourniture automatique vs manuelle, InjectionToken, useClass, useValue, useFactory et portées. Lisez defining-providers.md
  • Contexte d'injection : Où inject() est autorisé, runInInjectionContext et assertInInjectionContext. Lisez injection-context.md
  • Injecteurs hiérarchiques : EnvironmentInjector vs ElementInjector, règles de résolution, modificateurs (optional, skipSelf) et providers vs viewProviders. Lisez hierarchical-injectors.md

Angular Aria

Lors de la création de composants personnalisés accessibles pour l'un des modèles suivants : Accordéon, Listbox, Combobox, Menu, Onglets, Barre d'outils, Arbre, Grille, consultez la référence suivante :

  • Composants Angular Aria : Création de composants accessibles sans tête (Accordéon, Listbox, Combobox, Menu, Onglets, Barre d'outils, Arbre, Grille) et stylisation des attributs ARIA. Lisez angular-aria.md

Routage

Lors de l'implémentation de la navigation dans Angular, consultez les références suivantes :

  • Définir les routes : Chemins URL, segments statiques vs dynamiques, wildcards et redirections. Lisez define-routes.md
  • Stratégies de chargement des routes : Chargement immédiat vs paresseux, et chargement contextuel. Lisez loading-strategies.md
  • Afficher les routes avec les outlets : Utilisation de <router-outlet>, outlets imbriqués et outlets nommés. Lisez show-routes-with-outlets.md
  • Naviguer vers les routes : Navigation déclarative avec RouterLink et navigation programmatique avec Router. Lisez navigate-to-routes.md
  • Contrôler l'accès aux routes avec les guards : Implémentation de CanActivate, CanMatch et autres guards pour la sécurité. Lisez route-guards.md
  • Resolveurs de données : Préchargement des données avant l'activation de la route avec ResolveFn. Lisez data-resolvers.md
  • Cycle de vie et événements du routeur : Ordre chronologique des événements de navigation et débogage. Lisez router-lifecycle.md
  • Stratégies de rendu : CSR, SSG (prérendu) et SSR avec hydratation. Lisez rendering-strategies.md
  • Animations de transition de route : Activation et personnalisation de l'API View Transitions. Lisez route-animations.md

Si vous avez besoin d'une documentation plus approfondie ou de plus de contexte, consultez le guide officiel du routage Angular.

Styles et animations

Lors de l'implémentation de styles et d'animations dans Angular, consultez les références suivantes :

  • Utilisation de Tailwind CSS avec Angular : Intégration de Tailwind CSS dans les projets Angular. Lisez tailwind-css.md
  • Animations Angular : Utilisation du CSS natif (recommandé) ou du DSL hérité pour les effets dynamiques. Lisez angular-animations.md
  • Stylisation des composants : Bonnes pratiques pour les styles de composants et l'encapsulation. Lisez component-styling.md

Tests

Lors de l'écriture ou de la mise à jour de tests, consultez les références suivantes en fonction de la tâche :

  • Fondamentaux : Bonnes pratiques pour les tests unitaires, modèles asynchrones et TestBed. Lisez testing-fundamentals.md
  • Harnesses de composants : Modèles standard pour une interaction robuste avec les composants. Lisez component-harnesses.md
  • Tests de routage : Utilisation de RouterTestingHarness pour des tests de navigation fiables. Lisez router-testing.md
  • Tests de bout en bout (E2E) : Bonnes pratiques pour les tests E2E avec Cypress ou Playwright. Lisez e2e-testing.md

Outils

Lorsque vous travaillez avec les outils Angular, consultez les références suivantes :

  • Angular CLI : Création d'applications, génération de code (composants, routes, services), serveur de développement et build. Lisez cli.md
  • Serveur Angular MCP : Outils disponibles, configuration et fonctionnalités expérimentales. Lisez mcp.md

Anti-patrons

  • Utiliser null ou undefined comme valeurs initiales des champs de formulaire de signaux — utilisez plutôt '', 0 ou []
  • Accéder aux indicateurs d'état des champs de formulaire sans appeler le champ d'abord : form.field.valid() — utilisez form.field().valid()
  • Démarrer de nouveaux formulaires avec des API de formulaire plus anciennes alors que la version cible d'Angular prend en charge les formulaires de signaux
  • Définir les attributs HTML min, max, value, disabled ou readonly sur les entrées [formField] — définissez-les plutôt comme des règles de schéma
  • Appeler inject() en dehors d'un contexte d'injection — utilisez runInInjectionContext si nécessaire
  • Utiliser effect() pour un état dérivé qui devrait utiliser computed()
  • Référencer $parent.$index dans les boucles @for imbriquées — Angular ne prend pas en charge $parent ; utilisez plutôt let outerIdx = $index

Compétences connexes

  • tdd-workflow — flux de développement piloté par les tests applicable aux composants et services Angular
  • security-review — liste de contrôle de sécurité pour les applications web, y compris les aspects spécifiques à Angular
  • frontend-patterns — modèles frontend généraux pour le contexte des approches React/Next.js

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

api-connector-builder

Build a new API connector or provider by matching the target repo

Skills associés