Skip to main content

GitHub Copilot le répertoire de configuration du CLI

Recherchez des informations sur le ~/.copilot répertoire, où Copilot pour CLI stocke la configuration, les données de session et les personnalisations.

          Copilot pour CLI stocke sa configuration, son historique de session, ses journaux et ses personnalisations dans un seul répertoire sur votre ordinateur. Par défaut, ce répertoire est `~/.copilot` (autrement dit, `$HOME/.copilot`).

Cet article décrit le contenu de ce répertoire et la façon dont vous pouvez les utiliser.

Vue d’ensemble du répertoire

Le ~/.copilot répertoire contient les éléments de niveau supérieur suivants.

CheminTypeDescription
agents/RépertoireDéfinitions d’agents personnalisés personnels
config.jsonFichierÉtat de l’application gérée automatiquement (authentification, plug-ins installés et autres données internes)
copilot-instructions.mdFichierInstructions personnalisées personnelles (appliquées à toutes les sessions)
hooks/RépertoireScripts de hook au niveau de l’utilisateur
ide/RépertoireÉtat d’intégration de l’IDE
installed-plugins/RépertoireFichiers de plug-in installés
instructions/RépertoireFichiers personnels *.instructions.md supplémentaires
logs/RépertoireFichiers journaux de session
lsp-config.jsonFichierDéfinitions de serveur LSP au niveau de l’utilisateur
mcp-config.jsonFichierDéfinitions de serveur MCP au niveau de l’utilisateur
permissions-config.jsonFichierParamètres d'outils enregistrés et permissions des répertoires par projet
plugin-data/RépertoireDonnées persistantes pour les plug-ins installés
session-state/RépertoireHistorique des sessions et données d’espace de travail
session-store.dbFichierBase de données SQLite pour les données entre sessions
settings.jsonFichierVos paramètres de configuration personnels
skills/RépertoireDéfinitions de compétences personnalisées personnelles

Remarque

Tous ces éléments n’apparaissent pas immédiatement. Certaines sont créées à la demande la première fois que vous utilisez une fonctionnalité particulière, par exemple, installed-plugins/ s’affiche uniquement après avoir installé votre premier plug-in.

Fichiers modifiables par l’utilisateur

Les fichiers suivants sont conçus pour être modifiés directement ou gérés par le biais de commandes CLI.

settings.json

Il s’agit du fichier de configuration principal pour Copilot pour CLI. Vous pouvez le modifier directement dans un éditeur de texte, ou utiliser des commandes interactives comme /model et /theme modifier des valeurs spécifiques à partir d’une session. Le fichier prend en charge JSON avec des commentaires (JSONC).

Remarque

Les paramètres modifiables par l’utilisateur ont été stockés à l’origine dans config.json. Ils ont été déplacés vers settings.json. Tous les paramètres utilisateur présents au config.json démarrage sont automatiquement migrés vers settings.json.

Pour obtenir la liste complète des paramètres et la façon dont ils interagissent avec la configuration au niveau du référentiel, consultez les paramètres du fichier de configuration plus loin dans cet article.

Conseil

Exécutez copilot help config dans votre terminal pour obtenir une référence rapide.

copilot-instructions.md

Instructions personnalisées personnelles qui s’appliquent à toutes vos sessions, quel que soit le projet dans lequel vous travaillez. Ce fichier fonctionne de la même façon qu’au niveau copilot-instructions.md du référentiel, mais s’applique globalement.

Pour plus d’informations, consultez « Ajout d’instructions personnalisées de référentiel pour GitHub Copilot ».

instructions/

Stockez ici des fichiers d’instructions personnelles supplémentaires sous forme de *.instructions.md fichiers. Celles-ci sont chargées en même temps que copilot-instructions.md et s'appliquent à toutes vos sessions. Vous pouvez organiser des instructions par rubrique, par exemple ~/.copilot/instructions/code-style.instructions.md.

mcp-config.json

Définit les serveurs MCP (Model Context Protocol) disponibles au niveau de l’utilisateur. Ces serveurs sont disponibles dans toutes vos sessions, quel que soit le répertoire de projet dans lequel vous vous trouvez. Configurations MCP de niveau projet (dans .mcp.json ou .github/mcp.json) ont la priorité sur les définitions au niveau de l’utilisateur lorsque les noms de serveurs sont en conflit.

Pour plus d’informations, consultez « Ajout de serveurs MCP pour CLI GitHub Copilot ».

lsp-config.json

