Skip to main content

Ajout d’instructions personnalisées pour CLI GitHub Copilot

Donnez un Copilot contexte supplémentaire sur la façon de comprendre votre projet et comment générer, tester et valider ses modifications.

GitHub Copilot peut fournir des réponses adaptées à vos préférences personnelles, à la façon dont votre équipe fonctionne, aux outils que vous utilisez ou aux spécificités de votre projet, si vous le fournissez avec suffisamment de contexte pour le faire. Au lieu d’ajouter à plusieurs reprises ces détails contextuels à vos demandes, vous pouvez créer des instructions personnalisées qui ajoutent automatiquement ces informations pour vous. Les informations supplémentaires ne sont pas affichées, mais elles sont disponibles pour permettre à Copilot de générer des réponses de meilleure qualité.

Types d’instructions personnalisées

CLI GitHub Copilot prend en charge les instructions provenant des emplacements suivants.

Sauf indication contraire dans le tableau ci-dessous, Copilot pour CLI découvre les fichiers d’instructions du référentiel et de l’agent dans les emplacements standard : la racine du référentiel, le répertoire de travail actif, les répertoires intermédiaires entre eux et tous les répertoires imbriqués dans le chemin d’accès d’un fichier sur lequel il fonctionne. Les fichiers d’instructions modulaires (ceux correspondants *.instructions.md) sont spécifiques au chemin d’accès, un fichier avec une applyTo valeur s’applique uniquement aux fichiers correspondants.

LieuÉtendue et comportement
$HOME/.copilot/copilot-instructions.mdInstructions propres à l’utilisateur qui s’appliquent à tous les dépôts.
$HOME/.copilot/instructions/**/*.instructions.mdInstructions modulaires au niveau de l’utilisateur.
.github/copilot-instructions.mdInstructions valables pour l’ensemble du dépôt, trouvées dans les emplacements standard.
.github/instructions/**/*.instructions.mdInstructions de référentiel modulaire, découvertes dans les emplacements standard, mais pas dans les répertoires intermédiaires.
AGENTS.mdInstructions de l’agent, découvertes dans les emplacements standard. Pour plus d’informations, consultez le dépôt agentsmd/agents.md.
CLAUDE.mdInstructions de l’agent, découvertes dans les emplacements standard.
Copilot pour CLI utilise .claude/CLAUDE.mdégalement .
GEMINI.mdInstructions de l’agent, découvertes dans les emplacements standard.
Répertoires répertoriés dans COPILOT_CUSTOM_INSTRUCTIONS_DIRSFichiers AGENTS.md et *.instructions.md supplémentaires. Séparez plusieurs répertoires par des virgules.

Si vous définissez la variable d’environnement COPILOT_HOME, Copilot pour CLI utilise ce répertoire à la place de $HOME/.copilot pour les deux emplacements des instructions au niveau utilisateur.

Utilisez la /instructions commande pour afficher les fichiers d’instructions découverts pour la session active et activer ou désactiver des fichiers individuels.

Interaction de plusieurs fichiers d’instructions

Lorsque plusieurs fichiers d’instructions de niveau utilisateur et de référentiel applicables existent, Copilot pour CLI combine leurs instructions. Il supprime les copies en double des instructions identiques au niveau de l’utilisateur, au niveau copilot-instructions.mddu référentiel et de l’agent, mais ne définit pas d’ordre de priorité générale entre ces fichiers. Évitez les instructions en conflit.

Les instructions spécifiques au chemin d’accès sont incluses uniquement lorsque leur applyTo valeur correspond à un fichier qui Copilot pour CLI fonctionne avec. Un fichier d’instructions que vous désactivez à l’aide de /instructions n’est pas inclus.

Création d’instructions personnalisées à l’échelle du dépôt

  1. À la racine de votre référentiel, créez un fichier nommé .github/copilot-instructions.md.

    Créez le répertoire .github s’il n’existe pas déjà.

  2. Ajouter des instructions en langage naturel dans le fichier, au format Markdown.

    L’espacement entre les instructions est ignoré, de sorte que les instructions peuvent être écrites dans un seul paragraphe, chacune sur une nouvelle ligne, ou séparées par des lignes vides pour plus de lisibilité.

    Pour obtenir de l’aide sur l’écriture d’instructions personnalisées efficaces, consultez À propos de la personnalisation des réponses GitHub Copilot.

