Communitygithub.com

développeur-angular

Génère du code Angular et fournit des conseils architecturaux. Déclenchez-le 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 développeurs et les agents IA travaillant sur des projets Angular, offrant des conseils complets et générant du code couvrant l'ensemble du cycle de vie de développement. Elle est activée chaque fois que l'agent travaille dans un projet Angular, qu'il crée un nouveau projet, génère des composants/directives/services, implémente la réactivité avec les Signals, utilise des formulaires, configure le routage ou ajoute des animations/accessibilité. La compétence fournit des instructions détaillées, souvent avec des références à des fichiers `.md` spécialisés dans un dossier `references/`, couvrant des sujets comme les composants, les entrées/sorties basées sur les signaux, les formulaires signal, l'injection de dépendances hiérarchique, les composants ARIA sans tête, les stratégies de routage (chargement paresseux, gardes, animations), l'intégration de Tailwind CSS, et les frameworks de test (unitaires, harnais de composants, E2E avec Cypress/Playwright). Elle met en garde contre les anti-patrons courants (comme l'utilisation de `null` dans les formulaires signaux, l'appel à `inject()` hors contexte, ou l'utilisation de `effect()` pour des états dérivés) et insiste sur l'analyse de la version Angular du projet avant de suggérer des pratiques, car la disponibilité des fonctionnalités peut varier. Après la génération de code, la compétence exige l'exécution de `ng build` pour vérifier l'absence d'erreurs. La compétence est compatible avec les plateformes où un agent lit le markdown (Claude Code, Cursor, Codex) et est conçue pour être lue en conjonction avec des compétences connexes comme `tdd-workflow` et `security-review`.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/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 du développeur Angular

Quand activer

  • Travailler dans un projet ou une base de code Angular
  • Créer ou échafauder un nouveau projet, une application ou une bibliothèque Angular
  • Générer des composants, services, directives, pipes, gardes ou résolveurs
  • Implémenter la réactivité avec les Angular Signals, linkedSignal ou resource
  • Travailler avec des formulaires Angular (formulaires signal, formulaires réactifs, ou pilotés par template)
  • Configurer l'injection de dépendances, le routage, le chargement paresseux, ou les gardes de route
  • Ajouter de l'accessibilité (ARIA), des animations, ou des styles de composants
  • Écrire ou déboguer des tests spécifiques à Angular (unitaires, harnais de composants, E2E)
  • Configurer les outils de l'Angular CLI ou le serveur MCP Angular
  1. Analysez toujours la version Angular du projet avant de fournir des conseils, car les meilleures 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 Angular et les meilleures pratiques pour la maintenabilité et les performances. Utilisez Angular CLI pour échafauder les 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. En cas d'erreurs, analysez les messages d'erreur et corrigez-les avant de continuer. Ne sautez pas cette étape, car elle est essentielle pour garantir que le code généré est correct et fonctionnel.

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 si l'utilisateur spécifie le contraire.
  2. Privilégiez les Signal Forms 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: Lorsqu'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 utilisateur explicite.

  • SI l'utilisateur demande une version spécifique (par exemple, Angular 15), contournez 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 renvoie une version installée, utilisez directement l'installation locale/globale.
  • Commande : ng new <nom-du-projet>

Étape 3 : Repli vers la version la plus récente.

  • 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 flux de contrôle 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 meilleures 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 non trouvée 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 inscriptible lié à des signaux sources. Lisez linked-signal.md
  • Réactivité asynchrone (resource) : Récupération de données asynchrones directement dans l'état du signal. Lisez resource.md
  • Effets secondaires (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, privilégiez les formulaires signal. Lorsque vous prenez une décision sur les formulaires, analysez le projet et considérez les directives suivantes :

  • Si la version de l'application prend en charge les Signal Forms et qu'il s'agit d'un nouveau formulaire, privilégiez les formulaires signal.

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

  • Signal Forms : Utilisez les signaux pour la gestion de l'état du formulaire. Lisez signal-forms.md

  • Formulaires pilotés par template : 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 les composants ou 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 construction 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 : Construction 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 d'URL, segments statiques vs dynamiques, wildcards, et redirections. Lisez define-routes.md
  • Stratégies de chargement des routes : Chargement eager 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 des gardes : Implémentation de CanActivate, CanMatch, et autres gardes pour la sécurité. Lisez route-guards.md
  • Résolveurs de données : Préchargement de 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, visitez 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 de CSS natif (recommandé) ou du DSL hérité pour les effets dynamiques. Lisez angular-animations.md
  • Stylisation des composants : Meilleures 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 : Meilleures pratiques pour les tests unitaires, modèles asynchrones, et TestBed. Lisez testing-fundamentals.md
  • Harnais de composants : Modèles standard pour une interaction robuste avec les composants. Lisez component-harnesses.md
  • Test du routeur : Utilisation de RouterTestingHarness pour des tests de navigation fiables. Lisez router-testing.md
  • Tests de bout en bout (E2E) : Meilleures 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), service, et construction. Lisez cli.md
  • Serveur MCP Angular : Outils disponibles, configuration, et fonctionnalités expérimentales. Lisez mcp.md

Anti-patrons

  • Utiliser null ou undefined comme valeurs initiales de champs de formulaire signal — utilisez '', 0, ou [] à la place
  • 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 lorsque la version cible d'Angular prend en charge les Signal Forms
  • 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 lorsque 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 let outerIdx = $index à la place

Compétences connexes

  • tdd-workflow — flux de travail 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 préoccupations 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/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

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.

Skills associés