Définit les serveurs LSP (Language Server Protocol) disponibles au niveau de l’utilisateur. Ces serveurs fournissent une intelligence linguistique (diagnostics, autocomplétions, etc.) à l’agent. Gérez ce fichier à l’aide de la /lsp commande de barre oblique ou modifiez-le directement.

Pour plus d’informations, consultez « Ajout de serveurs LSP pour CLI GitHub Copilot ».

agents/

Stockez les définitions d’agent personnalisé personnelles ici sous forme de .agent.md fichiers. Les agents placés dans ce répertoire sont disponibles dans toutes vos sessions. Les agents de niveau projet (dans .github/agents/) sont prioritaires sur les agents personnels s’ils partagent le même nom.

Pour plus d’informations, consultez « Création et utilisation d’agents personnalisés pour CLI GitHub Copilot ».

skills/

Stockez les définitions de compétences personnalisées personnelles ici. Chaque compétence se trouve dans un sous-répertoire contenant un SKILL.md fichier, par exemple ~/.copilot/skills/my-skill/SKILL.md. Les compétences personnelles sont présentes dans toutes vos sessions. Les compétences de niveau projet ont la priorité sur les compétences personnelles si elles partagent le même nom.

Pour plus d’informations, consultez « Ajout de compétences d’agent pour CLI GitHub Copilot ».

hooks/

Stockez les scripts de hook au niveau de l’utilisateur ici. Ces hooks s’appliquent à toutes vos sessions. Vous pouvez également définir des hooks inline dans votre fichier de configuration utilisateur (~/.copilot/settings.json) à l’aide de la hooks clé. Les hooks au niveau du référentiel (in .github/hooks/) sont chargés en même temps que les hooks au niveau de l’utilisateur.

Pour plus d’informations, consultez « Utilisation de crochets avec CLI GitHub Copilot ».

Fichiers gérés automatiquement

Les éléments suivants sont gérés par l’interface CLI. Vous ne devez généralement pas les modifier manuellement.

config.json

Stocke l’état d’application interne géré automatiquement par l’interface CLI, notamment les données d’authentification, les métadonnées du plug-in installé et d’autres informations d’exécution. Vous ne devez normalement pas avoir besoin de modifier ce fichier.

Remarque

Les versions antérieures de Copilot pour CLI stockaient à la fois les paramètres utilisateur et l’état de l'application dans config.json. Les paramètres modifiables par l’utilisateur se trouvent désormais dans settings.json. Tous les paramètres utilisateur dans config.json au démarrage sont automatiquement migrés vers settings.json. Les champs d’état de l’application( tels que loggedInUsers, , installedPlugins``firstLaunchAtet staff) restent dans config.json et ne sont pas migrés.

permissions-config.json

Stocke vos décisions enregistrées concernant les autorisations d'outils et de répertoires, organisées par emplacement de projet. Lorsque vous approuvez un outil ou que vous accordez l’accès à un annuaire, l’interface CLI enregistre la décision ici afin que vous ne soyez pas invité à nouveau dans le même projet.

Remarque

Si vous souhaitez réinitialiser les autorisations d’un projet, vous pouvez supprimer l’entrée appropriée de ce fichier. Toutefois, la modification du fichier pendant l’exécution d’une session peut entraîner un comportement inattendu.

session-state/

Contient des données d’historique de session, organisées par ID de session dans les sous-répertoires. Chaque répertoire de session stocke un journal des événements (events.jsonl) et des artefacts d’espace de travail (plans, points de contrôle, fichiers suivis). Ces données activent la reprise de session (--resume ou --continue).

session-store.db

Base de données SQLite utilisée par l’interface CLI pour les données intersession, telles que l’indexation et la recherche de point de contrôle. Ce fichier est géré automatiquement et ne doit pas être modifié.

logs/

Contient des fichiers journaux pour les sessions CLI. Chaque session crée un fichier journal nommé process-{timestamp}-{pid}.log. Ces fichiers sont utiles pour déboguer des problèmes.

Conseil

Pour trouver le fichier journal de votre session active, entrez /session dans une session interactive. La sortie inclut le chemin complet du fichier journal, ainsi que d’autres détails de session tels que l’ID de session, la durée et le répertoire de travail.

installed-plugins/

Contient les fichiers des plug-ins que vous avez installés. Les plug-ins installés à partir d’une Place de marché sont stockés sous installed-plugins/{marketplace-name}/{plugin-name}/. Les plug-ins directement installés sont stockés sous installed-plugins/_direct/. Gérez les plug-ins à l’aide copilot plugin des commandes plutôt que de modifier ce répertoire directement.

