Video thumbnail

    Démarrer avec GitHub Spec Kit #1 - Intro et configuration

    Valuable insights

    1.Qu'est-ce que SpecKit ?: SpecKit est un outil de GitHub fonctionnant comme un cadre d'incitation pour le développement piloté par spécifications, intégrant divers agents de codage pour améliorer les résultats produits.

    2.Développement piloté par spécifications: Le processus commence par une spécification de haut niveau décrivant l'intention sans détails techniques, à partir de laquelle le plan technique, les tâches et le code sont dérivés séquentiellement.

    3.Avantages de SpecKit sur le codage IA: L'utilisation de SpecKit maintient un contrôle accru sur les agents IA, réduisant le risque de divagation et de production de code bâclé, contrairement au codage impulsif total.

    4.Prérequis d'installation de l'outil: L'installation initiale nécessite l'outil `uv`, un gestionnaire de paquets Python, exécuté via la commande `uvx` pour lancer l'outil CLI de SpecKit sans installation permanente préalable.

    5.Configuration dans un projet existant: L'initialisation dans un répertoire de projet existant se réalise en utilisant le drapeau `here` lors de l'exécution de la commande CLI, permettant une intégration directe sans créer de nouveau dossier.

    6.Structure des fichiers SpecKit: Le répertoire SpecKit contient des dossiers pour les invites prêtes à l'emploi, la mémoire (constitution), les scripts d'exécution spécifiques au shell et les fichiers modèles pour guider l'agent IA.

    7.Cycle de développement principal: Le cycle standard utilise les commandes `/constitution`, `/spec`, `/plan`, `/tasks` et `/implement` pour définir les principes, spécifier la fonctionnalité, planifier techniquement et coder le résultat.

    Introduction à SpecKit et au Développement par Spécifications

    Une nouvelle série se penche sur SpecKit, un ensemble d'outils récemment publié par GitHub. Cet outil est défini comme un cadre d'incitation (prompting framework) pour le développement piloté par spécifications, conçu pour s'intégrer avec divers agents de codage. Le concept de développement piloté par spécifications implique de commencer par une spécification claire de haut niveau décrivant ce qui doit être construit, sans entrer dans les détails techniques d'implémentation. À partir de cette spécification initiale, un plan technique détaillé, une liste de tâches exécutables, puis le code final peuvent être dérivés.

    SpecKit fournit un ensemble d'invites et de scripts préconçus pour aider à suivre ce flux de travail, dans le but ultime de permettre à des agents de codage tels que Copilot, Claude Code ou Codeex de produire des résultats de meilleure qualité. Bien que l'implémentation soit possible dès le premier jour d'un nouveau projet, l'approche jugée plus bénéfique consiste à l'intégrer dans des projets existants ou à créer d'abord l'ossature du projet avant d'utiliser SpecKit pour ajouter de nouvelles fonctionnalités.

    L'auteur n'a jamais été un adepte du codage impulsif total (vibe coding) car laisser l'IA agir librement conduit facilement à du code bogué et assemblé négligemment.

    L'utilisation de SpecKit permet de se sentir davantage impliqué dans le processus, en visualisant clairement ce que l'agent de codage prévoit de faire, ce qui réduit la probabilité que l'IA dévie de la trajectoire souhaitée.

    Configuration Initiale et Prérequis

    Pour débuter avec SpecKit, la méthode la plus simple consiste à accéder au dépôt SpecKit et à copier la commande fournie pour l'exécution via le terminal. Cette commande utilise `uvx`, ce qui signifie qu'il est nécessaire d'avoir `uv` installé au préalable. `uvx` permet d'exécuter un paquet sans l'installer, de manière similaire à `npx` pour les paquets Node.

    Installation de l'outil de gestion de paquets UV

    Pour installer `uv`, gestionnaire de paquets pour Python, il est conseillé de consulter la documentation d'Astral. Des méthodes d'installation simples sont disponibles pour Mac, utilisant `brew`, et pour Windows, utilisant `winget`. Une fois `uv` installé, la commande CLI de SpecKit peut être exécutée pour initialiser un nouveau projet SpecKit.

    Il est possible d'ajouter des indicateurs (flags) à cette commande initiale. Par exemple, le drapeau `AI` permet de spécifier quel agent de codage utiliser (Claude Code, Copilot, etc.). Un autre indicateur crucial est le drapeau `here`, utilisé pour configurer SpecKit directement au sein d'un dossier de projet existant, au lieu de créer une nouvelle structure de projet par défaut.

    Initialisation dans un Projet Existant

    L'environnement de travail utilisé pour la démonstration est une application Next.js basée sur JavaScript, scaffoldée avec l'outil CLI de Next.js, utilisant l'App Router et TypeScript. Les fichiers inutiles (CSS global, assets publics, contenu de page) ont été supprimés pour obtenir une application vierge. Ces changements initiaux ont été validés dans le dépôt, assurant un répertoire de travail propre avant l'intégration de SpecKit.

    Exécution de la commande d'initialisation locale

    Une fois le terminal ouvert à la racine du projet, la commande d'installation de SpecKit est collée. Au lieu de fournir un nom de projet, le drapeau `here` est utilisé pour indiquer que la configuration doit s'effectuer dans le répertoire courant. Lors de l'exécution, l'outil CLI signale que le répertoire n'est pas vide et demande confirmation pour continuer l'installation.

    • Choix de l'assistant de codage (Claude Code, Copilot, Gemini CLI, CUR, etc.).
    • Sélection du type de script d'exécution (PowerShell pour Windows, Bash pour d'autres systèmes).

    Après confirmation, SpecKit examine les options sélectionnées et télécharge les dossiers et fichiers nécessaires depuis GitHub. Si Copilot a été choisi, un dossier `.git` contenant des commandes Copilot prêtes à l'emploi est récupéré, ainsi que les invites et scripts orientés vers Copilot.

    Exploration de la Structure des Fichiers SpecKit

    Une fois les fichiers SpecKit téléchargés dans le projet, il est pertinent d'examiner leur emplacement. Le dossier `.git` contient un sous-dossier `prompt` où résident les fichiers d'invites préparées. Lorsque de tels fichiers d'invite sont créés dans ce dossier, Copilot les rend automatiquement disponibles dans le chat via des commandes slash (/). Le nom de la commande correspond au nom du fichier d'invite.

    Le dossier SpecKit et ses composants

    Le nouveau dossier `specit` contient trois sous-dossiers essentiels. Le premier est `Memory`, qui héberge le fichier de constitution, définissant les règles fondamentales et les principes fondateurs de l'application. Le deuxième est `Scripts`, contenant des scripts PowerShell dans cet exemple, que l'agent IA est instruit d'exécuter pour des actions comme la création de branches Git ou de nouveaux fichiers de spécification.

    Enfin, le dossier `templates` contient des fichiers modèles que l'agent utilise pour développer de nouvelles spécifications, plans ou tâches. Ces fichiers ne nécessitent généralement pas d'intervention, sauf en cas de personnalisation du fonctionnement de SpecKit. Pour l'instant, ces nouveaux fichiers sont validés directement dans la branche principale, puisqu'aucun risque de dégradation n'est présent.

    Le Cycle de Développement Typique

    Avant d'utiliser SpecKit, il est utile de visualiser le cycle de développement typique lors de l'implémentation d'une nouvelle fonctionnalité ou spécification. Ce cycle est structuré autour de plusieurs commandes séquentielles qui guident l'agent IA à travers les étapes de conception et d'implémentation, assurant que le résultat final respecte les principes initiaux.

    Commande
    Action de l'Agent IA
    Objectif
    /constitution
    Exécute l'invite de constitution
    Définit les principes fondamentaux de l'application.
    /spec
    Exécute l'invite de spécification
    Crée un fichier de spécification de haut niveau pour la nouvelle fonctionnalité.
    /plan
    Exécute l'invite de planification
    Implémente un plan technique basé sur la spécification et les préférences.
    /tasks
    Exécute l'invite de tâches
    Décompose le plan technique en une liste d'actions de codage concrètes.
    /implement
    Exécute l'invite d'implémentation
    L'agent commence à coder la fonctionnalité en vérifiant les tâches, le plan et la constitution.

    À la fin de ce cycle, une nouvelle fonctionnalité fonctionnelle est produite, entièrement basée sur la spécification initiale. Pour les ajouts futurs, il est généralement inutile de relancer la commande `/constitution`, sauf si des principes directeurs supplémentaires doivent être ajoutés au projet. Les quatre autres commandes peuvent alors être cyclées pour ajouter de nouvelles fonctionnalités de manière itérative.

    Commandes Optionnelles et Considérations Finales

    En plus des commandes principales, deux commandes optionnelles peuvent être utilisées pour affiner le processus. La commande `/clarify` est souvent exécutée après la création de la spécification. Elle demande à l'agent IA de réviser la spécification et de poser des questions pour clarifier toute zone qui n'aurait pas été suffisamment spécifiée par l'utilisateur.

    La commande d'analyse

    La commande `/analyze` est typiquement exécutée après la création des tâches. Son rôle est d'examiner l'ensemble des artefacts générés – la spécification, le plan et la liste des tâches – afin de garantir qu'ils sont tous alignés et exempts d'instructions contradictoires. Ces deux commandes optionnelles seront examinées plus en détail ultérieurement.

    Les documents ou le code résultants générés par SpecKit ne sont pas toujours conformes aux attentes, ce qui est inhérent à l'utilisation de l'intelligence artificielle pour la génération de contenu.

    Il est essentiel de se souvenir que l'IA peut produire du code bon ou désordonné. Par conséquent, tout au long du processus, les documents, le travail et le code générés doivent être vérifiés et mis à jour par l'utilisateur si nécessaire. La prochaine leçon se concentrera sur la création du fichier de constitution dans le projet.

    Accès anticipé au cours complet

    • Achat unique du cours pour $3.
    • Abonnement à Net Ninja Pro pour $9 par mois, incluant tous les cours et accès anticipé aux nouveautés.

    Useful links

    These links were generated based on the content of the video to help you deepen your knowledge about the topics discussed.

    This article was AI generated. It may contain errors and should be verified with the original source.
    VideoToWordsClarifyTube

    © 2025 ClarifyTube. All rights reserved.