Aller au contenu

Fichier de configuration

Les clés acceptées par les fichiers de réglages, générées depuis le schéma qui les valide.

Ces clés sont celles que le schéma de validation décrit. Une clé absente de cette page n’est pas pour autant refusée : le schéma laisse plusieurs objets ouverts, et le site enseigne ailleurs des clés qui fonctionnent sans figurer ici, celles d’un modèle en premier lieu. Voir ce que cette page ne couvre pas, en bas.

Les réglages vivent dans deux fichiers, de même format :

FichierPortée
~/.lemniscate/workstation.yamlla machine, tous projets confondus
.lemniscate/project.yamlle dépôt, partagé par l’équipe qui y travaille

Le fichier de la machine décide de toutes les clés. Le fichier du dépôt ne décide que le contenu de l’équipe : context, docs, metadata, name, prompts, rules, schema, version. Tout le reste, écrit dans un fichier de dépôt, est ignoré : l’outil le dit au chargement, en nommant le fichier, la clé et la raison.

Écrire une commande dans le fichier de configuration a été retiré le 2026-08-26. La clé prompts est encore acceptée pour que votre configuration continue de charger, mais son contenu n’est plus lu : elle ne produit plus de commande, ni dans l’IDE ni au terminal. Au chargement, l’outil nomme le bloc et dit quoi écrire à la place.

Ce qui la remplace : un fichier de commande posé dans .lemniscate/prompts/, dont le nom devient le nom de la commande. Reprenez le corps du bloc tel quel. Voir Écrire une commande personnalisée.

Pourquoi ce retrait : il y avait deux façons d’écrire la même chose, et l’utilisateur n’avait aucun moyen de savoir laquelle choisir. Le fichier de commande est celui que la documentation enseigne, que /init écrit, et qu’une équipe partage par son dépôt.

Pourquoi cette asymétrie : cloner un dépôt ne doit pas suffire à décider ce qui tourne sur la machine qui l’a cloné. Sans cette règle, un fichier versionné pourrait imposer le serveur par lequel sortent vos appels, éteindre la vérification des certificats, ou faire exécuter une commande. Une clé nouvelle est fermée par défaut : elle n’est décidable par un dépôt que si elle est ajoutée à cette liste, délibérément.

Sur les clés qu’il décide, le plus proche gagne : ce que dit le projet l’emporte sur ce que dit la machine. Un fichier peut en inclure un autre avec include: (chemins locaux uniquement) ; l’inclus devient une couche de plus, placée immédiatement en dessous de celui qui l’inclut, et un fichier inclus par un fichier de dépôt ne décide pas plus que lui.

Dans les listes, un élément peut porter un identifiant (id:), distinct de son nom affiché. Deux éléments de même identifiant venus de deux couches refusent le chargement, sauf si le plus proche déclare replaces: : aucune valeur n’est remplacée sans que le fichier le déclare. Un élément sans identifiant, lui, s’additionne toujours.

Au-dessus de tout, la politique de votre organisation : si un fichier règle ce qu’elle impose, l’outil l’affiche au chargement et applique la valeur imposée.

Les noms de clés ne se traduisent pas : ils s’écrivent tels quels dans ces fichiers.

Le schéma ne porte aucune description. Cette page liste donc les clés, leur type et leur caractère obligatoire, sans expliquer à quoi chacune sert. Le jour où le schéma sera annoté, les descriptions apparaîtront ici sans que personne n’ait à réécrire cette page.

CléTypeObligatoire
includeliste de stringnon
namestringnon
versionstringnon
schemastringnon
metadataobjetnon
envobjectnon
requestOptionsobjectnon
executionobjectnon
documentationobjectnon
formatterliste d’objetsnon
modelsliste (2 formes acceptées)non
contextliste (2 formes acceptées)non
dataliste (2 formes acceptées)non
mcpServersliste (2 formes acceptées)non
rulesliste (2 formes acceptées)non
promptsliste (2 formes acceptées)non
docsliste (2 formes acceptées)non

Les bornes de session, la détection de boucle et les filets de délégation. Ce que chaque clé fait, et ses défauts, sont expliqués sur Les garde-fous d’exécution et Déléguer à des sous-agents.

CléTypeObligatoire
sessionMaxActionsintegernon
sessionMaxMinutesintegernon
sessionMaxExtensionsintegernon
toolLoopDetectionbooleannon
toolLoopThresholdintegernon
subagentMaxDepthintegernon
subagentMaxPerSessionintegernon
subagentMaxConcurrentintegernon

Le schéma accepte 2 formes pour une entrée de models.

CléTypeObligatoire
CléTypeObligatoire
usesplusieurs formes acceptéesoui
withobjectnon
overrideplusieurs formes acceptéesnon

Le champ provider d’un modèle est validé comme une chaîne libre : la liste des valeurs qui fonctionnent réellement vit dans le code et non dans le schéma. Elle a sa propre page, Fournisseurs de modèles.

Les paramètres de chaque fournisseur de contexte ne sont pas décrits par le schéma non plus : il les accepte sans les contraindre.

Les clés d’un modèle ne sont pas décrites ici : le tableau des formes de modèle est vide parce que le schéma les accepte sans les nommer. Les clés que le reste du site fait écrire (provider, model, apiBase, apiKey, roles, capabilities, requestOptions, contextLength, autocompleteOptions) fonctionnent, et sont enseignées par les guides. Elles apparaîtront ici le jour où le schéma les portera.

Même chose pour connectionTimeout (serveurs MCP) et quickActions (extension VS Code) : le site les enseigne, le schéma ne les décrit pas.