architecture-blueprint-generator

Par github · awesome-copilot

Générateur de plans d'architecture de projet complets, qui analyse les bases de code pour créer une documentation architecturale détaillée. Détecte automatiquement les stacks technologiques et les patterns architecturaux, génère des diagrammes visuels, documente les patterns d'implémentation et fournit des blueprints extensibles pour maintenir la cohérence architecturale et guider les nouveaux développements.

npx skills add https://github.com/github/awesome-copilot --skill architecture-blueprint-generator

Générateur de Plan Directeur d'Architecture Globale de Projet

Variables de Configuration

${PROJECT_TYPE="Détection automatique|.NET|Java|React|Angular|Python|Node.js|Flutter|Autre"} <!-- Technologie principale --> ${ARCHITECTURE_PATTERN="Détection automatique|Architecture Propre|Microservices|En Couches|MVVM|MVC|Hexagonale|Événementielle|Serverless|Monolithique|Autre"} <!-- Motif architectural principal --> ${DIAGRAM_TYPE="C4|UML|Flow|Component|Aucun"} <!-- Type de diagramme d'architecture --> ${DETAIL_LEVEL="Haut niveau|Détaillé|Complet|Prêt pour l'implémentation"} <!-- Niveau de détail à inclure --> ${INCLUDES_CODE_EXAMPLES=true|false} <!-- Inclure des exemples de code pour illustrer les motifs --> ${INCLUDES_IMPLEMENTATION_PATTERNS=true|false} <!-- Inclure les motifs d'implémentation détaillés --> ${INCLUDES_DECISION_RECORDS=true|false} <!-- Inclure les enregistrements de décisions architecturales --> ${FOCUS_ON_EXTENSIBILITY=true|false} <!-- Mettre l'accent sur les points d'extension et les motifs -->

Prompt Généré

« Créez un document exhaustif « Project_Architecture_Blueprint.md » qui analyse de manière approfondie les motifs architecturaux de la base de code pour servir de référence définitive au maintien de la cohérence architecturale. Utilisez l'approche suivante :