Référencement d’autres fichiers

Dans .github/copilot-instructions.md, AGENTS.mdou , CLAUDE.md utilisez @suivi d’un chemin relatif pour inclure un autre fichier. Copilot pour CLI lit immédiatement le fichier référencé et prend en charge les références dans les fichiers référencés.

Les fichiers référencés doivent rester dans le référentiel ou dans le répertoire d’instructions personnalisées pour obtenir des instructions locales. Les chemins absolus et les chemins commençant par ~/ ne sont pas chargés. Les références de fichier ne sont pas développées dans les fichiers GEMINI.md ou *.instructions.md.

Création d’instructions personnalisées spécifiques à un chemin

  1. Créez le .github/instructions répertoire s'il n'existe pas déjà.

  2. Si vous le souhaitez, créez des sous-répertoires de .github/instructions pour organiser vos fichiers d’instructions.

  3. Créez un ou plusieurs fichiers NAME.instructions.md, où NAME indique l’objectif des instructions. Le nom de fichier doit se terminer par .instructions.md.

  4. Au début du fichier, créez un bloc frontmatter contenant le mot-clé applyTo. Utilisez la syntaxe glob pour spécifier les fichiers ou répertoires auxquels les instructions s’appliquent.

    Par exemple :

    ---
    applyTo: "app/models/**/*.rb"
    ---
    

    Vous pouvez spécifier plusieurs modèles en les séparant par des virgules. Par exemple, pour appliquer les instructions à tous les fichiers TypeScript du référentiel, vous pouvez utiliser le bloc frontmatter suivant :

    ---
    applyTo: "**/*.ts,**/*.tsx"
    ---
    

    Exemples Glob :

    • * - correspond à tous les fichiers du répertoire en cours.
    • ** ou **/* - correspond à tous les fichiers de tous les répertoires.
    • *.py - correspond à tous les .py fichiers du répertoire actif.
    • **/*.py - correspond de manière récursive à tous les .py fichiers de tous les répertoires.
    • src/*.py - correspond à tous les .py fichiers du src répertoire. Par exemple, src/foo.py et src/bar.py mais passrc/foo/bar.py.
    • src/**/*.py - correspond de manière récursive à tous les .py fichiers du src répertoire. Par exemple, src/foo.py, src/foo/bar.pyet src/foo/bar/baz.py.
    •           `**/subdir/**/*.py` - correspond de manière récursive à tous les `.py` fichiers d’un répertoire à n’importe quelle `subdir` profondeur. Par exemple, `subdir/foo.py`, `subdir/nested/bar.py`, `parent/subdir/baz.py` et `deep/parent/subdir/nested/qux.py`, mais _pas_`foo.py` à un chemin qui ne contient pas de répertoire `subdir`.
      
  5. Si vous le souhaitez, pour empêcher l’utilisation du fichier par Agent cloud Copilot ou révision du code Copilot, ajoutez le mot clé excludeAgent au bloc frontmatter. Utilisez l’une ou l’autre "code-review" ou "cloud-agent".

    Par exemple, le fichier suivant est lu uniquement par Agent cloud Copilot.

    ---
    applyTo: "**"
    excludeAgent: "code-review"
    ---
    

    Si le mot clé excludeAgent n’est pas inclus dans le front matterblock, révision du code Copilot et Agent cloud Copilot utiliseront vos instructions.

  6. Ajoutez vos instructions personnalisées en langage naturel à l’aide du format Markdown. L'espacement entre les instructions est ignoré, de sorte que les instructions peuvent être écrites comme un seul paragraphe, chacune sur une nouvelle ligne, ou séparées par des lignes vides pour plus de lisibilité.

Instructions personnalisées en cours d’utilisation

Les modifications apportées aux fichiers d’instructions personnalisées ne sont pas immédiatement disponibles pour une utilisation dans les sessions CLI actives. Pour appliquer vos modifications, quittez la session active, puis reprenez-la (par exemple, exécutez copilot --continue) ou démarrez une nouvelle session (par exemple, utilisez-la /new à partir d’une session interactive).

Lectures complémentaires