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.
| Chemin | Type | Description |
|---|---|---|
settings.json | Fichier | Vos paramètres de configuration personnels |
copilot-instructions.md | Fichier | Instructions personnalisées personnelles (appliquées à toutes les sessions) |
instructions/ | Répertoire | Fichiers personnels *.instructions.md supplémentaires |
mcp-config.json | Fichier | Définitions de serveur MCP au niveau de l’utilisateur |
lsp-config.json | Fichier | Définitions de serveur LSP au niveau de l’utilisateur |
permissions-config.json | Fichier | Paramètres d'outils enregistrés et permissions des répertoires par projet |
agents/ | Répertoire | Définitions d’agents personnalisés personnels |
skills/ | Répertoire | Définitions de compétences personnalisées personnelles |
hooks/ | Répertoire | Scripts de hook au niveau de l’utilisateur |
logs/ | Répertoire | Fichiers journaux de session |
session-state/ | Répertoire | Historique des sessions et données d’espace de travail |
session-store.db | Fichier | Base de données SQLite pour les données entre sessions |
installed-plugins/ | Répertoire | Fichiers de plug-in installés |
plugin-data/ | Répertoire | Données persistantes pour les plug-ins installés |
ide/ | Répertoire | État d’intégration de l’IDE |
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
Le fichier de configuration a été renommé config.json en settings.json. Les paramètres existants sont automatiquement migrés à partir de ~/.copilot/config.json au démarrage.
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/config.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.
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
Vous pouvez remplacer l’emplacement par défaut ~/.copilot de deux façons :
-
**Variable d’environnement** : définissez `COPILOT_HOME` le chemin d’accès du répertoire que vous souhaitez utiliser.Bash export COPILOT_HOME=/path/to/my/copilot-config
export COPILOT_HOME=/path/to/my/copilot-config -
**Option de ligne de commande** : utiliser `--config-dir` lors du lancement de l’interface CLI.Bash copilot --config-dir /path/to/my/copilot-config
copilot --config-dir /path/to/my/copilot-config
L’option --config-dir est prioritaire sur COPILOT_HOME, qui à son tour est prioritaire sur l’emplacement par défaut ~/.copilot.
É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
~/.copilotvers 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/copilotou~/.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ément | Sûr de supprimer ? | Résultat |
|---|---|---|
agents/, skills/, hooks/ | Non recommandé | Vous perdrez vos personnalisations personnelles. Sauvegardez d’abord. |
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 garantir la cohérence des métadonnées settings.json du plug-in. |
logs/ | Oui | Les fichiers journaux sont recréés à chaque session. La suppression de ces éléments n’a aucun impact fonctionnel. |
lsp-config.json | Non recommandé | Vous perdrez vos définitions de serveur LSP au niveau de l’utilisateur. Sauvegardez d’abord. |
mcp-config.json | Non recommandé | Vous perdrez vos définitions de serveur MCP au niveau de l’utilisateur. Sauvegardez d’abord. |
permissions-config.json | Avec précaution | Réinitialise toutes les autorisations enregistrées. L'interface CLI vous demandera à nouveau des approbations d'outils et de répertoires. |
plugin-data/ | Oui | Les données persistantes du plug-in sont recréations si nécessaire. |
session-state/ | Avec précaution | La suppression supprime l’historique des sessions. Vous ne pourrez plus reprendre les sessions passées. |
session-store.db | Avec précaution | La suppression supprime les données entre sessions. Le fichier est recréé automatiquement. |
settings.json | Avec précaution | Réinitialise toutes les configurations par défaut. Vous devez reconfigurer vos préférences et ré-authentifier. |
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.
| Étendue | Location | Objectif |
|---|---|---|
| User | ~/.copilot/settings.json | Valeurs 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.json | Configuration du dépôt partagé (enregistrée dans le dépôt). |
| Local | .github/copilot/settings.local.json | Remplacements personnels (ajouter cela à .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é | Type | Default | Description |
|---|---|---|---|
allowedUrls | string[] | [] | 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" |
askUser | boolean | true | Autoriser 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. |
autoUpdate | boolean | true | Té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 Co-authored-by bande-annonce aux validations Git effectuées par l’agent. |
| logLevel |
"none"
|
"error"
|
"warning"
|
"info"
|
"debug"
|
"all"
|
"default"
| "default" | Niveau de 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 | varies | 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 passés à 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 | Stockez les jetons d’authentification en texte brut dans le fichier de configuration lorsqu’aucun trousseau système 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é | Type | Comportement de la fusion | Description |
|---|---|---|---|
companyAnnouncements | string[] | Remplacé : le référentiel est prioritaire | Messages affichés de manière aléatoire au démarrage. |
disableAllHooks | boolean | Le référentiel est prioritaire | Désactivez tous les crochets. |
enabledPlugins | Record<string, boolean> | Fusionné : le référentiel supplante l’utilisateur pour la même clé | Installation automatique du plug-in déclaratif. |
extraKnownMarketplaces | Record<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. |
hooks | object | Concaténés – les hooks de référentiel s'exécutent après les hooks utilisateur | Dé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 référentiel pour les modifications personnelles qui ne doivent pas être soumises. 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.