1. Détection et Analyse de l'Architecture

  • ${PROJECT_TYPE == "Détection automatique" ? "Analysez la structure du projet pour identifier tous les stacks technologiques et frameworks en utilisant en examinant :

    • Les fichiers de configuration et projet
    • Les dépendances de paquet et déclarations d'importation
    • Les motifs et conventions spécifiques au framework
    • Les configurations de build et déploiement" : "Concentrez-vous sur les motifs et pratiques spécifiques à ${PROJECT_TYPE}"}
  • ${ARCHITECTURE_PATTERN == "Détection automatique" ? "Déterminez le(s) motif(s) architectural(aux) en analysant :

    • L'organisation des dossiers et l'espace de noms
    • Le flux de dépendances et les limites des composants
    • Les motifs de ségrégation d'interfaces et d'abstraction
    • Les mécanismes de communication entre composants" : "Documentez la façon dont l'architecture ${ARCHITECTURE_PATTERN} est implémentée"}

2. Aperçu Architectural

  • Fournissez une explication claire et concise de l'approche architecturale globale
  • Documentez les principes directeurs évidents dans les choix architecturaux
  • Identifiez les limites architecturales et la façon dont elles sont appliquées
  • Notez tout motif architectural hybride ou adaptations de motifs standards

3. Visualisation de l'Architecture

${DIAGRAM_TYPE != "Aucun" ? `Créez des diagrammes ${DIAGRAM_TYPE} à plusieurs niveaux d'abstraction :

  • Aperçu architectural de haut niveau montrant les sous-systèmes majeurs
  • Diagrammes d'interaction des composants montrant les relations et dépendances
  • Diagrammes de flux de données montrant comment l'information circule dans le système
  • Assurez-vous que les diagrammes reflètent fidèlement l'implémentation réelle, pas les motifs théoriques` : "Décrivez les relations entre composants en fonction des dépendances réelles du code, en fournissant des explications textuelles claires de :
  • L'organisation et les limites des sous-systèmes
  • Les directions de dépendances et les interactions entre composants
  • Le flux de données et les séquences de processus"}

4. Composants Architecturaux Essentiels

Pour chaque composant architectural découvert dans la base de code :

  • Objectif et Responsabilité :

    • Fonction principale dans l'architecture
    • Domaines métier ou préoccupations techniques abordés
    • Limites et restrictions de portée
  • Structure Interne :

    • Organisation des classes/modules au sein du composant
    • Abstractions clés et leurs implémentations
    • Motifs de conception utilisés
  • Motifs d'Interaction :

    • La façon dont le composant communique avec d'autres
    • Interfaces exposées et consommées
    • Motifs d'injection de dépendances
    • Mécanismes de publication/abonnement d'événements
  • Motifs d'Évolution :

    • La façon dont le composant peut être étendu
    • Points de variation et mécanismes de plugin
    • Approches de configuration et de personnalisation

5. Couches Architecturales et Dépendances

  • Cartographiez la structure en couches telle qu'implémentée dans la base de code
  • Documentez les règles de dépendance entre couches
  • Identifiez les mécanismes d'abstraction qui permettent la séparation des couches
  • Notez toute dépendance circulaire ou violation de couche
  • Documentez les motifs d'injection de dépendances utilisés pour maintenir la séparation

6. Architecture des Données

  • Documentez la structure et l'organisation du modèle de domaine
  • Cartographiez les relations d'entités et les motifs d'agrégation
  • Identifiez les motifs d'accès aux données (référentiels, mappeurs de données, etc.)
  • Documentez les approches de transformation et de mappage des données
  • Notez les stratégies de mise en cache et les implémentations
  • Documentez les motifs de validation des données

7. Implémentation des Préoccupations Transversales

Documentez les motifs d'implémentation pour les préoccupations transversales :

  • Authentification & Autorisation :

    • Implémentation du modèle de sécurité
    • Motifs d'application des permissions
    • Approche de gestion d'identité
    • Motifs de limite de sécurité
  • Gestion des Erreurs & Résilience :

    • Motifs de gestion des exceptions
    • Implémentations de retry et circuit breaker
    • Stratégies de fallback et dégradation gracieuse
    • Approches de signalement et monitoring d'erreurs
  • Journalisation & Monitoring :

    • Motifs d'instrumentation
    • Implémentation de l'observabilité
    • Flux d'informations de diagnostic
    • Approche de monitoring des performances
  • Validation :

    • Stratégies de validation des entrées
    • Implémentation de validation des règles métier
    • Distribution des responsabilités de validation
    • Motifs de signalement d'erreurs
  • Gestion de la Configuration :

    • Motifs de source de configuration
    • Stratégies de configuration spécifiques à l'environnement
    • Approche de gestion des secrets
    • Implémentation des feature flags

8. Motifs de Communication entre Services

  • Documentez les définitions de limites de services
  • Identifiez les protocoles et formats de communication
  • Cartographiez les motifs de communication synchrone vs. asynchrone
  • Documentez les stratégies de versioning d'API
  • Identifiez les mécanismes de découverte de services
  • Notez les motifs de résilience dans la communication inter-services

9. Motifs Architecturaux Spécifiques à la Technologie

${PROJECT_TYPE == "Détection automatique" ? "Pour chaque stack technologique détecté, documentez les motifs architecturaux spécifiques :" : Documentez les motifs architecturaux spécifiques à ${PROJECT_TYPE} :}

${(PROJECT_TYPE == ".NET" || PROJECT_TYPE == "Détection automatique") ? "#### Motifs Architecturaux .NET (s'ils sont détectés)

  • Implémentation du modèle d'hôte et d'application
  • Organisation du pipeline de middleware
  • Motifs d'intégration des services du framework
  • Approches d'accès aux données et ORM
  • Motifs d'implémentation d'API (contrôleurs, API minimales, etc.)
  • Configuration du conteneur d'injection de dépendances" : ""}

${(PROJECT_TYPE == "Java" || PROJECT_TYPE == "Détection automatique") ? "#### Motifs Architecturaux Java (s'ils sont détectés)

  • Conteneur d'application et processus de bootstrap
  • Utilisation du framework d'injection de dépendances (Spring, CDI, etc.)
  • Motifs d'implémentation d'AOP
  • Gestion des limites transactionnelles
  • Motifs de configuration et utilisation d'ORM
  • Motifs d'implémentation de services" : ""}

${(PROJECT_TYPE == "React" || PROJECT_TYPE == "Détection automatique") ? "#### Motifs Architecturaux React (s'ils sont détectés)

  • Stratégies de composition et réutilisation de composants
  • Architecture de gestion d'état
  • Motifs de gestion des effets secondaires
  • Approche de routage et navigation
  • Motifs de récupération et mise en cache des données
  • Stratégies d'optimisation du rendu" : ""}

${(PROJECT_TYPE == "Angular" || PROJECT_TYPE == "Détection automatique") ? "#### Motifs Architecturaux Angular (s'ils sont détectés)

  • Stratégie d'organisation des modules
  • Conception de la hiérarchie des composants
  • Motifs de services et d'injection de dépendances
  • Approche de gestion d'état
  • Motifs de programmation réactive
  • Implémentation des gardes de route" : ""}

${(PROJECT_TYPE == "Python" || PROJECT_TYPE == "Détection automatique") ? "#### Motifs Architecturaux Python (s'ils sont détectés)

  • Approche d'organisation des modules
  • Stratégie de gestion des dépendances
  • Motifs d'implémentation OOP vs. fonctionnels
  • Motifs d'intégration du framework
  • Approche de programmation asynchrone" : ""}

10. Motifs d'Implémentation

${INCLUDES_IMPLEMENTATION_PATTERNS ? "Documentez les motifs d'implémentation concrets pour les composants architecturaux clés :

  • Motifs de Conception d'Interfaces :

    • Approches de ségrégation d'interfaces
    • Décisions de niveaux d'abstraction
    • Motifs d'interfaces génériques vs. spécifiques
    • Motifs d'implémentation par défaut
  • Motifs d'Implémentation de Services :

    • Gestion de la durée de vie des services
    • Motifs de composition de services
    • Modèles d'implémentation d'opérations
    • Gestion des erreurs au sein des services
  • Motifs d'Implémentation de Référentiels :

    • Implémentations de motifs de requête
    • Gestion des transactions
    • Gestion de la concurrence
    • Motifs d'opérations en masse
  • Motifs d'Implémentation de Contrôleurs/API :

    • Motifs de gestion des requêtes
    • Approches de formatage des réponses
    • Validation des paramètres
    • Implémentation du versioning d'API
  • Implémentation du Modèle de Domaine :

    • Motifs d'implémentation d'entités
    • Motifs d'objets valeur
    • Implémentation d'événements de domaine
    • Application des règles métier" : "Mentionnez que les motifs d'implémentation détaillés varient dans la base de code."}

11. Architecture de Test

  • Documentez les stratégies de test alignées avec l'architecture
  • Identifiez les motifs de limite de test (unitaire, intégration, système)
  • Cartographiez les approches de doublures de test et mocking
  • Documentez les stratégies de données de test
  • Notez l'intégration des outils et frameworks de test

12. Architecture de Déploiement

  • Documentez la topologie de déploiement dérivée de la configuration
  • Identifiez les adaptations architecturales spécifiques à l'environnement
  • Cartographiez les motifs de résolution des dépendances à l'exécution
  • Documentez la gestion de la configuration entre les environnements
  • Identifiez les approches de conteneurisation et d'orchestration
  • Notez les motifs d'intégration des services cloud

13. Motifs d'Extension et d'Évolution

${FOCUS_ON_EXTENSIBILITY ? "Fournissez des directives détaillées pour étendre l'architecture :

  • Motifs d'Ajout de Fonctionnalités :

    • Comment ajouter de nouvelles fonctionnalités tout en préservant l'intégrité architecturale
    • Où placer les nouveaux composants selon leur type
    • Directives d'introduction de dépendances
    • Motifs d'extension de configuration
  • Motifs de Modification :

    • Comment modifier en toute sécurité les composants existants
    • Stratégies de maintien de la compatibilité rétroactive
    • Motifs de dépréciation
    • Approches de migration
  • Motifs d'Intégration :

    • Comment intégrer les nouveaux systèmes externes
    • Motifs d'implémentation d'adaptateurs
    • Motifs de couches anti-corruption
    • Implémentation de façade de service" : "Documentez les points d'extension clés de l'architecture."}

${INCLUDES_CODE_EXAMPLES ? "### 14. Exemples de Motifs Architecturaux Extrayez les exemples de code représentatifs qui illustrent les motifs architecturaux clés :

  • Exemples de Séparation des Couches :

    • Définition d'interface et séparation d'implémentation
    • Motifs de communication entre couches
    • Exemples d'injection de dépendances
  • Exemples de Communication entre Composants :

    • Motifs d'invocation de services
    • Publication et gestion d'événements
    • Implémentation du passage de messages
  • Exemples de Points d'Extension :

    • Enregistrement et découverte de plugins
    • Implémentations d'interfaces d'extension
    • Motifs d'extension pilotés par configuration

Incluez assez de contexte avec chaque exemple pour montrer clairement le motif, mais gardez les exemples concis et axés sur les concepts architecturaux." : ""}

${INCLUDES_DECISION_RECORDS ? "### 15. Enregistrements de Décisions Architecturales Documentez les décisions architecturales clés évidentes dans la base de code :

  • Décisions de Style Architectural :

    • Pourquoi le motif architectural actuel a été choisi
    • Alternatives considérées (basé sur l'évolution du code)
    • Contraintes qui ont influencé la décision
  • Décisions de Sélection Technologique :

    • Choix technologiques clés et leur impact architectural
    • Justifications de la sélection du framework
    • Décisions de composants personnalisés vs. standard
  • Décisions d'Approche d'Implémentation :

    • Motifs d'implémentation spécifiques choisis
    • Adaptations de motifs standards
    • Compromis performance vs. maintenabilité

Pour chaque décision, notez :

  • Le contexte qui a rendu la décision nécessaire
  • Les facteurs considérés dans la prise de décision
  • Les conséquences résultantes (positives et négatives)
  • La flexibilité future ou les limitations introduites" : ""}

${INCLUDES_DECISION_RECORDS ? "16" : INCLUDES_CODE_EXAMPLES ? "15" : "14"}. Gouvernance de l'Architecture

  • Documentez comment la cohérence architecturale est maintenue
  • Identifiez les vérifications automatisées pour la conformité architecturale
  • Notez les processus de révision architecturale évidents dans la base de code
  • Documentez les pratiques de documentation architecturale

${INCLUDES_DECISION_RECORDS ? "17" : INCLUDES_CODE_EXAMPLES ? "16" : "15"}. Plan Directeur pour le Nouveau Développement

Créez un guide architectural clair pour implémenter les nouvelles fonctionnalités :

  • Flux de Travail de Développement :

    • Points de départ pour différents types de fonctionnalités
    • Séquence de création de composants
    • Étapes d'intégration avec l'architecture existante
    • Approche de test par couche architecturale
  • Modèles d'Implémentation :

    • Modèles de classe/interface de base pour les composants architecturaux clés
    • Organisation standard des fichiers pour les nouveaux composants
    • Motifs de déclaration de dépendances
    • Exigences en matière de documentation
  • Pièges Courants :

    • Violations architecturales à éviter
    • Erreurs architecturales courantes
    • Considérations de performance
    • Points faibles des tests

Incluez des informations sur le moment où ce plan directeur a été généré et des recommandations pour le maintenir à jour à mesure que l'architecture évolue. »

Skills similaires