Pour plus d’informations, consultez « Référence du plug-in CLI GitHub Copilot ».

plugin-data/

Contient des données persistantes pour les plug-ins installés, organisées par nom de la Place de marché et du plug-in. Ces données sont gérées par les plug-ins eux-mêmes et ne doivent pas être modifiées manuellement.

ide/

Contient des fichiers de verrouillage et l'état pour les intégrations IDE (par exemple, lorsque Copilot pour CLI se connecte à Visual Studio Code). Ce répertoire est géré automatiquement.

Modification de l’emplacement du répertoire de configuration

Pour remplacer l’emplacement par défaut ~/.copilot , définissez la COPILOT_HOME variable d’environnement sur le chemin du répertoire que vous souhaitez utiliser.

Bash
export COPILOT_HOME=/path/to/my/copilot-config

Éléments à prendre en compte

  • COPILOT_HOME remplace l’intégralité du chemin d’accès ~/.copilot. La valeur que vous définissez doit être le chemin complet du répertoire que vous souhaitez utiliser pour les fichiers de configuration et les sous-répertoires.

  • La modification du répertoire signifie que votre configuration existante, l’historique des sessions, les plug-ins installés et les autorisations enregistrées sont introuvables dans le nouvel emplacement. Copiez ou déplacez le contenu de ~/.copilot vers le nouvel emplacement si vous souhaitez le conserver.

  • Le répertoire de cache (utilisé pour les caches de la Place de marché, les packages de mise à jour automatique et d’autres données éphémères) suit les conventions de plateforme et n’est pas affecté par COPILOT_HOME. Il se trouve à :

    • macOS : ~/Library/Caches/copilot
    • Linux : $XDG_CACHE_HOME/copilot ou ~/.cache/copilot
    • Windows : %LOCALAPPDATA%/copilot

    Pour remplacer le répertoire du cache séparément, définissez COPILOT_CACHE_HOME.

Ce que vous pouvez supprimer en toute sécurité

ÉlémentSûr de supprimer ?Résultat
agents/, skills/, hooks/Non recommandéVous perdrez vos personnalisations personnelles. Sauvegardez d’abord.
config.jsonAvec précautionRéinitialise l’état de l’application, y compris l’authentification. Vous devrez ré-authentifier et l’interface CLI détecte à nouveau l’état interne lors du prochain lancement.
copilot-instructions.md, instructions/Non recommandéVous perdrez vos instructions personnalisées personnelles. Sauvegardez d’abord.
installed-plugins/Non recommandéUtilisez copilot plugin uninstall à la place pour vous assurer que les métadonnées config.json du plug-in restent précises.
logs/OuiLes fichiers journaux sont recréés à chaque session. La suppression de ces éléments n’a aucun impact fonctionnel.
lsp-config.jsonNon recommandéVous perdrez vos définitions de serveur LSP au niveau de l’utilisateur. Sauvegardez d’abord.
mcp-config.jsonNon recommandéVous perdrez vos définitions de serveur MCP au niveau de l’utilisateur. Sauvegardez d’abord.
permissions-config.jsonAvec précautionRéinitialise toutes les autorisations enregistrées. L'interface CLI vous demandera à nouveau des approbations d'outils et de répertoires.
plugin-data/OuiLes données persistantes du plug-in sont recréations si nécessaire.
session-state/Avec précautionLa suppression supprime l’historique des sessions. Vous ne pourrez plus reprendre les sessions passées.
session-store.dbAvec précautionLa suppression supprime les données entre sessions. Le fichier est recréé automatiquement.
settings.jsonAvec précautionRéinitialise toutes les préférences utilisateur aux valeurs par défaut. Vous devez reconfigurer vos paramètres.

Paramètres du fichier de configuration

Les paramètres se déploient de l'utilisateur au référentiel puis au local, avec des étendues plus spécifiques remplaçant des étendues plus générales. Les options de ligne de commande et les variables d’environnement sont toujours prioritaires.

ÉtendueLocationObjectif
User~/.copilot/settings.jsonValeurs par défaut globales pour tous les référentiels. Utilisez la variable d’environnement COPILOT_HOME pour spécifier un autre chemin d’accès.
Référentiel.github/copilot/settings.jsonConfiguration du dépôt partagé (enregistrée dans le dépôt).
Local.github/copilot/settings.local.jsonRemplacements personnels (ajouter à .gitignore).

Paramètres utilisateur (~/.copilot/settings.json)

Ces paramètres s’appliquent à toutes vos sessions et référentiels. Vous pouvez modifier ce fichier directement ou utiliser des commandes de barre oblique pour mettre à jour des valeurs individuelles.

CléTypeDefaultDescription
allowedUrlsstring[][]URL ou domaines autorisés sans invite. Prend en charge les URL exactes, les modèles de domaine et les sous-domaines génériques (par exemple). "*.github.com"
askUserbooleantrueAutoriser l’agent à poser des questions de clarification. Régler sur false pour un fonctionnement entièrement autonome. Peut également être défini avec --no-ask-user.
autoUpdatebooleantrueTéléchargez automatiquement les mises à jour cli.
autoUpdatesChannel
          `"stable"`
          \|
          `"prerelease"`
         | `"stable"` | Mettre à jour le canal. Définissez sur `"prerelease"` pour recevoir les mises à jour en préversion. |

| banner | "always" | "once" | "never" | "once" | Fréquence d’affichage de bannière animée. | | bashEnv | boolean | false | Activez la BASH_ENV prise en charge des interpréteurs de commandes bash. Peut également être défini avec --bash-env ou --no-bash-env. | | beep | boolean | true | Émettez un bip sonore lorsque l'attention est nécessaire. | | colorMode | "default" | "dim" | "high-contrast" | "colorblind" | "default" | Mode contraste des couleurs. Géré par la /theme commande slash. | | compactPaste | boolean | true | Réduisez les grands collages (plus de 10 lignes) en jetons compacts. | | companyAnnouncements | string[] | [] | Messages personnalisés affichés de manière aléatoire au démarrage. Un message est sélectionné de façon aléatoire chaque fois que l’interface CLI démarre. Utile pour les annonces ou les rappels au sein de l'équipe. | | continueOnAutoMode | boolean | false | Basculez automatiquement en mode automatique lorsque le taux est limité. Lorsque true, les erreurs de dépassement de débit admissibles déclenchent un passage automatique en mode automatique et une nouvelle tentative. Ne s’applique pas aux limites globales de taux ou aux fournisseurs BYOK. | | copyOnSelect | boolean | true (macOS), false (autre) | Copiez automatiquement le texte sélectionné à la souris dans le presse-papiers système en mode écran alternatif. | | customAgents.defaultLocalOnly | boolean | false | Utilisez uniquement des agents personnalisés locaux (aucune organisation distante ni agent d’entreprise). | | deniedUrls | string[] | [] | URL ou domaines toujours refusés. Les règles de refus sont prioritaires sur les règles d’autorisation. | | disableAllHooks | boolean | false | Désactivez tous les hooks (au niveau du référentiel et au niveau de l’utilisateur). | | disabledMcpServers | string[] | [] | Noms de serveur MCP à désactiver. Les serveurs répertoriés sont configurés, mais pas démarrés. | | disabledSkills | string[] | [] | Noms de compétences à désactiver. Les compétences répertoriées sont identifiées, mais non chargées. | | effortLevel | string | "medium" | Niveau d’effort de raisonnement pour la pensée étendue : "low", "medium", "high", ou "xhigh". Les niveaux supérieurs utilisent davantage de calcul. | | enabledMcpServers | string[] | [] | Activez les serveurs MCP intégrés qui sont désactivés par défaut (par exemple). "computer-use" | | enabledPlugins | Record<string, boolean> | {} | Installation automatique du plug-in déclaratif. Les clés sont des spécifications de plug-in ; les valeurs sont true (activées) ou false (désactivées). | | experimental | boolean | false | Activer les fonctionnalités expérimentales. Peut également être activé avec l'option --experimental de ligne de commande ou la commande slash /experimental. | | extraKnownMarketplaces | Record<string, {...}> | {} | Places de marché de plug-in supplémentaires. Chaque clé est un nom de place de marché ; la valeur spécifie la source ("directory", "git"ou "github"). | | footer | object | — | Contrôle les éléments qui apparaissent dans la ligne d’état. Sous-clés : showModelEffort, showDirectory, showBranch, showContextWindow, showQuota, showAgent (tous boolean). Géré par la /statusline commande slash. | | hooks | object | — | Définitions de hooks au niveau utilisateur intégrées, indexées par nom d'événement. Utilise le même schéma que les .github/hooks/*.json fichiers. Consultez « Utilisation de crochets avec CLI GitHub Copilot ». | | ide.autoConnect | boolean | true | Connectez-vous automatiquement à un espace de travail IDE au démarrage. Quand false, vous pouvez toujours vous connecter manuellement à l’aide de la commande /ide. | | ide.openDiffOnEdit | boolean | true | Ouvrez les différences de modification de fichier dans l’IDE connecté pour approbation. Lorsque false, les approbations de modification de fichier sont affichées uniquement dans le terminal. | | includeCoAuthoredBy | boolean | true | Ajoutez une mention Co-authored-by aux commits Git effectués par l’assistant.. | | logLevel | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | Verbosité de la journalisation. | | mergeStrategy | "rebase" | "merge" | — | Stratégie de résolution des conflits pour /pr fix conflicts. Lorsqu’il est défini sur "rebase", les conflits sont résolus en appliquant un rebase sur la branche de base. Lorsque la valeur est définie "merge", la branche de base est fusionnée dans la branche de fonctionnalité. S’il n’est pas configuré, une boîte de dialogue sélecteur s’affiche. | | model | string | varie | Modèle IA à utiliser. Définissez cette option "auto" pour laisser Copilot choisir automatiquement le modèle le mieux disponible. Géré par la /model commande slash. | | mouse | boolean | true | Activez la prise en charge de la souris en mode écran alternatif. Peut également être défini avec --mouse ou --no-mouse. | | powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Indicateurs transmis à PowerShell (pwsh) au démarrage. Windows uniquement. | | renderMarkdown | boolean | true | Affichez Markdown dans la sortie du terminal. | | respectGitignore | boolean | true | Excluez les fichiers gitignored du @ sélecteur de mentions de fichier. Quand false, le sélecteur inclut des fichiers normalement exclus par .gitignore. | | screenReader | boolean | false | Activez les optimisations du lecteur d’écran. | | skillDirectories | string[] | [] | Répertoires supplémentaires pour rechercher des définitions de compétences personnalisées (en plus de ~/.copilot/skills/). | | statusLine | object | — | Affichage de la ligne d’état personnalisée. type: doit être "command". command: chemin d’accès à un script exécutable qui reçoit le json de session sur stdin et imprime le contenu d’état sur stdout. padding : nombre facultatif d’espaces de remplissage à gauche. | | storeTokenPlaintext | boolean | false | Autorisez le stockage des jetons d’authentification en texte brut lorsque aucun trousseau système config.json n’est disponible. | | stream | boolean | true | Activez les réponses de diffusion en continu. | | streamerMode | boolean | false | Masquer les noms de modèles en aperçu et les détails du quota. Utile lors de la démonstration Copilot pour CLI ou du partage d’écran. | | theme | "auto" | "dark" | "light" | "auto" | Thème de couleur du terminal. "auto" détecte l’arrière-plan du terminal et choisit en conséquence. | | updateTerminalTitle | boolean | true | Afficher l’intention actuelle dans l’onglet terminal ou le titre de la fenêtre. |

Paramètres du référentiel (.github/copilot/settings.json)

Les paramètres du référentiel s’appliquent à tous ceux qui travaillent dans le référentiel. Ils sont commités dans le référentiel et partagés avec les collaborateurs.

Seules les clés répertoriées dans le tableau suivant sont prises en charge au niveau du référentiel. Toutes les autres clés, y compris les clés valides dans le fichier de configuration utilisateur, sont ignorées en mode silencieux.

CléTypeComportement de la fusionDescription
companyAnnouncementsstring[]Remplacé : le référentiel est prioritaireMessages affichés de manière aléatoire au démarrage.
disableAllHooksbooleanLe référentiel est prioritaireDésactivez tous les crochets.
enabledPluginsRecord<string, boolean>Fusionné : le référentiel supplante l’utilisateur pour la même cléInstallation automatique du plug-in déclaratif.
extraKnownMarketplacesRecord<string, {...}>Fusionné : le référentiel supplante l’utilisateur pour la même cléLes places de marché de plug-in disponibles dans ce référentiel.
hooksobjectConcaténés – les hooks de référentiel s'exécutent après les hooks utilisateurDéfinitions de hooks limitées à ce référentiel. Consultez « Utilisation de crochets avec CLI GitHub Copilot ».
mergeStrategy
          `"rebase"`
          \|
          `"merge"`
         | Le référentiel est prioritaire | Stratégie de résolution des conflits pour `/pr fix conflicts`. |

Paramètres locaux (.github/copilot/settings.local.json)

Créez .github/copilot/settings.local.json dans le dépôt, pour les remplacements personnels qui ne doivent pas être validés. Ajoutez ce fichier à .gitignore.

Le fichier de configuration local utilise le même schéma que le fichier de configuration du référentiel (.github/copilot/settings.json) et est prioritaire sur celui-ci.

Lectures complémentaires